DamageLibrary Class for Teemo Spells.
Exemple #1
0
 private void ks()
 {
     foreach (var enemy in EntityManager.Heroes.Enemies.Where(target => target.HealthPercent > 0 && !target.IsInvulnerable && target.IsEnemy && !target.IsPhysicalImmune && !target.IsZombie))
     {
         if (enemy.IsInRange(Player.Instance, Q.Range) && Settings.ksQ && Settings.ksR && Q.IsReady() && R.IsReady())
         {
             if (enemy.Health < DamageLibrary.GetSpellDamage(Player.Instance, enemy, SpellSlot.Q) + DamageLibrary.GetSpellDamage(Player.Instance, enemy, SpellSlot.R) && R.GetPrediction(enemy).CollisionObjects.Count() > 0 && R.GetPrediction(enemy).CollisionObjects[0].NetworkId == enemy.NetworkId)
             {
                 Q.Cast(Q.GetPrediction(enemy).CastPosition);
                 R.Cast(R.GetPrediction(enemy).CastPosition);
             }
         }
         if (enemy.IsInRange(Player.Instance, Q.Range) && Settings.ksQ && Q.IsReady())
         {
             if (enemy.Health < DamageLibrary.GetSpellDamage(Player.Instance, enemy, SpellSlot.Q))
             {
                 Q.Cast(Q.GetPrediction(enemy).CastPosition);
             }
         }
         if (enemy.IsInRange(Player.Instance, R.Range) && Settings.ksR && R.IsReady())
         {
             if (enemy.Health < DamageLibrary.GetSpellDamage(Player.Instance, enemy, SpellSlot.R) && R.GetPrediction(enemy).CollisionObjects.Count() > 0 && R.GetPrediction(enemy).CollisionObjects[0].NetworkId == enemy.NetworkId)
             {
                 R.Cast(R.GetPrediction(enemy).CastPosition);
             }
         }
     }
 }
Exemple #2
0
        /// <summary>
        /// Returns the amount of active item calculated damage.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="target"></param>
        /// <returns></returns>
        public static float GetActiveItemDamage(this AIHeroClient sender, Obj_AI_Base target)
        {
            float         damage   = 0;
            List <ItemId> itemList = new List <ItemId>
            {
                ItemId.Bilgewater_Cutlass,
                ItemId.Blade_of_the_Ruined_King,
                ItemId.Hextech_Gunblade,
                ItemId.Hextech_Protobelt_01,
                ItemId.Redemption,
                ItemId.Ravenous_Hydra,
                ItemId.Titanic_Hydra,
                ItemId.Tiamat
            };

            foreach (ItemId id in itemList)
            {
                InventorySlot item = sender.InventoryItems.FirstOrDefault(a => a.Id == id);

                if (item != null && item.CanUseItem())
                {
                    damage += DamageLibrary.GetItemDamage(sender, target, id);
                }
            }

            return(damage);
        }
Exemple #3
0
        private static void KillSteal()
        {
            if (Q.IsReady() && GetValue(KillStealM, "Killsteal Q"))
            {
                var Qtarget = TargetSelector.GetTarget(Q.Range, DamageType.Magical);
                if (Qtarget.IsValidTarget(Q.Range))
                {
                    var prediction = Q.GetPrediction(Qtarget);
                    if (Qtarget.Health < DamageLibrary.GetSpellDamage(Player, Qtarget, SpellSlot.Q) && prediction.HitChance >= HitChance.High)
                    {
                        var Speed = GetDynamicQSpeed(ObjectManager.Player.Distance(prediction.CastPosition));
                        if (Speed > 0f)
                        {
                            Q.Cast(prediction.CastPosition);
                        }
                    }
                }
            }

            if (E.IsReady() && GetValue(KillStealM, "Killsteal E"))
            {
                var Etarget = TargetSelector.GetTarget(E.Range, DamageType.Magical);
                if (Etarget.IsValidTarget(E.Range))
                {
                    var prediction = E.GetPrediction(Etarget);
                    if (Etarget.Health < DamageLibrary.GetSpellDamage(Player, Etarget, SpellSlot.E) && prediction.HitChance >= HitChance.High)
                    {
                        E.Cast(prediction.CastPosition);
                    }
                }
            }
        }
Exemple #4
0
        //---------------------------------GetComboDamage(Obj_AI_Hero Target)-----------------------------------

        static float GetComboDamage(AIHeroClient Target)
        {
            if (Target != null)
            {
                float ComboDamage = new float();

                ComboDamage  = Q.IsReady() ? SpellDamage(Target, SpellSlot.Q) : 0;
                ComboDamage  = W.IsReady() ? Player.GetAutoAttackDamage(Target) : 0;
                ComboDamage += E.IsReady() ? SpellDamage(Target, SpellSlot.E) * 3 : 0;
                ComboDamage += Player.GetAutoAttackDamage(Target) * 2;
                ComboDamage += Bilgewater.IsReady() ? DamageLibrary.GetItemDamage(Player, Target, ItemId.Bilgewater_Cutlass) : 0;
                ComboDamage += BOTRK.IsReady() ? DamageLibrary.GetItemDamage(Player, Target, ItemId.Blade_of_the_Ruined_King) : 0;
                ComboDamage += Hydra.IsReady() ? DamageLibrary.GetItemDamage(Player, Target, ItemId.Ravenous_Hydra_Melee_Only) : 0;
                ComboDamage += Hextech.IsReady() ? DamageLibrary.GetItemDamage(Player, Target, ItemId.Hextech_Gunblade) : 0;

                if (Ignite != null)
                {
                    ComboDamage += Convert.ToSingle(Ignite.IsReady() ? DamageLibrary.GetSummonerSpellDamage(Player, Target, DamageLibrary.SummonerSpells.Ignite) : 0);
                }
                if (Smite != null)
                {
                    ComboDamage += Convert.ToSingle(Smite.IsReady() && Smite.Name.Contains("gank") ? DamageLibrary.GetSummonerSpellDamage(Player, Target, DamageLibrary.SummonerSpells.Smite) : 0);
                }

                return(ComboDamage);
            }
            return(0);
        }
