示例#1
0
        public static void Execute()
        {
            if (DrawingsMenu.GetCheckBoxValue("showkilla"))
            {
                Indicator.DamageToUnit = SpellsManager.GetTotalDamageEBDB;
            }

            if (Player.HasBuff("zedulttargetmark") && MiscMenu.GetCheckBoxValue("esafe") && R.IsReady() && E.IsReady())
            {
                R.Cast();
                var player1 = ObjectManager.Player;
                E.Cast(player1);
            }

            //////////////////// KS Q
            var targetKSQ = TargetSelector.GetTarget(SpellsManager.Q.Range, DamageType.Magical);

            if (targetKSQ == null)
            {
                return;
            }

            if (KillStealMenu.GetCheckBoxValue("qUse") && SpellsManager.Q.IsReady())
            {
                var predQ2 = SpellsManager.Q.GetPrediction(targetKSQ);
                if (predQ2.HitChance >= HitChance.High && targetKSQ.Health < Player.Instance.GetSpellDamage(targetKSQ, SpellSlot.Q))
                {
                    SpellsManager.Q.Cast(predQ2.CastPosition);
                    return;
                }
            }//////////////////// END KS Q
        }
示例#2
0
        public static void Execute()
        {
            //////////////////// KS E BETA
            var targetKSE = TargetSelector.GetTarget(SpellsManager.E.Range, DamageType.Magical);

            if (targetKSE != null && KillStealMenu.GetCheckBoxValue("eUse") && SpellsManager.E.IsReady())
            {
                var predE2 = SpellsManager.E.GetPrediction(targetKSE);
                if (predE2.HitChance >= HitChance.High && targetKSE.Health < Player.Instance.GetSpellDamage(targetKSE, SpellSlot.E))
                {
                    SpellsManager.E.Cast(predE2.CastPosition);
                    return;
                }
            }//////////////////// END KS E

            //////////////////// KS R BETA
            var targetKSR = TargetSelector.GetTarget(SpellsManager.R.Range, DamageType.Magical);

            if (targetKSR != null && KillStealMenu.GetCheckBoxValue("rUse") && SpellsManager.R.IsReady())
            {
                var predR2 = SpellsManager.R.GetPrediction(targetKSR);
                if (predR2.HitChance >= HitChance.High && targetKSR.Health < Player.Instance.GetSpellDamage(targetKSR, SpellSlot.R))
                {
                    SpellsManager.R.Cast(predR2.CastPosition);
                    return;
                }
            }//////////////////// END KS R

            if (Player.Instance.InDanger(95) && W.IsReady() && (Hitch.ShouldOverload(SpellSlot.W) || Player.Instance.Mana < 80)) //Credits Mario
            {
                W.Cast();
            }
        }
示例#3
0
        public static void Execute()
        {
            if (kstarget(Q.Range) == null)
            {
                return;
            }
            if (W.IsReady() && KillStealMenu.GetCheckBoxValue("wUse"))
            {
                if (Q.IsReady() && Q.Handle.SData.Mana + W.Handle.SData.Mana < Azir.Mana &&
                    Azir.GetSpellDamage(kstarget(Q.Range), SpellSlot.Q) >= kstarget(Q.Range).TotalShieldHealth())
                {
                    var p = Azir.Distance(kstarget(Q.Range), true) > W.RangeSquared
                                ? Azir.Position.To2D().Extend(kstarget(Q.Range).Position.To2D(), W.Range)
                                : kstarget(Q.Range).Position.To2D();
                    W.Cast((Vector3)p);
                }
            }

            if (Azir.GetSpellDamage(kstarget(Q.Range), SpellSlot.Q) >= kstarget(Q.Range).TotalShieldHealth())
            {
                if (Orbwalker.AzirSoldiers.Any(s => s.IsAlly))
                {
                    Q.TryToCast(kstarget(Q.Range).Position, KillStealMenu);
                }
            }

            if (Azir.GetSpellDamage(kstarget(E.Range), SpellSlot.E) >= kstarget(E.Range).TotalShieldHealth())
            {
                if (Ehit(kstarget(E.Range)))
                {
                    E.TryToCast(kstarget(E.Range).Position, KillStealMenu);
                }
            }
        }
示例#4
0
        public static void Execute()
        {
            foreach (
                var target in
                EntityManager.Heroes.Enemies.Where(
                    hero =>
                    hero.IsValidTarget(R.Range) && !hero.IsDead && !hero.IsZombie && hero.HealthPercent <= 25))
            {
                if (KillStealMenu.GetCheckBoxValue("rUse") && R.IsReady() &&
                    target.Health + target.AttackShield < Player.GetSpellDamage(target, SpellSlot.R))
                {
                    R.Cast(target.Position);
                }

                if (KillStealMenu.GetCheckBoxValue("wUse") &&
                    target.Health + target.AttackShield <
                    Player.GetSpellDamage(target, SpellSlot.W) && Player.Mana >= 100)
                {
                    if (W.IsReady() && target.IsValidTarget(W.Range))
                    {
                        W.Cast(target);
                    }
                }

                if (KillStealMenu.GetCheckBoxValue("eUse") && E.IsReady() &&
                    target.Health + target.AttackShield <
                    Player.GetSpellDamage(target, SpellSlot.E))
                {
                    E.Cast(target);
                }
            }
        }
