예제 #1
0
 public override void LaneClear()
 {
     foreach (var target in
              from target in EntityManager.MinionsAndMonsters.EnemyMinions.Where(m => m != null && m.IsValidTarget())
              from spell in SpellList.Where(s => s.IsReady() && s != R && LaneClearMenu.CheckBoxValue(s.Slot) && LaneClearMenu.CompareSlider(s.Slot + "mana", user.ManaPercent))
              where spell.Slot == SpellSlot.Q
              select target)
     {
         Q.Cast(target);
     }
 }
예제 #2
0
        private static void Orbwalker_OnPostAttack(AttackableUnit target, EventArgs args)
        {
            var t = target as AIHeroClient;

            foreach (var spell in
                     SpellList.Where(s => s.IsReady() && ComboMenu.CheckBoxValue(s.Slot)).Where(spell => t.IsKillable(Player.Instance.GetAutoAttackRange()) && spell.IsReady() && spell.Slot == SpellSlot.Q))
            {
                spell.Cast();
                Player.IssueOrder(GameObjectOrder.AttackUnit, target);
            }
        }
예제 #3
0
파일: Viktor.cs 프로젝트: murbulat/KappAIO
 public override void Draw()
 {
     foreach (var spell in SpellList.Where(s => DrawMenu.CheckBoxValue(s.Slot)))
     {
         if (spell == E)
         {
             Circle.Draw(spell.IsReady() ? SharpDX.Color.Chartreuse : SharpDX.Color.OrangeRed, 525, user);
         }
         Circle.Draw(spell.IsReady() ? SharpDX.Color.Chartreuse : SharpDX.Color.OrangeRed, spell.Range, user);
     }
 }
예제 #4
0
 public override void LaneClear()
 {
     foreach (var target in EntityManager.MinionsAndMonsters.EnemyMinions.Where(m => m != null && m.IsValidTarget()))
     {
         foreach (var spell in SpellList.Where(s => s.IsReady() && s == W && LaneClearMenu.CheckBoxValue(s.Slot) && LaneClearMenu.CompareSlider(s.Slot + "mana", user.ManaPercent)))
         {
             var skillshot = spell as Spell.Skillshot;
             skillshot.Cast(target, HitChance.Medium);
         }
     }
 }
예제 #5
0
        public override void KillSteal()
        {
            foreach (var spell in SpellList.Where(s => s != R))
            {
                if (KillStealMenu.checkbox(spell.Slot + "ks"))
                {
                    if (spell.IsReady() && spell.GetKStarget() != null)
                    {
                        if (spell == Q)
                        {
                            if (!Q.IsCharging)
                            {
                                Q.StartCharging();
                                return;
                            }

                            if (Q.IsCharging && Q.IsInRange(Q.GetKStarget()))
                            {
                                Q.Cast(Q.GetKStarget(), Q.hitchance(Menuini));
                            }
                        }
                        else
                        {
                            spell.Cast(spell.GetKStarget());
                        }
                    }
                }

                if (KillStealMenu.checkbox(spell.Slot + "js"))
                {
                    if (spell.IsReady() && spell.GetJStarget() != null)
                    {
                        if (spell == Q)
                        {
                            if (!Q.IsCharging)
                            {
                                Q.StartCharging();
                                return;
                            }

                            if (Q.IsCharging && Q.IsInRange(Q.GetJStarget()))
                            {
                                Q.Cast(Q.GetJStarget(), Q.hitchance(Menuini));
                            }
                        }
                        else
                        {
                            spell.Cast(spell.GetJStarget());
                        }
                    }
                }
            }
        }
예제 #6
0
 public override void LaneClear()
 {
     foreach (var target in EntityManager.MinionsAndMonsters.EnemyMinions.Where(m => m != null && m.IsKillable(1000)))
     {
         foreach (
             var spell in
             SpellList.Where(s => s.IsReady() && target.IsKillable(s.Range) && LaneClearMenu.CheckBoxValue(s.Slot) && LaneClearMenu.CompareSlider(s.Slot + "mana", user.ManaPercent)))
         {
             spell.Cast(target);
         }
     }
 }
예제 #7
0
        private void DoLaneClear()
        {
            foreach (
                var spell in
                SpellList.Where(x => x.IsReady() && x.Slot != SpellSlot.R && GetBool("Use" + x.Slot + "WaveClear")))
            {
                switch (spell.Slot)
                {
                case SpellSlot.Q:
                {
                    var farmLocation = Q.GetLineFarmLocation(MinionManager.GetMinions(1600));

                    if (farmLocation.MinionsHit <= 1)
                    {
                        continue;
                    }

                    if (!Q.IsCharging)
                    {
                        Q.StartCharging();
                    }
                    else
                    {
                        Q.Cast(farmLocation.Position);
                    }
                }
                break;

                case SpellSlot.W:
                {
                    var farmLocation = W.GetCircularFarmLocation(MinionManager.GetMinions(W.Range));

                    if (farmLocation.MinionsHit > 1)
                    {
                        W.Cast(farmLocation.Position);
                    }
                }
                break;

                case SpellSlot.E:
                {
                    var farmLocation = E.GetLineFarmLocation(MinionManager.GetMinions(E.Range));

                    if (farmLocation.MinionsHit > 1)
                    {
                        E.Cast(farmLocation.Position);
                    }
                }
                break;
                }
            }
        }
예제 #8
0
파일: Taric.cs 프로젝트: uvbs/WSUBot
        public override void Combo()
        {
            var target = TargetSelector.GetTarget(E.Range, DamageType.Magical);

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

            foreach (var spell in SpellList.Where(s => s != null && s.IsReady() && target.IsKillable(s.Range) && ComboMenu.CheckBoxValue(s.Slot)))
            {
                spell.Cast(target);
            }
        }
