Пример #1
0
        private static void Interrupter_OnInterruptableSpell(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs e)
        {
            if (!sender.IsEnemy || sender == null || e == null || IsCastingR)
            {
                return;
            }

            if (Common.danger(MiscMenu) >= e.DangerLevel)
            {
                if (MiscMenu.checkbox("Qint") && sender.IsKillable(Q.Range))
                {
                    Q.Cast(sender, Q.hitchance(Menuini));
                }

                if (MiscMenu.checkbox("blockR") && user.IsUnderEnemyturret())
                {
                    return;
                }

                if (MiscMenu.checkbox("Rint") && sender.IsKillable(R.Range))
                {
                    R.Cast(sender);
                }
            }
        }
Пример #2
0
        public override void Draw()
        {
            if (user.IsDead)
            {
                return;
            }

            if (IsCastingR)
            {
                if (RMenu.checkbox("Rnear"))
                {
                    Circle.Draw(SharpDX.Color.Red, RMenu.slider("Mradius"), Game.CursorPos);
                }
            }

            if (MiscMenu.checkbox("Notifications") && R.IsReady())
            {
                var t = TargetSelector.GetTarget(R.Range, DamageType.Physical);

                if (t != null && t.IsKillable())
                {
                    var rDamage = R.GetDamage(t);
                    if (rDamage * 5 > t.Health)
                    {
                        Drawing.DrawText(Drawing.Width * 0.1f, Drawing.Height * 0.5f, Color.Red, (int)(t.Health / rDamage) + " x Ult can kill: " + t.ChampionName + " have: " + t.Health + "hp");
                        DrawingsManager.drawLine(t.Position, user.Position, 10, Color.Yellow);
                    }
                }
            }
        }
Пример #3
0
        public override void Active()
        {
            if (user.IsDead)
            {
                return;
            }

            if (MiscMenu.keybind("flee"))
            {
                var target = TargetSelector.GetTarget(E.Range, DamageType.Magical);
                if (target != null)
                {
                    E.Cast(target);
                }

                Orbwalker.OrbwalkTo(Game.CursorPos);
            }

            if (MiscMenu.checkbox("autoECC"))
            {
                var ecc = EntityManager.Heroes.Enemies.FirstOrDefault(e => e.IsKillable(E.Range) && e.IsCC());
                if (ecc != null)
                {
                    E.Cast(ecc);
                }
            }

            ScrybingOrb();

            R.Range = (uint)(1925 + R.Level * 1200);

            if (HarassMenu.keybind("toggle"))
            {
                this.Harass();
            }

            Orbwalker.DisableAttacking = IsCastingR;
            Orbwalker.DisableMovement  = IsCastingR;
            RCharge.TapKeyPressed      = RMenu.keybind("Rtap");

            if (IsCastingR)
            {
                WhileCastingR();
                return;
            }

            if (R.IsReady() && MiscMenu.checkbox("Notifications") && Environment.TickCount - Common.lastNotification > 5000)
            {
                foreach (var enemy in
                         EntityManager.Heroes.Enemies.Where(h => h != null && h.IsKillable() && R.GetDamage(h) * 3 > h.Health))
                {
                    Common.ShowNotification(enemy.ChampionName + ": is killable R!!!", 4000);
                    Common.lastNotification = Environment.TickCount;
                }
            }
        }
Пример #4
0
 private static void GameObject_OnCreate(GameObject sender, EventArgs args)
 {
     if (sender.Name == "Rengar_LeapSound.troy" && sender != null)
     {
         var rengar = EntityManager.Heroes.Enemies.FirstOrDefault(e => e.Hero == Champion.Rengar);
         if (rengar != null && MiscMenu.checkbox("Rgap") && rengar.IsKillable(R.Range))
         {
             R.Cast(rengar);
         }
     }
 }
Пример #5
0
        private static void Spellbook_OnCastSpell(Spellbook sender, SpellbookCastSpellEventArgs args)
        {
            if (!sender.Owner.IsMe)
            {
                return;
            }

            if (MiscMenu.checkbox("Rsave") && IsCastingR)
            {
                args.Process = false;
            }
        }
Пример #6
0
        private static void Player_OnIssueOrder(Obj_AI_Base sender, PlayerIssueOrderEventArgs args)
        {
            if (!sender.IsMe)
            {
                return;
            }

            if (MiscMenu.checkbox("Rsave") && IsCastingR)
            {
                args.Process = false;
            }
        }