示例#5
0
文件: Active.cs 项目: Taazuma/EB-T
        public static void Execute()
        {
            if (Program._player.IsDead || Program._player.IsRecalling())
            {
                return;
            }


            #region Killsteal
            var target = TargetSelector.GetTarget(Q.Range + 200, DamageType.Magical);

            if (target == null || target.IsInvulnerable || target.MagicImmune)
            {
                return;
            }

            if (KillStealMenu.GetCheckBoxValue("qUse")) // Start KS Q
            {
                var qtarget = TargetSelector.GetTarget(Q.Range, DamageType.Magical);

                if (qtarget == null)
                {
                    return;
                }

                if (Q.IsReady())
                {
                    var rDamage = Player.Instance.GetSpellDamage(qtarget, SpellSlot.Q);
                    if (Player.Instance.GetSpellDamage(qtarget, SpellSlot.Q) >= Prediction.Health.GetPrediction(qtarget, Q.CastDelay + Game.Ping))
                    {
                        Q.Cast(qtarget.ServerPosition);
                    }
                }
            }// END KS

            if (KillStealMenu.GetCheckBoxValue("eUse")) // Start KS E
            {
                var etarget = TargetSelector.GetTarget(E.Range + 50, DamageType.Magical);

                if (etarget == null)
                {
                    return;
                }

                if (E.IsReady())
                {
                    var rDamage = Player.Instance.GetSpellDamage(etarget, SpellSlot.E);
                    if (Player.Instance.GetSpellDamage(etarget, SpellSlot.E) >= Prediction.Health.GetPrediction(etarget, E.CastDelay + Game.Ping))
                    {
                        E.Cast(etarget);
                    }
                }
            }// END KS



            #endregion Killsteal
        }
示例#6
0
        public static void Execute()
        {
            //W autodisable thanks to Sunnyline2
            if (MiscMenu.GetCheckBoxValue("smartW") && Program.WStatus())
            {
                int monsters = EntityManager.MinionsAndMonsters.CombinedAttackable.Where(monster => monster.IsValidTarget(W.Range * 2)).Count();
                int enemies  = EntityManager.Heroes.Enemies.Where(enemy => enemy.IsValidTarget(W.Range * 2)).Count();
                if (monsters == 0 && enemies == 0)
                {
                    Program.WDisable();
                }
            }
            //// Sunnyline2


            //////////////////// KS Q
            var targetKSQ = TargetSelector.GetTarget(SpellsManager.Q.Range, DamageType.Magical);

            if (targetKSQ != null && KillStealMenu.GetCheckBoxValue("qUse") && SpellsManager.Q.IsReady())
            {
                var predQ2 = SpellsManager.Q.GetPrediction(targetKSQ);
                if (predQ2.HitChance >= HitChance.High && targetKSQ.Health < Player.Instance.GetSpellDamage(targetKSQ, SpellSlot.Q))
                {
                    SpellsManager.Q.Cast(predQ2.CastPosition);
                    return;
                }
            }//////////////////// END KS Q


            //////////////////// KS Q Logic #2
            if (KillStealMenu.GetCheckBoxValue("qUse"))
            {
                var qtarget = TargetSelector.GetTarget(Q.Range, DamageType.Magical);

                if (qtarget == null)
                {
                    return;
                }

                if (Q.IsReady())
                {
                    var qDamage = qtarget.GetDamage(SpellSlot.Q);

                    var predictedHealth = Prediction.Health.GetPrediction(qtarget, Q.CastDelay + Game.Ping);

                    if (predictedHealth <= qDamage && Q.GetPrediction(qtarget).HitChance >= Hitch.hitchance(Q, FirstMenu))
                    {
                        var rangi = TargetSelector.GetTarget(Program._player.GetAutoAttackRange(), DamageType.Physical);
                        if (qtarget.IsValidTarget(Q.Range))
                        {
                            Q.Cast(qtarget);
                        }
                    }
                }
            }            //////////////////// END Logic #2
        }
示例#7
0
文件: Active.cs 项目: Taazuma/EB-T
        public static void Execute()
        {
            if (W.IsReady())
            {
                if (Player.Instance.HealthPercent <= 20 && EntityManager.Heroes.Enemies.Count(e => !e.IsDead && W.IsInRange(e)) > 0 && MiscMenu.GetCheckBoxValue("wLow"))
                {
                    if (Player.Instance.HealthPercent <= 20)
                    {
                        return;
                    }
                    else
                    {
                        var firstOrDefault = EntityManager.Heroes.Enemies.FirstOrDefault(e => !e.IsDead && W.IsInRange(e));
                        if (firstOrDefault != null)
                        {
                            W.Cast(firstOrDefault.ServerPosition);
                        }
                    }
                }
            }

            var target = TargetSelector.GetTarget(R.Range, DamageType.Magical);

            if (target == null || target.IsInvulnerable || target.MagicImmune)
            {
                return;
            }

            //Thanks to Mario
            if (KillStealMenu.GetCheckBoxValue("rUse") && R.IsReady())
            {
                var rtarget = TargetSelector.GetTarget(R.Range, DamageType.Magical);

                if (rtarget == null)
                {
                    return;
                }

                if (R.IsReady())
                {
                    var passiveDamage = rtarget.HasPassive() ? rtarget.GetPassiveDamage() : 0f;
                    var rDamage       = rtarget.GetDamage(SpellSlot.R) + passiveDamage;

                    var predictedHealth = Prediction.Health.GetPrediction(rtarget, R.CastDelay + Game.Ping);

                    if (predictedHealth <= rDamage)
                    {
                        var pred = R.GetPrediction(rtarget);
                        if (pred.HitChancePercent >= 90)
                        {
                            R.Cast(pred.CastPosition);
                        }
                    }
                }
            }
        }
示例#8
0
        public override void PermaActive()
        {
            if (KillStealMenu.GetCheckBoxValue("killsteal.q") && Q.IsReady())
            {
                var killableEnemies =
                    EntityManager.Heroes.Enemies.Where(t => t.IsValidTarget(Q.Range) && QDamage(t) >= t.Health);
                var target = TargetSelector.GetTarget(killableEnemies, DamageType.Physical);
                if (target == null)
                {
                    return;
                }
                LogicQ(target);
            }

            if (KillStealMenu.GetCheckBoxValue("killsteal.w") && W.IsReady())
            {
                var killableEnemies =
                    EntityManager.Heroes.Enemies.Where(t => t.IsValidTarget(W.Range) && WDamage(t) >= t.Health);
                var target = TargetSelector.GetTarget(killableEnemies, DamageType.Physical);
                if (target == null)
                {
                    return;
                }
                LogicW(target);
            }

            if (KillStealMenu.GetCheckBoxValue("killsteal.r") && R.IsReady())
            {
                var useE            = KillStealMenu.GetCheckBoxValue("killsteal.e.withr");
                var killableEnemies =
                    EntityManager.Heroes.Enemies.Where(
                        t => t.IsValidTarget(R.Range + (useE ? E.Range : 0)) && RDamage(t) >= t.Health);
                var target = TargetSelector.GetTarget(killableEnemies, DamageType.Physical);

                if (target == null)
                {
                    killableEnemies =
                        EntityManager.Heroes.Enemies.Where(
                            t => t.IsValidTarget(R2.Range + (useE ? E.Range : 0)) && RDamage(t, true) >= t.Health);
                    target = TargetSelector.GetTarget(killableEnemies, DamageType.Physical);

                    if (target != null)
                    {
                        LogicR(target, true, useE);
                    }
                }
                else
                {
                    LogicR(target, false, useE);
                }
            }
        }