Exemple #5
0
        private static void Obj_AI_Base_OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
        {
            if (args.SData == null)
            {
                return;
            }
            var targed = args.Target as Obj_AI_Base;

            if (targed != null)
            {
                if (targed.Type == GameObjectType.AIHeroClient && targed.Team != sender.Team && sender.IsMelee)
                {
                    IncomingDamageList.Add(new UnitIncomingDamage
                    {
                        Damage          = DamageLibrary.GetSpellDamage((AIHeroClient)sender, (AIHeroClient)targed, Extensions.GetSpellSlotFromName((AIHeroClient)args.Target, args.SData.Name)),
                        TargetNetworkId = args.Target.NetworkId,
                        Time            = Game.Time,
                        Skillshot       = false
                    });
                }
                if (sender.Team != ObjectManager.Player.Team || !sender.IsValidTarget(3000) ||
                    !EloBuddy.SDK.Constants.AutoAttacks.IsAutoAttack(args.SData.Name) || !(args.Target is Obj_AI_Base))
                {
                    return;
                }
                var target = (Obj_AI_Base)args.Target;
                ActiveAttacks.Remove(sender.NetworkId);

                var attackData = new PredictedDamage(
                    sender,
                    target,
                    GameTimeTickCount - Game.Ping / 2,
                    sender.AttackCastDelay * 1000,
                    sender.AttackDelay * 1000 - (sender is Obj_AI_Turret ? 70 : 0),
                    sender.IsMelee ? int.MaxValue : (int)args.SData.MissileSpeed,
                    sender.GetAutoAttackDamage(target, true));
                ActiveAttacks.Add(sender.NetworkId, attackData);
            }
            else
            {
                foreach (
                    var champion in
                    ChampionList.Where(
                        champion =>
                        !champion.IsDead && champion.IsVisible && champion.Team != sender.Team &&
                        champion.Distance(sender) < 2000))
                {
                    if (CanHitSkillShot(champion, args))
                    {
                        IncomingDamageList.Add(new UnitIncomingDamage
                        {
                            Damage          = DamageLibrary.GetSpellDamage((AIHeroClient)sender, (AIHeroClient)targed, Extensions.GetSpellSlotFromName((AIHeroClient)champion, args.SData.Name)),
                            TargetNetworkId = champion.NetworkId,
                            Time            = Game.Time,
                            Skillshot       = true
                        });
                    }
                }
            }
        }
Exemple #6
0
 public SpellData(SpellSlot spellSlot, bool checkIfActive, DamageLibrary.SpellStages spellStage, Color c)
 {
     _onlyIfActive = checkIfActive;
     _spellSlot = spellSlot;
     _stage = spellStage;
     Color = c;
 }
Exemple #7
0
        public void ks(bool Q, bool W, bool E, bool Smite)
        {
            var target = TargetSelector.GetTarget(KindredSpells.privW.Range, DamageType.Physical);

            if (target == null)
            {
                return;
            }
            if (Q && KindredSpells.privQ.IsReady())
            {
                if (KindredSpells.privQ.IsInRange(target) && DamageLibrary.GetSpellDamage(Player.Instance, target, SpellSlot.Q) >= target.Health)
                {
                    KindredSpells.privQ.Cast(target);
                }
            }
            if (W && KindredSpells.privW.IsReady())
            {
                if (KindredSpells.privW.IsInRange(target) && DamageLibrary.GetSpellDamage(Player.Instance, target, SpellSlot.W) >= target.Health)
                {
                    KindredSpells.privW.Cast(target);
                }
            }
            if (E && KindredSpells.privE.IsReady())
            {
                if (KindredSpells.privE.IsInRange(target) && DamageLibrary.GetSpellDamage(Player.Instance, target, SpellSlot.E) >= target.Health)
                {
                    KindredSpells.privE.Cast(target);
                }
            }
            if (Smite && KindredSpells.smite != null && KindredSpells.smite.IsReady() && DamageLibrary.GetSpellDamage(Player.Instance, target, KindredSpells.smite.Slot) >= target.Health)
            {
                KindredSpells.smite.Cast(target);
            }
        }
        public static float DamageToHero(AIHeroClient unit)
        {
            float dmg = 0;

            if (unit.IsEnemy && !unit.IsZombie && !unit.IsDead && unit.IsValid && !unit.IsInvulnerable)
            {
                if (ignite != null && ignite.IsReady())
                {
                    dmg += DamageLibrary.GetSummonerSpellDamage(Player.Instance, unit, DamageLibrary.SummonerSpells.Ignite);
                }
                if (Q.IsReady())
                {
                    dmg += DamageLibrary.GetSpellDamage(Player.Instance, unit, SpellSlot.Q) * 2;
                }
                if (E.IsReady() && (Q.IsReady() || R.IsReady()))
                {
                    dmg += DamageLibrary.GetSpellDamage(Player.Instance, unit, SpellSlot.E);
                }
                if (E.IsReady())
                {
                    dmg += DamageLibrary.GetSpellDamage(Player.Instance, unit, SpellSlot.E);
                }
                if (R.IsReady())
                {
                    dmg += DamageLibrary.GetSpellDamage(Player.Instance, unit, SpellSlot.R);
                }
            }
            return(dmg);
        }
Exemple #9
0
        public static void ignite()
        {
            var autoIgnite = TargetSelector.GetTarget(NautibosActivator.ignite.Range, DamageType.True);

            if (autoIgnite != null && autoIgnite.Health <= DamageLibrary.GetSpellDamage(Player.Instance, autoIgnite, NautibosActivator.ignite.Slot) || autoIgnite != null && autoIgnite.HealthPercent <= NautibosMenu.spellsHealignite())
            {
                NautibosActivator.ignite.Cast(autoIgnite);
            }
        }
