private void UseBilgewaterCutlass(Obj_AI_Hero target)
 {
     if (zedMenu.GetParamBool("koreanzed.combomenu.items.bilgewater") &&
         ItemData.Bilgewater_Cutlass.GetItem().IsInRange(target) &&
         ItemData.Bilgewater_Cutlass.GetItem().IsReady())
     {
         ItemData.Bilgewater_Cutlass.GetItem().Cast(target);
     }
 }
Example #2
0
        private void Drawing_OnDraw(System.EventArgs args)
        {
            if (!zedMenu.GetParamBool("koreanzed.drawing.skillranges"))
            {
                return;
            }

            float range = 0F;

            if (zedSpells.R.UseOnCombo && zedSpells.R.IsReady() && zedSpells.R.Instance.ToggleState == 0)
            {
                range = zedSpells.R.Range;
            }
            else if (zedSpells.Q.UseOnCombo && zedSpells.Q.IsReady())
            {
                if (zedSpells.W.UseOnCombo && zedSpells.W.Instance.ToggleState == 0 && zedSpells.W.IsReady())
                {
                    range = zedSpells.E.Range + zedSpells.W.Range;
                }
                else
                {
                    range = zedSpells.Q.Range;
                }
            }
            else if (zedSpells.E.UseOnCombo && zedSpells.E.IsReady())
            {
                range = zedSpells.E.Range + (zedSpells.W.UseOnCombo ? zedSpells.W.IsReady() ? zedSpells.W.Range : 0F : 0F);
            }

            if (range > 0F)
            {
                Render.Circle.DrawCircle(ObjectManager.Player.Position, range, Color.FromArgb(150, Color.DarkGreen), 5);
            }
        }
Example #3
0
        private void AntiGapcloser_OnEnemyGapcloser(ActiveGapcloser gapcloser)
        {
            if (ObjectManager.Player.Distance(gapcloser.Sender.ServerPosition) < e.Range)
            {
                if (zedMenu.GetParamBool("koreanzed.miscmenu.useeantigc") && e.IsReady())
                {
                    e.Cast();
                }

                if (zedMenu.GetParamBool("koreanzed.miscmenu.usewantigc") && w.IsReady())
                {
                    w.Cast(Vector3.Negate(gapcloser.Sender.Position));
                    w.Cast();
                }
            }
        }
Example #4
0
        private void Game_OnUpdate(EventArgs args)
        {
            if (!e.IsReady() || ObjectManager.Player.Mana < e.ManaCost || !zedMenu.GetParamBool("koreanzed.miscmenu.autoe"))
            {
                return;
            }

            List <Obj_AI_Base> shadows = GetShadows2();

            if (
                HeroManager.Enemies.Any(
                    enemy =>
                    !enemy.IsDead && !enemy.IsZombie && enemy.Distance(ObjectManager.Player) < e.Range &&
                    enemy.IsValidTarget()) ||
                GetShadows2()
                .Any(
                    shadow =>
                    HeroManager.Enemies.Any(
                        enemy =>
                        !enemy.IsDead && !enemy.IsZombie && enemy.Distance(shadow) < e.Range &&
                        enemy.IsValidTarget())))
            {
                e.Cast();
                //Console.WriteLine("auto e1");
            }
        }
Example #5
0
        private void Drawing_OnDraw(System.EventArgs args)
        {
            if (!zedMenu.GetParamBool("koreanzed.drawing.skillranges"))
            {
                return;
            }

            ZedSpell zedSpell = null;

            if (zedSpells.R.UseOnCombo && zedSpells.R.IsReady() && zedSpells.R.Instance.ToggleState == 0)
            {
                zedSpell = zedSpells.R;
            }
            else if (zedSpells.Q.UseOnCombo && zedSpells.Q.IsReady())
            {
                zedSpell = zedSpells.Q;
            }
            else if (zedSpells.E.UseOnCombo && zedSpells.E.IsReady())
            {
                zedSpell = zedSpells.E;
            }

            if (zedSpell != null)
            {
                Render.Circle.DrawCircle(ObjectManager.Player.Position, zedSpell.Range, Color.FromArgb(150, Color.DarkGreen), 5);
            }
        }
