Ejemplo n.º 1
0
 private static void OnDraw(EventArgs args)
 {
     if (!player.IsDead && menuIni.Get <CheckBox>("Drawings").CurrentValue)
     {
         if (DrawMenu.Get <CheckBox>("Draw_Q").CurrentValue)
         {
             Circle.Draw(Color.DarkRed, Q.Range, Player.Instance.Position);
         }
         if (DrawMenu.Get <CheckBox>("Draw_W").CurrentValue)
         {
             Circle.Draw(Color.DarkRed, W.Range, Player.Instance.Position);
         }
         if (DrawMenu.Get <CheckBox>("Draw_E").CurrentValue)
         {
             Circle.Draw(Color.DarkRed, E.Range, Player.Instance.Position);
         }
         if (DrawMenu.Get <CheckBox>("Rranged").CurrentValue)
         {
             Circle.Draw(Color.DarkRed, UltMenu.Get <Slider>("Rranged").CurrentValue, Player.Instance.Position);
         }
         if (DrawMenu.Get <CheckBox>("Track").CurrentValue)
         {
             DrawEnemyHealth();
         }
     }
     DrawKillable();
 }
Ejemplo n.º 2
0
        private static void Ult()
        {
            // Kappa ult logic.
            var time           = Environment.TickCount;
            var enemiesrange   = ObjectManager.Player.Position.CountEnemiesInRange(UltMenu.Get <Slider>("Rranged").CurrentValue);
            var enemieinsrange = UltMenu.Get <Slider>("RnearEn").CurrentValue;

            foreach (var rtarget in
                     EntityManager.Heroes.Enemies.Where(
                         x =>
                         x != null && x.IsValid && !x.IsDead && x.IsEnemy &&
                         (!x.HasBuff("kindrednodeathbuff") || !x.HasBuff("Undying Rage") || !x.HasBuff("JudicatorIntervention")) && !x.IsZombie &&
                         player.GetSpellDamage(x, SpellSlot.R) > Prediction.Health.GetPrediction(x, (int)(R.CastDelay * 1000f)) &&
                         x.CountAlliesInRange(750) < 1))
            {
                if (UltMenu.Get <CheckBox>("RnearE").CurrentValue&& enemieinsrange <= enemiesrange)
                {
                    R.Cast(rtarget.Position);
                }

                if (!UltMenu.Get <CheckBox>("RnearE").CurrentValue)
                {
                    R.Cast(rtarget.Position);
                }

                if (player.IsZombie)
                {
                    R.Cast(rtarget.Position);
                }
            }
        }