Exemple #10
0
        public static void ignite()
        {
            var autoIgnite = TargetSelector.GetTarget(MyActivator.ignite.Range, DamageType.True);

            if (autoIgnite != null && autoIgnite.Health <= DamageLibrary.GetSpellDamage(Player, autoIgnite, MyActivator.ignite.Slot) || autoIgnite != null && autoIgnite.HealthPercent <= ThreshMenu.spellsHealignite())
            {
                MyActivator.ignite.Cast(autoIgnite);
            }
        }
Exemple #11
0
        public void ignite()
        {
            var autoIgnite = TargetSelector.GetTarget(KindredSpells.ignite.Range, DamageType.True);

            if (autoIgnite != null && autoIgnite.Health <= DamageLibrary.GetSpellDamage(Player.Instance, autoIgnite, KindredSpells.ignite.Slot) || autoIgnite != null && autoIgnite.HealthPercent <= KindredMenu.spellsHealignite())
            {
                KindredSpells.ignite.Cast(autoIgnite);
            }
        }
Exemple #12
0
        private static float GetComboDamage(AIHeroClient Enemy)
        {
            float Damage = 0;

            if (Q.IsReady())
            {
                Damage += (Player.GetSpellDamage(Enemy, SpellSlot.Q) * 2);
            }

            if (W.IsReady())
            {
                Damage += (Player.GetSpellDamage(Enemy, SpellSlot.W));
            }

            if (E.IsReady())
            {
                Damage += (Player.GetSpellDamage(Enemy, SpellSlot.E));
            }

            if (R.IsReady())
            {
                Damage += (Player.GetSpellDamage(Enemy, SpellSlot.R) * GetRCount());
            }

            if (Ignite != null && Ignite.IsReady())
            {
                Damage += DamageLibrary.GetSummonerSpellDamage(Player, Enemy, DamageLibrary.SummonerSpells.Ignite);
            }


            if (Player.HasBuff("itemmagicshankcharge"))
            {
                if (Player.GetBuff("itemmagicshankcharge").Count == 100)
                {
                    Damage += Player.CalculateDamageOnUnit(Enemy, DamageType.Magical, 100f + 0.1f * Player.FlatMagicDamageMod);
                }
            }

            if (Sheen.IsReady() && Sheen.IsOwned())
            {
                Damage += Player.GetAutoAttackDamage(Enemy) + EloBuddy.Player.Instance.BaseAttackDamage * 2;
            }

            if (Lich_Bane.IsReady() && Lich_Bane.IsOwned())
            {
                Damage += Player.GetAutoAttackDamage(Enemy) * 0.75f;
                Damage += Player.CalculateDamageOnUnit(Enemy, DamageType.Magical, Player.FlatMagicDamageMod * 0.5f);
            }

            Damage += Player.GetAutoAttackDamage(Enemy, true);
            Damage -= Enemy.AllShield;

            return(Damage);
        }
Exemple #13
0
        private static void smite()
        {
            var unit = ObjectManager.Get <Obj_AI_Base>().Where(a => MyMobs.MinionNames.Contains(a.BaseSkinName) &&
                                                               DamageLibrary.GetSummonerSpellDamage(Player, a, DamageLibrary.SummonerSpells.Smite) >= a.Health &&
                                                               FapturneMenu.MyActivator[a.BaseSkinName].Cast <CheckBox>().CurrentValue &&
                                                               MyActivator.smite.IsInRange(a)).OrderByDescending(a => a.MaxHealth).FirstOrDefault();

            if (unit != null && MyActivator.smite.IsReady())
            {
                MyActivator.smite.Cast(unit);
            }
        }
Exemple #14
0
        private static float damage(AIHeroClient t)
        {
            float dmg = 0;

            if (E.IsReady())
            {
                dmg += DamageLibrary.GetSpellDamage(Player.Instance, t, SpellSlot.E);
            }
            dmg += DamageLibrary.GetSpellDamage(Player.Instance, t, SpellSlot.Q);
            dmg += Player.Instance.GetAutoAttackDamage(t);
            return(dmg);
        }
Exemple #15
0
        private static void Drawing_OnDraw(EventArgs args)
        {
            if (!Program.DrawMenu["draw.Damage"].Cast <CheckBox>().CurrentValue)
            {
                return;
            }

            foreach (var aiHeroClient in EntityManager.Heroes.Enemies)
            {
                if (!aiHeroClient.IsHPBarRendered)
                {
                    continue;
                }

                var pos = new Vector2(
                    aiHeroClient.HPBarPosition.X + XOffset,
                    aiHeroClient.HPBarPosition.Y + YOffset);

                var fullbar = (BarLength) * (aiHeroClient.HealthPercent / 100);

                var drawQ = Program.DrawMenu["draw.Q"].Cast <CheckBox>().CurrentValue;

                var drawW = Program.DrawMenu["draw.W"].Cast <CheckBox>().CurrentValue;

                var drawE = Program.DrawMenu["draw.E"].Cast <CheckBox>().CurrentValue;

                var drawR = Program.DrawMenu["draw.R"].Cast <CheckBox>().CurrentValue;

                var damage = (BarLength)
                             * ((DamageLibrary.CalculateDamage(aiHeroClient, drawQ, drawW, drawE, drawR)
                                 / aiHeroClient.MaxHealth) > 1
                                    ? 1
                                    : (DamageLibrary.CalculateDamage(
                                           aiHeroClient,
                                           drawQ,
                                           drawW,
                                           drawE,
                                           drawR) / aiHeroClient.MaxHealth));

                Line.DrawLine(
                    Color.FromArgb(100, Color.Black),
                    9f,
                    new Vector2(pos.X, pos.Y),
                    new Vector2(pos.X + (damage > fullbar ? fullbar : damage), pos.Y));

                Line.DrawLine(
                    Color.Black,
                    3,
                    new Vector2(pos.X + (damage > fullbar ? fullbar : damage), pos.Y),
                    new Vector2(pos.X + (damage > fullbar ? fullbar : damage), pos.Y));
            }
        }
