private void OnPossibleToInterrupt(Obj_AI_Base unit, InterruptableSpell spell) { if (!ItemBool("Misc", "EInterrupt") || Player.IsDead) { return; } if (IsValid(unit, SkillE.Range) && SkillE.IsReady()) { SkillE.Cast(Player.Position.To2D().Extend(unit.Position.To2D(), unit.Distance3D(Player) + 200), PacketCast()); } }
private void AfterAttack(Obj_AI_Base Unit, Obj_AI_Base Target) { if (!Unit.IsMe) { return; } if ((((Orbwalk.CurrentMode == Orbwalk.Mode.LaneClear || Orbwalk.CurrentMode == Orbwalk.Mode.LaneFreeze) && ItemBool("Clear", "E") && !HavePassive()) || ((Orbwalk.CurrentMode == Orbwalk.Mode.Combo || (Orbwalk.CurrentMode == Orbwalk.Mode.Harass && Player.HealthPercentage() >= ItemSlider(Orbwalk.CurrentMode.ToString(), "EAbove"))) && ItemBool(Orbwalk.CurrentMode.ToString(), "E") && !HavePassive(Orbwalk.CurrentMode.ToString()) && Target is Obj_AI_Hero)) && E.IsReady()) { if (Player.Position.Distance(Game.CursorPos) > 100 && Target.Distance3D(Player) <= E.Range + Orbwalk.GetAutoAttackRange(Player, Target) /*&& Target.Position.Distance(Player.Position.To2D().Extend(Game.CursorPos.To2D(), E.Range).To3D()) <= Orbwalk.GetAutoAttackRange(Player, Target)*/) { E.Cast(Player.Position.To2D().Extend(Game.CursorPos.To2D(), E.Range), PacketCast()); } //var Pos = (Player.Position.Distance(Game.CursorPos) <= E.Range && Player.Position.Distance(Game.CursorPos) > 100) ? Game.CursorPos : Player.Position.To2D().Extend(Game.CursorPos.To2D(), E.Range).To3D(); //if (Target.Position.Distance(Pos) <= Orbwalk.GetAutoAttackRange(Player, Target)) //{ // if ((Orbwalk.CurrentMode == Orbwalk.Mode.LaneClear || Orbwalk.CurrentMode == Orbwalk.Mode.LaneFreeze) && ObjectManager.Get<Obj_AI_Minion>().Count(i => IsValid(i, Orbwalk.GetAutoAttackRange() + E.Range)) == 0) return; // if ((Orbwalk.CurrentMode == Orbwalk.Mode.Combo || Orbwalk.CurrentMode == Orbwalk.Mode.Harass) && ObjectManager.Get<Obj_AI_Hero>().Count(i => IsValid(i, Orbwalk.GetAutoAttackRange() + E.Range)) == 0) return; // E.Cast(Pos, PacketCast()); // if (Orbwalk.CurrentMode == Orbwalk.Mode.Combo) WillInAA = true; //} //WillInAA = false; } }
public PredictionOutput GetPrediction(Obj_AI_Base unit) { return(Core.Prediction.GetPrediction(unit, Data.Delay + Data.Speed / unit.Distance3D(ObjectManager.Player))); }