Ejemplo n.º 3
0
        private static void InterrupterOnOnPossibleToInterrupt(Obj_AI_Base unit, Interrupter.InterruptableSpellEventArgs args)
        {
            var castingR = Player.Instance.Spellbook.IsChanneling && !Player.Instance.IsRecalling();
            if (castingR)
            {
                return;
            }

            var predq = Q.GetPrediction(unit);
            if (unit != null && Q.IsReady() && unit.IsEnemy && unit.IsValidTarget(Q.Range) && MiscMenu.Get<CheckBox>("interruptQ").CurrentValue
                && menuIni["Misc"].Cast<CheckBox>().CurrentValue)
            {
                Q.Cast(predq.CastPosition);
                return;
            }

            if (unit != null && R.IsReady() && UltMenu.Get<CheckBox>("interruptR").CurrentValue)
            {
                if (UltMenu["Rtower"].Cast<CheckBox>().CurrentValue && ObjectManager.Player.IsUnderEnemyturret())
                {
                    return;
                }

                if (unit.IsEnemy && unit.IsValidTarget(R.Range) && !UltMenu["DontUlt" + unit.BaseSkinName].Cast<CheckBox>().CurrentValue)
                {
                    R.Cast(unit);
                }
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        ///     Fired on an incoming enemy gapcloser.
        /// </summary>
        /// <param name="gapcloser">The gapcloser.</param>
        private static void AntiGapcloserOnOnEnemyGapcloser(AIHeroClient Sender, Gapcloser.GapcloserEventArgs args)
        {
            var castingR = Player.Instance.Spellbook.IsChanneling && !Player.Instance.IsRecalling();

            if (!Sender.IsValidTarget() || !Sender.IsEnemy || Sender.IsAlly || castingR)
            {
                return;
            }

            if (menuIni["Misc"].Cast <CheckBox>().CurrentValue)
            {
                var predq = Q.GetPrediction(Sender);
                if (Sender != null && Q.IsReady() && Sender.IsEnemy && Sender.IsValidTarget(Q.Range) &&
                    MiscMenu.Get <CheckBox>("gapcloserQ").CurrentValue)
                {
                    Q.Cast(predq.CastPosition);
                    return;
                }
            }

            if (UltMenu["Rtower"].Cast <CheckBox>().CurrentValue&& ObjectManager.Player.IsUnderEnemyturret())
            {
                return;
            }

            if (Sender != null && R.IsReady() && Sender.IsEnemy && Sender.IsValidTarget(R.Range) &&
                !UltMenu["DontUlt" + Sender.BaseSkinName].Cast <CheckBox>().CurrentValue &&
                UltMenu.Get <CheckBox>("gapcloserR").CurrentValue)
            {
                R.Cast(Sender);
                return;
            }
        }
Ejemplo n.º 5
0
 private static void Interrupter2_OnInterruptableTarget(
     Obj_AI_Base sender,
     Interrupter.InterruptableSpellEventArgs args)
 {
     if (sender != null && R.IsReady() && sender.IsEnemy && sender.IsValidTarget(R.Range) &&
         UltMenu.Get <CheckBox>("interrupt").CurrentValue)
     {
         R.Cast();
     }
 }
Ejemplo n.º 6
0
        private static void DrawKillable()
        {
            var time           = Environment.TickCount;
            var enemiesrange   = ObjectManager.Player.Position.CountEnemiesInRange(UltMenu.Get <Slider>("Rranged").CurrentValue);
            var enemieinsrange = UltMenu.Get <Slider>("RnearEn").CurrentValue;

            if (UltMenu.Get <CheckBox>("RnearE").CurrentValue&& enemiesrange >= enemieinsrange)
            {
                Drawing.DrawText(
                    Drawing.Width * 0.44f,
                    Drawing.Height * 0.8f,
                    System.Drawing.Color.Red,
                    "屏蔽R附近敌人数: " + enemieinsrange);
            }

            if (R.IsLearned)
            {
                var killable = string.Empty;

                foreach (var target in
                         EntityManager.Heroes.Enemies.Where(
                             x =>
                             !x.IsDead && x.IsEnemy &&
                             player.GetSpellDamage(x, SpellSlot.R) > Prediction.Health.GetPrediction(x, (int)(R.CastDelay * 1000f)))
                         .Where(target => target.IsVisible))
                {
                    killable += target.ChampionName + ", ";
                    if (MiscMenu.Get <CheckBox>("ping").CurrentValue)
                    {
                        Ping(target.Position.To2D());
                    }
                    if (DrawMenu.Get <CheckBox>("Rtarget").CurrentValue)
                    {
                        Circle.Draw(Color.DarkRed, 650, target.Position);
                        Drawing.DrawText(
                            Drawing.WorldToScreen(target.Position) - new Vector2(0.44f, 0.8f),
                            System.Drawing.Color.Red,
                            "R可击杀",
                            2);
                    }

                    if (killable != string.Empty)
                    {
                        if (MiscMenu.Get <CheckBox>("NotifyUlt").CurrentValue)
                        {
                            Drawing.DrawText(Drawing.Width * 0.44f, Drawing.Height * 0.7f, System.Drawing.Color.Red, "可被大招击杀: " + killable);
                        }
                    }
                }
            }
        }
Ejemplo n.º 7
0
        private static void OnUpdate(EventArgs args)
        {
            if (player.IsDead)
            {
                return;
            }

            qTarget = TargetSelector.GetTarget(Q.Range, DamageType.Magical);
            wTarget = TargetSelector.GetTarget(W.Range, DamageType.Magical);
            eTarget = TargetSelector.GetTarget(E.Range, DamageType.Magical);

            var flags = Orbwalker.ActiveModesFlags;

            if (flags.HasFlag(Orbwalker.ActiveModes.Combo) && menuIni.Get <CheckBox>("Combo").CurrentValue)
            {
                Orbwalker.DisableAttacking = ComboMenu.Get <CheckBox>("CUse_AA").CurrentValue&& player.Mana > Q.Handle.SData.Mana * 3;
                if (MiscMenu.Get <CheckBox>("SaveR").CurrentValue&& player.Mana - (SaveR() / 3) - 30 > R.Handle.SData.Mana && player.Level >= 6 &&
                    R.IsLearned)
                {
                    Combo();
                }

                if (!MiscMenu.Get <CheckBox>("SaveR").CurrentValue || player.Level < 6 && !R.IsLearned || player.IsZombie)
                {
                    Combo();
                }
            }

            if (flags.HasFlag(Orbwalker.ActiveModes.LaneClear) && menuIni.Get <CheckBox>("LaneClear").CurrentValue)
            {
                Orbwalker.DisableAttacking = false;
                if (MiscMenu.Get <CheckBox>("SaveR").CurrentValue&& player.Mana - (SaveR() / 3) > R.Handle.SData.Mana && player.Level >= 6 &&
                    R.IsLearned)
                {
                    LaneClear();
                }

                if (!MiscMenu.Get <CheckBox>("SaveR").CurrentValue || player.Level < 6 && !R.IsLearned)
                {
                    LaneClear();
                }
            }

            if (flags.HasFlag(Orbwalker.ActiveModes.JungleClear) && menuIni.Get <CheckBox>("JungleClear").CurrentValue)
            {
                Orbwalker.DisableAttacking = false;
                if (MiscMenu.Get <CheckBox>("SaveR").CurrentValue&& player.Level >= 6 && R.IsLearned &&
                    player.Mana - (SaveR() / 3) > R.Handle.SData.Mana)
                {
                    JungleClear();
                }

                if (!MiscMenu.Get <CheckBox>("SaveR").CurrentValue || player.Level < 6 && !R.IsLearned)
                {
                    JungleClear();
                }
            }

            if (flags.HasFlag(Orbwalker.ActiveModes.Harass) && menuIni.Get <CheckBox>("Harass").CurrentValue)
            {
                Orbwalker.DisableAttacking = HarassMenu.Get <CheckBox>("HUse_AA").CurrentValue&& Player.Instance.Mana < Q.Handle.SData.Mana * 3;

                if (MiscMenu.Get <CheckBox>("SaveR").CurrentValue&& player.Level >= 6 && R.IsLearned &&
                    player.Mana - (SaveR() / 2) > R.Handle.SData.Mana)
                {
                    Harass();
                }

                if (!MiscMenu.Get <CheckBox>("SaveR").CurrentValue || player.Level < 6 && !R.IsLearned)
                {
                    Harass();
                }
            }

            if (flags.HasFlag(Orbwalker.ActiveModes.LastHit) && menuIni.Get <CheckBox>("LastHit").CurrentValue)
            {
                if (LaneMenu.Get <CheckBox>("LAA").CurrentValue &&
                    (Q.IsReady() || ObjectManager.Player.ManaPercent >= LaneMenu.Get <Slider>("LHQPercent").CurrentValue))
                {
                    Orbwalker.DisableAttacking = true;
                }
                else
                {
                    Orbwalker.DisableAttacking = false;
                }

                if (MiscMenu.Get <CheckBox>("SaveR").CurrentValue&& player.Level >= 6 && R.IsLearned &&
                    player.Mana - (SaveR() / 3) > R.Handle.SData.Mana)
                {
                    LastHit();
                }

                if (!MiscMenu.Get <CheckBox>("SaveR").CurrentValue || player.Level < 6 && !R.IsLearned)
                {
                    LastHit();
                }
            }

            if (MiscMenu.Get <CheckBox>("DeadCast").CurrentValue)
            {
                if (ObjectManager.Player.IsZombie && !Combo())
                {
                    LaneClear();
                }
            }

            if (menuIni.Get <CheckBox>("KillSteal").CurrentValue)
            {
                Ks();
            }

            if (menuIni.Get <CheckBox>("Ultimate").CurrentValue&& UltMenu.Get <ComboBox>("UltMode").CurrentValue == 0 &&
                UltMenu.Get <CheckBox>("UltKS").CurrentValue&& (R.IsLearned && R.IsReady()))
            {
                Ult();
            }
        }