protected override void LaneClear() { var useQ = Menu.Item(Menu.Name + ".lane-clear.q").GetValue <bool>() && Q.IsReady() && !Player.IsWindingUp && ResourceManager.Check("lane-clear"); if (useQ) { var minion = MinionManager.GetMinions(Q.Range) .Where( m => Q.GetDamage(m) > m.Health || HealthPrediction.LaneClearHealthPrediction( m, (int)(Player.AttackDelay * 1000), (int)(Q.Delay * 1000)) > Player.GetAutoAttackDamage(m) * 1.5f) .OrderBy(m => !Orbwalking.InAutoAttackRange(m)) .ThenBy(m => m.Health) .FirstOrDefault(); if (minion != null) { Q.Cast(minion); if (Q.GetDamage(minion) > minion.Health) { _lastFarmQKill = minion.NetworkId; } } } }
protected override void JungleClear() { var useQ = Menu.Item(Menu.Name + ".jungle-clear.q").GetValue <bool>() && Q.IsReady() && !Player.IsWindingUp && ResourceManager.Check("jungle-clear"); if (useQ) { Casting.Farm( Q, MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth), 1); } }
private static void OnCorePostUpdate(EventArgs args) { try { if (_menu == null || !_menu.Item(_menu.Name + ".enabled").GetValue <bool>()) { return; } if (Environment.TickCount - _lastTick >= _interval) { _lastTick = Environment.TickCount; if (_menu.Item(_menu.Name + ".fountain").GetValue <bool>() && !ObjectManager.Player.InFountain()) { return; } if (ObjectManager.Player.ManaPercent >= _menu.Item(_menu.Name + ".min-mana").GetValue <Slider>().Value) { var tearSlot = ObjectManager.Player.GetSpellSlot("TearsDummySpell"); if (tearSlot != SpellSlot.Unknown && Game.Time > ObjectManager.Player.GetSpell(tearSlot).CooldownExpires&& ObjectManager.Player.CountEnemiesInRange( _menu.Item(_menu.Name + ".min-distance").GetValue <Slider>().Value) <= 0) { var spell = _spells.FirstOrDefault( s => s.IsReady() && _menu.Item(_menu.Name + "." + s.Slot).GetValue <bool>()); if (spell != null) { if (spell.IsSkillshot) { var target = GameObjects.EnemyHeroes.Where(e => e.IsValidTarget(spell.Range)) .Concat(MinionManager.GetMinions(spell.Range)) .FirstOrDefault(); if (target != null) { spell.Cast(target.Position); } else { var position = ObjectManager.Player.Position.Extend( Game.CursorPos, Math.Min(1000, spell.Range * 0.8f + Random.Next(1, 26))); if (position.IsValid()) { spell.Cast(position); } } } else if (spell.Range > 0f) { if (spell.Speed.Equals(default(float))) { spell.Cast(); } else { var target = GameObjects.EnemyHeroes.Where(e => e.IsValidTarget(spell.Range)) .Concat(MinionManager.GetMinions(spell.Range)) .FirstOrDefault(); if (target != null) { spell.Cast(target); } } } } } } } } catch (Exception ex) { Global.Logger.AddItem(new LogItem(ex)); } }