示例#9
0
        public static void Execute()
        {
            {
                foreach (
                    var target in
                    EntityManager.Heroes.Enemies.Where(
                        hero =>
                        hero.IsValidTarget(R.Range) && !hero.IsDead && !hero.IsZombie && hero.HealthPercent <= 25))
                {
                    var predQ = Q.GetPrediction(target);
                    if (KillStealMenu.GetCheckBoxValue("rUse") && R.IsReady())
                    {
                        R.Cast();
                        R1.Cast(target);
                    }

                    if (KillStealMenu.GetCheckBoxValue("qUse") && Q.IsReady())
                    {
                        Player.GetSpellDamage(target, SpellSlot.Q);
                    }
                    {
                        if (predQ.HitChance >= HitChance.High)
                        {
                            Q.Cast(target.Position);
                        }
                    }
                    var useSmite = KillStealMenu.GetCheckBoxValue("smiteUse");
                    if (useSmite && Smite != null && SmiteManager.CanUseOnChamp)
                    {
                        var smitetarget = TargetSelector.GetTarget(EntityManager.Heroes.Enemies.Where(t => t.IsValidTarget(Smite.Range) &&
                                                                                                      t.Health <= Damage.SmiteDamage(t)), DamageType.True);

                        if (smitetarget != null)
                        {
                            Smite.Cast(target);
                        }
                    }
                    if (KillStealMenu.GetCheckBoxValue("smite2Use") && SpellsManager.CanUseSmiteOnHeroes && target.IsInSmiteRange() && Util.MyHero.GetSummonerSpellDamage(target, DamageLibrary.SummonerSpells.Smite) >= target.Health)
                    {
                        Util.MyHero.Spellbook.CastSpell(SpellsManager.Smite.Slot, target);
                    }

                    if (KillStealMenu.GetCheckBoxValue("eUse") && E.IsReady() &&
                        target.Health + target.AttackShield <
                        Player.GetSpellDamage(target, SpellSlot.E))
                    {
                        E.Cast(target);
                    }
                }
            }
        }
示例#10
0
文件: Active.cs 项目: Taazuma/EB-T
        public static void Execute()
        {
            //////////////////// KS E
            var targetKSE = TargetSelector.GetTarget(SpellsManager.E.Range, DamageType.Magical);

            if (targetKSE == null || targetKSE.IsInvulnerable || targetKSE.MagicImmune)
            {
                return;
            }

            if (KillStealMenu.GetCheckBoxValue("eUse") && SpellsManager.E.IsReady())
            {
                if (targetKSE.Health < Player.Instance.GetSpellDamage(targetKSE, SpellSlot.E))
                {
                    SpellsManager.E.Cast(targetKSE);
                }
            }//////////////////// END KS E
        }
示例#11
0
        public static void Execute()
        {
            //////////////////// KS E
            var targetKSE = TargetSelector.GetTarget(SpellsManager.E.Range, DamageType.Magical);

            if (targetKSE != null && KillStealMenu.GetCheckBoxValue("eUse") && SpellsManager.E.IsReady())
            {
                if (targetKSE.Health < Player.Instance.GetSpellDamage(targetKSE, SpellSlot.E))
                {
                    SpellsManager.E.Cast(targetKSE);
                    return;
                }
            }//////////////////// END KS E

            //if (R.IsLearned && Player.Instance.CountEnemiesInRange(R.Range) >= 1 || Player.Instance.HealthPercent <= 20 && R.IsReady() && ComboMenu.GetCheckBoxValue("rLow"))
            //{
            //    R.Cast();
            //}
        }
示例#12
0
        private void NormalCombo(Obj_AI_Base target)
        {
            if (ComboMenu.GetCheckBoxValue(ComboMenuID + "Q"))
            {
                Q.TryCast(target);
            }
            if (ComboMenu.GetCheckBoxValue(ComboMenuID + "W"))
            {
                W.TryCast(target);
            }


            if (!KillStealMenu.GetCheckBoxValue(KillstealMenuID + "R") &&
                ComboMenu.GetCheckBoxValue(ComboMenuID + "R") &&
                target.Distance(Player.Instance) >= ComboMenu.GetSliderValue(48))
            {
                R.TryCast(target);
            }
        }
示例#13
0
 /// <summary>
 /// Put in here what you want to do when the mode is running
 /// </summary>
 public static void Execute()
 {
     //var target = TargetManager.GetChampionTarget(SpellManager.R.Range, DamageType.Magical, false, false, SpellManager.RDamage());
     //   if (target != null)
     //       SpellManager.CastR(target);
     //Thanks to Mario
     if (KillStealMenu.GetCheckBoxValue("rUse"))
     {
         var rtarget = TargetSelector.GetTarget(R.Range, DamageType.Magical);
         if (R.IsReady())
         {
             var rDamage = rtarget.GetDamage(SpellSlot.R);
             var target  = TargetManager.GetChampionTarget(SpellsManager.R.Range, DamageType.Magical, false, false, SpellsManager.RDamage());
             if (target != null)
             {
                 SpellsManager.R.Cast(target);
             }
         }
     }    // END THANKS
 }