Example #6
0
 private void UseBOTRK(Obj_AI_Hero target)
 {
     if (zedMenu.GetParamBool("koreanzed.combomenu.items.botrk") &&
         ItemData.Blade_of_The_Ruined_King.GetItem().IsInRange(target) &&
         ItemData.Blade_of_The_Ruined_King.GetItem().IsReady())
     {
         ItemData.Blade_of_The_Ruined_King.GetItem().Cast(target);
     }
 }
Example #7
0
        private void AntiGapcloser_OnEnemyGapcloser(ActiveGapcloser gapcloser)
        {
            if (ObjectManager.Player.Distance(gapcloser.Sender.Position) > e.Range)
            {
                return;
            }

            if (zedMenu.GetParamBool("koreanzed.miscmenu.useeantigc") && e.IsReady())
            {
                e.Cast();
                //Console.WriteLine("antig1");
            }

            if (zedMenu.GetParamBool("koreanzed.miscmenu.usewantigc") && w.IsReady() && antiGapCloserList.Count == 0)
            {
                if (shadows.CanCast)
                {
                    actionQueue.EnqueueAction(
                        antiGapCloserList,
                        () => player.Mana > w.ManaCost && player.HealthPercent - 10 < gapcloser.Sender.HealthPercent,
                        () => shadows.Cast(Vector3.Negate(gapcloser.Sender.Position)),
                        () => true);
                    actionQueue.EnqueueAction(
                        antiGapCloserList,
                        () => w.Instance.ToggleState != 0,
                        () => shadows.Switch(),
                        () => !w.IsReady());
                    Game.OnUpdate += Game_OnUpdate;
                    return;
                }
                else if (!shadows.CanCast && shadows.CanSwitch)
                {
                    int champCount =
                        HeroManager.Enemies.Count(enemy => enemy.Distance(shadows.Instance.Position) < 1500F);

                    if ((player.HealthPercent > 80 && champCount <= 3) ||
                        (player.HealthPercent > 40 && champCount <= 2)
                        )
                    {
                        shadows.Switch();
                        //Console.WriteLine("antig2");
                    }
                }
            }
        }
Example #8
0
        private void Obj_AI_Base_OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
        {
            if (sender == null || args == null || !r.IsReady() || r.Instance.ToggleState != 0 ||
                !player.GetEnemiesInRange(r.Range).Any() || args.Slot != SpellSlot.R || !sender.IsChampion() ||
                !sender.IsEnemy || !zedMenu.GetParamBool("koreanzed.miscmenu.rdodge.user") ||
                !zedMenu.CheckMenuItem("koreanzed.miscmenu.rdodge." + args.SData.Name.ToLowerInvariant()))
            {
                return;
            }

            if (((args.Target != null && args.Target.IsMe) ||
                 player.Distance(args.End) < Math.Max(args.SData.BounceRadius, args.SData.LineWidth)) &&
                zedMenu.GetParamBool("koreanzed.miscmenu.rdodge." + args.SData.Name.ToLowerInvariant()))
            {
                int delay = (int)Math.Truncate((double)(player.Distance(sender) / args.SData.MissileSpeed)) - 1;
                Utility.DelayAction.Add(delay, () => { r.Cast(TargetSelector.GetTarget(r.Range, r.DamageType)); });
            }
        }
Example #9
0
 private void Game_OnUpdate(EventArgs args)
 {
     if (zedMenu.GetParamBool("koreanzed.miscmenu.pot.active") &&
         ObjectManager.Player.HealthPercent
         < zedMenu.GetParamSlider("koreanzed.miscmenu.pot.when") &&
         !ObjectManager.Player.HasBuff("RegenerationPotion") &&
         !ObjectManager.Player.InShop())
     {
         ItemData.Health_Potion.GetItem().Cast();
     }
 }
Example #10
0
        private void Game_OnUpdate(EventArgs args)
        {
            if (!e.IsReady() || ObjectManager.Player.Mana < e.ManaCost || !zedMenu.GetParamBool("koreanzed.miscmenu.autoe"))
            {
                return;
            }

            if (HeroManager.Enemies.Any(enemy => enemy.Distance(ObjectManager.Player) < e.Range) ||
                zedShadows.GetShadows()
                .Any(shadow => HeroManager.Enemies.Any(enemy => enemy.Distance(shadow) < e.Range)))
            {
                e.Cast();
            }
        }