Exemple #16
0
 private void ks()
 {
     foreach (var enemy in EntityManager.Heroes.Enemies.Where(target => target.HealthPercent > 0 && !target.IsInvulnerable && target.IsEnemy && !target.IsPhysicalImmune && !target.IsZombie))
     {
         if (enemy.IsInRange(Player.Instance, E.Range) && Config.ESettings.ksE && E.IsReady())
         {
             if (enemy.Health < DamageLibrary.GetSpellDamage(Player.Instance, enemy, SpellSlot.E))
             {
                 E.Cast(enemy);
             }
         }
     }
 }
Exemple #17
0
 private void ks()
 {
     foreach (var enemy in EntityManager.Heroes.Enemies.Where(target => target.HealthPercent > 0 && !target.IsInvulnerable && target.IsEnemy && !target.IsPhysicalImmune && !target.IsZombie))
     {
         if (enemy.IsInRange(Player.Instance, Q.Range) && Settings.ksQ && Q.IsReady())
         {
             if (enemy.Health < DamageLibrary.GetSpellDamage(Player.Instance, enemy, SpellSlot.Q))
             {
                 Q.Cast(enemy);
                 return;
             }
         }
         else if (enemy.IsInRange(Player.Instance, Q1.Range) && Settings.ksQ && Q.IsReady())
         {
             if (enemy.Health < DamageLibrary.GetSpellDamage(Player.Instance, enemy, SpellSlot.Q))
             {
                 SpellManager.castQ1(enemy);
             }
         }
         else if (enemy.IsInRange(Player.Instance, Q1.Range + E.Range) && Settings.ksQ && Settings.ksE && E.IsReady() && Q.IsReady())
         {
             if (enemy.Health < DamageLibrary.GetSpellDamage(Player.Instance, enemy, SpellSlot.Q))
             {
                 SpellManager.dashToQ1(enemy);
             }
         }
         else if (enemy.IsInRange(Player.Instance, W.Range) && Settings.ksW && W.IsReady())
         {
             if (enemy.Health < DamageLibrary.GetSpellDamage(Player.Instance, enemy, SpellSlot.W))
             {
                 if (W.GetPrediction(enemy).GetCollisionObjects <Obj_AI_Base>()[0].NetworkId == enemy.NetworkId)
                 {
                     W.Cast(W.GetPrediction(enemy).CastPosition);
                 }
             }
         }
         else if (enemy.IsInRange(Player.Instance, R.Range) && Settings.ksR && R.IsReady() && Game.Time - Program.RCast > 3)
         {
             if (enemy.Health < DamageLibrary.GetSpellDamage(Player.Instance, enemy, SpellSlot.R) * 0.3 && R.GetPrediction(enemy).CollisionObjects.Count() > 0)
             {
                 Program.RCastToPosition = SpellManager.R.GetPrediction((AIHeroClient)enemy).CastPosition;
                 SpellManager.R.Cast(Program.RCastToPosition);
                 Program.RTarget = enemy;
             }
         }
     }
 }
Exemple #18
0
        /// <summary>
        ///     Initalizes the library.
        /// </summary>
        public static void Load()
        {
            if (alreadyLoaded)
            {
                return;
            }

            SetupLogging();
            LogUnhandledExceptions();

            DamageLibrary.LoadDamages();
            GlobalKeys.Load();
            TargetSelector.TargetSelector.Load();

            AimtecMenu.Instance.Attach();

            Logger.Info($"Aimtec.SDK version {Assembly.GetExecutingAssembly().GetName().Version} loaded.");

            alreadyLoaded = true;
        }
Exemple #19
0
        //-------------------------------------------GetComboDamage()----------------------------------------------

        static float GetComboDamage()
        {
            if (Target != null)
            {
                float ComboDamage = new float();

                ComboDamage  = Q.IsReady() ? SpellDamage(Target, SpellSlot.Q) : 0;
                ComboDamage += W.IsReady() ? SpellDamage(Target, SpellSlot.W) : 0;
                ComboDamage += R.IsReady() ? SpellDamage(Target, SpellSlot.R) : 0;
                ComboDamage += Player.GetAutoAttackDamage(Target) * 2;

                if (Ignite != null)
                {
                    ComboDamage += Convert.ToSingle(Ignite.IsReady() ? DamageLibrary.GetSummonerSpellDamage(Player, Target, DamageLibrary.SummonerSpells.Ignite) : 0);
                }

                return(ComboDamage);
            }
            return(0);
        }
Exemple #20
0
 private bool castBOTRK()
 {
     if (Player.Instance.IsDead || !Player.Instance.CanCast || Player.Instance.IsInvulnerable || !Player.Instance.IsTargetable || Player.Instance.IsZombie || Player.Instance.IsInShopRange())
     {
         return(false);
     }
     InventorySlot[] inv = Player.Instance.InventoryItems;
     foreach (var item in inv)
     {
         if ((item.Id == ItemId.Blade_of_the_Ruined_King) && item.CanUseItem())
         {
             var target = TargetSelector.GetTarget(550, DamageType.Physical);
             if (target != null && Player.Instance.Health <= DamageLibrary.GetItemDamage(Player.Instance, target, ItemId.Blade_of_the_Ruined_King))
             {
                 return(item.Cast(target));
             }
         }
     }
     return(false);
 }
Exemple #21
0
 static void Obj_AI_Base_OnDoCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
 {
     if (args.Target != null && args.SData != null)
     {
         if (args.Target.Type == GameObjectType.obj_AI_Base && !sender.IsMelee &&
             args.Target.Team != sender.Team)
         {
             IncomingDamageList.Add(new UnitIncomingDamage
             {
                 Damage          = DamageLibrary.GetSpellDamage((AIHeroClient)sender, (AIHeroClient)args.Target, Extensions.GetSpellSlotFromName((AIHeroClient)args.Target, args.SData.Name)),
                 TargetNetworkId = args.Target.NetworkId,
                 Time            = Game.Time,
                 Skillshot       = false
             });
         }
     }
     if (ActiveAttacks.ContainsKey(sender.NetworkId) && sender.IsMelee)
     {
         ActiveAttacks[sender.NetworkId].Processed = true;
     }
 }