示例#14
0
        public override void PermaActive()
        {
            var ks = W.GetKillableTarget();
            if (KillStealMenu.GetCheckBoxValue(KillstealMenuID + "Q")) Q.TryCast(ks);
            if (KillStealMenu.GetCheckBoxValue(KillstealMenuID + "W")) W.TryCast(ks);

            var target = GetTarget(1200);
            if (HarassMenu.GetSliderValue(AutoHarassMenuID + "mana") <= Player.Instance.ManaPercent)
            {
                if (HarassMenu.GetCheckBoxValue(AutoHarassMenuID + "Q")) Q.TryCast(target);
                if (HarassMenu.GetCheckBoxValue(AutoHarassMenuID + "W")) W.TryCast(target);
                if (HarassMenu.GetCheckBoxValue(AutoHarassMenuID + "E") &&
                    HarassMenu.GetSliderValue(50) <= Player.Instance.HealthPercent)
                {
                    E.TryCast(target);
                }
            }

            if (MiscMenu.GetSliderValue(MiscMenuID + "mana") <= Player.Instance.ManaPercent &&
                MiscMenu.GetCheckBoxValue(58))
            {
                if (MiscMenu.GetCheckBoxValue(60))
                {
                    if (MiscMenu.GetCheckBoxValue(61) && target.IsStunned) Q.TryCast(target);
                    if (MiscMenu.GetCheckBoxValue(62) && target.IsRooted) Q.TryCast(target);
                    if (MiscMenu.GetCheckBoxValue(63) && target.IsFeared) Q.TryCast(target);
                    if (MiscMenu.GetCheckBoxValue(64) && target.IsTaunted) Q.TryCast(target);
                    if (MiscMenu.GetCheckBoxValue(65) && target.IsSuppressCallForHelp) Q.TryCast(target);
                    if (MiscMenu.GetCheckBoxValue(66) && target.IsCharmed) Q.TryCast(target);
                }
                if (MiscMenu.GetCheckBoxValue(67))
                {
                    if (MiscMenu.GetCheckBoxValue(68) && target.IsStunned) W.TryCast(target);
                    if (MiscMenu.GetCheckBoxValue(69) && target.IsRooted) W.TryCast(target);
                    if (MiscMenu.GetCheckBoxValue(70) && target.IsFeared) W.TryCast(target);
                    if (MiscMenu.GetCheckBoxValue(71) && target.IsTaunted) W.TryCast(target);
                    if (MiscMenu.GetCheckBoxValue(72) && target.IsSuppressCallForHelp) W.TryCast(target);
                    if (MiscMenu.GetCheckBoxValue(73) && target.IsCharmed) W.TryCast(target);
                }
            }
        }
示例#15
0
        public static void Execute()
        {
            if (_player.IsDead || _player.IsRecalling())
            {
                return;
            }

            var target = TargetSelector.GetTarget(R.Range, DamageType.Magical);

            if (target == null || target.IsInvulnerable || target.MagicImmune)
            {
                return;
            }

            if (KillStealMenu.GetCheckBoxValue("wUse") && W.IsReady())
            {
                var wtarget = TargetSelector.GetTarget(W.Range, DamageType.Physical);

                if (wtarget == null)
                {
                    return;
                }

                if (W.IsReady())
                {
                    var wDamage = wtarget.GetDamage(SpellSlot.W);

                    var predictedHealth = Prediction.Health.GetPrediction(wtarget, W.CastDelay + Game.Ping);

                    if (predictedHealth <= wDamage)
                    {
                        var pred = W.GetPrediction(wtarget);
                        if (pred.HitChancePercent >= 90)
                        {
                            W.Cast(wtarget.Position);
                        }
                    }
                }
            }
        }
示例#16
0
        public static void Execute()
        {
            if (DrawingsMenu.GetCheckBoxValue("showkilla"))
            {
                Indicator.DamageToUnit = Program.GetComboDamage;
            }

            var target  = TargetSelector.GetTarget(Q.Range + 200, DamageType.Magical);
            var rtarget = TargetSelector.GetTarget(R.Range - 200, DamageType.Magical);

            if (target == null || target.IsInvulnerable || target.MagicImmune)
            {
                return;
            }

            var predQ   = Q.GetPrediction(target);
            var qDamage = target.GetDamage(SpellSlot.Q);

            if (KillStealMenu.GetCheckBoxValue("rUse") && R.IsReady() && rtarget.IsValidTarget(R.Range - 500))
            {
                R.Cast();
                R1.Cast(rtarget);
            }

            if (KillStealMenu.GetCheckBoxValue("qUse") && Q.IsReady() && target.Health + target.AttackShield <= qDamage)

            {
                if (predQ.HitChance >= HitChance.High)
                {
                    Q.Cast(target.Position);
                }
            }

            if (KillStealMenu.GetCheckBoxValue("eUse") && E.IsReady() && target.Health + target.AttackShield < Player.GetSpellDamage(target, SpellSlot.E))
            {
                E.Cast(target);
            }
        }
示例#17
0
        public static void Execute()
        {
            {
                foreach (
                    var target in
                    EntityManager.Heroes.Enemies.Where(
                        hero =>
                        hero.IsValidTarget(R.Range) && !hero.IsDead && !hero.IsZombie && hero.HealthPercent <= 25))
                {
                    var predQ = Q.GetPrediction(target);
                    if (KillStealMenu.GetCheckBoxValue("rUse") && R.IsReady())
                    {
                        R.Cast();
                        R1.Cast(target);
                    }

                    if (KillStealMenu.GetCheckBoxValue("qUse") && Q.IsReady())
                    {
                        Player.GetSpellDamage(target, SpellSlot.Q);
                    }
                    {
                        if (predQ.HitChance >= HitChance.High)
                        {
                            Q.Cast(target.Position);
                        }
                    }

                    if (KillStealMenu.GetCheckBoxValue("eUse") && E.IsReady() &&
                        target.Health + target.AttackShield <
                        Player.GetSpellDamage(target, SpellSlot.E))
                    {
                        E.Cast(target);
                    }
                }
            }
        }
