private static void JungleSteal() { var killableJungle = EntityManager.MinionsAndMonsters.GetJungleMonsters() .OrderByDescending(a => a.MaxHealth) .FirstOrDefault(b => b.Distance(_user) <= 500); if (killableJungle != null && !killableJungle.Name.Contains("Mini")) { if (killableJungle.Name.Contains("Baron") || killableJungle.Name.Contains("Dragon") || killableJungle.Name.Contains("Red") || killableJungle.Name.Contains("Blue")) { if (_q.IsReady() && _smite.IsReady()) { if (killableJungle.Health <= _user.GetSpellDamage(killableJungle, SpellSlot.Q) + _user.GetSummonerSpellDamage(killableJungle, DamageLibrary.SummonerSpells.Smite)) { Player.CastSpell(SpellSlot.Q, killableJungle); } } else if (_q.IsReady() && !_smite.IsReady()) { if (killableJungle.Health <= _user.GetSpellDamage(killableJungle, SpellSlot.Q)) { Player.CastSpell(SpellSlot.Q, killableJungle); } } else if (!_q.IsReady() && _smite.IsReady()) { if (killableJungle.Health <= _user.GetSummonerSpellDamage(killableJungle, DamageLibrary.SummonerSpells.Smite)) { Player.CastSpell(_smite.Slot, killableJungle); } } } else { if (_q.IsReady()) { if (killableJungle.Health <= _user.GetSpellDamage(killableJungle, SpellSlot.Q)) { Player.CastSpell(SpellSlot.Q, killableJungle); } } } } }
private static void KillSteal() { // E Killsteal if (_e.IsReady()) { foreach (var enemy in EntityManager.Heroes.Enemies) { if (enemy.Distance(_user.Position) <= 550 && enemy.TotalShieldHealth() <= _user.GetSpellDamage(enemy, SpellSlot.E)) { Player.CastSpell(SpellSlot.E, enemy); return; } } } // Autoattack creeps var killableMinion = EntityManager.MinionsAndMonsters.EnemyMinions.OrderBy(a => a.Health) .FirstOrDefault(b => b.Distance(_user) <= 500); if (killableMinion != null && !killableMinion.IsDead && killableMinion.BaseSkinName.Contains("Siege") && killableMinion.Health <= _user.GetSpellDamage(killableMinion, SpellSlot.Q)) { Player.CastSpell(SpellSlot.Q, killableMinion); return; } if (killableMinion != null && !killableMinion.IsDead && killableMinion.Health <= _user.GetAutoAttackDamage(killableMinion, true)) { Player.IssueOrder(GameObjectOrder.AttackTo, killableMinion); return; } // And jungle too var jungleCreep = EntityManager.MinionsAndMonsters.GetJungleMonsters() .OrderBy(a => a.Health) .FirstOrDefault(b => b.Distance(_user) <= 500); if (jungleCreep != null && !jungleCreep.IsDead && jungleCreep.Health <= _user.GetAutoAttackDamage(jungleCreep, true)) { Player.IssueOrder(GameObjectOrder.AttackTo, jungleCreep); } }
private static void Obj_AI_Base_OnTeleport(Obj_AI_Base sender, GameObjectTeleportEventArgs args) { if (_user.IsDead) { return; } if (sender.NetworkId == _myJungler.NetworkId) { if (args.RecallName == "Recall") { if (!_user.IsInFountainRange() && !_myJungler.IsInFountainRange()) { Core.DelayAction(() => Player.CastSpell(SpellSlot.Recall), 200); return; } } if (_user.IsRecalling()) { Core.DelayAction(() => ChkRecall(), Game.Ping + 200); } } }