예제 #9
0
        public override void Combo()
        {
            var target = TargetSelector.GetTarget(Q.Range, DamageType.Magical);
            if (target == null || !target.IsKillable(Q.Range))
                return;

            foreach (
                var spell in
                    SpellList.Where(s => s.IsReady() && target.IsKillable(s.Range) && ComboMenu.CheckBoxValue(s.Slot))
                        .Where(spell => spell != R && spell != W))
            {
                spell.Cast(target, HitChance.Medium);
            }
        }
예제 #10
0
파일: Ashe.cs 프로젝트: uvbs/WSUBot
        public override void Harass()
        {
            foreach (var spell in SpellList.Where(s => s.IsReady() && s == W && HarassMenu.CheckBoxValue(s.Slot) && HarassMenu.CompareSlider(s.Slot + "mana", user.ManaPercent)))
            {
                var target = TargetSelector.GetTarget(W.Range, DamageType.Physical);
                if (target == null || !target.IsKillable(spell.Range))
                {
                    return;
                }

                var skillshot = spell as Spell.Skillshot;
                skillshot?.Cast(target, HitChance.Medium);
            }
        }
예제 #11
0
        public override void Harass()
        {
            var target = TargetSelector.GetTarget(Q.Range, DamageType.Magical);

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

            foreach (var spell in SpellList.Where(s => s.IsReady() && target.IsKillable(s.Range) && HarassMenu.CheckBoxValue(s.Slot) && HarassMenu.CompareSlider(s.Slot + "mana", user.ManaPercent)))
            {
                spell.Cast(target);
            }
        }
예제 #12
0
 public override void KillSteal()
 {
     foreach (
         var spell in
         from spell in
         SpellList.Where(s => s.IsReady() && KillStealMenu.CheckBoxValue(s.Slot))
         from target in
         EntityManager.Heroes.Enemies.Where(
             m => m != null && m.IsKillable(spell.Range) && spell.WillKill(m))
         select spell)
     {
         spell.Cast();
     }
 }
예제 #13
0
파일: Azir.cs 프로젝트: jitart/adc
        public override void KillSteal()
        {
            foreach (var spell in SpellList.Where(s => s != W && s != E))
            {
                if (KillStealMenu.checkbox(spell.Slot + "ks") && spell.GetKStarget() != null)
                {
                    spell.Cast(spell.GetKStarget());
                }

                if (KillStealMenu.checkbox(spell.Slot + "js") && spell.GetJStarget() != null)
                {
                    spell.Cast(spell.GetJStarget());
                }
            }
        }
예제 #14
0
 public override void KillSteal()
 {
     foreach (
         var spell in
         SpellList.Where(s => s != R && s != W && s.IsReady() && KillStealMenu.CheckBoxValue(s.Slot)))
     {
         foreach (
             var target in
             EntityManager.Heroes.Enemies.Where(
                 m => m != null && m.IsKillable(spell.Range) && spell.WillKill(m)))
         {
             spell.Cast(target, HitChance.Medium);
         }
     }
 }
예제 #15
0
        public override void Combo()
        {
            foreach (var spell in SpellList.Where(s => s.IsReady() && ComboMenu.CheckBoxValue(s.Slot)))
            {
                var target = TargetSelector.GetTarget(Q.Range, DamageType.Magical);

                if (target == null)
                {
                    return;
                }

                if (spell.Slot == SpellSlot.Q)

                {
                    Q.Cast(target, HitChance.Medium);
                }

                if (spell.Slot == SpellSlot.W)
                {
                    {
                        if (target.IsKillable(400))
                        {
                            W.Cast();
                        }
                    }
                }

                if (spell.Slot == SpellSlot.E)
                {
                    if (target.IsKillable(E.Range))
                    {
                        E.Cast();
                        Player.IssueOrder(GameObjectOrder.AttackUnit, target);
                    }
                }

                if (spell.Slot != SpellSlot.R)
                {
                    continue;
                }
                {
                    if (target.IsKillable(R.Range))
                    {
                        R.Cast();
                    }
                }
            }
        }
예제 #16
0
 public override void KillSteal()
 {
     foreach (var target in EntityManager.Heroes.Enemies.Where(e => e != null && e.IsValidTarget()))
     {
         foreach (
             var skillshot in
             SpellList.Where(
                 s =>
                 s.WillKill(target) && s.IsReady() && target.IsKillable(s.Range) && s.Slot != SpellSlot.W &&
                 KillStealMenu.CheckBoxValue(s.Slot))
             .Select(spell => spell as Spell.Skillshot))
         {
             skillshot.Cast(target, HitChance.Medium);
         }
     }
 }
예제 #17
0
        public override void Draw()
        {
            foreach (var spell in SpellList.Where(s => DrawMenu.CheckBoxValue(s.Slot)))
            {
                Circle.Draw(spell.IsReady() ? SharpDX.Color.Chartreuse : SharpDX.Color.OrangeRed, spell.Range, user);
            }

            //EndPos(Game.CursorPos).DrawCircle(100, SharpDX.Color.AliceBlue);
            if (LastQPos != null && IsChargingQ)
            {
                QRectangle(LastQPos).Draw(Color.AliceBlue, 2);
            }

            /*if(IsCastingR)
             *  new Geometry.Polygon.Rectangle(user.ServerPosition, RDirection, R.Width).Draw(Color.AliceBlue, 2);*/
        }
