void IChampion.Flee() { try { Orbwalker.SetAttack(false); Orbwalking.MoveTo(Game.CursorPos, Orbwalker.HoldAreaRadius); Flee(); Utility.DelayAction.Add( 750, delegate { if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Flee) { ItemManager.UseFleeItems(); } }); Utility.DelayAction.Add( 125, delegate { if (Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.Flee) { Orbwalker.SetAttack(true); } }); } catch (Exception ex) { Global.Logger.AddItem(new LogItem(ex)); } }
protected override void OnPostUpdate() { if (_ultimate.IsActive(UltimateModeType.Flash) && R.IsReady() && SummonerManager.Flash.IsReady()) { if (_ultimate.ShouldMove(UltimateModeType.Flash)) { Orbwalking.MoveTo(Game.CursorPos, Orbwalker.HoldAreaRadius); } var targets = Targets.Where( t => t.Distance(Player) < (R.Range + R.Width + SummonerManager.Flash.Range) * 1.5f && !t.IsDashing() && (t.IsFacing(Player) ? (t.Distance(Player)) : (R.GetPrediction(t).UnitPosition.Distance(Player.Position))) > R.Range); foreach (var target in targets) { var flashPos = Player.Position.Extend(target.Position, SummonerManager.Flash.Range); var maxHits = GetMaxRHits(HitChance.High, flashPos); if (maxHits.Item1.Count > 0) { if (_ultimate.Check(UltimateModeType.Flash, maxHits.Item1)) { if ( R.Cast( Player.Position.Extend( maxHits.Item2, -(Player.Position.Distance(maxHits.Item2) * 2)), true)) { Utility.DelayAction.Add( 300 + (Game.Ping / 2), () => SummonerManager.Flash.Cast(flashPos)); } } else if (_ultimate.ShouldSingle(UltimateModeType.Flash)) { if ( maxHits.Item1.Where(hit => _ultimate.CheckSingle(UltimateModeType.Flash, hit)) .Any( hit => R.Cast( Player.Position.Extend( maxHits.Item2, -(Player.Position.Distance(maxHits.Item2) * 2)), true))) { Utility.DelayAction.Add( 300 + (Game.Ping / 2), () => SummonerManager.Flash.Cast(flashPos)); } } } } } if (_ultimate.IsActive(UltimateModeType.Assisted) && R.IsReady()) { if (_ultimate.ShouldMove(UltimateModeType.Assisted)) { Orbwalking.MoveTo(Game.CursorPos, Orbwalker.HoldAreaRadius); } if (!RLogic(UltimateModeType.Assisted, R.GetHitChance("combo"))) { RLogicSingle(UltimateModeType.Assisted, R.GetHitChance("combo"), false); } } if (_ultimate.IsActive(UltimateModeType.Auto) && R.IsReady()) { if (!RLogic(UltimateModeType.Auto, R.GetHitChance("combo"))) { RLogicSingle(UltimateModeType.Auto, R.GetHitChance("combo")); } } if (HeroListManager.Enabled("w-immobile") && W.IsReady()) { var target = Targets.FirstOrDefault( t => HeroListManager.Check("w-immobile", t) && BestTargetOnlyManager.Check("w-immobile", W, t) && Utils.IsImmobile(t)); if (target != null) { Casting.SkillShot(target, W, HitChance.High); } } }