예제 #1
0
 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());
     }
 }
예제 #2
0
 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;
     }
 }
예제 #3
0
 public PredictionOutput GetPrediction(Obj_AI_Base unit)
 {
     return(Core.Prediction.GetPrediction(unit, Data.Delay + Data.Speed / unit.Distance3D(ObjectManager.Player)));
 }