예제 #18
0
파일: Jhin.cs 프로젝트: spall9/KappAIO
        public override void Draw()
        {
            if (DrawMenu.CheckBoxValue("LV"))
            {
                foreach (var enemy in StalkedEnemies.Where(e => Core.GameTickCount - e.LastVisibleTime > 100 && Core.GameTickCount - e.LastVisibleTime < 3750))
                {
                    Circle.Draw(SharpDX.Color.Red, 250, enemy.PredictedPosition);
                    Drawing.DrawText(enemy.PredictedPosition.WorldToScreen(), Color.Red, enemy.Target.Name() + ": LastVisiblePosition", 10);
                }
            }

            foreach (var spell in SpellList.Where(s => DrawMenu.CheckBoxValue(s.Slot)))
            {
                Circle.Draw(spell.IsReady() ? SharpDX.Color.Chartreuse : SharpDX.Color.OrangeRed, spell.Range, user);
            }

            if (IsCastingR && LastRPosition != null)
            {
                if (AutoMenu.CheckBoxValue("Rmouse"))
                {
                    Circle.Draw(SharpDX.Color.Goldenrod, AutoMenu.SliderValue("MouseRange"), Game.CursorPos);
                }
                if (DrawMenu.CheckBoxValue("RSector"))
                {
                    JhinRSector(LastRPosition).Draw(Color.AliceBlue, 2);
                }
            }

            if (DrawMenu.CheckBoxValue("Notifications") && R.IsReady())
            {
                var i = 0f;
                foreach (var t in EntityManager.Heroes.Enemies.Where(e => e.IsKillable()))
                {
                    if (t != null && t.IsKillable(R.Range + R.Radius))
                    {
                        var totalRDamage = TotalRDamage(t);

                        if (totalRDamage >= t.TotalShieldHealth())
                        {
                            i += 0.02f;
                            Drawing.DrawText(Drawing.Width * 0.1f, Drawing.Height * (0.4f + i), Color.YellowGreen, (int)(t.TotalShieldHealth() / (totalRDamage / 4)) + " x Ult can kill: " + t.ChampionName + " have: " + (int)t.TotalShieldHealth() + "HP / TotalRDamage: " + (int)TotalRDamage(t));
                            Extentions.DrawLine(t.Position, user.Position, 6, Color.Yellow);
                        }
                    }
                }
            }
        }
예제 #19
0
 public override void LaneClear()
 {
     foreach (var spell in
              EntityManager.MinionsAndMonsters.EnemyMinions.Where(m => m != null && m.IsValidTarget(Player.Instance.GetAutoAttackRange()))
              .SelectMany(target => SpellList.Where(s => s.IsReady() && s != R && LaneClearMenu.CheckBoxValue(s.Slot))))
     {
         if (spell.Slot == SpellSlot.R)
         {
             //
         }
         else
         {
             var spells = spell as Spell.Active;
             if (!Player.Instance.HasBuff("GarenE"))
             {
                 spells?.Cast();
             }
         }
     }
 }
예제 #20
0
 public override void KillSteal()
 {
     foreach (var target in EntityManager.Heroes.Enemies.Where(e => e != null && e.IsValidTarget()))
     {
         foreach (
             var spell in
             SpellList.Where(s => s.WillKill(target) && s.IsReady() && target.IsKillable(s.Range) && KillStealMenu.CheckBoxValue(s.Slot)).Where(spell => !Player.Instance.HasBuff("GarenE")))
         {
             if (spell.Slot == SpellSlot.R)
             {
                 spell.Cast(target);
             }
             else
             {
                 var spells = spell as Spell.Active;
                 spells?.Cast();
             }
         }
     }
 }
예제 #21
0
        private void DoCombo()
        {
            var target = TargetSelector.GetTarget(1600, TargetSelector.DamageType.Magical);

            foreach (
                var spell in
                SpellList.Where(x => x.IsReady() && x.Slot != SpellSlot.R && GetBool("Use" + x.Slot + "Combo")))
            {
                if (spell.Slot == SpellSlot.Q)
                {
                    if (!Q.IsCharging)
                    {
                        Q.StartCharging();
                    }
                    else
                    {
                        Q.CastIfHitchanceEquals(target, HitChance.VeryHigh);
                    }
                }
                else
                {
                    spell.CastIfHitchanceEquals(target, HitChance.VeryHigh);
                }
            }

            if (!R.IsReady() || !GetBool("UseRCombo"))
            {
                return;
            }

            foreach (
                var enemy in
                HeroManager.Enemies.Where(x => x.IsValidTarget(R.Range))
                .Where(
                    enemy =>
                    (!SpellList.Where(x => x.IsReady()).Any(x => x.IsInRange(enemy) && x.IsKillable(enemy))) ||
                    IsChannelingR))
            {
                R.Cast(enemy);
            }
        }
예제 #22
0
        static TwistedFate()
        {
            MenuIni       = MainMenu.AddMenu(MenuName, MenuName);
            AutoMenu      = MenuIni.AddSubMenu("Auto");
            ComboMenu     = MenuIni.AddSubMenu("Combo");
            HarassMenu    = MenuIni.AddSubMenu("Harass");
            LaneClearMenu = MenuIni.AddSubMenu("LaneClear");
            KillStealMenu = MenuIni.AddSubMenu("KillSteal");

            foreach (var spell in SpellList.Where(s => s != E && s != R))
            {
                ComboMenu.CreateCheckBox(spell.Slot, "Use " + spell.Slot);
                HarassMenu.CreateCheckBox(spell.Slot, "Use " + spell.Slot);
                HarassMenu.CreateSlider(spell.Slot + "mana", spell.Slot + " Mana Manager", 60);
                LaneClearMenu.CreateCheckBox(spell.Slot, "Use " + spell.Slot);
                LaneClearMenu.CreateSlider(spell.Slot + "mana", spell.Slot + " Mana Manager", 60);
                KillStealMenu.CreateCheckBox(spell.Slot, "Use " + spell.Slot);
            }
            Obj_AI_Base.OnProcessSpellCast += Obj_AI_Base_OnProcessSpellCast;
            Orbwalker.OnPreAttack          += Orbwalker_OnPreAttack;
        }
