コード例 #1
0
ファイル: Events.cs プロジェクト: Taazuma/Yaddons
        private static void OnDraw(EventArgs args)
        {
            if (Player.Instance.IsDead)
            {
                return;
            }

            if (MiscMenu.GetCheckBoxValue("vSmiteDrawRange"))
            {
                Circle.Draw(Color.Gold, SpellsManager.Smite.Range, Player.Instance.Position);
            }
            if (MiscMenu.GetCheckBoxValue("vSmiteDrawSmiteStatus"))
            {
                var enabled = MiscMenu.GetKeyBindValue("smitekey") && MiscMenu.GetCheckBoxValue("sjgl");
                Text.Position  = Drawing.WorldToScreen(Player.Instance.Position) - new Vector2(40, -60);
                Text.Color     = enabled ? FontColor.LightSeaGreen : FontColor.DarkRed;
                Text.TextValue = enabled ? "Smite: ENABLED" : "Smite: disabled";
                Text.Draw();
            }
            if (MiscMenu.GetCheckBoxValue("vSmiteDrawSmiteable"))
            {
                var monsters =
                    EntityManager.MinionsAndMonsters.GetJungleMonsters(Player.Instance.Position, SpellsManager.Smite.Range + 500.0f)
                    .Where(e => !e.IsDead && e.Health > 0 && !e.IsInvulnerable && e.IsVisible && e.Health < Program.SmiteDmgMonster(e) && Program.MonstersNames.Contains(e.BaseSkinName));
                foreach (var monster in monsters)
                {
                    Circle.Draw(Color.Red, monster.BoundingRadius, monster.Position);
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// Put in here what you want to do when the mode is running
        /// </summary>
        public static void Execute()
        {
            {
                var target = TargetSelector.GetTarget(Q.Range, DamageType.Physical);
                if (target == null)
                {
                    return;
                }

                if (!QState && LastQ + 200 < Environment.TickCount && HarassMenu.GetCheckBoxValue("q1Use") && !QState &&
                    Q.IsReady() && target.HasQBuff() &&
                    (LastQ + 2700 < Environment.TickCount || myHero.GetSpellDamage(target, SpellSlot.Q) >= target.Health ||
                     target.Distance(myHero) > myHero.GetAutoAttackRange() + 50))
                {
                    Q.Cast();
                }

                if (ComboMenu.GetCheckBoxValue("Cpassive") &&
                    PassiveStacks > ComboMenu.GetSliderValue("passivestacks") &&
                    myHero.GetAutoAttackRange() > myHero.Distance(target))
                {
                    return;
                }

                if (Q.IsReady() && HarassMenu.GetCheckBoxValue("q1Use") && LastQ + 200 < Environment.TickCount)
                {
                    if (QState && target.Distance(myHero) < Q.Range)
                    {
                        CastQ(target, MiscMenu.GetCheckBoxValue("smiteq"));
                    }
                }

                if (E.IsReady() && HarassMenu.GetCheckBoxValue("eeUse") && LastE + 200 < Environment.TickCount)
                {
                    if (EState && target.Distance(myHero) < E.Range)
                    {
                        E.Cast();
                        return;
                    }

                    if (!EState && target.Distance(myHero) > myHero.GetAutoAttackRange() + 50)
                    {
                        E.Cast();
                    }
                }

                if (HarassMenu.GetCheckBoxValue("wUse") && myHero.Distance(target) < 50 && !(target.HasQBuff()) &&
                    (EState || !E.IsReady() && HarassMenu.GetCheckBoxValue("eeUse")) &&
                    (QState || !Q.IsReady() && HarassMenu.GetCheckBoxValue("q1Use")))
                {
                    var min =
                        ObjectManager.Get <Obj_AI_Minion>()
                        .Where(a => a.IsAlly && a.Distance(myHero) <= W.Range)
                        .OrderByDescending(a => a.Distance(target))
                        .FirstOrDefault();

                    W.Cast(min);
                }
            }
        }
コード例 #3
0
ファイル: _E_Advanced.cs プロジェクト: Taazuma/RoninOldAddons
        static void OnUpdate(EventArgs args)
        {
            if (!E.IsReady() || MiscMenu.GetCheckBoxValue("eLogic"))
            {
                return;
            }

            foreach (var dispell in Dispells.Where(
                         d =>
                         Player.HasBuff(d.BuffName) &&
                         MiscMenu[d.ChampionName + d.BuffName] != null &&
                         MiscMenu[d.ChampionName + d.BuffName].Cast <CheckBox>().CurrentValue
                         ))
            {
                var buff = Player.GetBuff(dispell.BuffName);
                if (buff == null || !buff.IsValid || !buff.IsActive)
                {
                    continue;
                }
                var milisec  = (buff.EndTime - Game.Time) * 1000f + dispell.Offset + 250;
                var Emilisec = SpellsManager.E.CastDelay + Game.Ping / 2f;

                if (milisec < Emilisec)
                {
                    var player1 = ObjectManager.Player;
                    E.Cast(player1);
                }
            }
        }
コード例 #4
0
        public static void Execute()
        {
            if (_player.IsDead || _player.IsRecalling())
            {
                return;
            }

            if (E.IsReady() && MiscMenu.GetCheckBoxValue("eks")) // Start KS
            {
                var etarget = TargetSelector.GetTarget(E.Range, DamageType.Magical);

                if (etarget == null)
                {
                    return;
                }

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

                    if (etarget.Health + etarget.AttackShield <= eDamage)
                    {
                        if (etarget.IsValidTarget(Q.Range))
                        {
                            E.Cast(etarget.Position);
                        }
                    }
                }
            }// END KS
        }
コード例 #5
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
        }
コード例 #6
0
        private static void Obj_AI_Base_OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
        {
            var hero = sender as AIHeroClient;

            if (hero == null || hero.IsAlly)
            {
                return;
            }

            var dangerousspell =
                DangerousSpells.Spells.FirstOrDefault(
                    x =>
                    x.Hero == hero.Hero && args.Slot == x.Slot &&
                    MiscMenu[x.Hero.ToString() + x.Slot].Cast <CheckBox>().CurrentValue);

            //SkilShot
            if (args.Target == null)
            {
                if (!MiscMenu.GetCheckBoxValue("considerskilshots"))
                {
                    return;
                }
                var projection = Player.Instance.Position.To2D().ProjectOn(args.Start.To2D(), args.End.To2D());

                if (projection.IsOnSegment &&
                    projection.SegmentPoint.Distance(Player.Instance.Position) <=
                    args.SData.CastRadius + Player.Instance.BoundingRadius + 30)
                {
                    if (dangerousspell != null)
                    {
                        ReceivingDangSpell = true;
                        Core.DelayAction(() => ReceivingDangSpell = false, 80);
                        return;
                    }

                    ReceivingSkillShot = true;
                    Core.DelayAction(() => ReceivingSkillShot = false, 80);
                }
            }
            //Targetted spell
            else
            {
                if (!MiscMenu.GetCheckBoxValue("considerspells"))
                {
                    return;
                }
                if (args.Target.IsMe)
                {
                    ReceivingSpell = true;
                    Core.DelayAction(() => ReceivingSpell = false, 80);
                }

                if (dangerousspell != null && ReceivingSpell)
                {
                    ReceivingDangSpell = true;
                    Core.DelayAction(() => ReceivingDangSpell = false, 80);
                }
            }
        }
コード例 #7
0
 /// <summary>
 /// This event is triggered when a unit levels up
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="args"></param>
 private static void Obj_AI_Base_OnLevelUp(Obj_AI_Base sender, Obj_AI_BaseLevelUpEventArgs args)
 {
     if (MiscMenu.GetCheckBoxValue("activateAutoLVL") && sender.IsMe)
     {
         var delay = MiscMenu.GetSliderValue("delaySlider");
         Core.DelayAction(LevelUPSpells, delay);
     }
 }
コード例 #8
0
ファイル: Events.cs プロジェクト: axantemir/EloBuddy
 public static void Obj_AI_Base_OnLevelUp(Obj_AI_Base sender, Obj_AI_BaseLevelUpEventArgs args)
 {
     if (MiscMenu.GetCheckBoxValue("activateAutoLVL") && sender.IsMe)
     {
         Random rnd   = new Random();
         var    delay = MiscMenu.GetSliderValue("delaySlider") + rnd.Next((int)Math.Ceiling(MiscMenu.GetSliderValue("delaySlider") * 0.5), (int)MiscMenu.GetSliderValue("delaySlider"));
         Core.DelayAction(LevelUpSpells, delay);
     }
 }
コード例 #9
0
ファイル: Events.cs プロジェクト: Taazuma/RoninOldAddons
 private static void OrbwalkerOnOnAttack(AttackableUnit target, EventArgs args)
 {
     if (MiscMenu.GetCheckBoxValue("fjgl") && target is AIHeroClient && SpellsManager.HasChallengingSmite() &&
         SpellsManager.Smite.IsReady())
     {
         var enemyHero = (AIHeroClient)target;
         SpellsManager.Smite.Cast(enemyHero);
     }
 }
コード例 #10
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
        }