Example #11
0
        private void Combo()
        {
            if (actionQueue.ExecuteNextAction(comboQueue))
            {
                return;
            }

            if (w.UseOnCombo && w.IsReady() && player.HasBuff("zedr2") && shadows.CanCast)
            {
                Obj_AI_Hero target = TargetSelector.GetTarget(w.Range + e.Range, TargetSelector.DamageType.Physical);

                if (target != null)
                {
                    actionQueue.EnqueueAction(comboQueue,
                                              () => true,
                                              () => shadows.Cast(target),
                                              () => true);
                    return;
                }
            }

            float maxRange = float.MaxValue;

            if (r.UseOnCombo && r.IsReady() && r.Instance.ToggleState == 0)
            {
                Obj_AI_Hero target = null;

                maxRange = Math.Min(maxRange, r.Range);

                if (zedMenu.GetParamBool("koreanzed.combo.ronselected"))
                {
                    if (TargetSelector.SelectedTarget != null && TargetSelector.SelectedTarget.IsValidTarget(maxRange))
                    {
                        target = TargetSelector.SelectedTarget;
                    }
                }
                else
                {
                    List <Obj_AI_Hero> ignoredChamps = zedMenu.GetBlockList(BlockListType.Ultimate);
                    target = TargetSelector.GetTarget(maxRange, r.DamageType, true, ignoredChamps);
                }

                if (target != null)
                {
                    actionQueue.EnqueueAction(
                        comboQueue,
                        () => r.IsReady() && r.Instance.ToggleState == 0,
                        () => r.Cast(target),
                        () => r.Instance.ToggleState != 0);

                    actionQueue.EnqueueAction(comboQueue, () => true, () => zedItems.UseItems(target), () => true);

                    return;
                }
            }

            if (q.UseOnCombo)
            {
                maxRange = Math.Min(maxRange, q.Range);
                Obj_AI_Hero target = TargetSelector.GetTarget(maxRange, q.DamageType);

                PredictionOutput predictionOutput = q.GetPrediction(target);

                if (predictionOutput.Hitchance >= HitChance.VeryHigh)
                {
                    q.Cast(predictionOutput.CastPosition);
                }
            }

            if (e.UseOnCombo)
            {
                maxRange = Math.Min(maxRange, e.Range);
                Obj_AI_Hero target = TargetSelector.GetTarget(maxRange, e.DamageType);
                if (target != null)
                {
                    actionQueue.EnqueueAction(comboQueue,
                                              () => true,
                                              () => zedItems.UseItems(target),
                                              () => true);

                    actionQueue.EnqueueAction(comboQueue,
                                              () => e.IsReady(),
                                              () => e.Cast(),
                                              () => true);
                }
            }

            if (w.UseOnCombo && w.IsReady() && w.Instance.ToggleState != 0)
            {
                List <Obj_AI_Base> shadowList = shadows.GetShadows();

                foreach (Obj_AI_Base objAiBase in shadowList)
                {
                    Obj_AI_Hero target = TargetSelector.GetTarget(2000F, TargetSelector.DamageType.Physical);

                    if (target != null && player.Distance(target) > Orbwalking.GetRealAutoAttackRange(target) + 50F &&
                        objAiBase.Distance(target) < player.Distance(target))
                    {
                        w.Cast();
                    }
                }
            }
        }