Exemple #22
0
 private void ks()
 {
     foreach (var enemy in EntityManager.Heroes.Enemies.Where(target => target.IsVisible && target.HealthPercent > 0 && !target.IsInvulnerable && target.IsEnemy && !target.IsPhysicalImmune && !target.IsZombie))
     {
         if (enemy.IsInRange(Player.Instance, W.Range) && Settings.ksW && W.IsReady())
         {
             if (Prediction.Health.GetPrediction(enemy, W.CastDelay) < DamageLibrary.GetSpellDamage(Player.Instance, enemy, SpellSlot.W))
             {
                 W.Cast(W.GetPrediction(enemy).CastPosition);
                 return;
             }
         }
         if (enemy.IsInRange(Player.Instance, R.Range) && Settings.ksR && R.IsReady())
         {
             Console.WriteLine("dmg" + SpellManager.getRDamage(enemy));
             if (enemy.Health < SpellManager.getRDamage(enemy) && Settings.ksR && R.IsReady() && SpellManager.RoverkillCheck(enemy))
             {
                 R.Cast(R.GetPrediction(enemy).CastPosition);
             }
         }
     }
 }
Exemple #23
0
        void Killsteal()
        {
            var ksQ      = _miscMenu["ksQ"].Cast <CheckBox>().CurrentValue;
            var ksIgnite = _miscMenu["ksIgnite"].Cast <CheckBox>().CurrentValue;

            foreach (
                var enemy in
                EntityManager.Heroes.Enemies.Where(
                    e => e.Distance(_Player) <= SpellManager.Q.Range && e.IsValidTarget() && !e.IsInvulnerable))

            {
                if (ksQ && SpellManager.Q.IsReady() &&
                    Qdamage(enemy) >= enemy.Health &&
                    enemy.Distance(_Player) <= SpellManager.Q.Range)
                {
                    SpellManager.Q.Cast(enemy);
                    Chat.Print("<font color=\"#fffffff\" > Use Q Free Kill</font>");
                }
                if (ksIgnite)
                {
                    var enemyignite =
                        EntityManager.Heroes.Enemies.Where(
                            t =>
                            t.IsEnemy && !t.IsZombie && !t.IsDead && t.IsValid && !t.IsInvulnerable &&
                            t.IsInRange(Player.Instance.Position, SpellManager.Ignite.Range) &&
                            DamageLibrary.GetSummonerSpellDamage(Player.Instance, t,
                                                                 DamageLibrary.SummonerSpells.Ignite) > t.Health).FirstOrDefault();
                    if (enemyignite != null)
                    {
                        if (SpellManager.Ignite.IsReady())
                        {
                            SpellManager.Ignite.Cast(enemyignite);
                        }
                    }
                }
            }
        }
Exemple #24
0
        //---------------------------------------------Game_OnTick------------------------------------------------

        static void Game_OnTick(EventArgs args)
        {
            if (Player.IsDead)
            {
                return;
            }

            if (Player.CountEnemiesInRange(1000) > 0)
            {
                Modes.SaveAlly();
            }

            if (Zhonya.IsReady() && Menu["UseZhonya?"].Cast <CheckBox>().CurrentValue&& Player.HealthPercent <= Menu["ZhonyaHealth"].Cast <Slider>().CurrentValue&& EntityManager.Heroes.Enemies.Any(it => it.Distance(Player) <= it.GetAutoAttackRange() && it.IsValidTarget()))
            {
                if (!Menu["ZhonyaUlt"].Cast <CheckBox>().CurrentValue)
                {
                    Zhonya.Cast();
                }
                else if (!R.IsReady())
                {
                    Zhonya.Cast();
                }
            }

            if (EntityManager.Heroes.Enemies.Any(it => it.IsValidTarget() && !CanMove(it)))
            {
                Modes.Immobile();
            }

            Target = TargetSelector.GetTarget(1100, DamageType.Magical);

            //-----------------------------------------------KS----------------------------------------

            if (Menu["KS"].Cast <CheckBox>().CurrentValue&& EntityManager.Heroes.Enemies.Any(it => Q.IsInRange(it)))
            {
                Modes.KS();
            }

            //-----------------------------------------------Auto Ignite----------------------------------------

            if (Menu["Auto Ignite"].Cast <CheckBox>().CurrentValue&& Ignite != null)
            {
                if (Ignite.IsReady())
                {
                    var IgniteEnemy = EntityManager.Heroes.Enemies.FirstOrDefault(it => DamageLibrary.GetSummonerSpellDamage(Player, it, DamageLibrary.SummonerSpells.Ignite) >= it.Health - 30);

                    if (IgniteEnemy != null)
                    {
                        if ((IgniteEnemy.Distance(Player) >= 300 || Player.HealthPercent <= 40))
                        {
                            Ignite.Cast(IgniteEnemy);
                        }
                    }
                }
            }

            //--------------------------------------------Orbwalker Modes-------------------------------------------

            if (Target != null)
            {
                if (Target.IsValidTarget())
                {
                    Modes.UpdateVariables();

                    //---------------------------------------------------Combo--------------------------------------------

                    if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
                    {
                        Modes.Combo();
                    }

                    //---------------------------------------------------Mixed--------------------------------------------

                    if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass) && Player.ManaPercent >= Menu["Harass, Mana %"].Cast <Slider>().CurrentValue)
                    {
                        Modes.Harass();
                    }
                }
                else
                {
                    Target = null;
                }
            }

            //---------------------------------------------------LaneClear--------------------------------------------

            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) && W.IsReady() && Menu["UseWLaneClear"].Cast <CheckBox>().CurrentValue&& Player.ManaPercent >= Menu["LaneClear, Mana %"].Cast <Slider>().CurrentValue)
            {
                Modes.LaneClear();
            }

            return;
        }