コード例 #11
0
 private void OnInterruptableSpell(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs e)
 {
     if (sender.IsMe && sender.IsAlly && !MiscMenu.GetCheckBoxValue(MenuIds.MiscUseInterrupt))
     {
         return;
     }
     if (MiscMenu.GetCheckBoxValue(55))
     {
         R.TryCast(sender);
     }
 }
コード例 #12
0
ファイル: Program.cs プロジェクト: Taazuma/EB-T
 private static void Interrupter3_OnInterruptableTarget(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs args)
 {
     if (_player.IsDead)
     {
         return;
     }
     if (W.IsReady() && sender.IsValidTarget(W.Range) && MiscMenu.GetCheckBoxValue("UseWInt"))
     {
         var wtarget = TargetSelector.GetTarget(W.Range, DamageType.Magical);
         W.Cast(wtarget);
     }
 }
コード例 #13
0
        static void OnUpdate(EventArgs args)
        {
            if (MiscMenu.GetCheckBoxValue("wLogic") || W.IsReady())
            {
                foreach (var skillshot in Evade.Evade.GetSkillshotsAboutToHit(Player.Instance, (int)(W.CastDelay + Game.Ping / 2f)))
                {
                    var enemy = skillshot.Unit as AIHeroClient;

                    if (enemy == null)
                    {
                        continue;
                    }

                    var spells = new List <Block>();

                    BlockedSpells.TryGetValue(enemy.ChampionName, out spells);


                    if (spells == null || spells.Count == 0)
                    {
                        continue;
                    }

                    foreach (var spell in spells)
                    {
                        var item = MiscMenu[enemy.ChampionName + spell.MenuName];

                        if (item == null || !item.Cast <CheckBox>().CurrentValue)
                        {
                            continue;
                        }

                        if (!spell.PassesSlotCondition(skillshot.SpellData.Slot))
                        {
                            continue;
                        }

                        if (!spell.PassesBuffCondition(enemy) || !spell.PassesModelCondition(enemy))
                        {
                            continue;
                        }
                        if (!spell.PassesSpellCondition(skillshot.SpellData.SpellName))
                        {
                            continue;
                        }
                        if (MiscMenu.GetCheckBoxValue("wLogic"))
                        {
                            W.Cast();
                        }
                    }
                }
            }
        }
