/// <summary> /// Called on post attack. /// </summary> /// <param name="args">The <see cref="OnPreAttackEventArgs" /> instance containing the event data.</param> public void Harass(OnPreAttackEventArgs args) { var heroTarget = args.Target as AIHeroClient; if (heroTarget == null) { return; } /// <summary> /// The Q Harass Logic. /// </summary> if (SpellClass.Q.Ready && MenuClass.Spells["q"]["harass"].As <MenuBool>().Enabled) { SpellClass.Q.Cast(); } /// <summary> /// The E Harass Logic. /// </summary> if (SpellClass.E.Ready && UtilityClass.Player.MPPercent() > ManaManager.GetNeededMana(SpellClass.E.Slot, MenuClass.Spells["e"]["harass"]) && MenuClass.Spells["e"]["harass"].As <MenuSliderBool>().Enabled&& MenuClass.Spells["e"]["whitelist"][heroTarget.CharName.ToLower()].As <MenuBool>().Enabled) { SpellClass.E.CastOnUnit(heroTarget); } }
/// <summary> /// Called on post attack. /// </summary> /// <param name="args">The <see cref="OnPreAttackEventArgs" /> instance containing the event data.</param> public void Jungleclear(OnPreAttackEventArgs args) { var jungleTarget = args.Target as AIMinionClient; if (!HasFourthShot() || !jungleTarget.IsValidTarget() || !Extensions.GetGenericJungleMinionsTargets().Contains(jungleTarget)) { return; } /// <summary> /// The Jungleclear Q Logics. /// </summary> if (SpellClass.Q.Ready && HasFourthShot() && UtilityClass.Player.MPPercent() > ManaManager.GetNeededMana(SpellClass.Q.Slot, MenuClass.Q["jungleclear"]) && MenuClass.Q["jungleclear"].As <MenuSliderBool>().Enabled) { SpellClass.Q.CastOnUnit(jungleTarget); } /// <summary> /// The Jungleclear E Logics. /// </summary> if (SpellClass.E.Ready && UtilityClass.Player.MPPercent() > ManaManager.GetNeededMana(SpellClass.E.Slot, MenuClass.E["jungleclear"]) && MenuClass.E["jungleclear"].As <MenuSliderBool>().Enabled&& jungleTarget?.HP > UtilityClass.Player.GetAutoAttackDamage(jungleTarget) * 4) { SpellClass.E.Cast(jungleTarget); } }
/// <summary> /// Called on pre attack. /// </summary> /// <param name="args">The <see cref="OnPreAttackEventArgs" /> instance containing the event data.</param> public void OnPreAttack(OnPreAttackEventArgs args) { if (IsUltimateShooting()) { args.Cancel = true; } /// <summary> /// The Target Forcing Logic. /// </summary> if (MenuClass.Miscellaneous["focusp"].As <MenuSliderBool>().Enabled) { var orbTarget = args.Target as AIHeroClient; var forceTarget = Extensions.GetBestEnemyHeroesTargets().FirstOrDefault(t => t.NetworkID != LoveTapTargetNetworkId && t.IsValidTarget(UtilityClass.Player.GetAutoAttackRange(t))); if (forceTarget != null && orbTarget != null && orbTarget.GetRealHealth() > UtilityClass.Player.GetAutoAttackDamage(orbTarget) * MenuClass.Miscellaneous["focusp"].As <MenuSliderBool>().Value) { args.Target = forceTarget; } } }
private static void OnPreAttack(OnPreAttackEventArgs args) { if (args.Target == null) { return; } if (args.Target.IsStructure()) { return; } var stormrazorSlot = LocalPlayer.Instance.InventorySlots.FirstOrDefault(s => s.IsValid && s.ItemID == (uint)ItemID.Stormrazor); if (stormrazorSlot != null) { switch (Orbwalker.Mode) { case OrbwalkingMode.Combo when !General.StormrazorComboMenubool.Enabled: return; case OrbwalkingMode.Harass when !General.StormrazorHarassMenubool.Enabled: return; case OrbwalkingMode.Laneclear when !General.StormrazorLaneClearMenubool.Enabled: return; case OrbwalkingMode.Lasthit when !General.StormrazorLasthitMenubool.Enabled: return; } if (!LocalPlayer.Instance.HasBuff("windbladebuff")) { args.Cancel = true; } } }
/// <summary> /// Called on post attack. /// </summary> /// <param name="args">The <see cref="OnPreAttackEventArgs" /> instance containing the event data.</param> public void Weaving(OnPreAttackEventArgs args) { var heroTarget = args.Target as AIHeroClient; if (heroTarget == null) { return; } /// <summary> /// The E Weaving Logic. /// </summary> if (SpellClass.E.Ready && MenuClass.Spells["e"]["combo"].As <MenuSliderBool>().Enabled) { if (UtilityClass.Player.HPPercent() >= MenuClass.Spells["e"]["combo"].As <MenuSliderBool>().Value || UtilityClass.Player.GetSpellDamage(heroTarget, SpellSlot.E) >= heroTarget.GetRealHealth()) { SpellClass.E.CastOnUnit(heroTarget); } } /// <summary> /// The W Weaving Logic. /// </summary> if (SpellClass.W.Ready && MenuClass.Spells["w"]["combo"].As <MenuBool>().Enabled) { SpellClass.W.Cast(); } }
/// <summary> /// Called on do-cast. /// </summary> /// <param name="args">The <see cref="OnPreAttackEventArgs" /> instance containing the event data.</param> public void Buildingclear(OnPreAttackEventArgs args) { var target = args.Target; if (!target.IsStructure()) { return; } /// <summary> /// The Q BuildingClear Logic. /// </summary> if (SpellClass.Q.Ready && MenuClass.Spells["q"]["buildings"].As <MenuBool>().Enabled) { SpellClass.Q.Cast(); } /// <summary> /// The E BuildingClear Logic. /// </summary> if (SpellClass.E.Ready && UtilityClass.Player.MPPercent() > ManaManager.GetNeededMana(SpellClass.E.Slot, MenuClass.Spells["e"]["buildings"]) && MenuClass.Spells["e"]["buildings"].As <MenuSliderBool>().Enabled) { var turretTarget = target as AITurretClient; if (turretTarget != null) { SpellClass.E.CastOnUnit(turretTarget); } } }
/// <summary> /// Called on do-cast. /// </summary> /// <param name="args">The <see cref="OnPreAttackEventArgs" /> instance containing the event data.</param> public void Jungleclear(OnPreAttackEventArgs args) { var jungleTarget = args.Target as AIMinionClient; if (jungleTarget == null || !Extensions.GetGenericJungleMinionsTargets().Contains(jungleTarget) || jungleTarget.GetRealHealth() < UtilityClass.Player.GetAutoAttackDamage(jungleTarget) * 2) { return; } /// <summary> /// The Jungleclear Q Logic. /// </summary> if (SpellClass.Q.Ready && MenuClass.Spells["q"]["jungleclear"].As <MenuBool>().Enabled) { SpellClass.Q.Cast(); } /// <summary> /// The Jungleclear E Logic. /// </summary> if (SpellClass.E.Ready && UtilityClass.Player.MPPercent() > ManaManager.GetNeededMana(SpellClass.E.Slot, MenuClass.Spells["e"]["jungleclear"]) && MenuClass.Spells["e"]["jungleclear"].As <MenuSliderBool>().Enabled) { SpellClass.E.CastOnUnit(jungleTarget); } }
/// <summary> /// Called on post attack. /// </summary> /// <param name="args">The <see cref="OnPreAttackEventArgs" /> instance containing the event data.</param> public void Combo(OnPreAttackEventArgs args) { var heroTarget = args.Target as AIHeroClient; if (heroTarget == null) { return; } /// <summary> /// The Q Combo Logic. /// </summary> if (SpellClass.Q.Ready && MenuClass.Spells["q"]["combo"].As <MenuBool>().Enabled) { SpellClass.Q.Cast(); } /// <summary> /// The E Combo Logic. /// </summary> if (SpellClass.E.Ready && MenuClass.Spells["e"]["combo"].As <MenuBool>().Enabled&& MenuClass.Spells["e"]["whitelist"][heroTarget.CharName.ToLower()].As <MenuBool>().Enabled) { SpellClass.E.CastOnUnit(heroTarget); } }
/// <summary> /// Called on do-cast. /// </summary> /// <param name="args">The <see cref="OnPreAttackEventArgs" /> instance containing the event data.</param> public void OnPreAttack(OnPreAttackEventArgs args) { if (UtilityClass.Player.HasBuff("dariusqcast")) { args.Cancel = true; } }
public static void ExecuteQ(OnPreAttackEventArgs args) { if (!HarassMenu.QSliderBool.Enabled) { return; } if (LocalPlayer.Instance.MPPercent() < ManaManager.GetNeededMana(Q.Slot, HarassMenu.QSliderBool)) { return; } var heroTarget = args.Target as AIHeroClient; if (heroTarget == null) { return; } if (!HarassMenu.QWhitelist.IsWhitelisted(heroTarget)) { return; } Q.Cast(); }
/// <summary> /// Called on pre attack. /// </summary> /// <param name="args">The <see cref="OnPreAttackEventArgs" /> instance containing the event data.</param> public void OnPreAttack(OnPreAttackEventArgs args) { if (IsChargingPiercingArrow()) { args.Cancel = true; } }
/// <summary> /// Called on pre attack. /// </summary> /// <param name="sender">The object.</param> /// <param name="args">The <see cref="OnPreAttackEventArgs" /> instance containing the event data.</param> public void OnPreAttack(OnPreAttackEventArgs args) { if (UtilityClass.Player.HasBuff("akaliwstealth") && MenuClass.Miscellaneous["staystealthaa"].As <MenuBool>().Enabled) { args.Cancel = true; } }
/// <summary> /// Called on Orbwalker action. /// </summary> /// <param name="sender">The object.</param> /// <param name="args">The <see cref="OnPreAttackEventArgs" /> instance containing the event data.</param> public void OnPreAttack(OnPreAttackEventArgs args) { switch (Orbwalker.Mode) { case OrbwalkingMode.LaneClear: Laneclear(sender, args); Jungleclear(sender, args); break; } }
/// <summary> /// Called on Orbwalker action. /// </summary> /// <param name="sender">The object.</param> /// <param name="args">The <see cref="OnPreAttackEventArgs" /> instance containing the event data.</param> public void Jungleclear(OnPreAttackEventArgs args) { var jungleTarget = args.Target as AIMinionClient; if (!jungleTarget.IsValidTarget() || !Extensions.GetGenericJungleMinionsTargets().Contains(jungleTarget)) { if (IsUsingFishBones()) { SpellClass.Q.Cast(); } return; } /// <summary> /// The Jungleclear Q Logic. /// </summary> if (SpellClass.Q.Ready && MenuClass.Spells["q"]["jungleclear"].As <MenuSliderBool>().Enabled) { var manaPercent = UtilityClass.Player.MPPercent(); var minionsInRange = Extensions.GetGenericJungleMinionsTargets().Count(m => m.Distance(jungleTarget) <= SplashRange); var jungleClearMinMinions = MenuClass.Spells["q"]["customization"]["jungleclear"].As <MenuSlider>().Value; var jungleClearManaManager = MenuClass.Spells["q"]["jungleclear"].As <MenuSliderBool>().Value; if (!IsUsingFishBones()) { if (manaPercent >= jungleClearManaManager && minionsInRange >= jungleClearMinMinions) { SpellClass.Q.Cast(); } } else { if (manaPercent < jungleClearManaManager || minionsInRange < jungleClearMinMinions) { SpellClass.Q.Cast(); } } } /// <summary> /// The Jungleclear W Logic. /// </summary> if (SpellClass.W.Ready && jungleTarget.IsValidTarget(SpellClass.W.Range) && UtilityClass.Player.MPPercent() > ManaManager.GetNeededMana(SpellClass.W.Slot, MenuClass.Spells["w"]["jungleclear"]) && MenuClass.Spells["w"]["jungleclear"].As <MenuSliderBool>().Enabled) { SpellClass.W.Cast(jungleTarget); } }
/// <summary> /// Called on pre attack. /// </summary> /// <param name="args">The <see cref="OnPreAttackEventArgs" /> instance containing the event data.</param> public void OnPreAttack(OnPreAttackEventArgs args) { /// <summary> /// Initializes the orbwalkingmodes. /// </summary> switch (Orbwalker.Mode) { case OrbwalkingMode.Combo: Weaving(sender, args); break; } }
private static void OnPreAttack(OnPreAttackEventArgs args) { switch (Orbwalker.Mode) { // Disable AA until level case OrbwalkingMode.Combo: if (BaseMenu.Root["general"]["disableaa"].Enabled && !LocalPlayer.Instance.HasSheenLikeBuff() && LocalPlayer.Instance.Level() >= BaseMenu.Root["general"]["disableaa"].Value) { args.Cancel = true; } break; // Support mode case OrbwalkingMode.Harass: case OrbwalkingMode.LaneClear: if (BaseMenu.Root["general"]["supportmode"].Enabled && ObjectCache.EnemyLaneMinions.Contains(args.Target)) { args.Cancel = ObjectCache.AllyHeroes.Any(a => !a.IsMe() && a.DistanceToPlayer() < 2500); } break; } if (args.Target.IsStructure()) { return; } var stormrazorSlot = LocalPlayer.Instance.InventorySlots.FirstOrDefault(s => s.IsValid && s.ItemID == (uint)ItemID.Stormrazor); if (stormrazorSlot != null) { var stormRazorMenu = BaseMenu.Root["general"]["stormrazor"]; switch (Orbwalker.Mode) { case OrbwalkingMode.Combo when !stormRazorMenu["combo"].Enabled: return; case OrbwalkingMode.Harass when !stormRazorMenu["mixed"].Enabled: return; case OrbwalkingMode.LaneClear when !stormRazorMenu["laneclear"].Enabled: return; case OrbwalkingMode.LastHit when !stormRazorMenu["lasthit"].Enabled: return; } if (!LocalPlayer.Instance.HasBuff("windbladebuff")) { args.Cancel = true; } } }
/// <summary> /// Called on post attack. /// </summary> /// <param name="args">The <see cref="OnPreAttackEventArgs" /> instance containing the event data.</param> public void Weaving(OnPreAttackEventArgs args) { var heroTarget = args.Target as AIHeroClient; if (heroTarget == null) { return; } /// <summary> /// The Q Combo Logic. /// </summary> if (SpellClass.Q.Ready && MenuClass.Q["combo"].As <MenuBool>().Enabled) { if (MenuClass.Miscellaneous["feathersweaving"].As <MenuBool>().Enabled) { if (UtilityClass.Player.GetBuffCount("XayahPassiveActive") <= 3) { SpellClass.Q.Cast(heroTarget); return; } } else { SpellClass.Q.Cast(heroTarget); } } /// <summary> /// The W Combo Logic. /// </summary> if (SpellClass.W.Ready && MenuClass.W["combo"].As <MenuBool>().Enabled) { if (MenuClass.Miscellaneous["feathersweaving"].As <MenuBool>().Enabled) { if (UtilityClass.Player.GetBuffCount("XayahPassiveActive") <= 3) { SpellClass.W.Cast(); } } else { SpellClass.W.Cast(); } } }
/// <summary> /// Called on post attack. /// </summary> /// <param name="args">The <see cref="OnPreAttackEventArgs" /> instance containing the event data.</param> public void Laneclear(OnPreAttackEventArgs args) { /// <summary> /// The Laneclear Q Logic. /// </summary> if (SpellClass.Q.Ready && UtilityClass.Player.MPPercent() > ManaManager.GetNeededMana(SpellClass.Q.Slot, MenuClass.Spells["q"]["laneclear"]) && MenuClass.Spells["q"]["laneclear"].As <MenuSliderBool>().Enabled) { /* * var farmLocation = SpellClass.Q.GetLinearFarmLocation(minions, SpellClass.Q.Width); * if (farmLocation.MinionsHit >= MenuClass.Spells["q"]["customization"]["laneclear"].As<MenuSlider>().Value) * { * SpellClass.Q.Cast(farmLocation.Position); * } */ } /// <summary> /// The E Big Minions Lasthit Logic. /// </summary> if (SpellClass.E.Ready && MenuClass.Spells["e"]["lasthit"].As <MenuBool>().Enabled) { foreach (var minion in Extensions.GetEnemyLaneMinionsTargetsInRange(SpellClass.E.Range).Where(m => (m.CharName.Contains("Siege") || m.CharName.Contains("Super")) && m.GetRealHealth() < UtilityClass.Player.GetSpellDamage(m, SpellSlot.E))) { SpellClass.E.CastOnUnit(minion); } } /// <summary> /// The Laneclear W Logic. /// </summary> if (SpellClass.W.Ready && UtilityClass.Player.MPPercent() > ManaManager.GetNeededMana(SpellClass.Q.Slot, MenuClass.Spells["w"]["laneclear"]) && MenuClass.Spells["w"]["laneclear"].As <MenuSliderBool>().Enabled) { var mainMinion = Orbwalker.GetOrbwalkingTarget() as AIMinionClient; if (mainMinion != null) { SpellClass.W.Cast(); } } }
/// <summary> /// Called on pre attack. /// </summary> /// <param name="args">The <see cref="OnPreAttackEventArgs" /> instance containing the event data.</param> public void OnPreAttack(OnPreAttackEventArgs args) { if (!UtilityClass.Player.Position.IsUnderEnemyTurret() && UtilityClass.Player.HasBuff("vaynetumblefade")) { var invisibilityBuff = UtilityClass.Player.GetBuff("vaynetumblefade"); if (MenuClass.Miscellaneous["stealthtime"].Enabled && invisibilityBuff.GetRemainingBuffTime() > invisibilityBuff.ExpireTime - invisibilityBuff.StartTime - MenuClass.Miscellaneous["stealthtime"].Value / 1000f) { args.Cancel = true; } if (UtilityClass.Player.HasBuff("summonerexhaust")) { args.Cancel = true; } if (MenuClass.Miscellaneous["stealthcheck"].Enabled && ObjectCache.EnemyHeroes.Count(t => t.IsValidTarget(UtilityClass.Player.GetAutoAttackRange(t))) >= MenuClass.Miscellaneous["stealthcheck"].Value) { args.Cancel = true; } } /// <summary> /// The Target Forcing Logic. /// </summary> if (MenuClass.Miscellaneous["focusw"].Enabled) { if (Orbwalker.Mode != OrbwalkingMode.Combo && Orbwalker.Mode != OrbwalkingMode.Harass) { return; } var forceTarget = Extensions.GetBestEnemyHeroesTargets().FirstOrDefault(t => t.GetBuffCount("vaynesilvereddebuff") == 2 && t.IsValidTarget(UtilityClass.Player.GetAutoAttackRange(t))); if (forceTarget != null) { args.Target = forceTarget; } } }
public static void ExecuteQ(OnPreAttackEventArgs args) { if (!ComboMenu.QBool.Enabled) { return; } var heroTarget = args.Target as AIHeroClient; if (heroTarget == null) { return; } Q.Cast(); }
/// <summary> /// Called on pre attack. /// </summary> /// <param name="args">The <see cref="OnPreAttackEventArgs" /> instance containing the event data.</param> public void OnPreAttack(OnPreAttackEventArgs args) { /// <summary> /// Initializes the orbwalkingmodes. /// </summary> switch (Orbwalker.Mode) { case OrbwalkingMode.Combo: Weaving(args); break; case OrbwalkingMode.LaneClear: Jungleclear(args); break; } }
/// <summary> /// Called on do-cast. /// </summary> /// <param name="args">The <see cref="OnPreAttackEventArgs" /> instance containing the event data.</param> public void Jungleclear(OnPreAttackEventArgs args) { var jungleTarget = args.Target as AIMinionClient; if (jungleTarget == null || !Extensions.GetGenericJungleMinionsTargets().Contains(jungleTarget) || jungleTarget.GetRealHealth() < UtilityClass.Player.GetAutoAttackDamage(jungleTarget) * 2) { return; } /// <summary> /// The Jungleclear Q Logic. /// </summary> if (SpellClass.Q.Ready && UtilityClass.Player.MPPercent() > ManaManager.GetNeededMana(SpellClass.Q.Slot, MenuClass.Spells["q"]["jungleclear"]) && MenuClass.Spells["q"]["jungleclear"].As <MenuSliderBool>().Enabled) { SpellClass.Q.Cast(SpellClass.Q.GetPrediction(jungleTarget).CastPosition.Extend(UtilityClass.Player.Position, -50f - jungleTarget.BoundingRadius)); } /// <summary> /// The Jungleclear E Logic. /// </summary> if (SpellClass.E.Ready && MenuClass.Spells["e"]["jungleclear"].As <MenuSliderBool>().Enabled) { if (UtilityClass.Player.HPPercent() >= MenuClass.Spells["e"]["jungleclear"].As <MenuSliderBool>().Value || UtilityClass.Player.GetSpellDamage(jungleTarget, SpellSlot.E) >= jungleTarget.GetRealHealth()) { SpellClass.E.CastOnUnit(jungleTarget); } } /// <summary> /// The Jungleclear W Logic. /// </summary> if (SpellClass.W.Ready && UtilityClass.Player.MPPercent() > ManaManager.GetNeededMana(SpellClass.W.Slot, MenuClass.Spells["w"]["jungleclear"]) && MenuClass.Spells["w"]["jungleclear"].As <MenuSliderBool>().Enabled) { SpellClass.W.Cast(); } }
/// <summary> /// Called on pre attack. /// </summary> /// <param name="args">The <see cref="OnPreAttackEventArgs" /> instance containing the event data.</param> public void OnPreAttack(OnPreAttackEventArgs args) { var orbTarget = Orbwalker.GetOrbwalkingTarget(); if (orbTarget != null) { var baseTarget = orbTarget as AIBaseClient; if (baseTarget != null) { if (IsAllured(baseTarget) && !IsFullyAllured(baseTarget) && MenuClass.Spells["miscellaneous"]["dontaasemiallured"].As <MenuBool>().Enabled) { args.Cancel = true; } } } }
public static void OnPreAttack(OnPreAttackEventArgs args) { switch (Orbwalker.Mode) { case OrbwalkingMode.Combo when Q.Ready: Combo.ExecuteQ(args); break; case OrbwalkingMode.Laneclear when Q.Ready: LaneClear.ExecuteQ(); JungleClear.ExecuteQ(args); break; case OrbwalkingMode.Harass when Q.Ready: Harass.ExecuteQ(args); break; } }
/// <summary> /// Called on pre attack. /// </summary> /// <param name="args">The <see cref="OnPreAttackEventArgs" /> instance containing the event data.</param> public void Weaving(OnPreAttackEventArgs args) { var heroTarget = args.Target as AIHeroClient; if (heroTarget == null) { return; } /// <summary> /// The E Combo Logic. /// </summary> if (SpellClass.E.Ready && !Invulnerable.Check(heroTarget, DamageType.Magical) && MenuClass.Spells["e"]["combo"].As <MenuBool>().Enabled) { SpellClass.E.Cast(); } }
/// <summary> /// Called on pre attack. /// </summary> /// <param name="args">The <see cref="OnPreAttackEventArgs" /> instance containing the event data.</param> public void Weaving(OnPreAttackEventArgs args) { var heroTarget = args.Target as AIHeroClient; if (heroTarget == null) { return; } /// <summary> /// The Q Combo Logic. /// </summary> if (SpellClass.Q.Ready && HasFourthShot() && MenuClass.Q["combo"].As <MenuBool>().Enabled) { SpellClass.Q.CastOnUnit(heroTarget); } }
/// <summary> /// Called on Orbwalker action. /// </summary> /// <param name="sender">The object.</param> /// <param name="args">The <see cref="OnPreAttackEventArgs" /> instance containing the event data.</param> public void Laneclear(OnPreAttackEventArgs args) { var minionTarget = args.Target as AIMinionClient; if (minionTarget == null) { if (IsUsingFishBones()) { SpellClass.Q.Cast(); } return; } /// <summary> /// The Laneclear Q Logic. /// </summary> if (SpellClass.Q.Ready && MenuClass.Spells["q"]["laneclear"].As <MenuSliderBool>().Enabled) { var manaPercent = UtilityClass.Player.MPPercent(); var minionsInRange = Extensions.GetEnemyLaneMinionsTargets().Count(m => m.Distance(minionTarget) < SplashRange); var laneClearMinMinions = MenuClass.Spells["q"]["customization"]["laneclear"].Value; var laneClearManaManager = MenuClass.Spells["q"]["laneclear"].As <MenuSliderBool>().Value; if (!IsUsingFishBones()) { if (manaPercent >= laneClearManaManager && minionsInRange >= laneClearMinMinions) { SpellClass.Q.Cast(); } } else { if (manaPercent < laneClearManaManager || minionsInRange < laneClearMinMinions) { SpellClass.Q.Cast(); } } } }
/// <summary> /// Called on do-cast. /// </summary> /// <param name="args">The <see cref="OnPreAttackEventArgs" /> instance containing the event data.</param> public void Buildingclear(OnPreAttackEventArgs args) { var target = args.Target; if (!target.IsStructure()) { return; } /// <summary> /// The W BuildingClear Logic. /// </summary> if (SpellClass.W.Ready && UtilityClass.Player.MPPercent() > ManaManager.GetNeededMana(SpellClass.W.Slot, MenuClass.Spells["w"]["buildings"]) && MenuClass.Spells["w"]["buildings"].As <MenuSliderBool>().Enabled) { SpellClass.W.Cast(); } }
public static void ExecuteQ(OnPreAttackEventArgs args) { if (!JungleClearMenu.QSliderBool.Enabled) { return; } if (LocalPlayer.Instance.MPPercent() < JungleClearMenu.QSliderBool.Value) { return; } var minion = args.Target as AIMinionClient; if (minion == null || !minion.IsValid || !minion.IsJungleMinion()) { return; } Q.Cast(); }
/// <summary> /// Called on pre attack. /// </summary> /// <param name="args">The <see cref="OnPreAttackEventArgs" /> instance containing the event data.</param> public void OnPreAttack(OnPreAttackEventArgs args) { /// <summary> /// The Target Forcing Logic. /// </summary> if (MenuClass.Miscellaneous["focuse"].As <MenuBool>().Enabled) { var forceTarget = Extensions.GetAllGenericUnitTargets().FirstOrDefault(t => IsCharged(t) && t.IsValidTarget(UtilityClass.Player.GetAutoAttackRange(t))); if (forceTarget is AIMinionClient && Orbwalker.Mode == OrbwalkingMode.Combo) { return; } if (forceTarget != null) { args.Target = forceTarget; } } switch (Orbwalker.Mode) { case OrbwalkingMode.Combo: Combo(sender, args); break; case OrbwalkingMode.Harass: Harass(sender, args); break; case OrbwalkingMode.LaneClear: Laneclear(sender, args); Jungleclear(sender, args); Buildingclear(sender, args); break; } }