Пример #7
0
        private static void Rlogic()
        {
            if (MiscMenu.checkbox("RTurret") && R.IsReady())
            {
                if (MiscMenu.checkbox("blockR") && user.IsUnderEnemyturret())
                {
                    return;
                }

                var targets = EntityManager.Heroes.Enemies.Where(e => e.IsUnderTurret() && !e.IsUnderHisturret() && !e.IsUnderEnemyturret() && e.IsKillable(R.Range));
                if (targets != null)
                {
                    foreach (var target in targets.Where(target => target != null))
                    {
                        R.Cast(target);
                    }
                }
            }
        }
Пример #8
0
        public static void ScrybingOrb()
        {
            var level = MiscMenu.slider("scrybebuylevel");
            var buy   = MiscMenu.checkbox("scrybebuy");

            if (!buy)
            {
                return;
            }

            if (hasbought)
            {
                return;
            }

            if (!Scryb.IsOwned(user) && user.IsInShopRange() && user.Level >= level)
            {
                Scryb.Buy();
                hasbought = true;
            }
        }
Пример #9
0
        private static void Gapcloser_OnGapcloser(AIHeroClient sender, Gapcloser.GapcloserEventArgs e)
        {
            if (!sender.IsEnemy || sender == null || e == null || IsCastingR)
            {
                return;
            }

            if (MiscMenu.checkbox("Qgap") && (e.End.IsInRange(user, Q.Range) || sender.IsKillable(Q.Range)))
            {
                Q.Cast(sender, Q.hitchance(Menuini));
            }

            if (MiscMenu.checkbox("blockR") && user.IsUnderEnemyturret())
            {
                return;
            }

            if (MiscMenu.checkbox("Rgap") && (e.End.IsInRange(user, R.Range) || sender.IsKillable(R.Range)))
            {
                R.Cast(sender);
            }
        }
Пример #10
0
        public override void Combo()
        {
            if (IsCastingR)
            {
                return;
            }

            var target = TargetSelector.GetTarget(Q.Range + 50, DamageType.Mixed);

            if (target == null || !target.IsKillable())
            {
                return;
            }

            var Qready = ComboMenu.checkbox("Q") && Q.IsReady() && target.IsKillable(Q.Range);

            var Wready = ComboMenu.checkbox("W") && W.IsReady() && target.IsKillable(W.Range);

            var Eready = ComboMenu.checkbox("E") && E.IsReady() && target.IsKillable(E.Range);

            var Rfinready = ComboMenu.checkbox("RFinisher") && R.IsReady() && target.IsKillable(R.Range);

            var Rcomready = ComboMenu.checkbox("RCombo") && R.IsReady() && target.IsKillable(R.Range);

            var RTurret = ComboMenu.checkbox("RTurret") && R.IsReady() && target.IsKillable(R.Range) && target.IsUnderTurret() && !target.IsUnderHisturret() && !target.IsUnderEnemyturret();

            if (Wready)
            {
                W.Cast(target);
            }

            if (Qready)
            {
                Q.Cast(target, Q.hitchance(Menuini));
            }

            if (Eready)
            {
                E.Cast(target);
            }

            if (!ComboMenu.checkbox("DontUlt" + target.ID()))
            {
                if (MiscMenu.checkbox("blockR") && user.IsUnderEnemyturret())
                {
                    return;
                }

                if (Rcomready && target.TotalDamage(SpellList) >= Prediction.Health.GetPrediction(target, R.CastDelay))
                {
                    R.Cast(target);
                }

                if (Rfinready && R.GetDamage(target) >= Prediction.Health.GetPrediction(target, R.CastDelay))
                {
                    R.Cast(target);
                }

                if (RTurret)
                {
                    R.Cast(target);
                }
            }
        }
Пример #11
0
        private static void Interrupter_OnInterruptableSpell(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs e)
        {
            if (sender == null || !sender.IsEnemy || e == null || !E.IsReady() || e.DangerLevel < Common.danger(MiscMenu) || !sender.IsKillable(500) || !MiscMenu.checkbox("int"))
            {
                return;
            }

            E.Cast(sender);
        }
Пример #12
0
        private static void Gapcloser_OnGapcloser(AIHeroClient sender, Gapcloser.GapcloserEventArgs e)
        {
            if (sender == null || !sender.IsEnemy || e == null || !E.IsReady() || !kCore.GapMenu.checkbox(e.SpellName + sender.ID()) || e.End == Vector3.Zero || !MiscMenu.checkbox("gap"))
            {
                return;
            }

            if (e.End.IsInRange(user, 650) || sender.IsKillable(650))
            {
                E.Cast(sender);
            }
        }