Exemple #25
0
        public static void UseItems(List <Obj_AI_Base> enemies, bool ks)
        {
            #region Item Initialization
            InventorySlot QSS = (MenuHandler.GetCheckboxValue(MenuHandler.Items, "Use Quick Silver Sash")) ? Vi.GetItem(ItemId.Quicksilver_Sash) : null,
                          MercurialsScimitar = (MenuHandler.GetCheckboxValue(MenuHandler.Items, "Use Mercurials Scimitar")) ? Vi.GetItem(ItemId.Mercurial_Scimitar) : null,
                          RavenousHydra      = (MenuHandler.GetCheckboxValue(MenuHandler.Items, "Use Ravenous Hydra")) ? Vi.GetItem(ItemId.Ravenous_Hydra) : null,
                          TitanicHydra       = (MenuHandler.GetCheckboxValue(MenuHandler.Items, "Use Titanic Hydra")) ? Vi.GetItem(ItemId.Titanic_Hydra) : null,
                          Tiamat             = (MenuHandler.GetCheckboxValue(MenuHandler.Items, "Use Tiamat")) ? Vi.GetItem(ItemId.Tiamat) : null,
                          Youmuus            = (MenuHandler.GetCheckboxValue(MenuHandler.Items, "Use Youmuus")) ? Vi.GetItem(ItemId.Youmuus_Ghostblade) : null,
                          BOTRK             = (MenuHandler.GetCheckboxValue(MenuHandler.Items, "Use Blade of the Ruined King")) ? Vi.GetItem(ItemId.Blade_of_the_Ruined_King) : null,
                          BilgewaterCutlass = (MenuHandler.GetCheckboxValue(MenuHandler.Items, "Use Bilgewater Cutlass")) ? Vi.GetItem(ItemId.Bilgewater_Cutlass) : null,
                          HextechGunblade   = (MenuHandler.GetCheckboxValue(MenuHandler.Items, "Use Hextech Gunblade")) ? Vi.GetItem(ItemId.Hextech_Gunblade) : null;
            #endregion

            #region QSS
            if (!hasDoneActionThisTick &&
                QSS.MeetsCriteria() &&
                Vi.CanCancleCC())
            {
                hasDoneActionThisTick = QSS.Cast();
            }
            #endregion

            #region Mercurials Scimitar
            if (!hasDoneActionThisTick &&
                MercurialsScimitar.MeetsCriteria() &&
                Vi.CanCancleCC())
            {
                hasDoneActionThisTick = MercurialsScimitar.Cast();
            }
            #endregion

            #region Ravenous Hydra
            if (!hasDoneActionThisTick &&
                RavenousHydra.MeetsCriteria() &&
                Vi.IsAutoCanceling(enemies) &&
                enemies.Where(a => a.IsInRange(Vi, 400)).FirstOrDefault() != null &&
                (!ks || enemies.Where(a => a.MeetsCriteria() && a.Health <= DamageLibrary.GetItemDamage(Vi, a, ItemId.Ravenous_Hydra)).FirstOrDefault() != null))
            {
                hasDoneActionThisTick = RavenousHydra.Cast();
            }
            #endregion

            #region Titanic Hydra
            if (!hasDoneActionThisTick &&
                TitanicHydra.MeetsCriteria() &&
                enemies.Where(a => a.IsInRange(Vi, Vi.GetAutoAttackRange())).FirstOrDefault() != null &&
                Vi.IsAutoCanceling(enemies) &&
                (!ks || enemies.Where(a => a.MeetsCriteria() && a.Health <= DamageLibrary.GetItemDamage(Vi, a, ItemId.Titanic_Hydra)).FirstOrDefault() != null))
            {
                hasDoneActionThisTick = TitanicHydra.Cast();
            }
            #endregion

            #region Tiamat
            if (!hasDoneActionThisTick &&
                Tiamat.MeetsCriteria() &&
                Vi.IsAutoCanceling(enemies) &&
                enemies.Where(a => a.IsInRange(Vi, 400)).FirstOrDefault() != null &&
                (!ks || enemies.Where(a => a.MeetsCriteria() && a.Health <= DamageLibrary.GetItemDamage(Vi, a, ItemId.Tiamat)).FirstOrDefault() != null))
            {
                hasDoneActionThisTick = Tiamat.Cast();
            }
            #endregion

            #region Youmuus
            if (!hasDoneActionThisTick &&
                Youmuus.MeetsCriteria() &&
                Vi.CountEnemyHeroesInRangeWithPrediction((int)Vi.GetAutoAttackRange(), 0) >= 1)
            {
                hasDoneActionThisTick = Youmuus.Cast();
            }
            #endregion

            //all targeted spells that must be used on champions must be called after this
            enemies = enemies.Where(a => a.Type == GameObjectType.AIHeroClient).ToList();
            var target = enemies.OrderBy(a => a.Health).FirstOrDefault();

            #region Hextech Gunblade
            if (!hasDoneActionThisTick &&
                target != null &&
                HextechGunblade.MeetsCriteria() &&
                enemies.Where(a => a.IsInRange(Vi, 700)).FirstOrDefault() != null &&
                (!ks || enemies.Where(a => a.MeetsCriteria() && a.Health <= DamageLibrary.GetItemDamage(Vi, a, ItemId.Hextech_Gunblade)).FirstOrDefault() != null))
            {
                hasDoneActionThisTick = HextechGunblade.Cast(target);
            }
            #endregion

            #region BOTRK
            if (!hasDoneActionThisTick &&
                target != null &&
                BOTRK.MeetsCriteria() &&
                enemies.Where(a => a.IsInRange(Vi, 550)).FirstOrDefault() != null &&
                (!ks || enemies.Where(a => a.MeetsCriteria() && a.Health <= DamageLibrary.GetItemDamage(Vi, a, ItemId.Blade_of_the_Ruined_King)).FirstOrDefault() != null))
            {
                hasDoneActionThisTick = BOTRK.Cast(target);
            }
            #endregion

            #region Bilgewater Cutlass
            if (!hasDoneActionThisTick &&
                target != null &&
                BilgewaterCutlass.MeetsCriteria() &&
                enemies.Where(a => a.IsInRange(Vi, 550)).FirstOrDefault() != null &&
                (!ks || enemies.Where(a => a.MeetsCriteria() && a.Health <= DamageLibrary.GetItemDamage(Vi, a, ItemId.Bilgewater_Cutlass)).FirstOrDefault() != null))
            {
                hasDoneActionThisTick = BilgewaterCutlass.Cast(target);
            }
            #endregion
        }
