/// <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(); } } }
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); } } } } }
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); } } } }