Example #12
0
        private void Combo()
        {
            if (actionQueue.ExecuteNextAction(comboQueue))
            {
                return;
            }

            AIHeroClient itemsTarget = TargetSelector.GetTarget(player.AttackRange, TargetSelector.DamageType.Physical);

            if (itemsTarget != null)
            {
                zedItems.UseItems(itemsTarget);
            }

            shadows.Combo();

            if (w.UseOnCombo && shadows.CanCast && player.HasBuff("ZedR2"))
            {
                AIHeroClient target = TargetSelector.GetTarget(w.Range + e.Range, TargetSelector.DamageType.Physical);

                if (target != null)
                {
                    actionQueue.EnqueueAction(comboQueue,
                                              () => true,
                                              () => shadows.Cast(w.GetPrediction(target).CastPosition),
                                              () => true);
                    return;
                }
            }

            float maxRange = float.MaxValue;

            if (r.UseOnCombo && r.IsReady() && r.Instance.ToggleState == 0)
            {
                AIHeroClient target = null;

                maxRange = Math.Min(maxRange, r.Range);

                if (zedMenu.GetParamBool("koreanzed.combo.ronselected"))
                {
                    if (TargetSelector.SelectedTarget != null && TargetSelector.SelectedTarget.IsValidTarget(maxRange))
                    {
                        target = TargetSelector.SelectedTarget;
                    }
                }
                else
                {
                    List <AIHeroClient> ignoredChamps = zedMenu.GetBlockList(BlockListType.Ultimate);
                    target = TargetSelector.GetTarget(maxRange, r.DamageType, true, ignoredChamps);
                }

                if (target != null)
                {
                    switch (zedMenu.GetCombo())
                    {
                    case ComboType.AllStar:
                        AllStarCombo(target);
                        break;

                    case ComboType.TheLine:
                        TheLineCombo(target);
                        break;
                    }
                    return;
                }
            }
            else if (w.UseOnCombo && shadows.CanCast && (!r.UseOnCombo || (r.UseOnCombo && !r.IsReady())) &&
                     (player.Mana > w.ManaCost + (q.UseOnCombo && q.IsReady() ? q.ManaCost : 0F) + (e.UseOnCombo && e.IsReady() ? e.ManaCost : 0F)))
            {
                maxRange = Math.Min(maxRange, w.Range + e.Range);
                AIHeroClient target = TargetSelector.GetTarget(maxRange, TargetSelector.DamageType.Physical);
                if (target != null)
                {
                    actionQueue.EnqueueAction(
                        comboQueue,
                        () => shadows.CanCast,
                        () => shadows.Cast(w.GetPrediction(target).CastPosition),
                        () => !shadows.CanCast);
                    actionQueue.EnqueueAction(
                        comboQueue,
                        () => w.Instance.ToggleState != 0,
                        () => shadows.Combo(),
                        () => true);
                    actionQueue.EnqueueAction(
                        comboQueue,
                        () => shadows.CanSwitch && target.Distance(shadows.Instance.Position) <= player.AttackRange,
                        () => shadows.Switch(),
                        () => !shadows.CanSwitch || target.Distance(shadows.Instance.Position) > player.AttackRange || !w.IsReady());
                    actionQueue.EnqueueAction(
                        comboQueue,
                        () => player.Distance(target) <= Orbwalking.GetRealAutoAttackRange(target),
                        () => EloBuddy.Player.IssueOrder(GameObjectOrder.AttackUnit, target),
                        () => target.IsDead || target.IsZombie || player.Distance(target) > Orbwalking.GetRealAutoAttackRange(target) || checkAutoAttack.Status);
                    return;
                }
            }

            if (q.UseOnCombo && q.IsReady() && player.Mana > q.ManaCost)
            {
                maxRange = Math.Min(maxRange, q.Range);
                AIHeroClient target = TargetSelector.GetTarget(maxRange, q.DamageType);

                PredictionOutput predictionOutput = q.GetPrediction(target);

                if (predictionOutput.Hitchance >= HitChance.Medium)
                {
                    q.Cast(predictionOutput.CastPosition);
                }
            }

            if (e.UseOnCombo && e.IsReady() && player.Mana > e.ManaCost)
            {
                maxRange = Math.Min(maxRange, e.Range);
                AIHeroClient target = TargetSelector.GetTarget(maxRange, e.DamageType);
                if (target != null)
                {
                    actionQueue.EnqueueAction(comboQueue,
                                              () => e.IsReady(),
                                              () => e.Cast(),
                                              () => true);
                    return;
                }
            }

            if (w.UseOnCombo && w.IsReady() && shadows.CanSwitch)
            {
                List <Obj_AI_Base> shadowList = shadows.GetShadows();

                foreach (Obj_AI_Base objAiBase in shadowList)
                {
                    AIHeroClient target = TargetSelector.GetTarget(2000F, TargetSelector.DamageType.Physical);

                    if (target != null && player.Distance(target) > Orbwalking.GetRealAutoAttackRange(target) + 50F &&
                        objAiBase.Distance(target) < player.Distance(target))
                    {
                        shadows.Switch();
                    }
                }
            }
        }