Exemple #26
0
 private void ksWithW()
 {
     if (Settings.ksW && W.IsReady())
     {
         foreach (var e in EntityManager.Heroes.Enemies.Where(e => e.IsInRange(Player.Instance, W.Range) && e.Health > 0 && !e.IsInvulnerable && e.IsTargetable && !e.IsZombie && e.Health < DamageLibrary.GetSpellDamage(Player.Instance, e, SpellSlot.W)))
         {
             if (W.GetPrediction(e).HitChance >= HitChance.Medium)
             {
                 W.Cast(W.GetPrediction(e).CastPosition);
                 return;
             }
         }
     }
 }
Exemple #27
0
 public static float GetDamage(Obj_AI_Base random, DamageLibrary.SummonerSpells offensivesum)
 {
     return Player.Instance.GetSummonerSpellDamage(random, offensivesum);
 }
Exemple #28
0
        public override void Execute()
        {
            if (Config.Drawings.ShowKillable)
            {
                DamageIndicator.DamageToUnit = GetComboDamage;
            }

            if (Player.Instance.GetSpellSlotFromName("summonerdot") == SpellSlot.Summoner1 ||
                Player.Instance.GetSpellSlotFromName("summonerdot") == SpellSlot.Summoner2)
            {
                if (ObjectManager.Player.IsDead || !IG.IsReady() || !Settings.UseIgnite)
                {
                    return;
                }
                if (ObjectManager.Get <AIHeroClient>().Where(
                        h =>
                        h.IsValidTarget(IG.Range) &&
                        h.Health <
                        ObjectManager.Player.GetSummonerSpellDamage(h, DamageLibrary.SummonerSpells.Ignite)).Count() <=
                    0)
                {
                    return;
                }

                var target = ObjectManager.Get <AIHeroClient>()
                             .Where(
                    h =>
                    h.IsValidTarget(IG.Range) &&
                    h.Health <
                    ObjectManager.Player.GetSummonerSpellDamage(h, DamageLibrary.SummonerSpells.Ignite));
                if (Config.Modes.Perma.igniteMode.Equals("0"))
                {
                    IG.Cast(target.First());
                }
                else
                {
                    if (target.First().Distance(Player.Instance) > 450 || (Player.Instance.HealthPercent < 25))
                    {
                        IG.Cast(target.First());
                    }
                }
            }

            if (Settings.UseW)
            {
                var target = TargetSelector.GetTarget(W.Range, DamageType.Magical);

                if (target != null && target.IsEnemy && target.Distance(Player.Instance.Position) > Player.Instance.AttackRange && (DamageLibrary.GetSpellDamage(Player.Instance, target, SpellSlot.W)) > target.Health)
                {
                    W.Cast(target.Position);
                }
            }
        }
Exemple #29
0
        public static float ComboDamage(this AIHeroClient enemy)
        {
            float qdmg    = Program.Q.IsReady() ? Calculations.Q(enemy) : 0;
            float edmg    = Program.E.IsReady() ? Calculations.E(enemy) : 0;
            float rdmg    = Program.R.IsReady() ? Calculations.R(enemy) : 0;
            float autoDmg = Player.Instance.GetAutoAttackDamage(enemy) * MenuHandler.Drawing.GetSliderValue("Autos in Combo");
            float tiamat  = Player.Instance.GetItem(ItemId.Tiamat) != null && Player.Instance.GetItem(ItemId.Tiamat).CanUseItem() ? DamageLibrary.GetItemDamage(Player.Instance, enemy, ItemId.Tiamat) : 0;
            float thydra  = Player.Instance.GetItem(ItemId.Titanic_Hydra) != null && Player.Instance.GetItem(ItemId.Titanic_Hydra).CanUseItem() ? DamageLibrary.GetItemDamage(Player.Instance, enemy, ItemId.Titanic_Hydra) : 0;
            float rhydra  = Player.Instance.GetItem(ItemId.Ravenous_Hydra) != null && Player.Instance.GetItem(ItemId.Ravenous_Hydra).CanUseItem() ? DamageLibrary.GetItemDamage(Player.Instance, enemy, ItemId.Ravenous_Hydra) : 0;

            float comboDamage = qdmg + edmg + rdmg + autoDmg + tiamat + thydra + rhydra;

            return(comboDamage);
        }
Exemple #30
0
            //-------------------------------------------------KS--------------------------------------------------

            public static void KS()
            {
                if (Q.IsReady())
                {
                    var bye = EntityManager.Heroes.Enemies.FirstOrDefault(enemy => enemy.IsValidTarget(Q.Range) && SpellDamage(enemy, SpellSlot.Q) >= enemy.Health);
                    if (bye != null)
                    {
                        Q.Cast(bye); return;
                    }
                }

                if (Smite != null)
                {
                    if (Smite.Name.Contains("gank") && Smite.IsReady())
                    {
                        var bye = EntityManager.Heroes.Enemies.FirstOrDefault(enemy => enemy.IsValidTarget(Smite.Range) && DamageLibrary.GetSummonerSpellDamage(Player, enemy, DamageLibrary.SummonerSpells.Smite) >= enemy.Health);
                        if (bye != null)
                        {
                            Smite.Cast(bye); return;
                        }
                    }
                }
            }