예제 #23
0
파일: Syndra.cs 프로젝트: spall9/KappAIO
        public override void Draw()
        {
            if (DrawMenu.CheckBoxValue("dmg"))
            {
                foreach (var obj in EntityManager.Heroes.Enemies.Where(o => o.IsValidTarget()))
                {
                    float x = obj.HPBarPosition.X;
                    float y = obj.HPBarPosition.Y;
                    dmg.Color = Color.White;
                    if (ComboDamage(obj, true) >= obj.Health)
                    {
                        dmg.Color = Color.Red;
                    }
                    dmg.TextValue = (int)ComboDamage(obj, true) + " / " + (int)obj.Health;
                    dmg.Position  = new Vector2(x, y);
                    dmg.Draw();
                }
            }

            if (DrawMenu.CheckBoxValue("balls"))
            {
                foreach (var ball in BallsList.Where(b => b != null && E.IsInRange(b)))
                {
                    Circle.Draw(SharpDX.Color.AliceBlue, ball.BoundingRadius + 25, ball);

                    if (E.IsReady())
                    {
                        var start = ball.ServerPosition.Extend(user.ServerPosition, 100).To3D();
                        var end   = user.ServerPosition.Extend(ball.ServerPosition, Eball.Range).To3D();

                        new Geometry.Polygon.Rectangle(start, end, Eball.Width).Draw(Color.AliceBlue);
                    }
                }
            }

            foreach (var spell in SpellList.Where(s => DrawMenu.CheckBoxValue(s.Slot)))
            {
                Circle.Draw(spell.IsReady() ? SharpDX.Color.Chartreuse : SharpDX.Color.OrangeRed, spell.Range, user);
            }
        }
예제 #24
0
파일: Caitlyn.cs 프로젝트: uvbs/WSUBot
 public override void KillSteal()
 {
     foreach (var target in EntityManager.Heroes.Enemies.Where(e => e != null && e.IsValidTarget()))
     {
         foreach (var spell in
                  SpellList.Where(s => s.WillKill(target) && s.IsReady() && target.IsKillable(s.Range) && KillStealMenu.CheckBoxValue(s.Slot)))
         {
             if (spell.Slot == SpellSlot.R)
             {
                 if (target.CountEnemyHeros(300) == 0)
                 {
                     spell.Cast(target);
                 }
             }
             else
             {
                 var skillshot = spell as Spell.Skillshot;
                 skillshot?.Cast(target, HitChance.Medium);
             }
         }
     }
 }
예제 #25
0
파일: Ashe.cs 프로젝트: uvbs/WSUBot
        public override void Combo()
        {
            foreach (var spell in SpellList.Where(s => s.IsReady() && s != E && ComboMenu.CheckBoxValue(s.Slot)))
            {
                var target = TargetSelector.GetTarget(W.Range, DamageType.Physical);
                if (target == null || !target.IsKillable(spell.Range))
                {
                    return;
                }

                var skillshot = spell as Spell.Skillshot;
                if (skillshot == R)
                {
                    if (user.PredictHealthPercent() <= 35)
                    {
                        skillshot?.Cast(target, HitChance.Medium);
                    }
                }
                else
                {
                    skillshot?.Cast(target, HitChance.Medium);
                }
            }
        }
예제 #26
0
        public override void Combo()
        {
            foreach (var spell in SpellList.Where(s => s.IsReady() && ComboMenu.CheckBoxValue(s.Slot)))
            {
                var target = TargetSelector.GetTarget(E.Range, DamageType.Magical);
                if (target == null || !target.IsKillable(spell.Range))
                {
                    return;
                }

                if (spell.Slot == SpellSlot.R)
                {
                    var rTarget = target = TargetSelector.GetTarget(E.Range, DamageType.Magical);
                    if (target != null && target.IsKillable(R.Range))
                    {
                        R.CastAOE(ComboMenu.SliderValue("RAOE"), R.Range, rTarget); // still testing

                        if (R.WillKill(rTarget))
                        {
                            R.Cast(rTarget, HitChance.Medium);
                        }
                    }
                }
                if (spell.Slot == SpellSlot.W)
                {
                    //
                }
                else
                {
                    var skillshot = spell as Spell.Skillshot;
                    {
                        skillshot.Cast(target, HitChance.Medium);
                    }
                }
            }
        }
예제 #27
0
 public override void LaneClear()
 {
     foreach (
         var target in EntityManager.MinionsAndMonsters.EnemyMinions.Where(m => m != null && m.IsValidTarget()))
     {
         foreach (
             var spell in
             SpellList.Where(
                 s =>
                 s.IsReady() && s != R && LaneClearMenu.CheckBoxValue(s.Slot) &&
                 LaneClearMenu.CompareSlider(s.Slot + "mana", user.ManaPercent)))
         {
             if (spell.Slot == SpellSlot.Q)
             {
                 Q.CastOnBestFarmPosition();
             }
             else
             {
                 var spells = spell as Spell.Targeted;
                 spells?.Cast(target);
             }
         }
     }
 }