示例#18
0
        public static void Execute()
        {
            if (Player.HasBuff("zedulttargetmark"))
            {
                if (W.IsReady())
                {
                    W.Cast(Player.Instance);
                }
            }
            if (Player.Instance.CountEnemiesInRange(W.Range) >= 2 || Player.Instance.HealthPercent <= 20 && W.IsReady())
            {
                W.Cast(Player.Instance);
            }

            if (KillStealMenu.GetCheckBoxValue("qUse")) // Start KS Q
            {
                var qtarget = TargetSelector.GetTarget(Q.Range, DamageType.Magical);

                if (qtarget == null)
                {
                    return;
                }

                if (Q.IsReady())
                {
                    //var passiveDamage = rtarget.HasPassive() ? rtarget.GetPassiveDamage() : 0f;
                    var rDamage = qtarget.GetDamage(SpellSlot.Q);

                    var predictedHealth = Prediction.Health.GetPrediction(qtarget, Q.CastDelay + Game.Ping);

                    if (predictedHealth <= rDamage)
                    {
                        if (qtarget.IsValidTarget(Q.Range))
                        {
                            Q.Cast(qtarget);
                        }
                    }
                }
            }// END KS

            if (KillStealMenu.GetCheckBoxValue("eUse")) // Start KS E
            {
                var etarget = TargetSelector.GetTarget(E.Range, DamageType.Magical);

                if (etarget == null)
                {
                    return;
                }

                if (E.IsReady())
                {
                    //var passiveDamage = rtarget.HasPassive() ? rtarget.GetPassiveDamage() : 0f;
                    var rDamage = etarget.GetDamage(SpellSlot.E);

                    var predictedHealth = Prediction.Health.GetPrediction(etarget, E.CastDelay + Game.Ping);

                    if (predictedHealth <= rDamage)
                    {
                        if (etarget.IsValidTarget(E.Range))
                        {
                            E.Cast(etarget);
                        }
                    }
                }
            }// END KS

            if (KillStealMenu.GetCheckBoxValue("rUse")) // Start KS R
            {
                var rtarget = TargetSelector.GetTarget(R.Range, DamageType.Magical);

                if (rtarget == null)
                {
                    return;
                }

                if (R.IsReady())
                {
                    //var passiveDamage = rtarget.HasPassive() ? rtarget.GetPassiveDamage() : 0f;
                    var rDamage = rtarget.GetDamage(SpellSlot.R);

                    var predictedHealth = Prediction.Health.GetPrediction(rtarget, R.CastDelay + Game.Ping);

                    if (predictedHealth <= rDamage)
                    {
                        if (rtarget.IsValidTarget(R.Range))
                        {
                            R.Cast(rtarget);
                        }
                    }
                }
            }// END KS
        }
示例#19
0
        public static void Execute()
        {
            var orbMode = Orbwalker.ActiveModesFlags;

            if (orbMode.HasFlag(Orbwalker.ActiveModes.Combo))
            {
                if (GetE != null && GetE.CountEnemiesInRange(350) >= 1 && Player.GetSpell(SpellSlot.E).ToggleState >= 1)
                {
                    var enemy =
                        EntityManager.Heroes.Enemies.FirstOrDefault(
                            e => e.IsInRange(GetE, 320) && e.IsInAutoAttackRange(Player.Instance) && e.HasPassive());
                    if (enemy == null)
                    {
                        E.Cast(Player.Instance);
                    }
                }
            }

            if (orbMode.HasFlag(Orbwalker.ActiveModes.Harass))
            {
                if (GetE != null && GetE.CountEnemiesInRange(350) >= 1 && Player.GetSpell(SpellSlot.E).ToggleState >= 1)
                {
                    E.Cast(Player.Instance);
                }
            }

            if (orbMode.HasFlag(Orbwalker.ActiveModes.LaneClear))
            {
                LaneClear.Execute();
            }

            if (orbMode.HasFlag(Orbwalker.ActiveModes.LastHit))
            {
                LastHit.Execute();
            }

            if (KillStealMenu.GetCheckBoxValue("rUse"))
            {
                var target = TargetSelector.GetTarget(R.Range, DamageType.Magical);

                if (target == null)
                {
                    return;
                }

                if (R.IsReady())
                {
                    var passiveDamage = target.HasPassive() ? target.GetPassiveDamage() : 0f;
                    var rDamage       = target.GetDamage(SpellSlot.R) + passiveDamage;

                    var predictedHealth = Prediction.Health.GetPrediction(target, R.CastDelay + Game.Ping);

                    if (predictedHealth <= rDamage)
                    {
                        var pred = R.GetPrediction(target);
                        if (pred.HitChancePercent >= 90)
                        {
                            R.Cast(target);
                        }
                    }
                }
            }
        }
示例#20
0
文件: Active.cs 项目: Taazuma/Yaddons
        public static void Execute()
        {
            //////////////////// KS Q
            if (KillStealMenu.GetCheckBoxValue("qUse"))
            {
                var qtarget = TargetSelector.GetTarget(W.Range, DamageType.Magical);

                if (qtarget == null)
                {
                    return;
                }

                if (Q.IsReady())
                {
                    var rDamage = qtarget.GetDamage(SpellSlot.Q);

                    var predictedHealth = Prediction.Health.GetPrediction(qtarget, Q.CastDelay + Game.Ping);

                    if (predictedHealth <= rDamage)
                    {
                        var rangi = TargetSelector.GetTarget(_player.GetAutoAttackRange(), DamageType.Physical);
                        if (rangi.IsValidTarget())
                        {
                            Q.Cast();
                        }
                    }
                }
            }            //////////////////// END KS Q

            //////////////////// KS W
            if (KillStealMenu.GetCheckBoxValue("wUse"))
            {
                var wtarget = TargetSelector.GetTarget(W.Range, DamageType.Magical);

                if (wtarget == null)
                {
                    return;
                }

                if (W.IsReady())
                {
                    var rDamage = wtarget.GetDamage(SpellSlot.W);

                    var predictedHealth = Prediction.Health.GetPrediction(wtarget, W.CastDelay + Game.Ping);

                    if (predictedHealth <= rDamage)
                    {
                        W.Cast();
                    }
                }
            }
            //////////////////// KS W END


            //////////////////// KS E
            if (KillStealMenu.GetCheckBoxValue("eUse"))
            {
                var etarget = TargetSelector.GetTarget(E.Range, DamageType.Magical);

                if (etarget == null)
                {
                    return;
                }

                if (E.IsReady())
                {
                    var rDamage = etarget.GetDamage(SpellSlot.E);

                    var predictedHealth = Prediction.Health.GetPrediction(etarget, E.CastDelay + Game.Ping);

                    if (predictedHealth <= rDamage)
                    {
                        var pred = E.GetPrediction(etarget);
                        if (pred.HitChancePercent >= 90)
                        {
                            E.Cast(etarget);
                        }
                    }
                }
            }//////////////////// KS E END

            //    //HEAL W
            //if (MiscMenu.GetCheckBoxValue("AutoW"))
            //{
            //    var health = (100 * (_player.Health / _player.MaxHealth)) < MiscMenu.GetSliderValue("AutoWHP");

            //    if (_player.HasBuff("Recall") || _player.Mana <= 4) return;


            //    if (W.IsReady() && health)
            //    {
            //        W.Cast();
            //    }
            //    }            //HEAL W END

            // ZED ULT HEAL
            if (Player.HasBuff("zedulttargetmark") && MiscMenu.GetCheckBoxValue("ZedHeal4") && Player.Instance.Mana == 4)
            {
                if (W.IsReady())
                {
                    W.Cast();
                }
            }           // ZED ULT HEAL END

            // ZED ULT HEAL 2
            if (Player.HasBuff("zedulttargetmark") && MiscMenu.GetCheckBoxValue("ZedHeal5") && Player.Instance.Mana == 5)
            {
                if (W.IsReady())
                {
                    W.Cast();
                }
            }           // ZED ULT HEAL 2 END
        }
