Example #1
0
        /// <summary>
        ///     Defensive Item Usage - Seraph
        /// </summary>
        public void SeraphUsage()
        {
            var incomingdmg = OktwCommon.GetIncomingDamage2(ObjectManager.Player, 1);

            if (Seraph.IsReady() && Config.UseSeraph.GetValue <bool>())
            {
                var shieldint = ObjectManager.Player.Mana * 0.2 + 150;
                if ((incomingdmg > ObjectManager.Player.Health) &&
                    (incomingdmg < ObjectManager.Player.Health + shieldint))
                {
                    Seraph.Cast();
                }
            }
        }
Example #2
0
        private void afterAttack(AttackableUnit unit, AttackableUnit target)
        {
            var t = target as Obj_AI_Hero;

            if (t != null)
            {
                if (E.IsReady() && Config.Item("Eks", true).GetValue <bool>())
                {
                    var incomingDMG = OktwCommon.GetIncomingDamage2(t, 0.3f, false);
                    if (incomingDMG > t.Health)
                    {
                        return;
                    }

                    var dmgE = E.GetDamage(t) + incomingDMG;

                    if (GetWStacks(t) == 1)
                    {
                        dmgE += Wdmg(t);
                    }

                    if (dmgE > t.Health)
                    {
                        E.Cast(t);
                    }
                }

                if (Q.IsReady() && !Program.None && Config.Item("autoQ", true).GetValue <bool>() && (GetWStacks(t) == Config.Item("Qstack", true).GetValue <Slider>().Value - 1 || Player.HasBuff("vayneinquisition")))
                {
                    var dashPos = Dash.CastDash(true);
                    if (!dashPos.IsZero)
                    {
                        Q.Cast(dashPos);
                    }
                }
            }

            var m = target as Obj_AI_Minion;

            if (m != null && Q.IsReady() && Program.Farm && Config.Item("farmQ", true).GetValue <bool>())
            {
                var dashPosition = Player.Position.Extend(Game.CursorPos, Q.Range);
                if (!Dash.IsGoodPosition(dashPosition))
                {
                    return;
                }

                if (Config.Item("farmQjungle", true).GetValue <bool>() && m.Team == GameObjectTeam.Neutral)
                {
                    Q.Cast(dashPosition, true);
                }

                if (Config.Item("farmQ", true).GetValue <bool>())
                {
                    foreach (var minion in Cache.GetMinions(dashPosition, 0).Where(minion => m.NetworkId != minion.NetworkId))
                    {
                        var time       = (int)(Player.AttackCastDelay * 1000) + Game.Ping / 2 + 1000 * (int)Math.Max(0, Player.Distance(minion) - Player.BoundingRadius) / (int)Player.BasicAttack.MissileSpeed;
                        var predHealth = SebbyLib.HealthPrediction.GetHealthPrediction(minion, time);
                        if (predHealth < Player.GetAutoAttackDamage(minion) + Q.GetDamage(minion) && predHealth > 0)
                        {
                            Q.Cast(dashPosition, true);
                        }
                    }
                }
            }
        }
Example #3
0
        private void Obj_AI_Base_OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
        {
            if (!sender.IsEnemy)
            {
                return;
            }

            if (Config.Item("spell" + args.SData.Name.ToLower()) != null && !Config.Item("spell" + args.SData.Name.ToLower()).GetValue <bool>())
            {
                return;
            }

            if (E.IsReady() && Config.Item("autoE", true).GetValue <bool>() && OktwCommon.CanHitSkillShot(Player, args.Start, args.End, args.SData))
            {
                E.Cast(sender.Position);
            }

            if (W.IsReady() && args.SData.MissileSpeed > 0)
            {
                foreach (var ally in HeroManager.Allies.Where(ally => ally.IsValid && Player.Distance(ally.ServerPosition) < W.Range && Config.Item("Eon" + ally.ChampionName).GetValue <bool>()))
                {
                    if (OktwCommon.CanHitSkillShot(ally, args.Start, args.End, args.SData) || OktwCommon.GetIncomingDamage2(ally, 1) > ally.Health * Config.Item("Edmg", true).GetValue <Slider>().Value * 0.01)
                    {
                        if (E.IsReady())
                        {
                            LeagueSharp.Common.Utility.DelayAction.Add(200, () => E.Cast(sender.Position));
                        }

                        if (Player.HealthPercent < 20 && !ally.IsMe)
                        {
                            continue;
                        }
                        if (Player.HealthPercent < 50 && !ally.IsMe && ally.UnderTurret(true))
                        {
                            continue;
                        }

                        W.Cast(ally);
                    }
                }
            }
        }