예제 #28
0
        static Malzahar()
        {
            Q = new Spell.Skillshot(SpellSlot.Q, 900, SkillShotType.Circular, 250, 500, 90);
            W = new Spell.Skillshot(SpellSlot.W, 600, SkillShotType.Circular, 250, int.MaxValue, 80);
            E = new Spell.Targeted(SpellSlot.E, 650);
            R = new Spell.Targeted(SpellSlot.R, 700);

            SpellList.Add(Q);
            SpellList.Add(W);
            SpellList.Add(E);
            SpellList.Add(R);

            Menuini    = MainMenu.AddMenu("Malzahar", "Malzahar");
            ComboMenu  = Menuini.AddSubMenu("Combo Settings");
            HarassMenu = Menuini.AddSubMenu("Harass Settings");
            HarassMenu.AddGroupLabel("Harass");
            LaneClearMenu = Menuini.AddSubMenu("LaneClear Settings");
            LaneClearMenu.AddGroupLabel("LaneClear");
            JungleClearMenu = Menuini.AddSubMenu("JungleClear Settings");
            JungleClearMenu.AddGroupLabel("JungleClear");
            KillStealMenu = Menuini.AddSubMenu("KillSteal Settings");
            KillStealMenu.AddGroupLabel("Stealer");
            MiscMenu = Menuini.AddSubMenu("Misc Settings");
            DrawMenu = Menuini.AddSubMenu("Drawings Settings");
            DrawMenu.AddGroupLabel("Drawings");
            ColorMenu = Menuini.AddSubMenu("ColorPicker");
            ColorMenu.AddGroupLabel("ColorPicker");

            foreach (var spell in SpellList.Where(s => s == Q))
            {
                Menuini.Add(spell.Slot + "hit", new ComboBox(spell.Slot + " HitChance", 0, "High", "Medium", "Low"));
            }

            ComboMenu.AddGroupLabel("Combo");
            ComboMenu.Add("Q", new CheckBox("Use Q"));
            ComboMenu.Add("W", new CheckBox("Use W"));
            ComboMenu.Add("E", new CheckBox("Use E"));
            ComboMenu.Add("RCombo", new CheckBox("Use R Combo"));
            ComboMenu.Add("RFinisher", new CheckBox("Use R Finisher"));
            ComboMenu.Add("RTurret", new CheckBox("Use R if enemy Under Ally Turret"));
            ComboMenu.AddSeparator(0);
            ComboMenu.AddGroupLabel("Don't Use Ult On:");
            foreach (var enemy in EntityManager.Heroes.Enemies)
            {
                var cb = new CheckBox(enemy.BaseSkinName + " (" + enemy.Name + ")")
                {
                    CurrentValue = false
                };
                ComboMenu.Add("DontUlt" + enemy.ID(), cb);
            }

            DrawMenu.Add("damage", new CheckBox("Draw Combo Damage"));
            DrawMenu.AddLabel("Draws = ComboDamage / Enemy Current Health");

            foreach (var spell in SpellList)
            {
                if (spell != R)
                {
                    HarassMenu.Add(spell.Slot.ToString(), new CheckBox("Use " + spell.Slot));
                    HarassMenu.Add(spell.Slot + "mana", new Slider("Use" + spell.Slot + " if Mana% is more than [{0}%]", 65));
                    LaneClearMenu.Add(spell.Slot.ToString(), new CheckBox("Use " + spell.Slot));
                    LaneClearMenu.Add(spell.Slot + "mana", new Slider("Use " + spell.Slot + " if Mana% is more than [{0}%]", 65));
                    JungleClearMenu.Add(spell.Slot.ToString(), new CheckBox("Use " + spell.Slot));
                    JungleClearMenu.Add(spell.Slot + "mana", new Slider("Use " + spell.Slot + " if Mana% is more than [{0}%]", 65));
                    KillStealMenu.Add(spell.Slot + "js", new CheckBox("JungleSteal " + spell.Slot));
                }

                KillStealMenu.Add(spell.Slot + "ks", new CheckBox("KillSteal " + spell.Slot));
                DrawMenu.Add(spell.Slot.ToString(), new CheckBox(spell.Slot + " Range"));
                ColorMenu.Add(spell.Slot.ToString(), new ColorPicker(spell.Slot + " Color", System.Drawing.Color.Chartreuse));
            }

            KillStealMenu.AddGroupLabel("Don't Use Ult On:");
            foreach (var enemy in EntityManager.Heroes.Enemies)
            {
                var cb = new CheckBox(enemy.BaseSkinName + " (" + enemy.Name + ")")
                {
                    CurrentValue = false
                };
                KillStealMenu.Add("DontUlt" + enemy.ID(), cb);
            }

            MiscMenu.AddGroupLabel("Misc");
            MiscMenu.Add("RSave", new CheckBox("Block All Commands When Casting R"));
            MiscMenu.Add("Qgap", new CheckBox("Q on GapCloser"));
            MiscMenu.Add("Rgap", new CheckBox("R on GapCloser"));
            MiscMenu.Add("Qint", new CheckBox("Q interrupt DangerSpells"));
            MiscMenu.Add("Rint", new CheckBox("R interrupt DangerSpells"));
            MiscMenu.Add("RTurret", new CheckBox("R Enemy Under Ally Tower"));
            MiscMenu.Add("blockR", new CheckBox("Block R under Enemy Turret", false));
            MiscMenu.Add("danger", new ComboBox("Spells DangerLevel to interrupt", 2, "High", "Medium", "Low"));

            Spellbook.OnCastSpell            += Spellbook_OnCastSpell;
            Player.OnIssueOrder              += Player_OnIssueOrder;
            Interrupter.OnInterruptableSpell += Interrupter_OnInterruptableSpell;
            Gapcloser.OnGapcloser            += Gapcloser_OnGapcloser;
            GameObject.OnCreate              += GameObject_OnCreate;
            Orbwalker.OnUnkillableMinion     += Orbwalker_OnUnkillableMinion;
        }
