예제 #1
0
        private static void Orbwalking_OnAfterAttack(AttackableUnit unit, AttackableUnit target)
        {
            if (!unit.IsValid || !unit.IsMe)
            {
                return;
            }

            if (ProSeries.CanCombo())
            {
                if (ProSeries.Config.Item("usecombow", true).GetValue <bool>() &&
                    target.IsValid <Obj_AI_Hero>())
                {
                    W.Cast();
                }
            }

            if (ProSeries.CanHarass())
            {
                if (ProSeries.Config.Item("useharassw", true).GetValue <bool>() &&
                    target.IsValid <Obj_AI_Hero>() && ProSeries.IsWhiteListed((Obj_AI_Hero)target))
                {
                    W.Cast();
                }
            }

            if (ProSeries.CanClear())
            {
                if (ProSeries.Config.Item("useclearw", true).GetValue <bool>() &&
                    target.IsValid <Obj_AI_Minion>())
                {
                    W.Cast();
                }
            }
        }
예제 #2
0
        internal static void Orbwalking_AfterAttack(AttackableUnit unit, AttackableUnit target)
        {
            if (!unit.IsValid || !unit.IsMe)
            {
                return;
            }

            if (ProSeries.CanCombo())
            {
                if (ProSeries.Config.Item("usecomboq", true).GetValue <bool>() &&
                    target.IsValid <AIHeroClient>())
                {
                    Q.Cast();
                }
            }

            if (ProSeries.CanHarass())
            {
                if (ProSeries.Config.Item("useharassq", true).GetValue <bool>() &&
                    target.IsValid <AIHeroClient>() && ProSeries.IsWhiteListed((AIHeroClient)target))
                {
                    Q.Cast();
                }
            }

            if (ProSeries.CanClear())
            {
                if (ProSeries.Config.Item("useclearq", true).GetValue <bool>() &&
                    target.IsValid <Obj_AI_Minion>())
                {
                    Q.Cast();
                }
            }
        }
예제 #3
0
파일: Ezreal.cs 프로젝트: wade1990/PortAIO
        internal static void Game_OnUpdate(EventArgs args)
        {
            if (ProSeries.CanCombo())
            {
                var qtarget = TargetSelector.GetTargetNoCollision(Q);
                if (qtarget.IsValidTarget() && Q.IsReady())
                {
                    if (ProSeries.Config.Item("usecomboq", true).GetValue <bool>())
                    {
                        Q.Cast(qtarget);
                    }
                }

                var wtarget = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical);
                if (wtarget.IsValidTarget() && W.IsReady())
                {
                    if (ProSeries.Config.Item("usecombow", true).GetValue <bool>())
                    {
                        W.Cast(wtarget);
                    }
                }
            }

            if (ProSeries.CanHarass())
            {
                var qtarget = TargetSelector.GetTargetNoCollision(Q);
                if (qtarget.IsValidTarget() && Q.IsReady() && ProSeries.IsWhiteListed(qtarget))
                {
                    if (ProSeries.Config.Item("usecomboq", true).GetValue <bool>())
                    {
                        Q.Cast(qtarget);
                    }
                }

                var wtarget = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical);
                if (wtarget.IsValidTarget() && W.IsReady() && ProSeries.IsWhiteListed(wtarget))
                {
                    if (ProSeries.Config.Item("useharassw", true).GetValue <bool>())
                    {
                        W.Cast(wtarget);
                    }
                }
            }

            if (Q.IsReady())
            {
                foreach (var target in ObjectManager.Get <AIHeroClient>().Where(h => h.IsValidTarget(Q.Range)))
                {
                    if (ProSeries.Config.Item("useqimm", true).GetValue <bool>())
                    {
                        Q.CastIfHitchanceEquals(target, HitChance.Immobile);
                    }

                    if (ProSeries.Config.Item("useqdash", true).GetValue <bool>())
                    {
                        Q.CastIfHitchanceEquals(target, HitChance.Dashing);
                    }
                }
            }

            if (ProSeries.CanClear())
            {
                foreach (var neutral in ProSeries.JungleMobsInRange(650))
                {
                    if (ProSeries.Config.Item("useclearq", true).GetValue <bool>())
                    {
                        Q.Cast(neutral);
                    }
                }

                foreach (var minion in ObjectManager.Get <Obj_AI_Minion>().Where(m => m.IsValidTarget(Q.Range)))
                {
                    if (ProSeries.Player.GetSpellDamage(minion, Q.Slot) >= minion.Health &&
                        ProSeries.Config.Item("useclearq", true).GetValue <bool>())
                    {
                        if (!minion.Name.Contains("Ward"))
                        {
                            Q.Cast(minion);
                        }
                    }
                }
            }

            if (ProSeries.Config.Item("usecombor", true).GetValue <bool>())
            {
                var maxDistance = ProSeries.Config.Item("maxrdist", true).GetValue <Slider>().Value;
                foreach (var target in ObjectManager.Get <AIHeroClient>().Where(h => h.IsValidTarget(maxDistance)))
                {
                    var aaDamage = Orbwalking.InAutoAttackRange(target)
                        ? ProSeries.Player.GetAutoAttackDamage(target, true)
                        : 0;

                    if (!target.IsZombie &&
                        target.Health - aaDamage <= ProSeries.Player.GetSpellDamage(target, SpellSlot.R))
                    {
                        R.Cast(target);
                    }
                }
            }
        }