コード例 #14
0
ファイル: Program.cs プロジェクト: Taazuma/EB-T
 private static void Interrupter2_OnInterruptableTarget(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs args)
 {
     if (_player.IsDead)
     {
         return;
     }
     if (E.IsReady() && sender.IsValidTarget(E.Range) && MiscMenu.GetCheckBoxValue("UseEInt"))
     {
         var predE = E.GetPrediction(sender);
         E.Cast(sender.Position);
     }
 }
コード例 #15
0
        /// <summary>
        /// Put in here what you want to do when the mode is running
        /// </summary>
        public static void Execute()
        {
            var target = TargetSelector.GetTarget(1100, DamageType.Magical);

            if (MiscMenu.GetCheckBoxValue("eGap") && (Player.Instance.HealthPercent <= 60))
            {
                E.Cast(target);
            }
            //{
            //    Spells[0].Cast(Player.Instance.Position);
            //}
        }
コード例 #16
0
ファイル: SpellsManager.cs プロジェクト: elosupport/EB-Addons
 private static void Interrupter_OnInterruptableSpell(Obj_AI_Base sender,
                                                      Interrupter.InterruptableSpellEventArgs e)
 {
     if (!sender.IsValidTarget(Q.Range) || e.DangerLevel != DangerLevel.High || e.Sender.Type != ObjectManager.Player.Type ||
         !e.Sender.IsEnemy)
     {
         return;
     }
     if (Q.IsReady() && Q.IsInRange(sender) && MiscMenu.GetCheckBoxValue("interrupt.Q"))
     {
         Q.Cast(sender);
     }
 }