예제 #29
0
파일: Brand.cs 프로젝트: jitart/adc
        static Brand()
        {
            try
            {
                Q = new Spell.Skillshot(SpellSlot.Q, 1000, SkillShotType.Linear, 250, 1600, 120);
                W = new Spell.Skillshot(SpellSlot.W, 900, SkillShotType.Circular, 650, -1, 200);
                E = new Spell.Targeted(SpellSlot.E, 630);
                R = new Spell.Targeted(SpellSlot.R, 750);

                SpellList.Add(Q);
                SpellList.Add(W);
                SpellList.Add(E);
                SpellList.Add(R);

                Menuini    = MainMenu.AddMenu("Brand", "Brand");
                AutoMenu   = Menuini.AddSubMenu("Auto");
                ComboMenu  = Menuini.AddSubMenu("Combo");
                HarassMenu = Menuini.AddSubMenu("Harass");
                HarassMenu.AddGroupLabel("Harass");
                LaneClearMenu = Menuini.AddSubMenu("LaneClear");
                LaneClearMenu.AddGroupLabel("LaneClear");
                JungleClearMenu = Menuini.AddSubMenu("JungleClear");
                JungleClearMenu.AddGroupLabel("JungleClear");
                KillStealMenu = Menuini.AddSubMenu("Stealer");
                DrawMenu      = Menuini.AddSubMenu("Drawings");
                ColorMenu     = Menuini.AddSubMenu("Colors");

                foreach (var spell in SpellList.Where(s => s != E && s != R))
                {
                    Menuini.Add(spell.Slot + "hit", new ComboBox(spell.Slot + " HitChance", 0, "High", "Medium", "Low"));
                    Menuini.AddSeparator(0);
                }

                AutoMenu.AddGroupLabel("Auto Settings");
                AutoMenu.Add("AutoR", new Slider("Auto R AoE hit [{0}] Targets or more", 2, 1, 6));
                AutoMenu.Add("Gap", new CheckBox("Anti GapCloser"));
                AutoMenu.Add("Int", new CheckBox("Auto Interrupter"));
                AutoMenu.Add("Danger", new ComboBox("Interrupter Danger Level", 1, "High", "Medium", "Low"));
                AutoMenu.AddSeparator(0);
                AutoMenu.AddGroupLabel("Auto Hit Passive");
                AutoMenu.Add("AutoQ", new CheckBox("Auto Q Dotnate Passive"));
                AutoMenu.Add("AutoW", new CheckBox("Auto W Dotnate Passive", false));
                AutoMenu.Add("AutoE", new CheckBox("Auto E Dotnate Passive"));

                ComboMenu.AddGroupLabel("Combo Settings");
                ComboMenu.Add("Q", new CheckBox("Use Q"));
                ComboMenu.AddLabel("Extra Q Settings");
                ComboMenu.Add("Qp", new CheckBox("Q Only for stun"));
                ComboMenu.Add(Q.Slot + "mana", new Slider("Use Q if Mana% is more than [{0}%]", 10));
                ComboMenu.AddSeparator(1);

                ComboMenu.Add("W", new CheckBox("Use W"));
                ComboMenu.AddLabel("Extra W Settings");
                ComboMenu.Add("Wp", new CheckBox("W Only if target has brand passive", false));
                ComboMenu.Add(W.Slot + "mana", new Slider("Use W if Mana% is more than [{0}%]", 5));
                ComboMenu.AddSeparator(1);

                ComboMenu.Add("E", new CheckBox("Use E"));
                ComboMenu.AddLabel("Extra E Settings");
                ComboMenu.Add("Ep", new CheckBox("E Only if target has brand passive", false));
                ComboMenu.Add(E.Slot + "mana", new Slider("Use E if Mana% is more than [{0}%]", 15));
                ComboMenu.AddSeparator(1);

                ComboMenu.Add("RFinisher", new CheckBox("Use R Finisher"));
                ComboMenu.Add("RAoe", new CheckBox("Use R Aoe"));
                ComboMenu.Add("Rhit", new Slider("R AoE hit [{0}] Targets or more", 2, 1, 6));
                ComboMenu.Add(R.Slot + "mana", new Slider("Use R if Mana% is more than [{0}%]"));

                foreach (var spell in SpellList.Where(s => s.Slot != SpellSlot.R))
                {
                    HarassMenu.Add(spell.Slot.ToString(), new CheckBox("Use " + spell.Slot));
                    HarassMenu.Add(spell.Slot + "mana", new Slider("Use " + spell.Slot + " if Mana% is more than [{0}%]", 65));
                    HarassMenu.AddSeparator(1);
                    LaneClearMenu.Add(spell.Slot.ToString(), new CheckBox("Use " + spell.Slot));
                    LaneClearMenu.Add(spell.Slot + "mana", new Slider("Use " + spell.Slot + " if Mana% is more than [{0}%]", 65));
                    LaneClearMenu.AddSeparator(1);
                    JungleClearMenu.Add(spell.Slot.ToString(), new CheckBox("Use " + spell.Slot));
                    JungleClearMenu.Add(spell.Slot + "mana", new Slider("Use " + spell.Slot + " if Mana% is more than [{0}%]", 65));
                    JungleClearMenu.AddSeparator(1);
                }

                KillStealMenu.AddGroupLabel("KillSteal");
                foreach (var spell in SpellList)
                {
                    KillStealMenu.Add(spell.Slot + "ks", new CheckBox("Use " + spell.Slot));
                }

                KillStealMenu.AddSeparator(0);
                KillStealMenu.AddGroupLabel("JungleSteal");
                foreach (var spell in SpellList)
                {
                    KillStealMenu.Add(spell.Slot + "js", new CheckBox("Use " + spell.Slot));
                }

                DrawMenu.AddGroupLabel("Drawings");
                DrawMenu.Add("damage", new CheckBox("Draw Combo Damage"));
                DrawMenu.AddLabel("Draws = ComboDamage / Enemy Current Health");
                DrawMenu.AddSeparator(1);
                foreach (var spell in SpellList)
                {
                    DrawMenu.Add(spell.Slot.ToString(), new CheckBox(spell.Slot + " Range"));
                    ColorMenu.Add(spell.Slot.ToString(), new ColorPicker(spell.Slot + " Color", System.Drawing.Color.Chartreuse));
                }

                Gapcloser.OnGapcloser            += Gapcloser_OnGapcloser;
                Interrupter.OnInterruptableSpell += Interrupter_OnInterruptableSpell;
                Orbwalker.OnUnkillableMinion     += Orbwalker_OnUnkillableMinion;
            }
            catch (Exception e)
            {
                Common.Log(e.ToString());
            }
        }
