private static void Killsteal() { if (Spells._q.IsReady()) { // R range because auto-gapclose! (Yes, i'm smart. Give Contrib pls) var targets = HeroManager.Enemies.Where(x => x.IsValidTarget(Spells._r.Range) && !x.IsZombie); foreach (var target in targets) { if (target.Health < Spells._q.GetDamage(target) && Logic.InQRange(target)) { Spells._q.Cast(target); } } } if (Spells._r.IsReady() && Spells._r.Instance.Name == IsSecondR) { var targets = HeroManager.Enemies.Where(x => x.IsValidTarget(Spells._r.Range + Spells._e.Range) && !x.IsZombie); foreach (var target in targets) { if (target.Health < Spells._r.GetDamage(target) && !target.IsInvulnerable && (Player.Distance(target.Position) <= 1870) && (Player.Distance(target.Position) >= 1600)) { Spells._e.Cast(target); Utility.DelayAction.Add(60, () => Spells._r.Cast(target)); } } } if (Spells._w.IsReady()) { var targets = HeroManager.Enemies.Where(x => x.IsValidTarget(Spells._r.Range) && !x.IsZombie); foreach (var target in targets) { if (target.Health < Spells._w.GetDamage(target) && Logic.InWRange(target)) { Spells._w.Cast(); } } } if (Spells._r.IsReady() && Spells._r.Instance.Name == IsSecondR) { var targets = HeroManager.Enemies.Where(x => x.IsValidTarget(Spells._r.Range) && !x.IsZombie); foreach (var target in targets) { if (target.Health < Dmg.Rdame(target, target.Health) && !target.IsInvulnerable) { Spells._r.Cast(target.Position); } } } if (Spells.Ignite.IsReady()) { var target = TargetSelector.GetTarget(600f, DamageType.True); if (target.IsValidTarget(600f) && Dmg.IgniteDamage(target) >= target.Health) { Player.Spellbook.CastSpell(Spells.Ignite, target); } } }
public static void ComboLogic() { { var targetR = TargetSelector.GetTarget(250 + Program.Player.AttackRange + 70, DamageType.Physical); if (Spells._r.IsReady() && Spells._r.Instance.Name == Program.IsFirstR && MenuConfig.AlwaysR && targetR != null) { Logic.ForceR(); } if (Spells._w.IsReady() && Logic.InWRange(targetR) && targetR != null) { Spells._w.Cast(); } if (Spells._r.IsReady() && Spells._r.Instance.Name == Program.IsFirstR && Spells._w.IsReady() && targetR != null && Spells._e.IsReady() && targetR.IsValidTarget() && !targetR.IsZombie && (Dmg.IsKillableR(targetR) || MenuConfig.AlwaysR)) { if (!Logic.InWRange(targetR)) { Spells._e.Cast(targetR.Position); Logic.ForceR(); Utility.DelayAction.Add(200, Logic.ForceW); Utility.DelayAction.Add(30, () => Logic.ForceCastQ(targetR)); } } else if (Spells._w.IsReady() && Spells._e.IsReady()) { if (targetR.IsValidTarget() && targetR != null && !targetR.IsZombie && !Logic.InWRange(targetR)) { Spells._e.Cast(targetR.Position); Utility.DelayAction.Add(10, Logic.ForceItem); if (Logic.InWRange(targetR)) { Utility.DelayAction.Add(100, Logic.ForceW); } Utility.DelayAction.Add(30, () => Logic.ForceCastQ(targetR)); } } else if (Spells._e.IsReady()) { if (targetR != null && targetR.IsValidTarget() && !targetR.IsZombie && !Logic.InWRange(targetR)) { Spells._e.Cast(targetR.Position); } } } }
private static void Drawing_OnEndScene(EventArgs args) { foreach ( var enemy in ObjectManager.Get <AIHeroClient>() .Where(ene => ene.IsValidTarget() && !ene.IsZombie)) { if (MenuConfig.Dind) { var ezkill = Spells._r.IsReady() && IsLethal(enemy) ? new ColorBGRA(0, 255, 0, 120) : new ColorBGRA(255, 255, 0, 120); Indicator.unit = enemy; Indicator.drawDmg(Dmg.GetComboDamage(enemy), ezkill); } } }
public static bool IsLethal(Obj_AI_Base unit) { return(Dmg.Totaldame(unit) / 1.65 >= unit.Health); }
private static void OnDoCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { var spellName = args.SData.Name; if (!sender.IsMe || !Orbwalking.IsAutoAttack(spellName)) { return; } if (args.Target is Obj_AI_Minion) { Lane.LaneLogic(); } var @base = args.Target as Obj_AI_Turret; if (@base != null) { if (@base.IsValid && args.Target != null && Spells._q.IsReady() && MenuConfig.LaneQ && Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear)) { Spells._q.Cast(@base); } } var hero = args.Target as AIHeroClient; if (hero == null) { return; } var target = hero; if (Spells._r.IsReady() && Spells._r.Instance.Name == IsSecondR) { if (target.Health < Dmg.Rdame(target, target.Health) + Player.GetAutoAttackDamage(target) && target.Health > Player.GetAutoAttackDamage(target)) { Spells._r.Cast(target.Position); } } if (Spells._w.IsReady()) { if (target.Health < Spells._w.GetDamage(target) + Player.GetAutoAttackDamage(target) && target.Health > Player.GetAutoAttackDamage(target)) { Spells._w.Cast(); } } if (Spells._q.IsReady()) { if (target.Health < Spells._q.GetDamage(target) + Player.GetAutoAttackDamage(target) && target.Health > Player.GetAutoAttackDamage(target)) { Spells._q.Cast(target); } } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo)) { if (Spells._e.IsReady()) { Spells._e.Cast(target.Position); } if (Spells._w.IsReady() && Logic.InWRange(target)) { Spells._w.Cast(); } if (Spells._q.IsReady()) { Logic.ForceItem(); Utility.DelayAction.Add(0, () => Logic.ForceCastQ(target)); } } if (MenuConfig.fastHKey) { if (HasTitan()) { CastTitan(); return; } if (Spells._w.IsReady() && Logic.InWRange(target)) { Logic.ForceItem(); Utility.DelayAction.Add(1, Logic.ForceW); Utility.DelayAction.Add(2, () => Logic.ForceCastQ(target)); } else if (Spells._q.IsReady()) { Logic.ForceItem(); Utility.DelayAction.Add(1, () => Logic.ForceCastQ(target)); } else if (Spells._e.IsReady() && !Orbwalking.InAutoAttackRange(target) && !Logic.InWRange(target)) { Spells._e.Cast(target.Position); } } if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass)) { if (HasTitan()) { CastTitan(); return; } if (_qstack == 2 && Spells._q.IsReady()) { Logic.ForceItem(); Utility.DelayAction.Add(1, () => Logic.ForceCastQ(target)); } } if (!MenuConfig.burstKey) { if (HasTitan()) { CastTitan(); return; } if (Spells._w.IsReady()) { Spells._w.Cast(target.Position); } if (Spells._r.IsReady() && Spells._r.Instance.Name == IsSecondR) { Logic.ForceItem(); Utility.DelayAction.Add(1, Logic.ForceR2); } else if (Spells._q.IsReady()) { Logic.ForceItem(); Utility.DelayAction.Add(1, () => Logic.ForceCastQ(target)); } } }
public static void BurstLogic() { var target = TargetSelector.SelectedTarget; if (target != null && target.IsValidTarget() && !target.IsZombie) { // Flash if (target.Health < Dmg.Totaldame(target) || MenuConfig.AlwaysF) { if ((Program.Player.Distance(target.Position) <= 700) && (Program.Player.Distance(target.Position) >= 600) && Program.Player.Spellbook.GetSpell(Spells.Flash).IsReady() && Spells._r.IsReady() && Spells._e.IsReady() && Spells._w.IsReady()) { Logic.CastYoumoo(); if (Spells._e.IsReady() && Spells._r.IsReady() && Spells._r.Instance.Name == Program.IsFirstR) { Spells._e.Cast(target.Position); Spells._r.Cast(); } if (Program.Player.Spellbook.GetSpell(Spells.Flash).IsReady()) { Utility.DelayAction.Add(10, () => Program.Player.Spellbook.CastSpell(Spells.Flash, target.Position)); } if (Spells._w.IsReady()) { Spells._w.Cast(target); Utility.DelayAction.Add(35, Logic.CastHydra); } if (Spells._r.IsReady() && Spells._r.Instance.Name == Program.IsSecondR) { Spells._r.Cast(target.ServerPosition); } if (Spells._q.IsReady()) { Utility.DelayAction.Add(150, () => Logic.ForceCastQ(target)); } } } // Burst if ((Program.Player.Distance(target.Position) <= Spells._e.Range + Program.Player.AttackRange + Program.Player.BoundingRadius - 20)) { if (Spells._e.IsReady()) { Spells._e.Cast(target.Position); } Logic.CastYoumoo(); if (Spells._r.IsReady()) { Logic.ForceR(); } Utility.DelayAction.Add(160, Logic.ForceW); Utility.DelayAction.Add(70, Logic.ForceItem); Utility.DelayAction.Add(70, Logic.CastHydra); if (Spells._r.IsReady() && Spells._r.Instance.Name == Program.IsSecondR) { Spells._r.Cast(target.ServerPosition); } if (Spells._q.IsReady()) { Utility.DelayAction.Add(150, () => Logic.ForceCastQ(target)); } } } }