示例#21
0
        public override void PermaActive()
        {
            var ks = R.GetKillableTarget();

            if (KillStealMenu.GetCheckBoxValue(KillstealMenuID + "W"))
            {
                W.TryCast(ks);
            }
            if (KillStealMenu.GetCheckBoxValue(KillstealMenuID + "R"))
            {
                R.TryCast(ks);
            }

            var target = GetTarget(W);

            if (HarassMenu.GetCheckBoxValue(AutoHarassMenuID + "W") &&
                HarassMenu.GetSliderValue(AutoHarassMenuID + "mana") <= Player.Instance.ManaPercent)
            {
                W.TryCast(target);
            }

            if (MiscMenu.GetSliderValue(MiscMenuID + "mana") <= Player.Instance.ManaPercent && MiscMenu.GetCheckBoxValue(56))
            {
                if (MiscMenu.GetCheckBoxValue(52))
                {
                    if (MiscMenu.GetCheckBoxValue(53) && target.IsStunned)
                    {
                        W.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(54) && target.IsRooted)
                    {
                        W.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(55) && target.IsFeared)
                    {
                        W.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(56) && target.IsTaunted)
                    {
                        W.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(57) && target.IsSuppressCallForHelp)
                    {
                        W.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(58) && target.IsCharmed)
                    {
                        W.TryCast(target);
                    }
                }
                if (MiscMenu.GetCheckBoxValue(59))
                {
                    if (MiscMenu.GetCheckBoxValue(60) && target.IsStunned)
                    {
                        R.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(61) && target.IsRooted)
                    {
                        R.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(62) && target.IsFeared)
                    {
                        R.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(63) && target.IsTaunted)
                    {
                        R.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(64) && target.IsSuppressCallForHelp)
                    {
                        R.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(65) && target.IsCharmed)
                    {
                        R.TryCast(target);
                    }
                }
            }
        }
示例#22
0
文件: Combo.cs 项目: Taazuma/Yaddons
        public static void Execute()
        {
            var target = TargetSelector.GetTarget(1700, DamageType.Magical);

            if (target == null || target.IsInvulnerable || target.MagicImmune)
            {
                return;
            }


            Core.DelayAction(delegate
            {
                if (target.IsValidTarget(E.Range) && E.IsReady() && ComboMenu.GetCheckBoxValue("eUse") && (Hitch.ShouldOverload(SpellSlot.E) || Player.Instance.Mana < 80))
                {
                    E.Cast(target);
                }
            }, Edelay);

            if (Player.Instance.Spellbook.GetSpell(SpellSlot.E).ToggleState == 1)
            {
                E.Cast(target.Position);
            }

            if (target.IsValidTarget(Q.Range) && Q.IsReady() && ComboMenu.GetCheckBoxValue("qUse") && Player.Instance.IsFacing(target) && (Hitch.ShouldOverload(SpellSlot.Q) || Player.Instance.Mana < 80))
            {
                Q.Cast();
            }

            if (W.IsReady() && ComboMenu.GetCheckBoxValue("wUse"))
            {
                W.Cast();
            }

            var targetR = TargetSelector.GetTarget(R.Range, DamageType.Magical);

            if (targetR == null || targetR.IsZombie || targetR.HasUndyingBuff())
            {
                return;
            }

            if (ComboMenu.GetCheckBoxValue("my") && R.IsReady())
            {
                if (targetR.IsMoving)
                {
                    if (targetR.IsValidTarget(R.Range + 1000))
                    {
                        R.Cast(target.Position - target.MoveSpeed);
                    }
                }
                else
                {
                    R.Cast(target.Position + 550);
                }
            }

            if (R.IsReady() && targetR.IsValidTarget(R.Range) && ComboMenu.GetCheckBoxValue("mario") && !targetR.IsInRange(Player.Instance, E.Range) && !targetR.IsFacing(Player.Instance))
            {
                if (KillStealMenu.GetCheckBoxValue("rUse") && Prediction.Health.GetPrediction(targetR, R.CastDelay) <=
                    SpellDamage.GetRealDamage(SpellSlot.R, targetR))
                {
                    Hitch.CastR(targetR, MiscMenu.GetSliderValue("minR"));
                }
                else
                {
                    Hitch.CastR(targetR, MiscMenu.GetSliderValue("minR"));
                }
            }
        }
