public static void Harass() { var eTarget = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Physical); if (eTarget == null) { return; } var useW = Config.Item("UseWHarass").GetValue <bool>(); var useE = Config.Item("UseEHarass").GetValue <bool>(); var packetCast = Config.Item("PacketCast").GetValue <bool>(); var ManaHarass = Config.Item("ManaHarass").GetValue <Slider>().Value; if (Player.GetManaPerc() < ManaHarass) { return; } //if (eTarget.IsValidTarget(W.Range) && W.IsReady() && useW) //{ // if (Orbwalking.InAutoAttackRange(eTarget)) // W.Cast(UsePackets()); //} //if (eTarget.IsValidTarget(E.Range) && E.IsReady() && useE) //{ // if (Orbwalking.InAutoAttackRange(eTarget)) // E.Cast(UsePackets()); //} }
public static void Combo() { var eTarget = SimpleTs.GetTarget(E.Range, SimpleTs.DamageType.Magical); if (eTarget == null) { return; } var useQ = Config.Item("UseQCombo").GetValue <bool>(); var useW = Config.Item("UseWCombo").GetValue <bool>(); var useE = Config.Item("UseECombo").GetValue <bool>(); var useR = Config.Item("UseRCombo").GetValue <bool>(); var useIgnite = Config.Item("UseIgnite").GetValue <bool>(); var packetCast = Config.Item("PacketCast").GetValue <bool>(); var RMaxStacksCombo = Config.Item("RMaxStacksCombo").GetValue <Slider>().Value; var EManaCombo = Config.Item("EManaCombo").GetValue <Slider>().Value; if (eTarget.IsValidTarget(Q.Range) && Q.IsReady() && useQ) { Q.CastIfHitchanceEquals(eTarget, eTarget.IsMoving ? HitChance.High : HitChance.Medium, packetCast); } if (!HasWBuff() && Player.AttackRange < Player.Distance(eTarget) && Player.Distance(eTarget) <= (Orbwalking.GetRealAutoAttackRange(eTarget) + W.Range) && W.IsReady() && useW) { if (packetCast) { Packet.C2S.Cast.Encoded(new Packet.C2S.Cast.Struct(Player.NetworkId, SpellSlot.W)).Send(); } else { W.Cast(); } Player.IssueOrder(GameObjectOrder.AttackUnit, eTarget); } if (eTarget.IsValidTarget(E.Range) && E.IsReady() && useE && Player.GetManaPerc() > EManaCombo) { E.CastIfHitchanceEquals(eTarget, eTarget.IsMoving ? HitChance.High : HitChance.Medium, packetCast); } if (eTarget.IsValidTarget(R.Range) && R.IsReady() && GetRStacks() < RMaxStacksCombo && useR && Player.Distance(eTarget) > Player.AttackRange) { R.CastIfHitchanceEquals(eTarget, eTarget.IsMoving ? HitChance.High : HitChance.Medium, packetCast); } if (IgniteManager.CanKill(eTarget)) { if (IgniteManager.Cast(eTarget)) { Game.PrintChat(string.Format("Ignite Combo KS -> {0} ", eTarget.SkinName)); } } }
public static void Harass() { var eTarget = SimpleTs.GetTarget(Q.Range, SimpleTs.DamageType.Magical); if (eTarget == null) { return; } var useQ = Config.Item("UseQHarass").GetValue <bool>(); var useW = Config.Item("UseWHarass").GetValue <bool>(); var useE = Config.Item("UseEHarass").GetValue <bool>(); var packetCast = Config.Item("PacketCast").GetValue <bool>(); var HarassMinMana = Config.Item("HarassMinMana").GetValue <Slider>().Value; if (mustDebug) { Game.PrintChat("Harass Target -> " + eTarget.SkinName); } if (eTarget.IsValidTarget(E.Range) && E.IsReady() && useE) { if (eTarget.HasBuffOfType(BuffType.Poison) || Damage.GetSpellDamage(Player, eTarget, SpellSlot.E) > eTarget.Health) { E.CastOnUnit(eTarget, packetCast); } } if (eTarget.IsValidTarget(Q.Range) && Q.IsReady() && useQ && Player.GetManaPerc() >= HarassMinMana) { Q.CastIfHitchanceEquals(eTarget, eTarget.IsMoving ? HitChance.High : HitChance.Medium, packetCast); } if (Config.Item("UseWHarass").GetValue <bool>()) { useW = (!eTarget.HasBuffOfType(BuffType.Poison) || (!eTarget.IsValidTarget(Q.Range) && eTarget.IsValidTarget(W.Range))); } if (eTarget.IsValidTarget(W.Range) && W.IsReady() && useW && Player.GetManaPerc() >= HarassMinMana) { W.CastIfHitchanceEquals(eTarget, eTarget.IsMoving ? HitChance.High : HitChance.Medium, packetCast); } if (mustDebug) { Game.PrintChat("Harass Finish"); } }
public static void WaveClear() { var useQ = Config.Item("UseQLaneClear").GetValue <bool>(); var useW = Config.Item("UseWLaneClear").GetValue <bool>(); var packetCast = Config.Item("PacketCast").GetValue <bool>(); var ManaLaneClear = Config.Item("ManaLaneClear").GetValue <Slider>().Value; if (Q.IsReady() && useQ) { var allMinions = MinionManager.GetMinions(Player.ServerPosition, Q.Range, MinionTypes.All, MinionTeam.Enemy).ToList(); var minionLastHit = allMinions.Where(x => HealthPrediction.LaneClearHealthPrediction(x, (int)Q.Delay * 1000) < Player.GetSpellDamage(x, SpellSlot.Q) * 0.8f).OrderBy(x => x.Health); if (minionLastHit.Count() > 0) { var unit = minionLastHit.First(); Q.CastOnUnit(unit, packetCast); } } if (W.IsReady() && useW && Player.GetManaPerc() >= ManaLaneClear) { var allMinionsW = MinionManager.GetMinions(Player.ServerPosition, W.Range, MinionTypes.All, MinionTeam.Enemy).ToList(); if (allMinionsW.Count > 0) { var farm = W.GetCircularFarmLocation(allMinionsW, W.Width * 0.8f); if (farm.MinionsHit >= 3) { W.Cast(farm.Position, packetCast); } } } }
public static void WaveClear() { //var useQ = Config.Item("UseQLaneClear").GetValue<bool>(); var useW = Config.Item("UseWLaneClear").GetValue <bool>(); var useE = Config.Item("UseELaneClear").GetValue <bool>(); var packetCast = Config.Item("PacketCast").GetValue <bool>(); var ManaLaneClear = Config.Item("ManaLaneClear").GetValue <Slider>().Value; if (W.IsReady() && useW && Player.GetManaPerc() >= ManaLaneClear) { var allMinionsW = MinionManager.GetMinions(Player.ServerPosition, W.Range + W.Width, MinionTypes.All, MinionTeam.Enemy).ToList(); if (allMinionsW.Any()) { var farm = W.GetCircularFarmLocation(allMinionsW, W.Width * 0.8f); if (farm.MinionsHit >= 2) { W.Cast(farm.Position, packetCast); return; } } } if (E.IsReady() && useE && Player.GetManaPerc() >= ManaLaneClear) { var minionList = MinionManager.GetMinions(Player.Position, E.Range, MinionTypes.All, MinionTeam.Enemy, MinionOrderTypes.Health) .Where(x => HasPassiveBuff(x)); var jungleList = MinionManager.GetMinions(Player.Position, E.Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth) .Where(x => HasPassiveBuff(x)); if (jungleList.Any()) { E.CastOnUnit(jungleList.First(), packetCast); } else if (minionList.Any()) { E.CastOnUnit(jungleList.First(), packetCast); } } }
public static void WaveClear() { var useQ = Config.Item("UseQLaneClear").GetValue <bool>(); var useW = Config.Item("UseWLaneClear").GetValue <bool>(); var useE = Config.Item("UseELaneClear").GetValue <bool>(); var UseELastHitLaneClear = Config.Item("UseELastHitLaneClear").GetValue <bool>(); var UseELastHitLaneClearNonPoisoned = Config.Item("UseELastHitLaneClearNonPoisoned").GetValue <bool>(); var packetCast = Config.Item("PacketCast").GetValue <bool>(); var LaneClearMinMana = Config.Item("LaneClearMinMana").GetValue <Slider>().Value; if (Q.IsReady() && useQ && Player.GetManaPerc() >= LaneClearMinMana) { var allMinionsQ = MinionManager.GetMinions(Player.Position, Q.Range + Q.Width, MinionTypes.All, MinionTeam.Enemy, MinionOrderTypes.Health).ToList(); var allMinionsQNonPoisoned = allMinionsQ.Where(x => !x.HasBuffOfType(BuffType.Poison)).ToList(); if (allMinionsQNonPoisoned.Any()) { var farmNonPoisoned = Q.GetCircularFarmLocation(allMinionsQNonPoisoned, Q.Width * 0.8f); if (farmNonPoisoned.MinionsHit >= 3) { Q.Cast(farmNonPoisoned.Position, packetCast); dtLastQCast = Environment.TickCount; return; } } if (allMinionsQ.Any()) { var farmAll = Q.GetCircularFarmLocation(allMinionsQ, Q.Width * 0.8f); //if (farmAll.MinionsHit >= 2 || allMinionsQ.Count == 1) { Q.Cast(farmAll.Position, packetCast); dtLastQCast = Environment.TickCount; return; } } } if (W.IsReady() && useW && Player.GetManaPerc() >= LaneClearMinMana && Environment.TickCount > dtLastQCast + Q.Delay * 1000) { var allMinionsW = MinionManager.GetMinions(Player.ServerPosition, W.Range + W.Width, MinionTypes.All).ToList(); var allMinionsWNonPoisoned = allMinionsW.Where(x => !x.HasBuffOfType(BuffType.Poison)).ToList(); if (allMinionsWNonPoisoned.Any()) { var farmNonPoisoned = W.GetCircularFarmLocation(allMinionsWNonPoisoned, W.Width * 0.8f); if (farmNonPoisoned.MinionsHit >= 3) { W.Cast(farmNonPoisoned.Position, packetCast); return; } } if (allMinionsW.Any()) { var farmAll = W.GetCircularFarmLocation(allMinionsW, W.Width * 0.8f); if (farmAll.MinionsHit >= 2 || allMinionsW.Count == 1) { W.Cast(farmAll.Position, packetCast); return; } } } if (E.IsReady() && useE) { MinionList = MinionManager.GetMinions(Player.ServerPosition, E.Range, MinionTypes.All, MinionTeam.Enemy, MinionOrderTypes.Health); foreach (var minion in MinionList.Where(x => UseELastHitLaneClearNonPoisoned || x.HasBuffOfType(BuffType.Poison))) { var buffEndTime = UseELastHitLaneClearNonPoisoned ? float.MaxValue : GetPoisonBuffEndTime(minion); if (buffEndTime > Game.Time + E.Delay) { if (UseELastHitLaneClear) { //var landTime = Q.Delay + 1000 * Player.Distance(minion) / 1400; if (GetEDamageToMinion(minion) * 0.9 > minion.Health) { CastE(minion); } } else if (Player.GetManaPerc() >= LaneClearMinMana) { CastE(minion); } } else { if (mustDebug) { Game.PrintChat("DONT CAST : buffEndTime " + buffEndTime); } } } } }
public static void WaveClear() { var MinionList = MinionManager.GetMinions(Player.Position, Q.Range, MinionTypes.All, MinionTeam.Enemy, MinionOrderTypes.Health) .Where(x => !MinionListToIgnore.Contains(x.NetworkId)).ToList(); var JungleList = MinionManager.GetMinions(Player.Position, Q.Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth); var UseLaneClearLastHit = Config.Item("UseLaneClearLastHit").GetValue <bool>(); var useQ = Config.Item("UseQLaneClear").GetValue <bool>(); var useW = Config.Item("UseWLaneClear").GetValue <bool>(); var useE = Config.Item("UseELaneClear").GetValue <bool>(); var ManaLaneClear = Config.Item("ManaLaneClear").GetValue <Slider>().Value; var packetCast = Config.Item("PacketCast").GetValue <bool>(); if (Q.IsReady() && useQ && Player.GetManaPerc() > ManaLaneClear) { var queryJungle = JungleList.Where(x => x.IsValidTarget(Q.Range)); if (queryJungle.Any()) { var mob = queryJungle.First(); Q.CastOnUnit(mob, packetCast); } var queryMinion = MinionList.Where(x => x.IsValidTarget(Q.Range)); if (queryMinion.Any()) { var mob = queryMinion.First(); if (UseLaneClearLastHit) { if (HealthPrediction.GetHealthPrediction(mob, (int)Q.Delay * 1000) < Player.GetSpellDamage(mob, SpellSlot.Q) * 0.9) { Q.CastOnUnit(mob, packetCast); MinionListToIgnore.Add(mob.NetworkId); MinionList.Remove(mob); } } else { if (HealthPrediction.GetHealthPrediction(mob, (int)Q.Delay * 1000) < Player.GetSpellDamage(mob, SpellSlot.Q) * 0.9) { Q.CastOnUnit(mob, packetCast); MinionListToIgnore.Add(mob.NetworkId); MinionList.Remove(mob); } else { mob = queryMinion.Last(); Q.CastOnUnit(mob, packetCast); MinionList.Remove(mob); } } } } if (W.IsReady() && useW && Player.GetManaPerc() > ManaLaneClear) { var queryJungle = JungleList.Where(x => x.IsValidTarget(W.Range)); if (queryJungle.Any()) { var mob = queryJungle.First(); W.CastOnUnit(mob, packetCast); } var query = MinionList.Where(x => x.IsValidTarget(W.Range)); if (query.Any()) { var mob = query.First(); if (UseLaneClearLastHit) { if (HealthPrediction.GetHealthPrediction(mob, (int)W.Delay * 1000) < Player.GetSpellDamage(mob, SpellSlot.W) * 0.9) { W.CastOnUnit(mob, packetCast); MinionListToIgnore.Add(mob.NetworkId); MinionList.Remove(mob); } } else { if (HealthPrediction.GetHealthPrediction(mob, (int)W.Delay * 1000) < Player.GetSpellDamage(mob, SpellSlot.W) * 0.9) { W.CastOnUnit(mob, packetCast); MinionListToIgnore.Add(mob.NetworkId); MinionList.Remove(mob); } else { mob = query.Last(); W.CastOnUnit(mob, packetCast); MinionList.Remove(mob); } } } } if (E.IsReady() && useE && Player.GetManaPerc() > ManaLaneClear) { var queryJungle = JungleList.Where(x => x.IsValidTarget(E.Range)); if (queryJungle.Any()) { var mob = queryJungle.First(); E.CastOnUnit(mob, packetCast); } var query = MinionList.Where(x => x.IsValidTarget(E.Range)); if (query.Any()) { var mob = query.First(); if (UseLaneClearLastHit) { if (HealthPrediction.GetHealthPrediction(mob, (int)E.Delay * 1000) < Player.GetSpellDamage(mob, SpellSlot.E) * 0.9) { E.CastOnUnit(mob, packetCast); MinionListToIgnore.Add(mob.NetworkId); MinionList.Remove(mob); } } else { if (HealthPrediction.GetHealthPrediction(mob, (int)E.Delay * 1000) < Player.GetSpellDamage(mob, SpellSlot.E) * 0.9) { E.CastOnUnit(mob, packetCast); MinionListToIgnore.Add(mob.NetworkId); MinionList.Remove(mob); } else { mob = query.Last(); E.CastOnUnit(mob, packetCast); MinionList.Remove(mob); } } } } }
public static void WaveClear() { var MinionList = MinionManager.GetMinions(Player.Position, Q.Range, MinionTypes.All, MinionTeam.Enemy, MinionOrderTypes.Health); var JungleList = MinionManager.GetMinions(Player.Position, Q.Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth); if (mustDebug) { Game.PrintChat("WaveClear Start"); } var useQ = Config.Item("UseQLaneClear").GetValue <bool>(); var useW = Config.Item("UseWLaneClear").GetValue <bool>(); var useE = Config.Item("UseELaneClear").GetValue <bool>(); var ManaLaneClear = Config.Item("ManaLaneClear").GetValue <Slider>().Value; var packetCast = Config.Item("PacketCast").GetValue <bool>(); if (Q.IsReady() && useQ && Player.GetManaPerc() > ManaLaneClear) { var queryJungle = JungleList.Where(x => x.IsValidTarget(Q.Range)); if (queryJungle.Count() > 0) { var mob = queryJungle.First(); Q.CastOnUnit(mob, packetCast); } var queryMinion = MinionList.Where(x => x.IsValidTarget(Q.Range) && x.Health < Player.GetSpellDamage(x, SpellSlot.Q) * 0.9); if (queryMinion.Count() > 0) { var mob = queryMinion.First(); Q.CastOnUnit(mob, packetCast); MinionList.Remove(mob); } } if (W.IsReady() && useW && Player.GetManaPerc() > ManaLaneClear) { var queryJungle = JungleList.Where(x => x.IsValidTarget(W.Range)); if (queryJungle.Count() > 0) { var mob = queryJungle.First(); W.CastOnUnit(mob, packetCast); } var query = MinionList.Where(x => x.IsValidTarget(W.Range) && x.Health < Player.GetSpellDamage(x, SpellSlot.W) * 0.9); if (query.Count() > 0) { var mob = query.First(); W.CastOnUnit(mob, packetCast); MinionList.Remove(mob); } } if (E.IsReady() && useE && Player.GetManaPerc() > ManaLaneClear) { var queryJungle = JungleList.Where(x => x.IsValidTarget(E.Range)); if (queryJungle.Count() > 0) { var mob = queryJungle.First(); E.CastOnUnit(mob, packetCast); } var query = MinionList.Where(x => x.IsValidTarget(E.Range) && x.Health < Player.GetSpellDamage(x, SpellSlot.E) * 0.9); if (query.Count() > 0) { var mob = query.First(); E.CastOnUnit(mob, packetCast); MinionList.Remove(mob); } } }
public static void WaveClear() { var useQ = Config.Item("UseQLaneClear").GetValue <bool>(); var useW = Config.Item("UseWLaneClear").GetValue <bool>(); var useE = Config.Item("UseELaneClear").GetValue <bool>(); var UseELastHitLaneClear = Config.Item("UseELastHitLaneClear").GetValue <bool>(); var packetCast = Config.Item("PacketCast").GetValue <bool>(); var LaneClearMinMana = Config.Item("LaneClearMinMana").GetValue <Slider>().Value; if (Q.IsReady() && useQ && Player.GetManaPerc() >= LaneClearMinMana) { var allMinionsQ = MinionManager.GetMinions(Player.Position, Q.Range + Q.Width, MinionTypes.All, MinionTeam.Enemy, MinionOrderTypes.Health).ToList(); var allMinionsQNonPoisoned = allMinionsQ.Where(x => !x.HasBuffOfType(BuffType.Poison)).ToList(); if (allMinionsQNonPoisoned.Count > 0) { var farmNonPoisoned = Q.GetCircularFarmLocation(allMinionsQNonPoisoned, Q.Width * 0.8f); if (farmNonPoisoned.MinionsHit >= 3) { Q.Cast(farmNonPoisoned.Position, packetCast); dtLastQCast = DateTime.Now; return; } } if (allMinionsQ.Count > 0) { var farmAll = Q.GetCircularFarmLocation(allMinionsQ, Q.Width * 0.8f); if (farmAll.MinionsHit >= 2 || allMinionsQ.Count == 1) { Q.Cast(farmAll.Position, packetCast); dtLastQCast = DateTime.Now; return; } } } if (W.IsReady() && useW && Player.GetManaPerc() >= LaneClearMinMana && DateTime.Now > dtLastQCast.AddMilliseconds(Q.Delay * 1000)) { var allMinionsW = MinionManager.GetMinions(Player.ServerPosition, W.Range + W.Width, MinionTypes.All).ToList(); var allMinionsWNonPoisoned = allMinionsW.Where(x => !x.HasBuffOfType(BuffType.Poison)).ToList(); if (allMinionsWNonPoisoned.Count > 0) { var farmNonPoisoned = W.GetCircularFarmLocation(allMinionsWNonPoisoned, W.Width * 0.8f); if (farmNonPoisoned.MinionsHit >= 3) { W.Cast(farmNonPoisoned.Position, packetCast); return; } } if (allMinionsW.Count > 0) { var farmAll = W.GetCircularFarmLocation(allMinionsW, W.Width * 0.8f); if (farmAll.MinionsHit >= 2 || allMinionsW.Count == 1) { W.Cast(farmAll.Position, packetCast); return; } } } if (E.IsReady() && useE) { MinionList = MinionManager.GetMinions(Player.ServerPosition, E.Range, MinionTypes.All, MinionTeam.Enemy, MinionOrderTypes.Health); foreach (var minion in MinionList.Where(x => x.HasBuffOfType(BuffType.Poison)).ToList()) { var buffEndTime = GetPoisonBuffEndTime(minion); if (buffEndTime > (Game.Time + E.Delay)) { if (UseELastHitLaneClear) { if (Player.GetSpellDamage(minion, SpellSlot.E) * 0.9d > HealthPrediction.LaneClearHealthPrediction(minion, (int)E.Delay * 1000)) { CastE(minion); } } else if (Player.GetManaPerc() >= LaneClearMinMana) { CastE(minion); } } } } }