예제 #4
0
        private static void Game_OnGameUpdate(EventArgs args)
        {
            RocketRange = new[] { 75, 75, 100, 125, 150, 175 }[Q.Level];
            var minigunOut = ProSeries.Player.GetSpell(SpellSlot.Q).ToggleState == 1;

            if (ProSeries.CanCombo())
            {
                if (!minigunOut && ProSeries.Config.Item("usecomboq", true).GetValue <bool>())
                {
                    if (ProSeries.Player.ManaPercent < 35 &&
                        HeroManager.Enemies.Any(
                            i => i.IsValidTarget(590 + RocketRange + 10) &&
                            ProSeries.Player.GetAutoAttackDamage(i, true) * 3 < i.Health))
                    {
                        Q.Cast();
                    }
                }

                var qtarget = TargetSelector.GetTarget(525 + RocketRange + 250, TargetSelector.DamageType.Physical);
                if (qtarget.IsValidTarget() && Q.IsReady())
                {
                    if (ProSeries.Config.Item("usecomboq", true).GetValue <bool>())
                    {
                        if (minigunOut && (ProSeries.Player.ManaPercent > 35 ||
                                           ProSeries.Player.GetAutoAttackDamage(qtarget, true) * 3 > qtarget.Health) &&
                            qtarget.Distance(ProSeries.Player.ServerPosition) > 590)
                        {
                            Q.Cast();
                        }

                        if (!minigunOut && ProSeries.Player.ManaPercent < 35)
                        {
                            Q.Cast();
                        }

                        if (!minigunOut && qtarget.Distance(ProSeries.Player.ServerPosition) <= 590)
                        {
                            Q.Cast();
                        }
                    }
                }

                var wtarget = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical);
                if (wtarget.IsValidTarget() && W.IsReady())
                {
                    if (ProSeries.Config.Item("usecombow", true).GetValue <bool>())
                    {
                        if (wtarget.Distance(ProSeries.Player.ServerPosition) > 525)
                        {
                            if (ProSeries.Player.GetAutoAttackDamage(wtarget, true) * 2 < wtarget.Health)
                            {
                                W.CastIfHitchanceEquals(wtarget, HitChance.High);
                            }
                        }
                    }
                }

                if (ProSeries.Config.Item("usecomboe", true).GetValue <bool>() && E.IsReady())
                {
                    foreach (var target in ObjectManager.Get <AIHeroClient>().Where(h => h.IsValidTarget(400) && h.IsMelee()))
                    {
                        E.CastIfHitchanceEquals(target, HitChance.VeryHigh);
                    }
                }
            }

            if (ProSeries.CanHarass())
            {
                var qtarget = TargetSelector.GetTarget(525 + RocketRange + 250, TargetSelector.DamageType.Physical);
                if (!qtarget.IsValidTarget() && !minigunOut)
                {
                    if (ProSeries.Config.Item("useharassq", true).GetValue <bool>())
                    {
                        Q.Cast();
                    }
                }

                if (qtarget.IsValidTarget() && Q.IsReady() && ProSeries.IsWhiteListed(qtarget))
                {
                    if (ProSeries.Config.Item("useharassq", true).GetValue <bool>())
                    {
                        if (!minigunOut && ProSeries.Player.ManaPercent < 20)
                        {
                            Q.Cast();
                        }

                        if (minigunOut && ProSeries.Player.ManaPercent > 20)
                        {
                            if (qtarget.Distance(ProSeries.Player.ServerPosition) > 590)
                            {
                                Q.Cast();
                            }
                        }

                        if (!minigunOut && qtarget.Distance(ProSeries.Player.ServerPosition) <= 590)
                        {
                            Q.Cast();
                        }
                    }
                }

                var wtarget = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical);
                if (wtarget.IsValidTarget() && W.IsReady() && ProSeries.IsWhiteListed(wtarget))
                {
                    if (ProSeries.Config.Item("useharassw", true).GetValue <bool>())
                    {
                        W.CastIfHitchanceEquals(wtarget, HitChance.High);
                    }
                }
            }

            if (ProSeries.CanClear() && Q.IsReady())
            {
                if (ProSeries.Config.Item("useclearq", true).GetValue <bool>())
                {
                    if (GetCenterMinion().IsValidTarget())
                    {
                        if (minigunOut)
                        {
                            Q.Cast();
                        }

                        if (!minigunOut)
                        {
                            ProSeries.Orbwalker.ForceTarget(GetCenterMinion());
                        }
                    }

                    else
                    {
                        if (!minigunOut)
                        {
                            Q.Cast();
                        }
                    }
                }
            }

            if (ProSeries.Player.GetSpell(SpellSlot.Q).ToggleState == 2 && Q.IsReady())
            {
                if (ProSeries.Config.Item("useclearq", true).GetValue <bool>())
                {
                    if (ProSeries.Config.Item("useclear").GetValue <KeyBind>().Active)
                    {
                        if (ProSeries.Player.ManaPercent <=
                            ProSeries.Config.Item("clearmana").GetValue <Slider>().Value)
                        {
                            Q.Cast();
                        }
                    }
                }
            }

            if (E.IsReady())
            {
                foreach (var target in ObjectManager.Get <AIHeroClient>().Where(h => h.IsValidTarget(E.Range)))
                {
                    if (ProSeries.Config.Item("useeimm", true).GetValue <bool>())
                    {
                        E.CastIfHitchanceEquals(target, HitChance.Immobile);
                    }

                    if (ProSeries.Config.Item("useedash", true).GetValue <bool>())
                    {
                        E.CastIfHitchanceEquals(target, HitChance.Dashing);
                    }
                }
            }

            if (ProSeries.Config.Item("usecombor", true).GetValue <bool>())
            {
                var maxDistance = ProSeries.Config.Item("maxrdist", true).GetValue <Slider>().Value;

                foreach (var target in ObjectManager.Get <AIHeroClient>().Where(h => h.IsValidTarget(maxDistance)))
                {
                    var canr = !TargetSelector.IsInvulnerable(target, TargetSelector.DamageType.Physical);

                    var aaDamage = Orbwalking.InAutoAttackRange(target)
                        ? ProSeries.Player.GetAutoAttackDamage(target, true)
                        : 0;

                    if (target.Health - aaDamage <= GetRDamage(target) && canr)
                    {
                        R.Cast(target);
                    }
                }
            }
        }