Exemple #31
0
        //-------------------------------------------Game_OnTick----------------------------------------------

        static void Game_OnTick(EventArgs args)
        {
            if (Player.IsDead)
            {
                return;
            }

            Target = TargetSelector.GetTarget(900, DamageType.Physical);

            //---------------------------------------------Smite Usage---------------------------------------------

            if (Smite != null)
            {
                if (Smite.IsReady() && Menu["Use Smite?"].Cast <CheckBox>().CurrentValue)
                {
                    Obj_AI_Minion Mob = EntityManager.MinionsAndMonsters.GetJungleMonsters(Player.Position, Smite.Range).FirstOrDefault();

                    if (Mob != default(Obj_AI_Minion))
                    {
                        bool kill = GetSmiteDamage() >= Mob.Health;

                        if (kill)
                        {
                            if ((Mob.Name.Contains("SRU_Dragon") || Mob.Name.Contains("SRU_Baron")))
                            {
                                Smite.Cast(Mob);
                            }
                            else if (Mob.Name.StartsWith("SRU_Red") && Menu["Red?"].Cast <CheckBox>().CurrentValue)
                            {
                                Smite.Cast(Mob);
                            }
                            else if (Mob.Name.StartsWith("SRU_Blue") && Menu["Blue?"].Cast <CheckBox>().CurrentValue)
                            {
                                Smite.Cast(Mob);
                            }
                            else if (Mob.Name.StartsWith("SRU_Murkwolf") && Menu["Wolf?"].Cast <CheckBox>().CurrentValue)
                            {
                                Smite.Cast(Mob);
                            }
                            else if (Mob.Name.StartsWith("SRU_Krug") && Menu["Krug?"].Cast <CheckBox>().CurrentValue)
                            {
                                Smite.Cast(Mob);
                            }
                            else if (Mob.Name.StartsWith("SRU_Gromp") && Menu["Gromp?"].Cast <CheckBox>().CurrentValue)
                            {
                                Smite.Cast(Mob);
                            }
                            else if (Mob.Name.StartsWith("SRU_Razorbeak") && Menu["Raptor?"].Cast <CheckBox>().CurrentValue)
                            {
                                Smite.Cast(Mob);
                            }
                        }
                    }
                }
            }

            //------------------------------------------------KS------------------------------------------------

            if (Menu["KS"].Cast <CheckBox>().CurrentValue&& EntityManager.Heroes.Enemies.Any(it => Q.IsInRange(it)))
            {
                Modes.KS();
            }

            //-----------------------------------------------Auto Ignite----------------------------------------

            if (Menu["Auto Ignite"].Cast <CheckBox>().CurrentValue&& Ignite != null)
            {
                if (Ignite.IsReady())
                {
                    var IgniteEnemy = EntityManager.Heroes.Enemies.FirstOrDefault(it => DamageLibrary.GetSummonerSpellDamage(Player, it, DamageLibrary.SummonerSpells.Ignite) >= it.Health - 30);

                    if (IgniteEnemy != null)
                    {
                        if ((IgniteEnemy.Distance(Player) >= 300 || Player.HealthPercent <= 40))
                        {
                            Ignite.Cast(IgniteEnemy);
                        }
                    }
                }
            }

            //--------------------------------------------Orbwalker Modes-------------------------------------------

            if (Target != null)
            {
                if (Target.IsValidTarget())
                {
                    Modes.UpdateVariables();

                    //---------------------------------------------------Combo--------------------------------------------

                    if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
                    {
                        Modes.Combo();
                    }

                    //---------------------------------------------------Mixed--------------------------------------------

                    if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass) && Player.ManaPercent >= Menu["Harass, Mana %"].Cast <Slider>().CurrentValue)
                    {
                        Modes.Harass();
                    }
                }
                else
                {
                    Target = null;
                }
            }

            //-----------------------------------------------LaneClear---------------------------------------------

            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) && Q.IsReady() && Player.ManaPercent >= Menu["LaneClear, Mana %"].Cast <Slider>().CurrentValue)
            {
                Modes.LaneClear();
            }

            return;
        }
Exemple #32
0
            //-------------------------------------------------KS--------------------------------------------------

            public static void KS()
            {
                if (Q.IsReady())
                {
                    var bye = EntityManager.Heroes.Enemies.FirstOrDefault(enemy => enemy.IsValidTarget(Q.Range) && SpellDamage(enemy, SpellSlot.Q) >= enemy.Health);
                    if (bye != null)
                    {
                        Q.Cast(bye); return;
                    }
                }

                if (Q.IsReady() && W.IsReady())
                {
                    var bye = EntityManager.Heroes.Enemies.FirstOrDefault(enemy => enemy.IsValidTarget(Q.Range) && (SpellDamage(enemy, SpellSlot.Q) + SpellDamage(enemy, SpellSlot.W)) >= enemy.Health);
                    if (bye != null)
                    {
                        W.Cast(); Core.DelayAction(() => Q.Cast(bye), Game.Ping + 100); return;
                    }
                }

                if (E.IsReady() && Player.HasBuff("JaxCounterStrike"))
                {
                    var bye = EntityManager.Heroes.Enemies.FirstOrDefault(enemy => enemy.IsValidTarget(E.Range) && SpellDamage(enemy, SpellSlot.E) >= enemy.Health);
                    if (bye != null)
                    {
                        E.Cast(); return;
                    }
                }

                if (W.IsReady())
                {
                    var bye = EntityManager.Heroes.Enemies.FirstOrDefault(enemy => enemy.IsValidTarget(Player.GetAutoAttackRange()) && SpellDamage(enemy, SpellSlot.W) >= enemy.Health);
                    if (bye != null)
                    {
                        W.Cast(); EloBuddy.Player.IssueOrder(GameObjectOrder.AttackTo, bye); return;
                    }
                }

                if (Smite != null)
                {
                    if (Smite.Name.Contains("gank") && Smite.IsReady())
                    {
                        var bye = EntityManager.Heroes.Enemies.FirstOrDefault(enemy => enemy.IsValidTarget(Smite.Range) && DamageLibrary.GetSummonerSpellDamage(Player, enemy, DamageLibrary.SummonerSpells.Smite) >= enemy.Health);
                        if (bye != null)
                        {
                            Smite.Cast(bye); return;
                        }
                    }
                }
            }