private static void OnPreAttack(object sender, PreAttackEventArgs Args) { if (Args.Target != null && !Args.Target.IsDead && Args.Target.Type == GameObjectType.obj_AI_Hero && Args.Target.IsValidTarget() && Args.Target.Health > 0 && Q.Ready) { var target = Args.Target as Obj_AI_Hero; if (target != null && target.IsValidAutoRange()) { if (Orbwalker.Mode == OrbwalkingMode.Combo) { if (ComboOption.UseQ && AxeOption.GetSlider("CatchCount").Value >= AxeCount) { Q.Cast(); } } else if (Orbwalker.Mode == OrbwalkingMode.Mixed || Orbwalker.Mode == OrbwalkingMode.Laneclear && MyManaManager.SpellHarass) { if (HarassOption.HasEnouguMana() && HarassOption.GetHarassTargetEnabled(target.ChampionName)) { if (HarassOption.UseQ) { if (AxeCount < 2) { Q.Cast(); } } } } } } }
private static void PostAttack(object sender, PostAttackEventArgs Args) { if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() || Args.Target.Health <= 0) { return; } switch (Args.Target.Type) { case GameObjectType.obj_AI_Hero: { var target = Args.Target as Obj_AI_Hero; if (target != null && target.IsValidTarget()) { if (Orbwalker.Mode == OrbwalkingMode.Combo) { if (ComboOption.UseQ && Q.Ready) { if (!isWActive) { var qPred = Q.GetPrediction(target); if (qPred.HitChance >= HitChance.High) { Q.Cast(qPred.CastPosition); } } } if (ComboOption.UseW && W.Ready) { W.Cast(); } } else if (Orbwalker.Mode == OrbwalkingMode.Mixed || Orbwalker.Mode == OrbwalkingMode.Laneclear && MyManaManager.SpellHarass) { if (HarassOption.HasEnouguMana() && HarassOption.GetHarassTargetEnabled(target.ChampionName)) { if (HarassOption.UseQ && Q.Ready) { var qPred = Q.GetPrediction(target); if (qPred.HitChance >= HitChance.High) { Q.Cast(qPred.CastPosition); } } } } } } break; } }
private static void OnAction(object sender, OrbwalkerActionArgs Args) { if (Args.Type != OrbwalkerType.AfterAttack) { return; } if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() || Args.Target.Health <= 0 || wCd != 0 || W.Level == 0 || !W.IsReady() || isWActive) { return; } switch (Args.Target.Type) { case GameObjectType.AIHeroClient: { var target = Args.Target as AIHeroClient; if (target != null && target.IsValidTarget()) { if (Orbwalker.ActiveMode == OrbwalkerMode.Combo) { if (ComboOption.GetBool("UseWCombo").Enabled) { if (target.InAutoAttackRange()) { Orbwalker.ResetAutoAttackTimer(); W.Cast(); } } } else if (Orbwalker.ActiveMode == OrbwalkerMode.Harass || Orbwalker.ActiveMode == OrbwalkerMode.LaneClear && MyManaManager.SpellHarass) { if (HarassOption.HasEnouguMana() && HarassOption.GetHarassTargetEnabled(target.CharacterName) && HarassOption.GetBool("UseWHarass").Enabled) { if (target.InAutoAttackRange()) { Orbwalker.ResetAutoAttackTimer(); W.Cast(); } } } } } break; } }
private static void PostAttack(object sender, PostAttackEventArgs Args) { if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() || Args.Target.Health <= 0 || wCd != 0 || W.GetBasicSpell().Level == 0 || !W.Ready || isWActive) { return; } switch (Args.Target.Type) { case GameObjectType.obj_AI_Hero: { var target = Args.Target as Obj_AI_Hero; if (target != null && target.IsValidTarget()) { if (Orbwalker.Mode == OrbwalkingMode.Combo) { if (ComboOption.GetBool("UseWCombo").Enabled) { if (target.IsValidAutoRange()) { Orbwalker.ResetAutoAttackTimer(); W.Cast(); } } } else if (Orbwalker.Mode == OrbwalkingMode.Mixed || Orbwalker.Mode == OrbwalkingMode.Laneclear && MyManaManager.SpellHarass) { if (HarassOption.HasEnouguMana() && HarassOption.GetHarassTargetEnabled(target.ChampionName) && HarassOption.GetBool("UseWHarass").Enabled) { if (target.IsValidAutoRange()) { Orbwalker.ResetAutoAttackTimer(); W.Cast(); } } } } } break; } }
//private static void OnGapcloser(AIHeroClient target, GapcloserArgs Args) //{ // if (E.IsReady() && target != null && target.IsValidTarget(E.Range)) // { // switch (Args.Type) // { // case SpellType.Melee: // if (target.IsValidTarget(target.AttackRange + target.BoundingRadius + 100)) // { // var ePred = E.GetPrediction(target); // E.Cast(ePred.UnitPosition); // } // break; // case SpellType.Dash: // case SpellType.SkillShot: // case SpellType.Targeted: // { // var ePred = E.GetPrediction(target); // E.Cast(ePred.UnitPosition); // } // break; // } // } //} private static void OnAction(object sender, OrbwalkerActionArgs Args) { if (Args.Type == OrbwalkerType.BeforeAttack) { if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() || Args.Target.Health <= 0 || !Q.IsReady()) { return; } switch (Args.Target.Type) { case GameObjectType.AIHeroClient: { var target = (AIHeroClient)Args.Target; if (target != null && target.InAutoAttackRange()) { if (Orbwalker.ActiveMode == OrbwalkerMode.Combo) { if (ComboOption.UseQ && AxeOption.GetSlider("CatchCount").Value >= AxeCount) { Q.Cast(); } } else if (Orbwalker.ActiveMode == OrbwalkerMode.Harass || Orbwalker.ActiveMode == OrbwalkerMode.LaneClear && MyManaManager.SpellHarass) { if (HarassOption.HasEnouguMana() && HarassOption.GetHarassTargetEnabled(target.CharacterName)) { if (HarassOption.UseQ) { if (AxeCount < 2) { Q.Cast(); } } } } } } break; } } }
private static void OnAction(object sender, OrbwalkerActionArgs Args) { if (Args.Type == OrbwalkerType.BeforeAttack) { if (Orbwalker.ActiveMode == OrbwalkerMode.Combo || Orbwalker.ActiveMode == OrbwalkerMode.Harass) { var ForcusTarget = GameObjects.EnemyHeroes.FirstOrDefault( x => x.IsValidTarget(Me.AttackRange + Me.BoundingRadius + x.BoundingRadius + 50) && Has2WStacks(x)); if (MiscOption.GetBool("Forcus", "ForcusAttack").Enabled&& ForcusTarget != null && ForcusTarget.IsValidTarget(Me.AttackRange + Me.BoundingRadius - ForcusTarget.BoundingRadius + 15)) { Orbwalker.ForceTarget = ForcusTarget; LastForcusTime = Variables.GameTimeTickCount; } else { Orbwalker.ForceTarget = null; } } } if (Args.Type == OrbwalkerType.AfterAttack) { Orbwalker.ForceTarget = null; if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() || Args.Target.Health <= 0 || Orbwalker.ActiveMode == OrbwalkerMode.None) { return; } switch (Args.Target.Type) { case GameObjectType.AIHeroClient: { if (Orbwalker.ActiveMode == OrbwalkerMode.Combo) { if (ComboOption.GetBool("ComboAQA").Enabled) { var target = (AIHeroClient)Args.Target; if (target != null && !target.IsDead && Q.IsReady()) { AfterQLogic(target); } } } else if (Orbwalker.ActiveMode == OrbwalkerMode.Harass || Orbwalker.ActiveMode == OrbwalkerMode.LaneClear && MyManaManager.SpellHarass) { if (HarassOption.HasEnouguMana() && HarassOption.UseQ) { var target = (AIHeroClient)Args.Target; if (target != null && !target.IsDead && Q.IsReady() && HarassOption.GetHarassTargetEnabled(target.CharacterName)) { if (HarassOption.GetBool("HarassQ2Passive").Enabled&& !Has2WStacks(target)) { return; } AfterQLogic(target); } } } } break; case GameObjectType.AIMinionClient: { if (Orbwalker.ActiveMode == OrbwalkerMode.LaneClear) { var m = (AIMinionClient)Args.Target; if (m != null && m.IsValidTarget()) { if (m.IsMinion()) { if (LaneClearOption.HasEnouguMana() && LaneClearOption.UseQ) { var minions = GameObjects.EnemyMinions.Where(x => x.IsValidTarget(Me.AttackRange + Me.BoundingRadius) && x.IsMinion()) .Where(x => x.Health <= Me.GetAutoAttackDamage(x) + Me.GetSpellDamage(x, SpellSlot.Q)) .ToList(); if (minions.Any() && minions.Count >= 1) { var minion = minions.OrderBy(x => x.Health).FirstOrDefault(); var afterQPosition = Me.PreviousPosition.Extend(Game.CursorPosRaw, Q.Range); if (minion != null && afterQPosition.Distance(minion.PreviousPosition) <= Me.AttackRange + Me.BoundingRadius) { Q.Cast(Game.CursorPosRaw); } } } } else if (m.GetJungleType() != JungleType.Unknown) { if (JungleClearOption.HasEnouguMana() && JungleClearOption.UseQ) { Q.Cast(Game.CursorPosRaw); } } } } } break; case GameObjectType.AITurretClient: case GameObjectType.HQClient: case GameObjectType.Barracks: case GameObjectType.BarracksDampenerClient: case GameObjectType.BuildingClient: { if (Orbwalker.ActiveMode == OrbwalkerMode.LaneClear) { if (LaneClearOption.HasEnouguMana(true) && LaneClearOption.UseQ) { if (Me.CountEnemyHeroesInRange(850) == 0) { if (Me.CanMoveMent()) { Q.Cast(Game.CursorPosRaw); } } } } } break; } } }
private static void OnAction(object sender, OrbwalkerActionArgs Args) { if (Args.Type == OrbwalkerType.BeforeAttack) { if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() || Args.Target.Health <= 0) { return; } switch (Args.Target.Type) { case GameObjectType.AIHeroClient: { var target = (AIHeroClient)Args.Target; if (target != null && target.IsValidTarget()) { if (Orbwalker.ActiveMode == OrbwalkerMode.Combo) { if (ComboOption.UseW && W.IsReady()) { W.Cast(); } } } } break; case GameObjectType.AIMinionClient: { if (Orbwalker.ActiveMode == OrbwalkerMode.LaneClear) { var mob = (AIMinionClient)Args.Target; if (mob != null && mob.IsValidTarget() && mob.GetJungleType() != JungleType.Unknown && mob.GetJungleType() != JungleType.Small) { if (JungleClearOption.HasEnouguMana() && GetPassiveCount < 3) { if (JungleClearOption.UseW && W.IsReady()) { W.Cast(); } } } } } break; case GameObjectType.AITurretClient: case GameObjectType.HQClient: case GameObjectType.Barracks: case GameObjectType.BarracksDampenerClient: case GameObjectType.BuildingClient: { if (Orbwalker.ActiveMode == OrbwalkerMode.LaneClear && MyManaManager.SpellFarm && LaneClearOption.HasEnouguMana(true)) { if (Me.CountEnemyHeroesInRange(800) == 0) { if (LaneClearOption.UseW && W.IsReady()) { W.Cast(); } } } } break; } } if (Args.Type == OrbwalkerType.AfterAttack) { if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() || Args.Target.Health <= 0) { return; } switch (Args.Target.Type) { case GameObjectType.AIHeroClient: { var target = (AIHeroClient)Args.Target; if (target != null && target.IsValidTarget()) { if (Orbwalker.ActiveMode == OrbwalkerMode.Combo) { if (ComboOption.UseQ && Q.IsReady()) { if (!isWActive) { var qPred = Q.GetPrediction(target); if (qPred.Hitchance >= HitChance.High) { Q.Cast(qPred.CastPosition); } } } if (ComboOption.UseW && W.IsReady()) { W.Cast(); } } else if (Orbwalker.ActiveMode == OrbwalkerMode.Harass || Orbwalker.ActiveMode == OrbwalkerMode.LaneClear && MyManaManager.SpellHarass) { if (HarassOption.HasEnouguMana() && HarassOption.GetHarassTargetEnabled(target.CharacterName)) { if (HarassOption.UseQ && Q.IsReady()) { var qPred = Q.GetPrediction(target); if (qPred.Hitchance >= HitChance.High) { Q.Cast(qPred.CastPosition); } } } } } } break; } } }
//private static void OnGapcloser(AIHeroClient target, GapcloserArgs Args) //{ // if (E.IsReady() && target != null && target.IsValidTarget(E.Range)) // { // switch (Args.Type) // { // case SpellType.Melee: // { // if (target.IsValidTarget(target.AttackRange + target.BoundingRadius + 100)) // { // E.Cast(Me.PreviousPosition.Extend(target.PreviousPosition, -E.Range)); // } // } // break; // case SpellType.Dash: // { // if (Args.EndPosition.DistanceToPlayer() <= 250 || // target.PreviousPosition.DistanceToPlayer() <= 300) // { // E.Cast(Me.PreviousPosition.Extend(target.PreviousPosition, -E.Range)); // } // } // break; // case SpellType.SkillShot: // case SpellType.Targeted: // { // if (target.PreviousPosition.DistanceToPlayer() <= 300) // { // E.Cast(Me.PreviousPosition.Extend(target.PreviousPosition, -E.Range)); // } // } // break; // } // } //} private static void OnAction(object sender, OrbwalkerActionArgs Args) { if (Args.Type == OrbwalkerType.BeforeAttack) { if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() || Args.Target.Health <= 0) { return; } switch (Args.Target.Type) { case GameObjectType.AIHeroClient: { if (Orbwalker.ActiveMode == OrbwalkerMode.Combo) { var target = (AIHeroClient)Args.Target; if (target != null && target.IsValidTarget(W.Range)) { if (ComboOption.UseW && W.IsReady()) { var pred = W.GetPrediction(target); if (pred.Hitchance >= HitChance.High) { W.Cast(pred.CastPosition); } } } } } break; case GameObjectType.AITurretClient: case GameObjectType.HQClient: case GameObjectType.Barracks: case GameObjectType.BarracksDampenerClient: case GameObjectType.BuildingClient: { if (Orbwalker.ActiveMode == OrbwalkerMode.LaneClear && MyManaManager.SpellFarm && LaneClearOption.HasEnouguMana(true)) { if (LaneClearOption.UseW && W.IsReady()) { W.Cast(Args.Target.Position); } } } break; } } if (Args.Type == OrbwalkerType.AfterAttack) { if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() || Args.Target.Health <= 0) { return; } switch (Args.Target.Type) { case GameObjectType.AIHeroClient: { var target = (AIHeroClient)Args.Target; if (target != null && target.IsValidTarget()) { if (Orbwalker.ActiveMode == OrbwalkerMode.Combo) { if (ComboOption.UseQ && Q.IsReady() && target.IsValidTarget(Q.Range)) { var qPred = Q.GetPrediction(target); if (qPred.Hitchance >= HitChance.High) { Q.Cast(qPred.CastPosition); } } } else if (Orbwalker.ActiveMode == OrbwalkerMode.Harass || Orbwalker.ActiveMode == OrbwalkerMode.LaneClear && MyManaManager.SpellHarass) { if (!HarassOption.HasEnouguMana() || !HarassOption.GetHarassTargetEnabled(target.CharacterName)) { return; } if (HarassOption.UseQ && Q.IsReady() && target.IsValidTarget(Q.Range)) { var qPred = Q.GetPrediction(target); if (qPred.Hitchance >= HitChance.High) { Q.Cast(qPred.CastPosition); } } } } } break; } } }
private static void OnAction(object sender, OrbwalkerActionArgs Args) { if (Args.Type != OrbwalkerType.AfterAttack) { return; } if (Args.Target == null || Args.Target.IsDead || Args.Target.Health <= 0 || Me.IsDead || !Q.IsReady()) { return; } switch (Args.Target.Type) { case GameObjectType.AIHeroClient: { var target = (AIHeroClient)Args.Target; if (target != null && target.IsValidTarget()) { if (Orbwalker.ActiveMode == OrbwalkerMode.Combo) { if (ComboOption.UseW && W.IsReady() && !isWActive) { if (GameObjects.EnemyHeroes.Any(x => x.IsValidTarget(W.Range))) { if (target.IsValidTarget(E.Range) && HaveEBuff(target)) { W.Cast(); } else if (!E.IsReady() && target.IsValidTarget(350) && Variables.GameTimeTickCount - lastETime < 1500 + Game.Ping) { W.Cast(); } } } else if (ComboOption.UseQ && Q.IsReady()) { var qPred = Q.GetPrediction(target); if (qPred.Hitchance >= HitChance.High) { Q.Cast(qPred.UnitPosition); } } } else if (Orbwalker.ActiveMode == OrbwalkerMode.Harass || Orbwalker.ActiveMode == OrbwalkerMode.LaneClear && MyManaManager.SpellHarass) { if (HarassOption.HasEnouguMana() && HarassOption.GetHarassTargetEnabled(target.CharacterName)) { if (HarassOption.UseQ && Q.IsReady()) { var qPred = Q.GetPrediction(target); if (qPred.Hitchance >= HitChance.High) { Q.Cast(qPred.UnitPosition); } } } } } } break; case GameObjectType.AIMinionClient: { var mob = (AIMinionClient)Args.Target; if (mob != null && mob.IsValidTarget() && mob.GetJungleType() != JungleType.Unknown && mob.GetJungleType() != JungleType.Small) { if (Orbwalker.ActiveMode == OrbwalkerMode.LaneClear && MyManaManager.SpellFarm && JungleClearOption.HasEnouguMana()) { if (JungleClearOption.UseQ && Q.IsReady() && mob.IsValidTarget(Q.Range)) { Q.Cast(mob.PreviousPosition); } } } } break; } }
private static void PostAttack(object sender, PostAttackEventArgs Args) { if (Args.Target == null || Args.Target.IsDead || Args.Target.Health <= 0 || Me.IsDead || !Q.Ready) { return; } switch (Args.Target.Type) { case GameObjectType.obj_AI_Hero: { var target = Args.Target as Obj_AI_Hero; if (target != null && target.IsValidTarget()) { if (Orbwalker.Mode == OrbwalkingMode.Combo) { if (ComboOption.UseW && W.Ready && !isWActive) { if (GameObjects.EnemyHeroes.Any(x => x.IsValidTarget(W.Range))) { if (target.IsValidTarget(E.Range) && HaveEBuff(target)) { W.Cast(); } else if (!E.Ready && target.IsValidTarget(350) && Game.TickCount - lastETime < 1500 + Game.Ping) { W.Cast(); } } } else if (ComboOption.UseQ && Q.Ready) { var qPred = Q.GetPrediction(target); if (qPred.HitChance >= HitChance.High) { Q.Cast(qPred.UnitPosition); } } } else if (Orbwalker.Mode == OrbwalkingMode.Mixed || Orbwalker.Mode == OrbwalkingMode.Laneclear && MyManaManager.SpellHarass) { if (HarassOption.HasEnouguMana() && HarassOption.GetHarassTargetEnabled(target.ChampionName)) { if (HarassOption.UseQ && Q.Ready) { var qPred = Q.GetPrediction(target); if (qPred.HitChance >= HitChance.High) { Q.Cast(qPred.UnitPosition); } } } } } } break; case GameObjectType.obj_AI_Minion: { var mob = Args.Target as Obj_AI_Minion; if (mob != null && mob.IsMob() && mob.isBigMob()) { if (Orbwalker.Mode == OrbwalkingMode.Laneclear && MyManaManager.SpellFarm && JungleClearOption.HasEnouguMana()) { if (JungleClearOption.UseQ && Q.Ready && mob.IsValidTarget(Q.Range)) { Q.Cast(mob.ServerPosition); } } } } break; } }
private static void PostAttack(object sender, PostAttackEventArgs Args) { Orbwalker.ForceTarget(null); if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() || Args.Target.Health <= 0 || Orbwalker.Mode == OrbwalkingMode.None) { return; } switch (Args.Target.Type) { case GameObjectType.obj_AI_Hero: { if (Orbwalker.Mode == OrbwalkingMode.Combo) { if (ComboOption.GetBool("ComboAQA").Enabled) { var target = Args.Target as Obj_AI_Hero; if (target != null && !target.IsDead && Q.Ready) { AfterQLogic(target); } } } else if (Orbwalker.Mode == OrbwalkingMode.Mixed || Orbwalker.Mode == OrbwalkingMode.Laneclear && MyManaManager.SpellHarass) { if (HarassOption.HasEnouguMana() && HarassOption.UseQ) { var target = Args.Target as Obj_AI_Hero; if (target != null && !target.IsDead && Q.Ready && HarassOption.GetHarassTargetEnabled(target.ChampionName)) { if (HarassOption.GetBool("HarassQ2Passive").Enabled&& !Has2WStacks(target)) { return; } AfterQLogic(target); } } } } break; case GameObjectType.obj_AI_Minion: { if (Orbwalker.Mode == OrbwalkingMode.Laneclear) { if (Args.Target.IsMinion()) { if (LaneClearOption.HasEnouguMana() && LaneClearOption.UseQ) { var minions = GameObjects.EnemyMinions.Where(x => x.IsValidTarget(Me.AttackRange + Me.BoundingRadius) && x.IsMinion()) .Where(m => m.Health <= Me.GetAutoAttackDamage(m) + Me.GetSpellDamage(m, SpellSlot.Q)) .ToArray(); if (minions.Any() && minions.Length >= 1) { var minion = minions.OrderBy(m => m.Health).FirstOrDefault(); var afterQPosition = Me.ServerPosition.Extend(Game.CursorPos, Q.Range); if (minion != null && afterQPosition.Distance(minion.ServerPosition) <= Me.AttackRange + Me.BoundingRadius) { Q.Cast(Game.CursorPos); } } } } else if (Args.Target.IsMob()) { if (JungleClearOption.HasEnouguMana() && JungleClearOption.UseQ) { Q.Cast(Game.CursorPos); } } } } break; case GameObjectType.obj_AI_Turret: case GameObjectType.obj_HQ: case GameObjectType.obj_Barracks: case GameObjectType.obj_BarracksDampener: case GameObjectType.obj_Building: { if (Orbwalker.Mode == OrbwalkingMode.Laneclear) { if (LaneClearOption.HasEnouguMana(true) && LaneClearOption.UseQ) { if (Me.CountEnemyHeroesInRange(850) == 0) { if (Me.CanMoveMent()) { Q.Cast(Game.CursorPos); } } } } } break; } }