コード例 #17
0
ファイル: Program.cs プロジェクト: iRaxe/OKTRAIO-Reborn
        private void LogicQ(Obj_AI_Base target)
        {
            if (!Q.IsInRange(target))
            {
                return;
            }

            if (Q != null)
            {
                var qPrediction = Q.GetPrediction(target);

                if (qPrediction == null || qPrediction.HitChancePercent < 75)
                {
                    return;
                }

                if (MiscMenu.GetCheckBoxValue("misc.qcollision"))
                {
                    var predictedLocation = qPrediction.CastPosition;
                    var playerLocation    = Player.Instance.Position;

                    for (var i = 0; i < Player.Instance.Distance(predictedLocation); i++)
                    {
                        var newExtendedLocation = playerLocation.Extend(predictedLocation, i);
                        var collFlagPred        = NavMesh.GetCollisionFlags(newExtendedLocation);

                        if (collFlagPred.HasFlag(CollisionFlags.Wall) && collFlagPred.HasFlag(CollisionFlags.Building))
                        {
                            return;
                        }

                        predictedLocation = new Vector3(newExtendedLocation,
                                                        NavMesh.GetHeightForPosition(newExtendedLocation.X, newExtendedLocation.Y));
                    }
                }

                if (MiscMenu.GetCheckBoxValue("misc.qreturn"))
                {
                    var returnQCollisionCheck = Prediction.Position.Collision.LinearMissileCollision(target,
                                                                                                     qPrediction.CastPosition.To2D(), Player.Instance.Position.To2D(), Q.Speed, Q.Width, Q.CastDelay);

                    if (returnQCollisionCheck)
                    {
                        Q.Cast(qPrediction.CastPosition);
                    }
                    return;
                }

                Q.Cast(qPrediction.CastPosition);
            }
        }
コード例 #18
0
 private static void Interrupter2_OnInterruptableTarget(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs args)
 {
     if (_player.Mana < 5)
     {
         return;
     }
     if (E.IsReady() && sender.IsValidTarget(E.Range) && MiscMenu.GetCheckBoxValue("UseEInt"))
     {
         var predE = E.GetPrediction(sender);
         if (E.GetPrediction(sender).HitChance >= Hitch.hitchance(E, FirstMenu) && !_player.HasBuff("rengarpassivebuff"))
         {
             E.Cast(sender.Position);
         }
     }
 }
コード例 #19
0
ファイル: Aatrox.cs プロジェクト: iRaxe/OKTRAIO-Reborn
 private void OnGapCloser(Obj_AI_Base sender, Gapcloser.GapcloserEventArgs e)
 {
     if (sender.IsMe && sender.IsAlly && !MiscMenu.GetCheckBoxValue(MenuIds.MiscUseGapcloser))
     {
         return;
     }
     if (MiscMenu.GetCheckBoxValue(54))
     {
         Q.Cast(e.End + 5 * (Player.Instance.Position - e.End));
     }
     if (MiscMenu.GetCheckBoxValue(55))
     {
         E.TryCast(sender);
     }
 }
コード例 #20
0
 private void OnGapcloser(Obj_AI_Base sender, Gapcloser.GapcloserEventArgs e)
 {
     if (sender.IsMe && sender.IsAlly && !MiscMenu.GetCheckBoxValue(MenuIds.MiscUseGapcloser))
     {
         return;
     }
     if (MiscMenu.GetCheckBoxValue(53))
     {
         W.TryCast(sender);
     }
     if (MiscMenu.GetCheckBoxValue(54))
     {
         R.TryCast(sender);
     }
 }
コード例 #21
0
ファイル: SpellsManager.cs プロジェクト: elosupport/EB-Addons
        private static void AntiGapCloser(AIHeroClient sender, Gapcloser.GapcloserEventArgs e)
        {
            if (!e.Sender.IsValidTarget() || e.Sender.Type != ObjectManager.Player.Type || !e.Sender.IsEnemy)
            {
                return;
            }

            if (E.IsReady() && E.IsInRange(sender) && MiscMenu.GetCheckBoxValue("gapcloser.E"))
            {
                E.Cast(sender);
            }
            if (Q.IsReady() && Q.IsInRange(sender) && MiscMenu.GetCheckBoxValue("gapcloser.Q"))
            {
                Q.Cast(sender);
            }
        }
コード例 #22
0
ファイル: Flee.cs プロジェクト: Taazuma/Yaddons
        public static void Execute()
        {
            var ttarget = TargetSelector.GetTarget(1000, DamageType.Physical);

            if (E.IsReady() && Player.Instance.Mana == 5 && MiscMenu.GetCheckBoxValue("eflee") && E.GetPrediction(ttarget).HitChance >= Hitch.hitchance(E, FirstMenu))
            {
                var target = TargetSelector.GetTarget(1000, DamageType.Physical);
                E.Cast(target);
            }

            else if (E.IsReady() && MiscMenu.GetCheckBoxValue("eflee"))
            {
                var target = TargetSelector.GetTarget(1000, DamageType.Physical);
                E.Cast(target);
            }
        }
