Esempio n. 1
0
        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);
                        }
                    }
                }
            }
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
 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);
         }
     }
 }