예제 #30
0
파일: Azir.cs 프로젝트: jitart/adc
        static Azir()
        {
            try
            {
                Q = new Spell.Skillshot(SpellSlot.Q, 1000, SkillShotType.Linear, 250, 1000, 65)
                {
                    AllowedCollisionCount = int.MaxValue
                };
                W = new Spell.Skillshot(SpellSlot.W, 525, SkillShotType.Circular);
                E = new Spell.Skillshot(SpellSlot.E, 1100, SkillShotType.Linear, 250, 1200, 80)
                {
                    AllowedCollisionCount = int.MaxValue
                };
                R = new Spell.Skillshot(SpellSlot.R, 350, SkillShotType.Linear, 500, 1000, 220)
                {
                    AllowedCollisionCount = int.MaxValue
                };

                if (Player.Spells.FirstOrDefault(o => o.SData.Name.Contains("SummonerFlash")) != null)
                {
                    Flash = new Spell.Skillshot(user.GetSpellSlotFromName("SummonerFlash"), 450, SkillShotType.Circular);
                }

                SpellList.Add(Q);
                SpellList.Add(W);
                SpellList.Add(E);
                SpellList.Add(R);

                Menuini         = MainMenu.AddMenu("KappAzir", "KappAzir");
                AutoMenu        = Menuini.AddSubMenu("Auto Settings");
                JumperMenu      = Menuini.AddSubMenu("Jumper Settings");
                ComboMenu       = Menuini.AddSubMenu("Combo Settings");
                HarassMenu      = Menuini.AddSubMenu("Harass Settings");
                LaneClearMenu   = Menuini.AddSubMenu("LaneClear Settings");
                JungleClearMenu = Menuini.AddSubMenu("JungleClear Settings");
                KillStealMenu   = Menuini.AddSubMenu("KillSteal Settings");
                DrawMenu        = Menuini.AddSubMenu("Drawings Settings");
                ColorMenu       = Menuini.AddSubMenu("ColorPicker");

                foreach (var spell in SpellList.Where(s => s != E))
                {
                    Menuini.Add(spell.Slot + "hit", new ComboBox(spell.Slot + " HitChance", 0, "High", "Medium", "Low"));
                    Menuini.AddSeparator(0);
                }

                AutoMenu.AddGroupLabel("Settings");
                AutoMenu.Add("gap", new CheckBox("Anti-GapCloser"));
                AutoMenu.Add("int", new CheckBox("Interrupter"));
                AutoMenu.Add("Danger", new ComboBox("Interrupter DangerLevel", 1, "High", "Medium", "Low"));
                AutoMenu.AddGroupLabel("Turret Settings");
                AutoMenu.Add("tower", new CheckBox("Create Turrets"));
                AutoMenu.Add("Tenemy", new Slider("Create Turret If [{0}] Enemies Near", 3, 1, 6));
                if (EntityManager.Heroes.Enemies.Any(e => e.Hero == Champion.Rengar))
                {
                    AutoMenu.Add("rengar", new CheckBox("Anti-Rengar Leap"));
                }

                JumperMenu.Add("jump", new KeyBind("WEQ Flee Key", false, KeyBind.BindTypes.HoldActive, 'A'));
                JumperMenu.Add("normal", new KeyBind("Normal Insec Key", false, KeyBind.BindTypes.HoldActive, 'S'));
                JumperMenu.Add("new", new KeyBind("New Insec Key", false, KeyBind.BindTypes.HoldActive, 'Z'));
                JumperMenu.Add("flash", new CheckBox("Use Flash for Possible AoE"));
                JumperMenu.Add("delay", new Slider("Delay EQ", 200, 0, 500));
                JumperMenu.Add("range", new Slider("Check for soldiers Range", 800, 0, 1000));

                ComboMenu.AddGroupLabel("Combo Settings");
                ComboMenu.AddGroupLabel("Q Settings");
                ComboMenu.Add("Q", new CheckBox("Use Q"));
                ComboMenu.Add("WQ", new CheckBox("Use W > Q"));
                ComboMenu.Add("Qaoe", new CheckBox("Use Q Aoe", false));
                ComboMenu.Add("QS", new Slider("Soldiers To Use Q", 1, 1, 3));
                ComboMenu.AddSeparator(0);
                ComboMenu.AddGroupLabel("W Settings");
                ComboMenu.Add("W", new CheckBox("Use W"));
                ComboMenu.Add("Wsave", new CheckBox("Save 1 W Stack", false));
                ComboMenu.Add("WS", new Slider("Soldier Limit To Create", 3, 1, 3));
                ComboMenu.AddSeparator(0);
                ComboMenu.AddGroupLabel("E Settings");
                ComboMenu.Add("E", new CheckBox("Use E"));
                ComboMenu.Add("Ekill", new CheckBox("E Killable Enemy Only"));
                ComboMenu.Add("Edive", new CheckBox("E Dive Turrets", false));
                ComboMenu.Add("EHP", new Slider("Only E if my HP is more than [{0}%]", 50));
                ComboMenu.Add("Esafe", new Slider("Dont E Into [{0}] Enemies", 3, 1, 6));
                ComboMenu.AddSeparator(0);
                ComboMenu.AddGroupLabel("R Settings");
                ComboMenu.Add("R", new CheckBox("Use R"));
                ComboMenu.Add("Rkill", new CheckBox("R Finisher"));
                ComboMenu.Add("insec", new CheckBox("Try to insec in Combo"));
                ComboMenu.Add("Raoe", new Slider("R AoE Hit [{0}] Enemies", 3, 1, 6));
                ComboMenu.Add("Rsave", new CheckBox("R Save Self"));
                ComboMenu.Add("RHP", new Slider("Push Enemy If my health is less than [{0}%]", 35));

                HarassMenu.AddGroupLabel("Harass Settings");
                HarassMenu.Add("toggle", new KeyBind("Auto Harass Key", false, KeyBind.BindTypes.PressToggle, 'H'));
                HarassMenu.AddSeparator(0);
                HarassMenu.AddGroupLabel("Q Settings");
                HarassMenu.Add("Q", new CheckBox("Use Q"));
                HarassMenu.Add("WQ", new CheckBox("Use W > Q"));
                HarassMenu.Add("QS", new Slider("Soldiers To Use Q", 1, 1, 3));
                HarassMenu.Add(Q.Slot + "mana", new Slider("Stop using Q if Mana < [{0}%]", 65));
                HarassMenu.AddSeparator(0);
                HarassMenu.AddGroupLabel("W Settings");
                HarassMenu.Add("W", new CheckBox("Use W"));
                HarassMenu.Add("Wsave", new CheckBox("Save 1 W Stack"));
                HarassMenu.Add("WS", new Slider("Soldier Limit To Create", 3, 1, 3));
                HarassMenu.Add(W.Slot + "mana", new Slider("Stop using W if Mana < [{0}%]", 65));
                HarassMenu.AddSeparator(0);
                HarassMenu.AddGroupLabel("E Settings");
                HarassMenu.Add("E", new CheckBox("Use E"));
                HarassMenu.Add("Edive", new CheckBox("E Dive Turrets", false));
                HarassMenu.Add("EHP", new Slider("Only E if my HP is more than [{0}%]", 50));
                HarassMenu.Add("Esafe", new Slider("Dont E Into [{0}] Enemies", 3, 1, 6));
                HarassMenu.Add(E.Slot + "mana", new Slider("Stop using E if Mana < [{0}%]", 65));

                LaneClearMenu.AddGroupLabel("LaneClear Settings");
                LaneClearMenu.Add("Q", new CheckBox("Use Q"));
                LaneClearMenu.Add(Q.Slot + "mana", new Slider("Stop using Q if Mana < [{0}%]", 65));
                LaneClearMenu.Add("W", new CheckBox("Use W"));
                LaneClearMenu.Add("Wsave", new CheckBox("Save 1 W Stack"));
                LaneClearMenu.Add(W.Slot + "mana", new Slider("Stop using W if Mana < [{0}%]", 65));

                JungleClearMenu.AddGroupLabel("JungleClear Settings");
                JungleClearMenu.Add("Q", new CheckBox("Use Q"));
                JungleClearMenu.Add(Q.Slot + "mana", new Slider("Stop using Q if Mana < [{0}%]", 65));
                JungleClearMenu.Add("W", new CheckBox("Use W"));
                JungleClearMenu.Add("Wsave", new CheckBox("Save 1 W Stack"));
                JungleClearMenu.Add(W.Slot + "mana", new Slider("Stop using W if Mana < [{0}%]", 65));

                KillStealMenu.AddGroupLabel("Stealer Settings");
                foreach (var spell in SpellList.Where(s => s != W && s != E))
                {
                    KillStealMenu.Add(spell.Slot + "ks", new CheckBox("KillSteal " + spell.Slot));
                    KillStealMenu.Add(spell.Slot + "js", new CheckBox("JungleSteal " + spell.Slot));
                }

                DrawMenu.Add("damage", new CheckBox("Draw Combo Damage"));
                DrawMenu.AddLabel("Draws = ComboDamage / Enemy Current Health");
                DrawMenu.AddSeparator(1);
                foreach (var spell in SpellList)
                {
                    DrawMenu.Add(spell.Slot.ToString(), new CheckBox(spell.Slot + " Range"));
                    ColorMenu.Add(spell.Slot.ToString(), new ColorPicker(spell.Slot + " Color", System.Drawing.Color.Chartreuse));
                }

                DrawMenu.Add("insec", new CheckBox("Draw Insec Helpers"));

                Obj_AI_Base.OnProcessSpellCast   += Obj_AI_Base_OnProcessSpellCast;
                Gapcloser.OnGapcloser            += Gapcloser_OnGapcloser;
                Interrupter.OnInterruptableSpell += Interrupter_OnInterruptableSpell;
                GameObject.OnCreate   += GameObject_OnCreate;
                Orbwalker.OnPreAttack += Orbwalker_OnPreAttack;
            }
            catch (Exception e)
            {
                Common.Logger.Error(e.ToString());
            }
        }