public static AIBaseClient GetCenterMinion() { var minionposition = MinionManager.GetMinions(300 + Spells.Q.Range).Select(x => x.Position.To2D()).ToList(); var center = MinionManager.GetBestCircularFarmLocation(minionposition, 250, 300 + Spells.Q.Range); return(center.MinionsHit >= 4 ? MinionManager.GetMinions(1000).OrderBy(x => x.Distance(center.Position)).FirstOrDefault() : null); }
private static void OnDoCast(AIBaseClient sender, AIBaseClientProcessSpellCastEventArgs args) { if (Player.IsWindingUp) { return; } if (args.Target is AIMinionClient) { if (MenuConfig._orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear) { var minions = MinionManager.GetMinions(Player.PreviousPosition, 600); { if (minions == null) { return; } foreach (var m in minions) { if (Spells.E.IsReady() && MenuConfig.LaneE) { if (m.Health < Spells.E.GetDamage(m)) { Spells.E.Cast(GetCenterMinion()); } } if (Spells.Q.IsReady() && MenuConfig.LaneQ) { if (GragasQ == null) { Spells.Q.Cast(GetCenterMinion(), true); } if (GragasQ != null && m.Distance(GragasQ.Position) <= 250 && m.Health < Spells.Q.GetDamage(m)) { Spells.Q.Cast(true); } } if (m.Distance(Player) <= 250f) { if (Spells.W.IsReady() && MenuConfig.LaneW) { Spells.W.Cast(); } } } } } } }
protected static void SmiteJungle() { foreach (var minion in MinionManager.GetMinions(900f, MinionTypes.All, MinionTeam.Neutral)) { var damage = Player.Spellbook.GetSpell(Spells.Smite).State == SpellState.Ready ? (float)Player.GetSummonerSpellDamage(minion, Damage.DamageSummonerSpell.Smite) : 0; if (minion.Distance(Player.PreviousPosition) <= 550) { if ((minion.CharacterData.Name.Contains("Dragon") || minion.CharacterData.Name.Contains("Baron"))) { if (damage >= minion.Health) { Player.Spellbook.CastSpell(Spells.Smite, minion); } } } } }
public static void JungleLogic() { var mobs = MinionManager.GetMinions(Player.Position, Spells.W.Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth); if (MenuConfig._orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear) { if (mobs.Count == 0 || mobs == null || Player.IsWindingUp) { return; } foreach (var m in mobs) { if (m.Distance(Player) <= 300f) { if (Spells.W.IsReady()) { Spells.W.Cast(); } if (Spells.E.IsReady()) { Spells.E.Cast(m); } if (Program.GragasQ == null) { Spells.Q.Cast(m, true); } if (Program.GragasQ != null && m.Distance(Program.GragasQ.Position) <= 250) { Spells.Q.Cast(true); } } } } }