예제 #5
0
        internal static void Game_OnUpdate(EventArgs args)
        {
            R.Range = ProSeries.Player.Buffs.Any(
                h => h.Name.ToLower().Contains("corkimissilebarragecounterbig")) ? 1500f : 1300f;

            if (ProSeries.CanCombo())
            {
                var qtarget = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);
                if (qtarget.IsValidTarget() && Q.IsReady())
                {
                    if (ProSeries.Config.Item("usecomboq", true).GetValue <bool>())
                    {
                        Q.CastIfHitchanceEquals(qtarget, HitChance.High);
                    }
                }

                var etarget = HeroManager.Enemies.FirstOrDefault(h => h.IsValidTarget(E.Range));
                if (etarget.IsValidTarget() && E.IsReady())
                {
                    if (ProSeries.Config.Item("usecomboe", true).GetValue <bool>() &&
                        E.Cast(etarget) == Spell.CastStates.SuccessfullyCasted)
                    {
                        return;
                    }
                }

                var rtarget = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical);
                if (rtarget.IsValidTarget() && R.IsReady())
                {
                    if (ProSeries.Config.Item("usecombor", true).GetValue <bool>())
                    {
                        R.CastIfHitchanceEquals(rtarget, HitChance.High);
                    }
                }
            }

            if (ProSeries.CanHarass())
            {
                var qtarget = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical);
                if (qtarget.IsValidTarget() && Q.IsReady() && ProSeries.IsWhiteListed(qtarget))
                {
                    if (ProSeries.Config.Item("useharassq", true).GetValue <bool>())
                    {
                        Q.CastIfHitchanceEquals(qtarget, HitChance.High);
                    }
                }

                var etarget = HeroManager.Enemies.FirstOrDefault(h => h.IsValidTarget(E.Range));
                if (etarget.IsValidTarget() && E.IsReady() && ProSeries.IsWhiteListed(etarget))
                {
                    if (ProSeries.Config.Item("useharasse", true).GetValue <bool>())
                    {
                        if (E.Cast(etarget) == Spell.CastStates.SuccessfullyCasted)
                        {
                            return;
                        }
                    }
                }

                var rtarget = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical);
                if (rtarget.IsValidTarget() && R.IsReady() && ProSeries.IsWhiteListed(rtarget))
                {
                    if (ProSeries.Config.Item("useharassr", true).GetValue <bool>() && R.Instance.Ammo > 3)
                    {
                        R.CastIfHitchanceEquals(rtarget, HitChance.High);
                    }
                }
            }

            if (ProSeries.CanClear())
            {
                foreach (var neutral in ProSeries.JungleMobsInRange(650))
                {
                    if (ProSeries.Config.Item("useclearq", true).GetValue <bool>() && Q.IsReady())
                    {
                        Q.Cast(neutral);
                    }
                    if (ProSeries.Config.Item("usecleare", true).GetValue <bool>() && E.IsReady())
                    {
                        if (E.Cast(neutral) == Spell.CastStates.SuccessfullyCasted)
                        {
                            return;
                        }
                    }
                }

                if (E.IsReady() && ProSeries.Config.Item("usecleare", true).GetValue <bool>())
                {
                    if (ObjectManager.Get <Obj_AI_Minion>().Count(h => h.IsValidTarget(E.Range) && !h.Name.Contains("Ward")) >= 3)
                    {
                        if (E.Cast(ObjectManager.Get <Obj_AI_Minion>().FirstOrDefault(h => h.IsValidTarget(E.Range))) ==
                            Spell.CastStates.SuccessfullyCasted)
                        {
                            return;
                        }
                    }
                }

                if (Q.IsReady() && ProSeries.Config.Item("useclearq", true).GetValue <bool>())
                {
                    var farmLocation = Q.GetCircularFarmLocation(MinionManager.GetMinions(Q.Range));
                    if (farmLocation.MinionsHit >= 3)
                    {
                        Q.Cast(farmLocation.Position);
                    }
                }
            }
        }