示例#23
0
        public override void PermaActive()
        {
            var ks = R.GetKillableTarget();

            if (KillStealMenu.GetCheckBoxValue(KillstealMenuID + "Q"))
            {
                Q.TryCast(ks);
            }
            if (KillStealMenu.GetCheckBoxValue(KillstealMenuID + "E"))
            {
                E.TryCast(ks);
            }

            var target = GetTarget(E);

            if (HarassMenu.GetCheckBoxValue(AutoHarassMenuID + "E"))
            {
                E.TryCast(target);
            }

            if (MiscMenu.GetCheckBoxValue(57))
            {
                if (MiscMenu.GetCheckBoxValue(59))
                {
                    if (MiscMenu.GetCheckBoxValue(60) && target.IsStunned)
                    {
                        Q.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(61) && target.IsRooted)
                    {
                        Q.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(62) && target.IsFeared)
                    {
                        Q.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(63) && target.IsTaunted)
                    {
                        Q.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(64) && target.IsSuppressCallForHelp)
                    {
                        Q.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(65) && target.IsCharmed)
                    {
                        Q.TryCast(target);
                    }
                }
                if (MiscMenu.GetCheckBoxValue(66))
                {
                    if (MiscMenu.GetCheckBoxValue(67) && target.IsStunned)
                    {
                        E.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(68) && target.IsRooted)
                    {
                        E.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(69) && target.IsFeared)
                    {
                        E.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(70) && target.IsTaunted)
                    {
                        E.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(71) && target.IsSuppressCallForHelp)
                    {
                        E.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(72) && target.IsCharmed)
                    {
                        E.TryCast(target);
                    }
                }
            }
        }
示例#24
0
文件: Active.cs 项目: Taazuma/EB-T
        public static void Execute()
        {
            if (Combo._player.IsDead || Combo._player.IsRecalling())
            {
                return;
            }

            if (Player.HasBuff("zedulttargetmark") && MiscMenu.GetCheckBoxValue("wlow"))
            {
                if (W.IsReady())
                {
                    W.Cast(Game.CursorPos);
                }
            }

            var target = TargetSelector.GetTarget(Q.Range + 200, DamageType.Magical);

            if (target == null || target.IsInvulnerable || target.MagicImmune)
            {
                return;
            }

            if (MiscMenu.GetCheckBoxValue("autoq") && Q.IsReady() && target.IsValidTarget(Q.Range + 200) && Player.Instance.Mana <= 100)
            {
                Q.Cast(target);
            }

            if (Player.Instance.CountEnemiesInRange(W.Range) >= 2 || Player.Instance.HealthPercent <= 16 && W.IsReady() && MiscMenu.GetCheckBoxValue("wlow"))
            {
                W.Cast(Game.CursorPos);
            }

            if (KillStealMenu.GetCheckBoxValue("qUse")) // Start KS Q
            {
                var qtarget = TargetSelector.GetTarget(Q.Range, DamageType.Magical);

                if (qtarget == null)
                {
                    return;
                }

                if (Q.IsReady())
                {
                    var rDamage = DamageManager.GetQDamage(qtarget);
                    if (qtarget.Health + qtarget.AttackShield <= rDamage)
                    {
                        if (qtarget.IsValidTarget(Q.Range))
                        {
                            Q.Cast(qtarget);
                        }
                    }
                }
            }// END KS

            if (KillStealMenu.GetCheckBoxValue("eUse")) // Start KS E
            {
                var etarget = TargetSelector.GetTarget(E.Range, DamageType.Magical);

                if (etarget == null)
                {
                    return;
                }

                if (E.IsReady() && etarget.Health + etarget.AttackShield <= Akali.GetSpellDamage(etarget, SpellSlot.E) && etarget.IsValidTarget(E.Range))
                {
                    E.Cast();
                }
            }// END KS

            if (KillStealMenu.GetCheckBoxValue("rUse")) // Start KS R
            {
                var rtarget = TargetSelector.GetTarget(R.Range, DamageType.Magical);

                if (rtarget == null)
                {
                    return;
                }

                if (R.IsReady())
                {
                    //var passiveDamage = rtarget.HasPassive() ? rtarget.GetPassiveDamage() : 0f;
                    var rDamage = DamageManager.GetRDamage(rtarget);

                    if (rtarget.Health + rtarget.AttackShield <= rDamage)
                    {
                        if (rtarget.IsValidTarget(R.Range))
                        {
                            R.Cast(rtarget);
                        }
                    }
                }
            }// END KS
        }
示例#25
0
        public override void PermaActive()
        {
            var ks = R.GetKillableTarget();

            if (KillStealMenu.GetCheckBoxValue(KillstealMenuID + "Q"))
            {
                Q.TryCast(ks);
            }
            if (KillStealMenu.GetCheckBoxValue(KillstealMenuID + "E"))
            {
                E.TryCast(ks);
            }
            if (KillStealMenu.GetCheckBoxValue(KillstealMenuID + "R"))
            {
                RJump(ComboMenu.GetCheckBoxValue(51) ? "KillstealGapcloser" : "Killsteal", ks);
            }

            var target = GetTarget(1200);

            if (HarassMenu.GetCheckBoxValue(AutoHarassMenuID + "Q"))
            {
                Q.TryCast(target);
            }
            if (HarassMenu.GetCheckBoxValue(AutoHarassMenuID + "E"))
            {
                E.TryCast(target);
            }

            if (MiscMenu.GetCheckBoxValue(54))
            {
                if (MiscMenu.GetCheckBoxValue(56))
                {
                    if (MiscMenu.GetCheckBoxValue(57) && target.IsStunned)
                    {
                        Q.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(58) && target.IsRooted)
                    {
                        Q.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(59) && target.IsFeared)
                    {
                        Q.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(60) && target.IsTaunted)
                    {
                        Q.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(61) && target.IsSuppressCallForHelp)
                    {
                        Q.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(62) && target.IsCharmed)
                    {
                        Q.TryCast(target);
                    }
                }
                if (MiscMenu.GetCheckBoxValue(63))
                {
                    if (MiscMenu.GetCheckBoxValue(64) && target.IsStunned)
                    {
                        E.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(65) && target.IsRooted)
                    {
                        E.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(66) && target.IsFeared)
                    {
                        E.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(67) && target.IsTaunted)
                    {
                        E.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(68) && target.IsSuppressCallForHelp)
                    {
                        E.TryCast(target);
                    }
                    if (MiscMenu.GetCheckBoxValue(69) && target.IsCharmed)
                    {
                        E.TryCast(target);
                    }
                }
            }
        }
