protected override void OnIssueOrder(Obj_AI_Base sender, GameObjectIssueOrderEventArgs args) { if (HasUltiBuff() && Q.IsReady() && sender.CharData.BaseSkinName.Equals("Kalista") && args.Order == GameObjectOrder.AutoAttack && args.Target.IsMe) { if (ComboMenu.Item("QChecks").GetValue <bool>() && Game.CursorPos.IsShroom()) { return; } Q.Cast(Game.CursorPos); } if (Player.HealthPercent > 45 && Player.ManaPercent > 60 && Player.CountEnemiesInRange(1000) <= 2 && sender.IsValid <Obj_AI_Hero>() && sender.IsEnemy && args.Target is Obj_AI_Minion && sender.Distance(Player.ServerPosition) < Orbwalking.GetRealAutoAttackRange(null) + 250) { if (sender.InAArange()) { Orbwalker.ForceTarget(sender); } else { var tumblePos = Player.ServerPosition.Extend(sender.ServerPosition, Player.Distance(sender.ServerPosition) - Orbwalking.GetRealAutoAttackRange(null)); if (!tumblePos.IsShroom() && tumblePos.CountEnemiesInRange(300) == 0 && Q.IsReady()) { Q.Cast(tumblePos); Orbwalker.ForceTarget(sender); } } } }
protected override void OnAttack(AttackableUnit sender, AttackableUnit target) { base.OnAttack(sender, target); if (Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.LaneClear) { return; } _tumbleToKillSecondMinion = MinionManager.GetMinions(Player.Position, Orbwalking.GetRealAutoAttackRange(null)).Any(m => m.Health < Player.GetAutoAttackDamage(m) + 15); }
protected override void Combo() { var minionsInRange = MinionManager.GetMinions(Player.ServerPosition, Orbwalking.GetRealAutoAttackRange(null)).OrderBy(m => m.Armor).ToList(); if (Player.CountEnemiesInRange(600) == 0 && Items.HasItem((int)ItemId.The_Bloodthirster, Player) && minionsInRange.Count != 0 && Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo && Player.HealthPercent < 60) { Orbwalker.ForceTarget(minionsInRange.FirstOrDefault()); } if (Player.CountEnemiesInRange(1000) == 0) { return; } base.Combo(); }
protected override void OnAttack(AttackableUnit sender, AttackableUnit target) { base.OnAttack(sender, target); if (Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.LaneClear) { return; } var t = (Obj_AI_Base)target; var possibleHeroTarget = TargetSelector.GetTarget(Orbwalking.GetRealAutoAttackRange(null), TargetSelector.DamageType.Physical); if (target is Obj_AI_Minion && t.Health > Player.GetAutoAttackDamage(t) + 25 && possibleHeroTarget != null) { Orbwalker.ForceTarget(possibleHeroTarget); } _tumbleToKillSecondMinion = MinionManager.GetMinions(Player.Position, Orbwalking.GetRealAutoAttackRange(null)).Any(m => m.Health < Player.GetAutoAttackDamage(m) + 15); }
protected override void BeforeAttack(Orbwalking.BeforeAttackEventArgs args) { if (!args.Unit.IsMe) { return; } if (!(args.Target is Obj_AI_Hero)) { return; } if (args.Target.IsValid <Obj_AI_Hero>()) { var t = (Obj_AI_Hero)args.Target; if (t == null) { return; } if (t.IsMelee() && t.IsFacing(Player) && t != null && ComboMenu.Item("QCombo").GetValue <bool>()) { if (t.Distance(Player.ServerPosition) < Q.Range && Q.IsReady() && t.IsFacing(Player) && !Player.ServerPosition.Extend(t.ServerPosition, -(Q.Range)).IsShroom()) { args.Process = false; Q.Cast(Player.ServerPosition.Extend(t.ServerPosition, -(Q.Range))); } } var minion = MinionManager.GetMinions(Player.ServerPosition, Orbwalking.GetRealAutoAttackRange(null)).OrderBy(m => m.Armor).FirstOrDefault(); if (minion == null) { return; } if (Items.HasItem((int)ItemId.Thornmail, t) && !Items.HasItem((int)ItemId.The_Bloodthirster, Player) && Player.HealthPercent < 25 && t.HealthPercent > 15 && t.VayneWStacks() != 2 && t.IsFacing(Player)) { Orbwalker.ForceTarget(minion); } } }
protected virtual void BeforeAttack(Orbwalking.BeforeAttackEventArgs args) { }
protected override void BeforeAttack(Orbwalking.BeforeAttackEventArgs args) { if (!args.Unit.IsMe) return; var realTarget = Utils.TargetSelector.GetTarget(Orbwalking.GetRealAutoAttackRange(null), TargetSelector.DamageType.Physical); if (args.Target.Type == GameObjectType.obj_AI_Minion && !Orbwalker.ShouldWait() && realTarget.IsValidTarget()) { Orbwalker.ForceTarget(realTarget); return; } if (args.Target.IsValid<Obj_AI_Hero>()) { var t = (Obj_AI_Hero)args.Target; if (Q.IsReady() && t.IsValidTarget() && t.IsMelee() && t.IsFacing(Player) && ComboMenu.Item("QCombo").GetValue<bool>()) { if (t.Distance(Player.ServerPosition) < Q.Range && t.IsFacing(Player) && !Player.ServerPosition.Extend(t.ServerPosition, -(Q.Range)).IsShroom()) { args.Process = false; Q.Cast(Player.ServerPosition.Extend(t.ServerPosition, -(Q.Range))); } } var minion = MinionManager.GetMinions(Player.ServerPosition, Orbwalking.GetRealAutoAttackRange(null)).OrderBy(m => m.Armor).FirstOrDefault(); if (minion == null) return; if (Items.HasItem((int)ItemId.Thornmail, t) && !Items.HasItem((int)ItemId.The_Bloodthirster, Player) && Player.HealthPercent < 25 && t.HealthPercent > 15 && t.VayneWStacks() != 2 && t.IsFacing(Player)) { Orbwalker.ForceTarget(minion); } } }
protected override void AfterAttack(AttackableUnit unit, AttackableUnit target) { if (!unit.IsMe) { return; } var myRange = Orbwalking.GetRealAutoAttackRange(null); var AArange = myRange + 15; var tg = (Obj_AI_Hero)target; var realTarget = Utils.TargetSelector.GetTarget(AArange, TargetSelector.DamageType.Physical); if (target.Type == GameObjectType.obj_AI_Hero && tg != realTarget && realTarget.IsValidTarget()) { Orbwalker.ForceTarget(realTarget); } if (tg.IsValidTarget() && E.IsReady() && tg.VayneWStacks() == 2 && tg.Health < Player.GetSpellDamage(tg, SpellSlot.W)) { E.Cast(tg); } if (!Q.IsReady()) { if (_tumbleToKillSecondMinion) { _tumbleToKillSecondMinion = false; } return; } if (target.Type == GameObjectType.obj_AI_Minion && !Orbwalker.ShouldWait() && realTarget.IsValidTarget()) { Orbwalker.ForceTarget(realTarget); return; } if (ComboMenu.Item("QChecks").GetValue <bool>() && Game.CursorPos.IsShroom()) { return; } if (Player.CountEnemiesInRange(1400) == 0 && Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear && !Orbwalker.ShouldWait() && Player.ManaPercent > 70 && LaneClearMenu.Item("QFarm").GetValue <bool>() && MinionManager.GetMinions(Game.CursorPos, myRange).Any()) { if (Game.CursorPos.UnderTurret(Player.Team == GameObjectTeam.Order ? GameObjectTeam.Chaos : GameObjectTeam.Order) && !Player.UnderTurret(true)) { return; } Q.Cast(Game.CursorPos); } if (Player.ManaPercent > 25 && realTarget.IsValidTarget() && Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { if (Player.CountAlliesInRange(1000) >= Player.CountEnemiesInRange(1000) && realTarget.Distance(Game.CursorPos) < Orbwalking.GetRealAutoAttackRange(null)) { Q.Cast(Game.CursorPos); } } if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear || Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed) { if (ComboMenu.Item("QHarass").GetValue <bool>() && Game.CursorPos.Distance(target.Position) < myRange && Player.CountEnemiesInRange(1000) <= 2 && Player.Level < 11) { var pos = Player.Position.Extend(Game.CursorPos, Player.Distance(target.Position) - myRange + 15); if ( pos.UnderTurret(Player.Team == GameObjectTeam.Order ? GameObjectTeam.Chaos : GameObjectTeam.Order) && !Player.UnderTurret(true)) { return; } Q.Cast(pos); } } if (!ComboMenu.Item("QCombo").GetValue <bool>()) { return; } if (Player.ManaPercent > 25) { if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { Q.Cast(Game.CursorPos); } } }
protected override void AfterAttack(AttackableUnit unit, AttackableUnit target) { var myRange = Orbwalking.GetRealAutoAttackRange(null); if (unit != Player) { return; } var possibleHeroTarget = TargetSelector.GetTarget(myRange, TargetSelector.DamageType.Physical); if (target is Obj_AI_Minion && target.Health > Player.GetAutoAttackDamage((Obj_AI_Minion)target) && possibleHeroTarget != null) { Orbwalker.ForceTarget(possibleHeroTarget); return; } if (Q.IsReady() && Player.CountEnemiesInRange(1400) == 0 && Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear && !Orbwalker.ShouldWait() && Player.ManaPercent > 70 && LaneClearMenu.Item("QFarm").GetValue <bool>() && MinionManager.GetMinions(Game.CursorPos, myRange).Any()) { if (Game.CursorPos.UnderTurret(Player.Team == GameObjectTeam.Order ? GameObjectTeam.Chaos : GameObjectTeam.Order) && !Player.UnderTurret(true)) { return; } Q.Cast(Game.CursorPos); } var AArange = myRange + 15; if (target == null) { return; } var tg = (Obj_AI_Hero)target; var realTarget = Utils.TargetSelector.GetTarget(AArange, TargetSelector.DamageType.Physical); if (target is Obj_AI_Hero && tg != realTarget && realTarget.IsValidTarget(AArange)) { Orbwalker.ForceTarget(realTarget); } if (E.IsReady() && tg.VayneWStacks() == 2 && tg.Health < Player.GetSpellDamage(tg, SpellSlot.W)) { E.Cast(tg); } if (!Q.IsReady()) { if (_tumbleToKillSecondMinion) { _tumbleToKillSecondMinion = false; } return; } if (Player.ManaPercent > 70 && target is Obj_AI_Hero && unit.IsMe && Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { var t = (Obj_AI_Hero)target; if (Player.CountAlliesInRange(1000) >= Player.CountEnemiesInRange(1000) && t.Distance(Player) < 850) { if (t.IsKillable()) { Orbwalker.ForceTarget(t); } if (Player.CountEnemiesInRange(1000) <= Player.CountAlliesInRange(1000) && Player.CountEnemiesInRange(1000) <= 2 && Player.CountEnemiesInRange(1000) != 0) { var tumblePos = Player.ServerPosition.Extend(t.ServerPosition, Player.Distance(t.ServerPosition) - myRange + 15); if (tumblePos.UnderTurret(Player.Team == GameObjectTeam.Order ? GameObjectTeam.Chaos : GameObjectTeam.Order) && !Player.UnderTurret(true)) { return; } if (!tumblePos.IsShroom() && t.Distance(Player) > myRange && t.CountEnemiesInRange(myRange) == 0 && Player.Level >= t.Level) { if (tumblePos.CountEnemiesInRange(300) < 2 && Q.IsReady()) { Q.Cast(tumblePos); } Orbwalker.ForceTarget(t); } } } } if (ComboMenu.Item("QChecks").GetValue <bool>() && Game.CursorPos.IsShroom()) { return; } if (HasUltiBuff() && ComboMenu.Item("QUltSpam").GetValue <bool>()) { Q.Cast(Game.CursorPos); } if (LaneClearMenu.Item("QFarm").GetValue <bool>() && Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear && _tumbleToKillSecondMinion && MinionManager.GetMinions(Game.CursorPos, myRange).Any(m => m.IsValidTarget()) && Q.IsReady()) { if (Game.CursorPos.UnderTurret(Player.Team == GameObjectTeam.Order ? GameObjectTeam.Chaos : GameObjectTeam.Order) && !Player.UnderTurret(true)) { return; } Q.Cast(Game.CursorPos); _tumbleToKillSecondMinion = false; return; } if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear || Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed) { if (ComboMenu.Item("QHarass").GetValue <bool>() && Game.CursorPos.Distance(target.Position) < myRange && Q.IsReady() && Player.CountEnemiesInRange(1000) <= 2 && Player.Level < 11) { var pos = Player.Position.Extend(Game.CursorPos, Player.Distance(target.Position) - myRange + 15); if ( pos.UnderTurret(Player.Team == GameObjectTeam.Order ? GameObjectTeam.Chaos : GameObjectTeam.Order) && !Player.UnderTurret(true)) { return; } Q.Cast(pos); } } if (!ComboMenu.Item("QCombo").GetValue <bool>()) { return; } if (Player.ManaPercent > 25) { if (unit.IsMe && Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo && !HasUltiBuff() && Q.IsReady()) { Q.Cast(Game.CursorPos); } } if (Player.CountEnemiesInRange(1000) > 0 || Player.ManaPercent < 70) { _tumbleToKillSecondMinion = false; } }