コード例 #23
0
ファイル: KillSteal.cs プロジェクト: Random007/Elobuddy-1
        public override void Execute()
        {
            var enemy = TargetSelector.GetTarget(1300, DamageType.Magical);

            if (enemy == null)
            {
                return;
            }
            if (MiscMenu.GetCheckBoxValue(R, "killsteal") && R.IsReady() && enemy.IsValidTarget(R.Range))
            {
                if (enemy.Health < enemy.GetRDamage())
                {
                    R.Cast(enemy);
                }
            }
        }
コード例 #24
0
ファイル: Program.cs プロジェクト: Taazuma/EB-T
        public static void OnAfterAttack(AttackableUnit target, EventArgs args)
        {
            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) && MiscMenu.GetCheckBoxValue("ninjaq"))
            {
                if (ComboMenu.GetCheckBoxValue("UseQCombo") && SpellsManager.Q.IsReady())
                {
                    SpellsManager.Q.Cast();
                    return;
                }
            }

            else if (ComboMenu.GetCheckBoxValue("UseQCombo") && SpellsManager.Q.IsReady() && MiscMenu.GetCheckBoxValue("ninjaq"))
            {
                SpellsManager.Q.Cast();
                return;
            }
        }
コード例 #25
0
 public static void Execute()
 {
     Core.DelayAction(delegate
     {
         //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();
             }
         }
     }, WSdelay);
     //// Sunnyline2
 }
コード例 #26
0
ファイル: Akali.cs プロジェクト: iRaxe/OKTRAIO-Reborn
        private void OnGapCloser(Obj_AI_Base sender, Gapcloser.GapcloserEventArgs e)
        {
            if (sender.IsMe && sender.IsAlly && !MiscMenu.GetCheckBoxValue(MenuIds.MiscUseGapcloser))
            {
                return;
            }
            if (MiscMenu.GetCheckBoxValue(52))
            {
                W.TryCast(Player.Instance);
            }
            var ally = Extensions.CloseAllies(R.Range).FirstOrDefault();

            if (MiscMenu.GetCheckBoxValue(53))
            {
                RJump("Flee", ally);
            }
        }
コード例 #27
0
ファイル: Flee.cs プロジェクト: Taazuma/Yaddons
        public static void Execute()
        {
            var useQ = MiscMenu.GetCheckBoxValue("qescape");
            var useC = MiscMenu.GetCheckBoxValue("rescape");

            if (Q.IsReady() && useQ)
            {
                Q.Cast(Game.CursorPos);
            }

            var clone = Program.getClone();

            if (clone != null && useC)
            {
                var pos = Game.CursorPos.Extend(clone.Position, clone.Distance(Game.CursorPos) + 2000);
                R.Cast(pos);
            }
        }
コード例 #28
0
ファイル: Mastery.cs プロジェクト: Random007/Elobuddy-1
        private static void Obj_AI_Base_OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
        {
            if (!MiscMenu.GetCheckBoxValue("Mastery"))
            {
                return;
            }

            var hero = sender as AIHeroClient;

            if (hero == null)
            {
                return;
            }
            if (args.Animation.ToLower().Contains("death") && hero.IsEnemy && hero.IsInRange(Player.Instance, 1000))
            {
                Chat.Say("/masterybadge");
            }
        }
コード例 #29
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);
                }
            }
        }
コード例 #30
0
ファイル: Flee.cs プロジェクト: WasserEsser/Elobuddy
        public override void Execute()
        {
            if (!MiscMenu.GetCheckBoxValue(E, "flee"))
            {
                return;
            }

            var closestEnemy =
                EntityCache.EnemyHeroes.OrderBy(e => e.Distance(Me)).FirstOrDefault(e => e.IsValidTarget(1000));

            var objToE = EntityCache.AllEnemies
                         .Where(m => m.IsValidTarget(E.Range))
                         .OrderBy(m => m.Distance(Game.CursorPos))
                         .ThenByDescending(m => m.Distance(closestEnemy))
                         .ThenByDescending(m => m.Distance(Me))
                         .FirstOrDefault(
                m =>
                m.IsValidTarget(E.Range) && !m.HasEBuff() &&
                m.GetPosAfterE().Distance(closestEnemy) > Me.Distance(closestEnemy));

            objToE?.CastE();
        }