示例#1
0
        public static void Combo()
        {
            var UseQCombo  = Menu.Item("UseQ").GetValue <bool>();
            var UseWCombo  = Menu.Item("UseW").GetValue <bool>();
            var UseECombo  = Menu.Item("UseE").GetValue <bool>();
            var UseRCombo  = Menu.Item("UseR").GetValue <bool>();
            var UseQECombo = Menu.Item("UseQE").GetValue <bool>();

            Spells.UseSpells(UseQCombo, UseWCombo, UseECombo, UseRCombo, UseQECombo);
        }
示例#2
0
        public static void Harass()
        {
            var HarassMinMama = Menu.Item("HarassMana").GetValue <Slider>().Value;
            var UseQHarass    = Menu.Item("UseQH").GetValue <bool>();
            var UseWHarass    = Menu.Item("UseWH").GetValue <bool>();
            var UseEHarass    = Menu.Item("UseEH").GetValue <bool>();
            var UseQEHarass   = Menu.Item("UseQEH").GetValue <bool>();

            if (Player.Mana / Player.MaxMana * 100 < HarassMinMama)
            {
                return;
            }

            Spells.UseSpells(UseQHarass, UseWHarass, UseEHarass, false, UseQEHarass); // false is Dont Use R
        }
示例#3
0
        public static void AutoKs()
        {
            var UseQEKS = Menu.Item("UseQEKS").GetValue <bool>();
            var UseWKS  = Menu.Item("UseWKS").GetValue <bool>();
            var UseQKS  = Menu.Item("UseQKS").GetValue <bool>();
            var UseEKS  = Menu.Item("UseEKS").GetValue <bool>();
            var UseRKS  = Menu.Item("UseRKS").GetValue <bool>();

            foreach (
                var enemy in
                ObjectManager.Get <AIHeroClient>().Where(enemy => enemy.Team != Player.Team).Where(enemy =>
                                                                                                   !enemy.HasBuff("UndyingRage") && !enemy.HasBuff("JudicatorIntervention") &&
                                                                                                   enemy.IsValidTarget(Spells.QE.Range) && Environment.TickCount - Spells.FlashLastCast > 650 + Game.Ping)
                )
            {
                // Use QE KS
                if (GetDamage.GetComboDamage(enemy, UseQEKS, false, UseQEKS, false) >
                    enemy.Health && Player.Distance(enemy, true) <= Math.Pow(Spells.QE.Range, 2))
                {
                    Spells.UseSpells(false, false, false, false, UseQEKS);
                    PlaySound.PlatSounds();
                    //Chat.Print("QEKS " + enemy.Name);
                }
                //Use W KS
                else if (GetDamage.GetComboDamage(enemy, false, UseWKS, false, false) > enemy.Health &&
                         Player.Distance(enemy, true) <= Math.Pow(Spells.W.Range, 2))
                {
                    Spells.UseSpells(false, UseWKS, false, false, false);
                    PlaySound.PlatSounds();
                    //Chat.Print("WKS " + enemy.Name);
                }
                //Use Q E KS
                else if (GetDamage.GetComboDamage(enemy, UseQKS, false, UseEKS, false) > enemy.Health &&
                         Player.Distance(enemy, true) <= Math.Pow(Spells.Q.Range + 25f, 2))
                {
                    Spells.UseSpells(UseQKS, false, UseEKS, false, false);
                    PlaySound.PlatSounds();
                    //Chat.Print("QEKSC " + enemy.Name);
                }
                //Use QWER QE KS
                else if (GetDamage.GetComboDamage(enemy, UseQKS, UseWKS, UseEKS, UseRKS) > enemy.Health &&
                         Player.Distance(enemy, true) <= Math.Pow(Spells.R.Range, 2))
                {
                    Spells.UseSpells(UseQKS, UseWKS, UseEKS, UseRKS, UseQEKS);
                    PlaySound.PlatSounds();
                    //Chat.Print("QWERKS " + enemy.Name);
                }

                // Why ?

/*                else if (
 *                  (GetComboDamage(
 *                      enemy, false, false, Menu.Item("UseEKS").GetValue<bool>(),
 *                      Menu.Item("UseRKS").GetValue<bool>()) > enemy.Health ||
 *                   GetComboDamage(
 *                       enemy, false, Menu.Item("UseWKS").GetValue<bool>(),
 *                       Menu.Item("UseEKS").GetValue<bool>(), false) > enemy.Health) &&
 *                  Player.Distance(enemy, true) <= Math.Pow(QE.Range, 2))
 *              {
 *                  UseSpells(
 *                      false, //Q
 *                      false, //W
 *                      false, //E
 *                      false, //R
 *                      Menu.Item("UseQEKS").GetValue<bool>() //QE
 *                      );
 *                  PlaySound();
 *                  //Chat.Print("QEKS " + enemy.Name);
 *              }*/


                //Flash Kill
                var useFlash = Menu.Item("FKT" + enemy.BaseSkinName) != null &&
                               Menu.Item("FKT" + enemy.BaseSkinName).GetValue <bool>();
                var useR = Menu.Item("DontR" + enemy.BaseSkinName) != null &&
                           Menu.Item("DontR" + enemy.BaseSkinName).GetValue <bool>() == false;
                var rflash = GetDamage.GetComboDamage(enemy, UseQKS, false, UseEKS, false) < enemy.Health;
                var ePos   = Spells.R.GetPrediction(enemy);


                if ((Spells.FlashSlot == SpellSlot.Unknown && ObjectManager.Player.Spellbook.CanUseSpell(Spells.FlashSlot) != SpellState.Ready) ||
                    !useFlash || !(Player.Distance(ePos.UnitPosition, true) <= Math.Pow(Spells.Q.Range + 25f + 395, 2)) ||
                    !(Player.Distance(ePos.UnitPosition, true) > Math.Pow(Spells.Q.Range + 25f + 200, 2)))
                {
                    continue;
                }
                if (
                    (!(GetDamage.GetComboDamage(enemy, UseQKS, false, UseEKS, false) > enemy.Health) ||
                     !Menu.Item("UseFK1").GetValue <bool>()) &&
                    (!(GetDamage.GetComboDamage(enemy, false, false, false, UseRKS) > enemy.Health) ||
                     !Menu.Item("UseFK2").GetValue <bool>() ||
                     !(Player.Distance(ePos.UnitPosition, true) <= Math.Pow(Spells.R.Range + 390, 2)) ||
                     Environment.TickCount - Spells.R.LastCastAttemptT <= Game.Ping + 750 ||
                     Environment.TickCount - Spells.QE.LastCastAttemptT <= Game.Ping + 750 ||
                     !(Player.Distance(ePos.UnitPosition, true) > Math.Pow(Spells.R.Range + 200, 2))))
                {
                    continue;
                }
                var totmana = 0d;
                if (Menu.Item("FKMANA").GetValue <bool>())
                {
                    totmana = Spells.SpellList.Aggregate(
                        totmana, (current, spell) => current + ObjectManager.Player.Spellbook.GetSpell(spell.Slot).SData.Mana);
                }
                if (totmana > Player.Mana && Menu.Item("FKMANA").GetValue <bool>() &&
                    Menu.Item("FKMANA").GetValue <bool>())
                {
                    continue;
                }
                var nearbyE = ePos.UnitPosition.CountEnemiesInRange(1000);
                if (nearbyE > Menu.Item("MaxE").GetValue <Slider>().Value)
                {
                    continue;
                }
                var flashPos = Player.ServerPosition -
                               Vector3.Normalize(Player.ServerPosition - ePos.UnitPosition) * 400;
                if (flashPos.IsWall())
                {
                    continue;
                }
                if (rflash)
                {
                    if (useR)
                    {
                        //Use Ult after flash if can't be killed by QE
                        ObjectManager.Player.Spellbook.CastSpell(Spells.FlashSlot, flashPos);
                        Spells.UseSpells(false, false, false, UseRKS, false);
                        PlaySound.PlatSounds();
                    }
                }
                else
                {
                    //Q & E after flash
                    ObjectManager.Player.Spellbook.CastSpell(Spells.FlashSlot, flashPos);
                }
                Spells.FlashLastCast = Environment.TickCount;
            }
        }