public static void LaneClearLogic() { var PacketCast = SkyLv_Jax.Menu.Item("Jax.UsePacketCast").GetValue <bool>(); var useQ = SkyLv_Jax.Menu.Item("Jax.UseQLaneClear").GetValue <bool>(); var useW = SkyLv_Jax.Menu.Item("Jax.UseWLaneClear").GetValue <bool>(); var useE = SkyLv_Jax.Menu.Item("Jax.UseELaneClear").GetValue <bool>(); var MiniManaQ = SkyLv_Jax.Menu.Item("Jax.QMiniManaLaneClear").GetValue <Slider>().Value; var MiniManaW = SkyLv_Jax.Menu.Item("Jax.WMiniManaLaneClear").GetValue <Slider>().Value; var MiniManaE = SkyLv_Jax.Menu.Item("Jax.EMiniManaLaneClear").GetValue <Slider>().Value; var EMiniHitLaneClear = SkyLv_Jax.Menu.Item("Jax.EMiniHitLaneClear").GetValue <Slider>().Value; var Minion = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.Enemy).FirstOrDefault(); if (Minion.IsValidTarget() && SkyLv_Jax.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear) { if (SkyLv_Jax.Menu.Item("Jax.SafeLaneClear").GetValue <bool>() && Player.CountEnemiesInRange(1500) > 0) { return; } if (useQ && Player.ManaPercent > MiniManaQ && Q.IsReady()) { if (Minion.IsValidTarget(Q.Range) && Q.GetDamage(Minion) > Minion.Health) { Q.Cast(Minion, PacketCast); } } if (useE && Player.ManaPercent > MiniManaE && E.IsReady() && CustomLib.EnemyMinionInPlayerRange(E.Range) >= EMiniHitLaneClear && !CustomLib.iSJaxEActive()) { if (Minion.IsValidTarget(E.Range)) { E.Cast(PacketCast); } } if (useE && CustomLib.EnemyMinionInPlayerRange(E.Range) >= EMiniHitLaneClear && CustomLib.iSJaxEActive()) { if (Minion.IsValidTarget(E.Range)) { E.Cast(PacketCast); } } if (useW && W.IsReady() && Player.Mana >= W.ManaCost) { if (Minion.IsValidTarget() && Orbwalking.CanAttack()) { W.Cast(PacketCast); } } } }
public static void AutoR() { var MinimumHpSafeAutoR = SkyLv_Jax.Menu.Item("Jax.MinimumHpSafeAutoR").GetValue <Slider>().Value; var PacketCast = SkyLv_Jax.Menu.Item("Jax.UsePacketCast").GetValue <bool>(); if (R.IsReady() && Player.Mana >= R.ManaCost && CustomLib.enemyChampionInPlayerRange(700) > 0 && Player.HealthPercent <= MinimumHpSafeAutoR) { R.Cast(PacketCast); } }
public static void AutoSafeE() { var MinimumHpSafeAutoE = SkyLv_Jax.Menu.Item("Jax.MinimumHpSafeAutoE").GetValue <Slider>().Value; var PacketCast = SkyLv_Jax.Menu.Item("Jax.UsePacketCast").GetValue <bool>(); if (CustomLib.iSJaxEActive() && Player.HealthPercent <= MinimumHpSafeAutoE && CustomLib.enemyChampionInPlayerRange(E.Range) > 0) { E.Cast(); } }
public static void AutoE() { var target = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical); var MinimumEnemyHitAutoE = SkyLv_Jax.Menu.Item("Jax.MinimumEnemyHitAutoE").GetValue <Slider>().Value; var PacketCast = SkyLv_Jax.Menu.Item("Jax.UsePacketCast").GetValue <bool>(); if (target.IsValidTarget(E.Range) && CustomLib.iSJaxEActive()) { E.CastIfWillHit(target, MinimumEnemyHitAutoE, PacketCast); } }
public static void HarassLogic() { var PacketCast = SkyLv_Jax.Menu.Item("Jax.UsePacketCast").GetValue <bool>(); var UseQHarass = SkyLv_Jax.Menu.Item("Jax.UseQHarass").GetValue <bool>(); var UseWHarass = SkyLv_Jax.Menu.Item("Jax.UseWHarass").GetValue <bool>(); var UseEHarass = SkyLv_Jax.Menu.Item("Jax.UseEHarass").GetValue <bool>(); var UseSecondEHarass = SkyLv_Jax.Menu.Item("Jax.UseSecondEHarass").GetValue <bool>(); var QMiniManaHarass = SkyLv_Jax.Menu.Item("Jax.QMiniManaHarass").GetValue <Slider>().Value; var WMiniManaHarass = SkyLv_Jax.Menu.Item("Jax.WMiniManaHarass").GetValue <Slider>().Value; var EMiniManaHarass = SkyLv_Jax.Menu.Item("Jax.EMiniManaHarass").GetValue <Slider>().Value; if (UseEHarass && E.IsReady() && !CustomLib.iSJaxEActive()) { var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (target.IsValidTarget() && (Player.Distance(target) <= E.Range || (Player.Distance(target) > E.Range * 1.5 && UseQHarass && Q.IsReady() && Player.Mana > Q.ManaCost + E.ManaCost))) { E.Cast(PacketCast); } } if (UseSecondEHarass && CustomLib.iSJaxEActive()) { var target = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Physical); if (target.IsValidTarget() && Player.Distance(target) < E.Range) { E.Cast(PacketCast); } } if (UseQHarass && Q.IsReady()) { var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (target.IsValidTarget() && target.Health < Q.GetDamage(target) + W.GetDamage(target) * 2 + E.GetDamage(target) && Player.Mana >= Q.ManaCost + W.ManaCost + E.ManaCost) { Q.Cast(target, PacketCast); } } if (!SkyLv_Jax.Menu.Item("Jax.AfterAttackModeHarass").GetValue <bool>()) { if (UseWHarass && W.IsReady() && Player.Mana >= W.ManaCost) { var target = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical); if (target.IsValidTarget() && Orbwalking.CanAttack()) { W.Cast(PacketCast); } } } }
public static void ComboLogic() { var PacketCast = SkyLv_Jax.Menu.Item("Jax.UsePacketCast").GetValue <bool>(); var useQ = SkyLv_Jax.Menu.Item("Jax.UseQCombo").GetValue <bool>(); var useW = SkyLv_Jax.Menu.Item("Jax.UseWCombo").GetValue <bool>(); var useE = SkyLv_Jax.Menu.Item("Jax.UseECombo").GetValue <bool>(); var useR = SkyLv_Jax.Menu.Item("Jax.UseRCombo").GetValue <bool>(); var MinimumEnemyHitSecondE = SkyLv_Jax.Menu.Item("Jax.MinimumEnemyHitSecondE").GetValue <Slider>().Value; var MinimumEnemySafeR = SkyLv_Jax.Menu.Item("Jax.MinimumEnemySafeR").GetValue <Slider>().Value; if (SkyLv_Jax.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { if (useR && R.IsReady() && CustomLib.enemyChampionInPlayerRange(500) >= MinimumEnemySafeR) { R.Cast(PacketCast); } if (useE && E.IsReady() && !CustomLib.iSJaxEActive()) { var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (target.IsValidTarget() && (Player.Distance(target) <= E.Range || (Player.Distance(target) < E.Range * 1.5 && useQ && Q.IsReady() && Player.Mana > Q.ManaCost + E.ManaCost))) { E.Cast(PacketCast); } } if (useQ && Q.IsReady()) { var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (target.IsValidTarget() && Player.Distance(target) > E.Range * 1.5 && Player.Mana >= Q.ManaCost + W.ManaCost + E.ManaCost) { Q.Cast(target, PacketCast); } } if (!SkyLv_Jax.Menu.Item("Jax.AfterAttackModeCombo").GetValue <bool>()) { if (useW && W.IsReady() && Player.Mana >= W.ManaCost) { var target = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Physical); if (target.IsValidTarget() && Orbwalking.CanAttack()) { W.Cast(PacketCast); } } } } }
public static void JungleKS() { if (SkyLv_Jax.Menu.Item("Jax.JungleKS").GetValue <bool>()) { var UseQJungleKS = SkyLv_Jax.Menu.Item("Jax.UseQJungleKS").GetValue <bool>(); var UseWQJungleKS = SkyLv_Jax.Menu.Item("Jax.UseWQJungleKS").GetValue <bool>(); var UseSecondEJungleKS = SkyLv_Jax.Menu.Item("Jax.UseSecondEJungleKS").GetValue <bool>(); var PacketCast = SkyLv_Jax.Menu.Item("Jax.UsePacketCast").GetValue <bool>(); foreach (var target in ObjectManager.Get <Obj_AI_Base>().Where(target => SkyLv_Jax.Monsters.Contains(target.BaseSkinName) && !target.IsDead)) { if (UseQJungleKS && Q.GetDamage(target) > target.Health && Player.Distance(target) <= Q.Range && Player.Mana >= Q.ManaCost) { Q.Cast(target, PacketCast); } if (UseSecondEJungleKS && E.GetDamage(target) > target.Health && Player.Distance(target) <= E.Range && CustomLib.iSJaxEActive()) { E.Cast(PacketCast); } if (UseWQJungleKS && Player.Distance(target) <= Q.Range && Q.IsReady() && W.IsReady() && Player.Mana > Q.ManaCost + W.ManaCost && target.Health < Q.GetDamage(target) + W.GetDamage(target)) { W.Cast(); Q.Cast(target, PacketCast); } } } }
public static void Orbwalking_AfterAttack(AttackableUnit unit, AttackableUnit target) { var PacketCast = SkyLv_Jax.Menu.Item("Jax.UsePacketCast").GetValue <bool>(); var thero = target as AIHeroClient; if (!unit.IsMe) { return; } #region Combo if (thero != null && SkyLv_Jax.Menu.Item("Jax.AfterAttackModeCombo").GetValue <bool>() && SkyLv_Jax.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { var UseWCombo = SkyLv_Jax.Menu.Item("Jax.UseWCombo").GetValue <bool>(); if (thero.IsValidTarget(Orbwalking.GetRealAutoAttackRange(Player))) { if (UseWCombo && W.IsReady()) { W.Cast(PacketCast); } } else { return; } } #endregion #region Harass if (thero != null && SkyLv_Jax.Menu.Item("Jax.AfterAttackModeHarass").GetValue <bool>() && (SkyLv_Jax.Menu.Item("Jax.HarassActive").GetValue <KeyBind>().Active || SkyLv_Jax.Menu.Item("Jax.HarassActiveT").GetValue <KeyBind>().Active)) { var UseWHarass = SkyLv_Jax.Menu.Item("Jax.UseWHarass").GetValue <bool>(); var WMiniManaHarass = SkyLv_Jax.Menu.Item("Jax.WMiniManaHarass").GetValue <Slider>().Value; if (thero.IsValidTarget(Orbwalking.GetRealAutoAttackRange(Player))) { if (UseWHarass && W.IsReady() && Player.Mana >= W.ManaCost) { W.Cast(PacketCast); } } else { return; } } #endregion #region JungleClear var useQ = SkyLv_Jax.Menu.Item("Jax.UseQJungleClear").GetValue <bool>(); var useW = SkyLv_Jax.Menu.Item("Jax.UseWJungleClear").GetValue <bool>(); var useE = SkyLv_Jax.Menu.Item("Jax.UseEJungleClear").GetValue <bool>(); var MiniManaQ = SkyLv_Jax.Menu.Item("Jax.QMiniManaJungleClear").GetValue <Slider>().Value; var MiniManaW = SkyLv_Jax.Menu.Item("Jax.WMiniManaJungleClear").GetValue <Slider>().Value; var MiniManaE = SkyLv_Jax.Menu.Item("Jax.EMiniManaJungleClear").GetValue <Slider>().Value; var MinionN = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth).FirstOrDefault(); if (target != null && SkyLv_Jax.Menu.Item("Jax.AfterAttackModeJungleClear").GetValue <bool>() && target.NetworkId == MinionN.NetworkId && SkyLv_Jax.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear) { if (SkyLv_Jax.Menu.Item("Jax.SafeJungleClear").GetValue <bool>() && Player.CountEnemiesInRange(1500) > 0) { return; } if (useQ && Q.IsReady() && Player.ManaPercent > MiniManaQ) { if (SkyLv_Jax.Menu.Item("Jax.SpellOnlyBigMonster").GetValue <bool>()) { foreach (var minion in ObjectManager.Get <Obj_AI_Base>().Where(minion => SkyLv_Jax.Monsters.Contains(minion.BaseSkinName) && !minion.IsDead)) { if (minion.IsValidTarget() && minion.Health > Player.GetAutoAttackDamage(minion) * 2) { Q.CastOnUnit(minion, PacketCast); } } } else if (!SkyLv_Jax.Menu.Item("Jax.SpellOnlyBigMonster").GetValue <bool>() && MinionN.IsValidTarget() && MinionN.Health > Player.GetAutoAttackDamage(MinionN) * 2) { Q.CastOnUnit(MinionN, PacketCast); } } if (useE && E.IsReady() && Player.ManaPercent > MiniManaE && !CustomLib.iSJaxEActive()) { if (SkyLv_Jax.Menu.Item("Jax.SpellOnlyBigMonster").GetValue <bool>()) { foreach (var minion in ObjectManager.Get <Obj_AI_Base>().Where(minion => SkyLv_Jax.Monsters.Contains(minion.BaseSkinName) && !minion.IsDead)) { if (minion.IsValidTarget() && minion.Health > Player.GetAutoAttackDamage(minion) * 4) { E.Cast(PacketCast); } } } else if (!SkyLv_Jax.Menu.Item("Jax.SpellOnlyBigMonster").GetValue <bool>() && MinionN.IsValidTarget() && MinionN.Health > Player.GetAutoAttackDamage(MinionN) * 4) { E.Cast(PacketCast); } } if (useE && CustomLib.iSJaxEActive() && MinionN.IsValidTarget(E.Range) && MinionN.Health > Player.GetAutoAttackDamage(MinionN) * 2) { E.Cast(PacketCast); } if (useW && W.IsReady() && Player.Mana >= W.ManaCost) { if (SkyLv_Jax.Menu.Item("Jax.SpellOnlyBigMonster").GetValue <bool>()) { foreach (var minion in ObjectManager.Get <Obj_AI_Base>().Where(minion => SkyLv_Jax.Monsters.Contains(minion.BaseSkinName) && !minion.IsDead)) { if (minion.IsValidTarget(W.Range) && minion.Health > Player.GetAutoAttackDamage(minion) * 1.5) { W.Cast(PacketCast); } } } else if (!SkyLv_Jax.Menu.Item("Jax.SpellOnlyBigMonster").GetValue <bool>() && MinionN.IsValidTarget(W.Range) && MinionN.Health > Player.GetAutoAttackDamage(MinionN)) { W.Cast(PacketCast); } } } #endregion }
public static void JungleClearLogic() { var PacketCast = SkyLv_Jax.Menu.Item("Jax.UsePacketCast").GetValue <bool>(); var useQ = SkyLv_Jax.Menu.Item("Jax.UseQJungleClear").GetValue <bool>(); var useW = SkyLv_Jax.Menu.Item("Jax.UseWJungleClear").GetValue <bool>(); var useE = SkyLv_Jax.Menu.Item("Jax.UseEJungleClear").GetValue <bool>(); var MiniManaQ = SkyLv_Jax.Menu.Item("Jax.QMiniManaJungleClear").GetValue <Slider>().Value; var MiniManaW = SkyLv_Jax.Menu.Item("Jax.WMiniManaJungleClear").GetValue <Slider>().Value; var MiniManaE = SkyLv_Jax.Menu.Item("Jax.EMiniManaJungleClear").GetValue <Slider>().Value; var MinionN = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth).FirstOrDefault(); if (MinionN.IsValidTarget() && SkyLv_Jax.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear) { if (SkyLv_Jax.Menu.Item("Jax.SafeJungleClear").GetValue <bool>() && Player.CountEnemiesInRange(1500) > 0) { return; } if (!SkyLv_Jax.Menu.Item("Jax.AfterAttackModeJungleClear").GetValue <bool>()) { if (useQ && Q.IsReady() && Player.ManaPercent > MiniManaQ) { if (SkyLv_Jax.Menu.Item("Jax.SpellOnlyBigMonster").GetValue <bool>()) { foreach (var target in ObjectManager.Get <Obj_AI_Base>().Where(target => SkyLv_Jax.Monsters.Contains(target.BaseSkinName) && !target.IsDead)) { if (target.IsValidTarget()) { Q.CastOnUnit(target, PacketCast); } } } else if (!SkyLv_Jax.Menu.Item("Jax.SpellOnlyBigMonster").GetValue <bool>() && MinionN.IsValidTarget()) { Q.CastOnUnit(MinionN, PacketCast); } } if (useE && E.IsReady() && Player.ManaPercent > MiniManaE && !CustomLib.iSJaxEActive()) { if (SkyLv_Jax.Menu.Item("Jax.SpellOnlyBigMonster").GetValue <bool>()) { foreach (var target in ObjectManager.Get <Obj_AI_Base>().Where(target => SkyLv_Jax.Monsters.Contains(target.BaseSkinName) && !target.IsDead)) { if (target.IsValidTarget()) { E.Cast(PacketCast); } } } else if (!SkyLv_Jax.Menu.Item("Jax.SpellOnlyBigMonster").GetValue <bool>() && MinionN.IsValidTarget()) { E.Cast(PacketCast); } } if (useE && CustomLib.iSJaxEActive() && MinionN.IsValidTarget(E.Range)) { E.Cast(PacketCast); } if (useW && W.IsReady() && Player.Mana >= W.ManaCost) { if (SkyLv_Jax.Menu.Item("Jax.SpellOnlyBigMonster").GetValue <bool>()) { foreach (var target in ObjectManager.Get <Obj_AI_Base>().Where(target => SkyLv_Jax.Monsters.Contains(target.BaseSkinName) && !target.IsDead)) { if (target.IsValidTarget(W.Range) && Orbwalking.CanAttack()) { W.Cast(PacketCast); } } } else if (!SkyLv_Jax.Menu.Item("Jax.SpellOnlyBigMonster").GetValue <bool>() && MinionN.IsValidTarget(W.Range) && Orbwalking.CanAttack()) { W.Cast(PacketCast); } } } if (SkyLv_Jax.Menu.Item("Jax.AfterAttackModeJungleClear").GetValue <bool>()) { if (useQ && Q.IsReady() && Player.ManaPercent > MiniManaQ) { if (SkyLv_Jax.Menu.Item("Jax.SpellOnlyBigMonster").GetValue <bool>()) { foreach (var target in ObjectManager.Get <Obj_AI_Base>().Where(target => SkyLv_Jax.Monsters.Contains(target.BaseSkinName) && !target.IsDead)) { if (target.IsValidTarget() && target.Distance(Player) > Orbwalking.GetRealAutoAttackRange(Player)) { Q.CastOnUnit(target, PacketCast); } } } else if (!SkyLv_Jax.Menu.Item("Jax.SpellOnlyBigMonster").GetValue <bool>() && MinionN.IsValidTarget() && MinionN.Distance(Player) > Orbwalking.GetRealAutoAttackRange(Player)) { Q.CastOnUnit(MinionN, PacketCast); } } } } }
public static void KS() { var PacketCast = SkyLv_Jax.Menu.Item("Jax.UsePacketCast").GetValue <bool>(); var UseIgniteKS = SkyLv_Jax.Menu.Item("Jax.UseIgniteKS").GetValue <bool>(); var UseQKS = SkyLv_Jax.Menu.Item("Jax.UseQKS").GetValue <bool>(); var UseWQKS = SkyLv_Jax.Menu.Item("Jax.UseWQKS").GetValue <bool>(); var UseWQIgniteKS = SkyLv_Jax.Menu.Item("Jax.UseWQIgniteKS").GetValue <bool>(); var UseSecondEKS = SkyLv_Jax.Menu.Item("Jax.UseSecondEKS").GetValue <bool>(); foreach (var target in ObjectManager.Get <AIHeroClient>().Where(target => !target.IsMe && !target.IsDead && target.Team != ObjectManager.Player.Team && !target.IsZombie && (SkyLv_Jax.Ignite.Slot != SpellSlot.Unknown || !target.HasBuff("summonerdot")))) { if (UseQKS && Q.GetDamage(target) > target.Health && Player.Distance(target) <= Q.Range && Player.Mana >= Q.ManaCost) { Q.Cast(target, PacketCast); } if (UseSecondEKS && E.GetDamage(target) > target.Health && Player.Distance(target) <= E.Range && CustomLib.iSJaxEActive()) { E.Cast(PacketCast); } if (UseWQKS && Player.Distance(target) <= Q.Range && Q.IsReady() && W.IsReady() && Player.Mana > Q.ManaCost + W.ManaCost && target.Health < Q.GetDamage(target) + W.GetDamage(target)) { W.Cast(); Q.Cast(target, PacketCast); } if (UseIgniteKS && SkyLv_Jax.Ignite.Slot != SpellSlot.Unknown && target.Health < Player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite) && Player.Distance(target) <= SkyLv_Jax.Ignite.Range) { SkyLv_Jax.Ignite.Cast(target, PacketCast); } if (UseWQIgniteKS && Player.Distance(target) <= Q.Range && Q.IsReady() && W.IsReady() && SkyLv_Jax.Ignite.Slot != SpellSlot.Unknown && Player.Mana > Q.ManaCost + W.ManaCost && target.Health < Q.GetDamage(target) + W.GetDamage(target) + Player.GetSummonerSpellDamage(target, Damage.SummonerSpell.Ignite)) { W.Cast(); Q.Cast(target, PacketCast); SkyLv_Jax.Ignite.Cast(target, PacketCast); } } }