private static void WardJump(AIHeroClient target) { var pred = SpellManager.W1.GetPrediction(target); if (WardManager.CanWardJump && pred.HitChancePercent >= 30f) { var gapclosepos = pred.CastPosition + (pred.CastPosition - ExpectedEndPosition).Normalized() * DistanceBetween; if (Extensions.Distance(gapclosepos, Util.myHero, true) <= Math.Pow(WardManager.WardRange, 2) && Extensions.Distance(gapclosepos, target, true) <= Math.Pow(SpellManager.R.Range, 2) && Extensions.Distance(gapclosepos, target, true) < Extensions.Distance(gapclosepos, ExpectedEndPosition, true)) { if (Orbwalker.CanMove) { LastGapcloseAttempt = Game.Time; Orbwalker.MoveTo(gapclosepos + (gapclosepos - ExpectedEndPosition).Normalized() * (DistanceBetween + Util.myHero.BoundingRadius / 2)); } AllySelected = null; PositionSelected = EndPosition; LastSetPositionTime = Game.Time; TargetSelector.ForcedTarget = target; var obj = Champion.GetBestObjectNearTo(gapclosepos); if (obj != null && Extensions.Distance(obj, target, true) < Extensions.Distance(obj, ExpectedEndPosition, true)) { SpellManager.CastW1(obj); } else { WardManager.CastWardTo(gapclosepos); } } } }
public static void GapCloseWithoutWard(Obj_AI_Base target) { if (SpellManager.CanCastW1) { var obj = GetBestObjectNearTo(target.Position); if (obj != null && Extensions.Distance(Util.myHero, target, true) > Extensions.Distance(obj, target, true)) { SpellManager.CastW1(obj); } } }
public static void JumpToVector(Vector3 position) { if (SpellManager.CanCastW1) { var ward = GetNearestTo(position); if (ward != null && position.To2D().Distance(ward.Position.To2D(), true) < Math.Pow(250f, 2)) { SpellManager.CastW1(ward); } } }
public static void JumpToVector(Vector3 Position) { if (SpellManager.CanCastW1) { var ward = GetNearestTo(Position) as Obj_AI_Minion; if (ward != null && Extensions.Distance(Position.To2D(), ward.Position.To2D(), true) < Math.Pow(250f, 2)) { SpellManager.CastW1(ward); } } }
private static void Obj_Ward_OnCreate(GameObject sender, EventArgs args) { if (sender.IsWard()) { var ward = sender as Obj_AI_Minion; WardsAvailable.Add(ward); LastWardCreated = Game.Time; if (IsTryingToJump) { if (Extensions.Distance(LastWardJumpVector.To2D(), ward.Position.To2D(), true) < Math.Pow(80, 2)) { SpellManager.CastW1(ward); } } } }
public static void Execute() { if (SpellManager.CanCastW1) { var obj = Champion.GetBestObjectNearTo(Util.MousePos); if (obj != null && Menu.GetCheckBoxValue("W")) { SpellManager.CastW1(obj); } else if (Menu.GetCheckBoxValue("WardJump")) { if (WardManager.CanCastWard) { WardManager.CastWardTo(Util.MousePos); } } } }
public static void GapCloseWithWard(Obj_AI_Base target) { if (SpellManager.CanCastW1) { var obj = GetBestObjectNearTo(target.Position); if (obj != null && Extensions.Distance(Util.myHero, target, true) > Extensions.Distance(obj, target, true)) { SpellManager.CastW1(obj); } else if (WardManager.CanCastWard) { var pred = SpellManager.W1.GetPrediction(target); if (pred.HitChancePercent >= 50f) { WardManager.CastWardTo(pred.CastPosition); } } } }
public static void GapCloseWithWard(Obj_AI_Base target) { if (SpellManager.CanCastW1) { var obj = GetBestObjectNearTo(target.Position); if (obj != null && Util.MyHero.Distance(target, true) > obj.Distance(target, true)) { SpellManager.CastW1(obj); } else if (WardManager.CanCastWard) { var pred = SpellManager.W1.GetPrediction(target); if (pred.HitChance >= HitChance.AveragePoint) { WardManager.CastWardTo(pred.CastPosition); } } } }
public static void Execute() { var target = TargetSelector.Target; if (target.IsValidTarget()) { if (Util.myHero.IsInAutoAttackRange(target) && Champion.PassiveStack > 0) { return; } if (Menu.GetCheckBoxValue("Q")) { SpellManager.CastQ(target); } if (Menu.GetCheckBoxValue("E")) { SpellManager.CastE1(target); } if (_Q.IsDashing || _Q.IsWaitingMissile || _Q.HasQ2Buff || (SpellSlot.Q.IsReady() && SpellSlot.Q.IsFirstSpell() && Menu.GetCheckBoxValue("Q"))) { return; } if (Menu.GetCheckBoxValue("W")) { var damageI = target.GetBestCombo(); if (target.IsInAutoAttackRange(Util.myHero) && !damageI.IsKillable) { var obj = Champion.GetBestObjectFarFrom(target.Position); if (obj != null && SpellManager.CanCastW1 && Extensions.Distance(Util.myHero, target, true) < Extensions.Distance(obj, target, true)) { SpellManager.CastW1(obj); } } } } }
public static void Execute() { var target = TargetSelector.Target; if (target.IsValidTarget()) { if (Util.MyHero.HealthPercent <= Menu.GetSliderValue("Normal.W") && SpellSlot.W.IsReady()) { if (SpellSlot.W.IsFirstSpell()) { if (target.IsInAutoAttackRange(Util.MyHero) || Util.MyHero.IsInAutoAttackRange(target)) { SpellManager.CastW1(Util.MyHero); } } else { if (Util.MyHero.IsInAutoAttackRange(target)) { SpellManager.CastW2(); } } } if (Util.MyHero.IsInAutoAttackRange(target) && Champion.PassiveStack > 2 - Menu.GetSliderValue("Normal.Stack")) { return; } if (Menu.GetCheckBoxValue("Normal.R")) { SpellManager.CastR(target); } var t = _R.BestHitR(Menu.GetSliderValue("Normal.R.Hit")); if (Menu.GetSliderValue("Normal.R.Hit") <= t.Item1) { SpellManager.CastR(t.Item2); } if (Menu.GetCheckBoxValue("E")) { SpellManager.CastE(target); } if (Menu.GetCheckBoxValue("Q") && SpellSlot.Q.IsReady()) { if (SpellSlot.Q.IsFirstSpell()) { SpellManager.CastQ1(target); } else if (!target.HaveR()) { SpellManager.CastQ2(target); } } if (Menu.GetCheckBoxValue("W") && SpellSlot.W.IsReady() && !SpellSlot.W.IsFirstSpell() && Util.MyHero.IsInAutoAttackRange(target)) { SpellManager.CastW2(); } if (_Q.IsDashing || _Q.IsWaitingMissile || _Q.HasQ2Buff) { return; } if (Util.MyHero.Distance(target, true) > Math.Pow(500, 2) && Menu.GetCheckBoxValue("W") && SpellManager.CanCastW1) { if (Menu.GetCheckBoxValue("Normal.Ward")) { Champion.GapCloseWithWard(target); } else { Champion.GapCloseWithoutWard(target); } } } }