示例#26
0
文件: Active.cs 项目: Taazuma/Yaddons
        public static void Execute()
        {
            //////////////////// KS Q2
            if (KillStealMenu.GetCheckBoxValue("qUse"))
            {
                var q2target = TargetSelector.GetTarget(Q2.Range, DamageType.Magical);

                if (q2target == null)
                {
                    return;
                }

                if (Q.IsReady())
                {
                    var q2Damage = q2target.GetDamage(SpellSlot.Q);

                    var predictedHealth = Prediction.Health.GetPrediction(q2target, Q2.CastDelay + Game.Ping);

                    if (predictedHealth <= q2Damage && Q2.GetPrediction(q2target).HitChance >= Hitch.hitchance(Q2, FirstMenu))
                    {
                        var rangi = TargetSelector.GetTarget(Program._player.GetAutoAttackRange(), DamageType.Physical);
                        if (q2target.IsValidTarget(Q2.Range))
                        {
                            Q2.Cast(q2target);
                        }
                    }
                }
            }            //////////////////// END KS Q2

            //////////////////// KS E2
            if (KillStealMenu.GetCheckBoxValue("eUse"))
            {
                var e2target = TargetSelector.GetTarget(E2.Range, DamageType.Magical);

                if (e2target == null)
                {
                    return;
                }

                if (E2.IsReady())
                {
                    var e2Damage = e2target.GetDamage(SpellSlot.E);

                    var predictedHealth = Prediction.Health.GetPrediction(e2target, E2.CastDelay + Game.Ping);

                    if (predictedHealth <= e2Damage && E2.GetPrediction(e2target).HitChance >= Hitch.hitchance(E2, FirstMenu))
                    {
                        var rangi = TargetSelector.GetTarget(Program._player.GetAutoAttackRange(), DamageType.Physical);
                        if (e2target.IsValidTarget(E2.Range))
                        {
                            E2.Cast(e2target);
                        }
                    }
                }
            }       //////////////////// END KS E2

            //////////////////// KS Q2
            var targetKSQ2 = TargetSelector.GetTarget(SpellsManager.Q2.Range, DamageType.Magical);

            if (targetKSQ2 != null && Program.burrowed && KillStealMenu.GetCheckBoxValue("qUse") && SpellsManager.Q2.IsReady())
            {
                var predQ2 = SpellsManager.Q2.GetPrediction(targetKSQ2);
                if (predQ2.HitChance >= HitChance.High && targetKSQ2.Health < Player.Instance.GetSpellDamage(targetKSQ2, SpellSlot.Q))
                {
                    SpellsManager.Q2.Cast(predQ2.CastPosition);
                    return;
                }
            }//////////////////// END KS Q2
        }
示例#27
0
        public static void Execute()
        {
            if (W.IsReady())
            {
                if (Player.Instance.HealthPercent <= 25 && EntityManager.Heroes.Enemies.Count(e => !e.IsDead && W.IsInRange(e)) > 0)
                {
                    if (Player.Instance.HealthPercent <= 25)
                    {
                        return;
                    }
                    else
                    {
                        var firstOrDefault = EntityManager.Heroes.Enemies.FirstOrDefault(e => !e.IsDead && W.IsInRange(e));
                        if (firstOrDefault != null)
                        {
                            W.Cast(firstOrDefault.ServerPosition);
                        }
                    }
                }
            }

            //Thanks to Mario
            if (KillStealMenu.GetCheckBoxValue("rUse"))
            {
                var rtarget = TargetSelector.GetTarget(R.Range, DamageType.Magical);

                if (rtarget == null)
                {
                    return;
                }

                if (R.IsReady())
                {
                    var passiveDamage = rtarget.HasPassive() ? rtarget.GetPassiveDamage() : 0f;
                    var rDamage       = rtarget.GetDamage(SpellSlot.R) + passiveDamage;

                    var predictedHealth = Prediction.Health.GetPrediction(rtarget, R.CastDelay + Game.Ping);

                    if (predictedHealth <= rDamage)
                    {
                        var pred = R.GetPrediction(rtarget);
                        if (pred.HitChancePercent >= 90)
                        {
                            R.Cast(rtarget);
                        }
                    }
                }
            }// END THANKS

            if (!R.IsReady())
            {
                return;
            }

            var stealBlue     = KillStealMenu.GetCheckBoxValue("StealBlueBuff");
            var stealRed      = KillStealMenu.GetCheckBoxValue("StealRedBuff");
            var stealDragon   = KillStealMenu.GetCheckBoxValue("StealDragon");
            var stealBaron    = KillStealMenu.GetCheckBoxValue("StealBaron");
            var stealBuffMode = KillStealMenu.GetCheckBoxValue("StealBuffMode");

            if (stealBaron)
            {
                var baron           = ObjectManager.Get <Obj_AI_Minion>().FirstOrDefault(x => x.CharData.BaseSkinName.Equals("SRU_Baron"));
                var predictedHealth = Prediction.Health.GetPrediction(baron, R.CastDelay + Game.Ping);
                if (baron != null)
                {
                    //var healthPred = HealthPrediction.GetHealthPrediction(baron, (int)(R.Delay * 1000) + Game.Ping / 2);
                    var rDamage = baron.GetDamage(SpellSlot.R);
                    if (predictedHealth <= rDamage)
                    {
                        R.Cast(baron);
                    }
                }
            }

            if (stealDragon)
            {
                var dragon =
                    ObjectManager.Get <Obj_AI_Minion>().FirstOrDefault(x => x.CharData.BaseSkinName.Equals("SRU_Dragon"));

                if (dragon != null)
                {
                    var predictedHealth = Prediction.Health.GetPrediction(dragon, R.CastDelay + Game.Ping);
                    var rDamage         = dragon.GetDamage(SpellSlot.R);

                    if (predictedHealth <= rDamage)
                    {
                        R.Cast(dragon);
                    }
                }
            }
        }