예제 #6
0
        internal static void Game_OnUpdate(EventArgs args)
        {
            if (ProSeries.CanCombo())
            {
                var etarget = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical);
                if (etarget.IsValidTarget() && E.IsReady())
                {
                    foreach (var buff in etarget.Buffs)
                    {
                        if (buff.Name == "twitchdeadlyvenom" && buff.Count == 6 &&
                            ProSeries.Config.Item("usecomboe", true).GetValue <bool>())
                        {
                            E.Cast();
                        }
                    }
                }

                var wtarget = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical);
                if (wtarget.IsValidTarget() && W.IsReady())
                {
                    if (ProSeries.Config.Item("usecombow", true).GetValue <bool>())
                    {
                        W.Cast(wtarget);
                    }
                }
            }

            if (ProSeries.CanHarass())
            {
                var etarget = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical);
                if (etarget.IsValidTarget() && E.IsReady() && ProSeries.IsWhiteListed(etarget))
                {
                    foreach (var buff in etarget.Buffs)
                    {
                        if (buff.Name == "twitchdeadlyvenom" && buff.Count == 3 &&
                            ProSeries.Config.Item("useharasse", true).GetValue <bool>())
                        {
                            E.Cast();
                        }
                    }
                }

                var wtarget = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical);
                if (wtarget.IsValidTarget() && W.IsReady() && ProSeries.IsWhiteListed(wtarget))
                {
                    if (ProSeries.Config.Item("useharassw", true).GetValue <bool>())
                    {
                        W.Cast(wtarget);
                    }
                }
            }

            if (ProSeries.CanClear() && E.IsReady())
            {
                var minionList = MinionManager.GetMinions(E.Range).Where(m => m.HasBuff("twitchdeadlyvenom", true));
                if (minionList.Count(m => m.Health <= ProSeries.Player.GetSpellDamage(m, SpellSlot.E)) >= 3)
                {
                    E.Cast();
                }
            }

            if (W.IsReady() && !ProSeries.Player.HasBuff("twitchhideinshadows", true))
            {
                foreach (var target in ObjectManager.Get <Obj_AI_Hero>().Where(h => h.IsValidTarget(W.Range)))
                {
                    if (ProSeries.Config.Item("usewimm", true).GetValue <bool>())
                    {
                        W.CastIfHitchanceEquals(target, HitChance.Immobile);
                    }

                    if (ProSeries.Config.Item("usewdash", true).GetValue <bool>())
                    {
                        W.CastIfHitchanceEquals(target, HitChance.Dashing);
                    }
                }
            }
        }