Ejemplo n.º 1
0
Archivo: Lux.cs Proyecto: Zypppy/AimTec
        private void Combo()
        {
            bool useQ = Menu["combo"]["useq"].Enabled;

            if (Q.Ready && useQ)
            {
                var target = GetBestEnemyHeroTargetInRange(Q.Range);
                if (target != null)
                {
                    Q.Cast(target);
                }
            }

            bool  useW   = Menu["combo"]["usew"].Enabled;
            float useWhp = Menu["combo"]["usewhp"].As <MenuSlider>().Value;

            if (W.Ready && useW && Player.HealthPercent() <= useWhp)
            {
                var target = GetBestEnemyHeroTargetInRange(W.Range);
                if (target != null)
                {
                    W.Cast();
                }
            }

            bool useE = Menu["combo"]["usee"].Enabled;

            if (E.Ready && useE)
            {
                switch (Player.SpellBook.GetSpell(SpellSlot.E).ToggleState)
                {
                case 0:
                    var etarget = GetBestEnemyHeroTargetInRange(E.Range);
                    if (etarget != null)
                    {
                        if (etarget.IsValidTarget(E.Range) && Player.SpellBook.GetSpell(SpellSlot.E).ToggleState == 0)
                        {
                            E.Cast(etarget);
                        }
                    }
                    break;

                case 1:
                    var target = GetBestEnemyHeroTargetInRange(E2.Range);
                    if (missiles != null && target != null)
                    {
                        if (target.IsValidTarget(350f, false, false, missiles.ServerPosition) && Player.SpellBook.GetSpell(SpellSlot.E).ToggleState == 1)
                        {
                            E2.Cast();
                        }
                    }
                    break;
                }
            }

            bool useR = Menu["combo"]["user"].Enabled;

            if (R.Ready && useR)
            {
                var target = GetBestEnemyHeroTargetInRange(R.Range);
                if (target != null && R.CastIfWillHit(target, Menu["combo"]["userhit"].As <MenuSlider>().Value - 1))
                {
                    R.Cast(target);
                }
            }
        }
Ejemplo n.º 2
0
        private void OnUpdate(EventArgs args)
        {
            if (Range && E.IsReady() && Utils.TickCount - Etick < 250 + Game.Ping)
            {
                E.Cast(EcastPos);
            }

            if (Config.Item("flee", true).GetValue <KeyBind>().Active)
            {
                FleeMode();
            }

            if (Range)
            {
                if (Config.Item("autoWmove", true).GetValue <bool>() && Orbwalker.GetTarget() != null && Player.HasBuff("jaycehyperchargevfx"))
                {
                    SebbyLib.Orbwalking.Move = false;
                }
                else
                {
                    SebbyLib.Orbwalking.Move = true;
                }

                if (Program.LagFree(1) && Q.IsReady() && Config.Item("autoQ", true).GetValue <bool>())
                {
                    LogicQ();
                }

                if (Program.LagFree(2) && W.IsReady() && Config.Item("autoW", true).GetValue <bool>())
                {
                    LogicW();
                }
            }
            else
            {
                SebbyLib.Orbwalking.Move = true;
                if (Program.LagFree(1) && E2.IsReady() && Config.Item("autoEm", true).GetValue <bool>())
                {
                    LogicE2();
                }

                if (Program.LagFree(2) && Q2.IsReady() && Config.Item("autoQm", true).GetValue <bool>())
                {
                    LogicQ2();
                }
                if (Program.LagFree(3) && W2.IsReady() && Config.Item("autoWm", true).GetValue <bool>())
                {
                    LogicW2();
                }
            }

            if (Program.LagFree(4))
            {
                if (Program.None && Config.Item("stack", true).GetValue <bool>() && !Player.HasBuff("Recall") && Player.Mana > Player.MaxMana * 0.90 && (Items.HasItem(Tear) || Items.HasItem(Manamune)))
                {
                    if (Utils.TickCount - Q.LastCastAttemptT > 4200 && Utils.TickCount - W.LastCastAttemptT > 4200 && Utils.TickCount - E.LastCastAttemptT > 4200)
                    {
                        if (Range)
                        {
                            if (W.IsReady())
                            {
                                W.Cast();
                            }
                            else if (E.IsReady() && (Player.InFountain() || Player.IsMoving))
                            {
                                E.Cast(Player.ServerPosition);
                            }
                            else if (Q.IsReady() && !E.IsReady())
                            {
                                Q.Cast(Player.Position.Extend(Game.CursorPos, 500));
                            }
                            else if (R.IsReady() && Player.InFountain())
                            {
                                R.Cast();
                            }
                        }
                        else
                        {
                            if (W.IsReady())
                            {
                                W.Cast();
                            }
                            else if (R.IsReady() && Player.InFountain())
                            {
                                R.Cast();
                            }
                        }
                    }
                }

                SetValue();
                if (R.IsReady())
                {
                    LogicR();
                }
            }

            Jungle();
            LaneClearLogic();
        }
Ejemplo n.º 3
0
        private void KsCheck()
        {
            foreach (Obj_AI_Hero enemy in ObjectManager.Get <Obj_AI_Hero>().Where(x => x.IsValidTarget(_qCharge.Range) && x.IsEnemy && !x.IsDead).OrderByDescending(GetComboDamage))
            {
                //Q
                if ((Player.GetSpellDamage(enemy, SpellSlot.Q) - 20) > enemy.Health && _canQcd == 0 && Q.GetPrediction(enemy).Hitchance >= HitChance.High && Player.Distance(enemy.ServerPosition) <= Q.Range)
                {
                    if (_hammerTime && R.IsReady())
                    {
                        R.Cast();
                    }

                    if (!_hammerTime && Q.IsReady())
                    {
                        Q.Cast(enemy, packets());
                    }
                }

                //QE
                if ((Player.GetSpellDamage(enemy, SpellSlot.Q) * 1.4 - 20) > enemy.Health && _canQcd == 0 && _canEcd == 0 && Player.Distance(enemy.ServerPosition) <= _qCharge.Range)
                {
                    if (_hammerTime && R.IsReady())
                    {
                        R.Cast();
                    }

                    if (!_hammerTime)
                    {
                        CastQCannon(enemy, true);
                    }
                }

                //Hammer QE
                if ((Player.GetSpellDamage(enemy, SpellSlot.E) + Player.GetSpellDamage(enemy, SpellSlot.Q, 1) - 20) > enemy.Health &&
                    _hamEcd == 0 && _hamQcd == 0 && Player.Distance(enemy.ServerPosition) <= Q2.Range + enemy.BoundingRadius)
                {
                    if (!_hammerTime && R.IsReady())
                    {
                        R.Cast();
                    }

                    if (_hammerTime && Q2.IsReady() && E2.IsReady())
                    {
                        Q2.Cast(enemy, packets());
                        E2.Cast(enemy, packets());
                        return;
                    }
                }

                //Hammer Q
                if ((Player.GetSpellDamage(enemy, SpellSlot.Q, 1) - 20) > enemy.Health && _hamQcd == 0 && Player.Distance(enemy.ServerPosition) <= Q2.Range + enemy.BoundingRadius)
                {
                    if (!_hammerTime && R.IsReady())
                    {
                        R.Cast();
                    }

                    if (_hammerTime && Q2.IsReady())
                    {
                        Q2.Cast(enemy, packets());
                        return;
                    }
                }

                //Hammer E
                if ((Player.GetSpellDamage(enemy, SpellSlot.E) - 20) > enemy.Health && _hamEcd == 0 && Player.Distance(enemy.ServerPosition) <= E2.Range + enemy.BoundingRadius)
                {
                    if (!_hammerTime && R.IsReady() && enemy.Health > 80)
                    {
                        R.Cast();
                    }

                    if (_hammerTime && E2.IsReady())
                    {
                        E2.Cast(enemy, packets());
                        return;
                    }
                }
            }
        }
        private static void Combo()
        {
            var target = GameObjects.EnemyHeroes.Where(x => x.Distance(Player.Position) < E.Range + E2.Range && x.IsEnemy).FirstOrDefault();

            if (target == null)
            {
                return;
            }
            Vector3 pos = target.Position.Extend(Player.Position, -500);

            if (ComboQ && Q.IsReady() && target.IsValidTarget(Q.Range))
            {
                Q.Cast(target);
            }
            if (ComboE && E.IsReady())
            {
                if (!IsSecondE() && target.Distance(Player) > DontEEnemyRange)
                {
                    E.Cast(pos);
                }
                if (IsSecondE())
                {
                    //E2.UpdateSourcePosition(pos,Player.Position);
                    if (ComboEMode == "Only target")
                    {
                        E2.Cast(target);
                    }
                    else
                    {
                        E2.Cast(target.Position);
                    }
                }
            }

            if (ComboW && W.IsReady() && target.IsValidTarget(W.Range))
            {
                if (ComboWHealth && Player.HealthPercent < 40)
                {
                    W.CastOnUnit(target);
                }
                else if (!ComboWHealth)
                {
                    W.CastOnUnit(target);
                }
            }
            if (R.IsReady() && NotStolenR())
            {
                var Rtarget = GameObjects.EnemyHeroes
                              .Where(x => x.IsValidTarget(R.Range) && x.IsEnemy && TargetIsReady(x) && !Config["Combo"]["DontUlt" + x.Spellbook.GetSpell(SpellSlot.R).Name].GetValue <MenuBool>().Enabled).FirstOrDefault();
                if (Rtarget != null && R.CastOnUnit(target) && TargetIsReady(Rtarget))
                {
                    return;
                }
            }
            if (!NotStolenR())
            {
                switch (R2.Name)
                {
                case "UFSlash":
                    MalphiteUlt();
                    break;
                }
            }
        }
Ejemplo n.º 5
0
        private static void OnUpdate(EventArgs args)
        {
            if (Range && E.IsReady() && Utils.TickCount - Etick < 250 + Game.Ping)
            {
                E.Cast(EcastPos);
            }

            if (getKeyBindItem(miscMenu, "flee"))
            {
                FleeMode();
            }

            if (Range)
            {
                if (getCheckBoxItem(wMenu, "autoWmove") && Orbwalker.LastTarget != null &&
                    Player.HasBuff("jaycehyperchargevfx"))
                {
                    Orbwalker.DisableMovement = true;
                }
                else
                {
                    Orbwalker.DisableMovement = false;
                }

                if (Program.LagFree(1) && Q.IsReady() && getCheckBoxItem(qMenu, "autoQ"))
                {
                    LogicQ();
                }

                if (Program.LagFree(2) && W.IsReady() && getCheckBoxItem(wMenu, "autoW"))
                {
                    LogicW();
                }
            }
            else
            {
                if (Program.LagFree(1) && E2.IsReady() && getCheckBoxItem(eMenu, "autoEm"))
                {
                    LogicE2();
                }

                if (Program.LagFree(2) && Q2.IsReady() && getCheckBoxItem(qMenu, "autoQm"))
                {
                    LogicQ2();
                }
                if (Program.LagFree(3) && W2.IsReady() && getCheckBoxItem(wMenu, "autoWm"))
                {
                    LogicW2();
                }
            }

            if (Program.LagFree(4))
            {
                if (Program.None && getCheckBoxItem(miscMenu, "stack") && !Player.HasBuff("Recall") &&
                    Player.Mana > Player.MaxMana * 0.90 && (Items.HasItem(Tear) || Items.HasItem(Manamune)))
                {
                    if (Utils.TickCount - Q.LastCastAttemptT > 4200 && Utils.TickCount - W.LastCastAttemptT > 4200 &&
                        Utils.TickCount - E.LastCastAttemptT > 4200)
                    {
                        if (Range)
                        {
                            if (W.IsReady())
                            {
                                W.Cast();
                            }
                            else if (E.IsReady() && (Player.InFountain() || Player.IsMoving))
                            {
                                E.Cast(Player.ServerPosition);
                            }
                            else if (Q.IsReady() && !E.IsReady())
                            {
                                Q.Cast(Player.Position.Extend(Game.CursorPos, 500));
                            }
                            else if (R.IsReady() && Player.InFountain())
                            {
                                R.Cast();
                            }
                        }
                        else
                        {
                            if (W.IsReady())
                            {
                                W.Cast();
                            }
                            else if (R.IsReady() && Player.InFountain())
                            {
                                R.Cast();
                            }
                        }
                    }
                }

                SetValue();
                if (R.IsReady())
                {
                    LogicR();
                }
            }

            Jungle();
            LaneClearLogic();
        }
Ejemplo n.º 6
0
 private void NormalCombo()
 {
     if (targetObj == null)
     {
         return;
     }
     if (ItemBool("Combo", "Passive") && Player.HasBuff("BlindMonkFlurry") && Orbwalk.InAutoAttackRange(targetObj) && Orbwalk.CanAttack())
     {
         return;
     }
     if (ItemBool("Combo", "E") && E.IsReady())
     {
         if (E.Instance.Name == "BlindMonkEOne" && E.IsInRange(targetObj.Position))
         {
             E.Cast(PacketCast());
         }
         else if (targetObj.HasBuff("BlindMonkTempest") && E2.IsInRange(targetObj.Position) && (Player.Distance3D(targetObj) > 450 || !ECasted))
         {
             E.Cast(PacketCast());
         }
     }
     if (ItemBool("Combo", "Q") && Q.IsReady())
     {
         if (Q.Instance.Name == "BlindMonkQOne" && Q.IsInRange(targetObj.Position))
         {
             if (ItemBool("Misc", "SmiteCol"))
             {
                 if (!SmiteCollision(targetObj, Q))
                 {
                     Q.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast());
                 }
             }
             else
             {
                 Q.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast());
             }
         }
         else if (targetObj.HasBuff("BlindMonkSonicWave") && Q2.IsInRange(targetObj.Position))
         {
             if (Player.Distance3D(targetObj) > 500 || CanKill(targetObj, Q2, 1) || (targetObj.HasBuff("BlindMonkTempest") && E.IsInRange(targetObj.Position) && !Orbwalk.InAutoAttackRange(targetObj)) || !QCasted)
             {
                 Q.Cast(PacketCast());
             }
         }
     }
     if (ItemBool("Combo", "R") && ItemBool("Killable", targetObj.ChampionName) && R.IsReady() && R.IsInRange(targetObj.Position))
     {
         if (CanKill(targetObj, R) || (R.GetHealthPrediction(targetObj) - R.GetDamage(targetObj) + 5 <= GetQ2Dmg(targetObj, R.GetDamage(targetObj)) && ItemBool("Combo", "Q") && Q.IsReady() && targetObj.HasBuff("BlindMonkSonicWave")))
         {
             R.CastOnUnit(targetObj, PacketCast());
         }
     }
     if (ItemBool("Combo", "W") && W.IsReady())
     {
         if (ItemBool("Combo", "WSurvive") || ItemBool("Combo", "WGap"))
         {
             if (W.Instance.Name == "BlindMonkWOne")
             {
                 if (ItemBool("Combo", "WSurvive") && Orbwalk.InAutoAttackRange(targetObj) && Player.HealthPercentage() <= ItemList("Combo", "WUnder"))
                 {
                     W.Cast(PacketCast());
                 }
                 else if (ItemBool("Combo", "WGap") && Player.Distance3D(targetObj) >= Orbwalk.GetAutoAttackRange() + 50 && !FlyCasted)
                 {
                     var jumpObj = ObjectManager.Get <Obj_AI_Base>().Where(i => IsValid(i, W.Range + i.BoundingRadius, false) && !(i is Obj_AI_Turret) && i.Distance3D(targetObj) <= Orbwalk.GetAutoAttackRange() + 50).OrderBy(i => i.Distance3D(targetObj));
                     if (jumpObj.Count() > 0 && !JumpCasted)
                     {
                         foreach (var Obj in jumpObj)
                         {
                             W.CastOnUnit(Obj, PacketCast());
                         }
                     }
                     else if (ItemBool("Combo", "WGapWard") && Player.Distance3D(targetObj) <= W.Range + Orbwalk.GetAutoAttackRange() + 50 && (GetWardSlot() != null || WardCasted))
                     {
                         WardJump(targetObj.Position);
                     }
                 }
             }
             else if (E.IsInRange(targetObj.Position) && !Player.HasBuff("BlindMonkSafeguard") && !WCasted)
             {
                 W.Cast(PacketCast());
             }
         }
     }
     if (ItemBool("Combo", "Item"))
     {
         UseItem(targetObj);
     }
     if (ItemBool("Combo", "Ignite") && IgniteReady())
     {
         CastIgnite(targetObj);
     }
 }
Ejemplo n.º 7
0
        private void LaneJungClear()
        {
            var minionObj = ObjectManager.Get <Obj_AI_Minion>().Where(i => IsValid(i, Q2.Range)).OrderBy(i => i.MaxHealth).Reverse();

            foreach (var Obj in minionObj)
            {
                if (SmiteReady() && Obj.Team == GameObjectTeam.Neutral)
                {
                    if ((ItemBool("SmiteMob", "Baron") && Obj.Name.StartsWith("SRU_Baron")) || (ItemBool("SmiteMob", "Dragon") && Obj.Name.StartsWith("SRU_Dragon")) || (!Obj.Name.Contains("Mini") && (
                                                                                                                                                                             (ItemBool("SmiteMob", "Red") && Obj.Name.StartsWith("SRU_Red")) || (ItemBool("SmiteMob", "Blue") && Obj.Name.StartsWith("SRU_Blue")) ||
                                                                                                                                                                             (ItemBool("SmiteMob", "Krug") && Obj.Name.StartsWith("SRU_Krug")) || (ItemBool("SmiteMob", "Gromp") && Obj.Name.StartsWith("SRU_Gromp")) ||
                                                                                                                                                                             (ItemBool("SmiteMob", "Raptor") && Obj.Name.StartsWith("SRU_Razorbeak")) || (ItemBool("SmiteMob", "Wolf") && Obj.Name.StartsWith("SRU_Murkwolf")))))
                    {
                        CastSmite(Obj);
                    }
                }
                var Passive = Player.HasBuff("BlindMonkFlurry");
                if (ItemBool("Clear", "Q") && Q.IsReady())
                {
                    if (Q.Instance.Name == "BlindMonkQOne" && Q.IsInRange(Obj.Position))
                    {
                        /*if (Obj.Team == GameObjectTeam.Neutral || (Obj.Team != GameObjectTeam.Neutral && ((Orbwalk.InAutoAttackRange(Obj) && Q.GetHealthPrediction(Obj) - Q.GetDamage(Obj) + 5 <= GetQ2Dmg(Obj, Q.GetDamage(Obj))) || (!Orbwalk.InAutoAttackRange(Obj) && (Player.Distance3D(Obj) > Orbwalk.GetAutoAttackRange() + 50 || CanKill(Obj, Q))))))*/
                        Q.CastIfHitchanceEquals(Obj, HitChance.Medium, PacketCast());
                    }
                    else if (Obj.HasBuff("BlindMonkSonicWave") && (Q2.GetHealthPrediction(Obj) + 5 <= GetQ2Dmg(Obj) || Player.Distance3D(Obj) > 500 || !QCasted || !Passive))
                    {
                        Q.Cast(PacketCast());
                    }
                }
                if (ItemBool("Clear", "E") && E.IsReady())
                {
                    if (E.Instance.Name == "BlindMonkEOne" && !Passive && (minionObj.Count(i => E.IsInRange(i.Position)) >= 2 || (Obj.MaxHealth >= 1200 && E.IsInRange(Obj.Position))) && !FarmCasted)
                    {
                        E.Cast(PacketCast());
                        FarmCasted = true;
                        Utility.DelayAction.Add(300, () => FarmCasted = false);
                    }
                    else if (Obj.HasBuff("BlindMonkTempest") && E2.IsInRange(Obj.Position) && (!ECasted || !Passive))
                    {
                        E.Cast(PacketCast());
                    }
                }
                if (ItemBool("Clear", "W") && W.IsReady())
                {
                    if (W.Instance.Name == "BlindMonkWOne")
                    {
                        if (!Passive && Orbwalk.InAutoAttackRange(Obj) && !FarmCasted)
                        {
                            W.Cast(PacketCast());
                            FarmCasted = true;
                            Utility.DelayAction.Add(300, () => FarmCasted = false);
                        }
                    }
                    else if (E.IsInRange(Obj.Position) && (!WCasted || !Passive))
                    {
                        W.Cast(PacketCast());
                    }
                }
                if (ItemBool("Clear", "Item"))
                {
                    UseItem(Obj, true);
                }
            }
        }
Ejemplo n.º 8
0
 public void M101(E2 arg)
 {
     Flag.Value = 101;
 }
Ejemplo n.º 9
0
 public void M451(E2 arg)
 {
     Flag.Value = 451;
 }
Ejemplo n.º 10
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);

            // SPIDER COMBO
            if (SpellsManager.IsSpider)
            {
                if (ComboMenu.GetCheckBoxValue("q2Use") && Q2.IsReady() && target.IsValidTarget(SpellsManager.Q2.Range))
                {
                    Q2.Cast(target);
                }
                if (ComboMenu.GetCheckBoxValue("w2Use") && W2.IsReady())
                {
                    W2.Cast();
                }
                if (ComboMenu.GetCheckBoxValue("e2Use") && E2.IsReady() && target.IsValidTarget(E2.Range))
                {
                    E2.Cast(target);
                }
                if (ComboMenu.GetCheckBoxValue("rUse") && R.IsReady() && E.IsReady() && W.IsReady())
                {
                    R.Cast();
                }
            }
            else
            { //HUMAN
                if (ComboMenu.GetCheckBoxValue("eUse") && E.IsReady() && target.IsValidTarget(SpellsManager.E.Range) && E.GetPrediction(target).HitChance >= HitChance.Medium)
                {
                    E.Cast(target);
                }
                if (ComboMenu.GetCheckBoxValue("qUse") && Q.IsReady() && target.IsValidTarget(SpellsManager.Q.Range))
                {
                    Q.Cast(target);
                }
                if (ComboMenu.GetCheckBoxValue("WUse") && W.IsReady() && target.IsValidTarget(W.Range))
                {
                    W.Cast(target);
                }
                if (ComboMenu.GetCheckBoxValue("rUse") && R.IsReady())
                {
                    R.Cast();
                }
            }


            if (ComboMenu.GetKeyBindValue("gankcombokey"))
            {
                if (ComboMenu.GetCheckBoxValue("eUse") && E.IsReady() && target.IsValidTarget(SpellsManager.E.Range) && E.GetPrediction(target).HitChance >= HitChance.Medium)
                {
                    E.Cast(target);
                }
                if (ComboMenu.GetCheckBoxValue("qUse") && Q.IsReady() && target.IsValidTarget(SpellsManager.Q.Range))
                {
                    Q.Cast(target);
                }
                if (ComboMenu.GetCheckBoxValue("WUse") && W.IsReady() && target.IsValidTarget(W.Range))
                {
                    W.Cast(target);
                }
                if (ComboMenu.GetCheckBoxValue("rUse") && R.IsReady() && Q2.IsReady())
                {
                    R.Cast();
                }

                else if (SpellsManager.IsSpider)
                {
                    if (ComboMenu.GetCheckBoxValue("q2Use") && Q2.IsReady() && target.IsValidTarget(SpellsManager.Q2.Range))
                    {
                        Q2.Cast(target);
                    }
                    if (ComboMenu.GetCheckBoxValue("w2Use") && W2.IsReady())
                    {
                        W2.Cast();
                    }
                    if (ComboMenu.GetCheckBoxValue("e2Use") && E2.IsReady() && target.IsValidTarget(E2.Range))
                    {
                        E2.Cast(target);
                    }
                    if (ComboMenu.GetCheckBoxValue("rUse") && R.IsReady() && E.IsReady() && W.IsReady())
                    {
                        R.Cast();
                    }
                }
            }
        }
Ejemplo n.º 11
0
        public override void Execute()
        {
            if (Config.Modes.Combo.UseInsec)
            {
                var qTarget = TargetSelector.GetTarget(E.Range, DamageType.Magical);
                Program.Jump(qTarget.Position);
                Rinsec();
                buildTower();
                Orbwalker.OrbwalkTo(Game.CursorPos);
            }

            if (Config.Modes.Combo.UseMechanic)
            {
                var qTarget = TargetSelector.GetTarget(E.Range, DamageType.Magical);
                Rmechanic();
                buildTower();
                Orbwalker.OrbwalkTo(Game.CursorPos);
            }

            if (Settings.KSQ || Settings.KSE || Settings.KSI && SpellManager.Ignite.IsReady())
            {
                var enemies = EntityManager.Heroes.Enemies.Where(e => e.IsValidTarget(1500.0f));
                if (Settings.KSQ && Q.IsReady())
                {
                    var target = enemies.FirstOrDefault(e => Q.IsInRange(e) && e.Health < ObjectManager.Player.GetSpellDamage(e, SpellSlot.Q));
                    if (target != null)
                    {
                        if (Orbwalker.AzirSoldiers.Count > 0)
                        {
                            foreach (var soldier in Orbwalker.AzirSoldiers) // Q KS
                            {
                                var pred = Prediction.Position.PredictLinearMissile(target, Q.Range, Q.Width,
                                                                                    Q.CastDelay, Q.Speed, Int32.MaxValue, soldier.Position, true);
                                if (pred.HitChance >= HitChance.Medium)
                                {
                                    Q.Cast(pred.CastPosition.Extend(pred.UnitPosition, 115.0f).To3D());
                                    break;
                                }
                            }
                        }
                        else if (Orbwalker.AzirSoldiers.Count == 0 && W.IsReady() && Player.Instance.Mana >= 110)
                        {
                            var wCastPos = Player.Instance.Position.Extend(target, W.Range).To3D();
                            var pred     = Prediction.Position.PredictLinearMissile(target, Q.Range, Q.Width,
                                                                                    Q.CastDelay, Q.Speed, Int32.MaxValue, wCastPos, true);
                            if (pred.HitChance >= HitChance.Medium)
                            {
                                W.Cast(wCastPos);
                                Q.Cast(pred.CastPosition.Extend(pred.UnitPosition, 115.0f).To3D());
                            }
                        }
                    }
                }
                else if (Settings.KSE && E.IsReady())
                {
                    var target = enemies.FirstOrDefault(e => E.IsInRange(e) && e.Health < ObjectManager.Player.GetSpellDamage(e, SpellSlot.E));
                    if (target != null)
                    {
                        if (Orbwalker.AzirSoldiers.Count > 0)
                        {
                            foreach (var soldier in Orbwalker.AzirSoldiers) // E KS
                            {
                                if (target.Position.Between(Player.Instance.Position, soldier.Position))
                                {
                                    E2.Cast();
                                    break;
                                }
                            }
                        }
                        else if (Orbwalker.AzirSoldiers.Count == 0 && W.IsReady() && Player.Instance.Position.Distance(target) <= W.Range - 50 && Player.Instance.Mana >= 100)
                        {
                            var wCastPos = Player.Instance.Position.Extend(target, W.Range).To3D();
                            W.Cast(wCastPos);
                            E2.Cast();
                        }
                    }
                }
                else if (Settings.KSI && SpellManager.Ignite.IsReady())
                {
                    var target =
                        enemies.FirstOrDefault(
                            e =>
                            SpellManager.Ignite.IsInRange(e) &&
                            e.Health <
                            ObjectManager.Player.GetSummonerSpellDamage(e, DamageLibrary.SummonerSpells.Ignite));
                    if (target != null)
                    {
                        SpellManager.Ignite.Cast(target);
                    }
                }
            }
        }
Ejemplo n.º 12
0
 public C6(Nullable <int> i, Type t, Func <string> f, Action <string, int> a, E1 e1, E2 e2)
 {
 }
 public EnrichedE2(E2 @event, string playerId)
 {
     this.Event   = @event;
     this.OtherId = playerId;
 }
Ejemplo n.º 14
0
        public override void Execute()
        {
            var CougarForm = Q.Name == "Takedown";
            var target     = TargetSelector.GetTarget(Q.Range, DamageType.Magical);


            // Check if Q2 is ready (on unit)
            if (Q2.IsReady() && Settings.UseCQ && target.Distance(ObjectManager.Player.ServerPosition, true) <= Q2.RangeSquared + 150 * 150)
            {
                Q2.Cast(target.Position);
                if (Player.HasBuff("Takedown"))
                {
                    Player.IssueOrder(GameObjectOrder.AttackUnit, target);
                }
            }
            // Check is pounce is ready
            if (W2.IsReady() && Settings.UseCW &&
                (target.Distance(ObjectManager.Player.ServerPosition, true) > 275 * 275))
            {
                if (TargetHunted(target) & target.Distance(ObjectManager.Player.ServerPosition, true) <= 735 * 735)
                {
                    if (Q2.IsReady())
                    {
                        Q2.Cast();
                    }

                    W.Cast(target.Position);
                }
                else if (target.Distance(ObjectManager.Player.ServerPosition, true) <= 400 * 400)
                {
                    if (Q2.IsReady())
                    {
                        Q2.Cast();
                    }

                    W.Cast(target.ServerPosition);
                }
            }
            // Check if swipe is ready
            if (E2.IsReady() && Settings.UseCE)
            {
                if (target.Distance(ObjectManager.Player.ServerPosition, true) <= E2.RangeSquared)
                {
                    if (!W2.IsReady())
                    {
                        E2.Cast(target.ServerPosition);
                    }
                }
            }

            // Switch to human form if can kill in aa and cougar skill not available
            if (!W2.IsReady() && !E2.IsReady() && !Q2.IsReady())
            {
                if (target.Distance(ObjectManager.Player.ServerPosition, true) > Q2.RangeSquared)
                {
                    if (Settings.UseR)
                    {
                        if (target.Distance(ObjectManager.Player.ServerPosition, true) <= ObjectManager.Player.AttackRange * ObjectManager.Player.AttackRange + 50 * 50)
                        {
                            if (R.IsReady())
                            {
                                R.Cast();
                            }
                        }
                    }
                }
            }

            // human Q
            if (!CougarForm && target.IsValidTarget(Q.Range))
            {
                if (target.IsValidTarget() && Q.IsReady() && Settings.UseHQ)
                {
                    Q.Cast(target);
                }
            }
            // Check bushwack and cast underneath targets feet.
            if (W.IsReady() && Settings.UseHW)
            {
                if (target.Distance(ObjectManager.Player.ServerPosition, true) <= W.RangeSquared)
                {
                    W.Cast();
                }
            }
        }
Ejemplo n.º 15
0
 public EnrichedE2(E2 @event, String playerId)
 {
     Event   = @event;
     OtherId = playerId;
 }
Ejemplo n.º 16
0
 private static void Fight(string mode)
 {
     if (GetValue <bool>(mode, "P") && HaveP && Orbwalk.GetBestHeroTarget != null && Orbwalk.CanAttack)
     {
         return;
     }
     if (GetValue <bool>(mode, "Q") && Q.IsReady())
     {
         if (IsQOne)
         {
             var target = Q.GetTarget();
             if (target != null)
             {
                 var state = Q.Cast(target, PacketCast);
                 if (state.IsCasted())
                 {
                     return;
                 }
                 if (state == Spell.CastStates.Collision && GetValue <bool>(mode, "QCol") && Smite.IsReady())
                 {
                     var pred = Q.GetPrediction(target);
                     if (
                         pred.CollisionObjects.Count(
                             i => i.IsValid <Obj_AI_Minion>() && IsSmiteable((Obj_AI_Minion)i)) == 1 &&
                         CastSmite(pred.CollisionObjects.First()) && Q.Cast(pred.CastPosition, PacketCast))
                     {
                         return;
                     }
                 }
             }
         }
         else
         {
             var target = Q2.GetTarget(0, HeroManager.Enemies.Where(i => !HaveQ(i)));
             if (target != null &&
                 (QAgain(target) ||
                  ((target.HasBuffOfType(BuffType.Knockback) || target.HasBuffOfType(BuffType.Knockup)) &&
                   Player.Distance(target) > 300 && !R.IsReady()) || Q.IsKillable(target, 1) ||
                  !Orbwalk.InAutoAttackRange(target, 100) || (Orbwalk.InAutoAttackRange(target) && !HaveP)) &&
                 Q2.Cast(PacketCast))
             {
                 return;
             }
             if (target == null)
             {
                 var sub = Q2.GetTarget();
                 if (sub != null && ObjHaveQ.Any(i => i.Distance(sub) < Player.Distance(sub)) &&
                     Q2.Cast(PacketCast))
                 {
                     return;
                 }
             }
         }
     }
     if (GetValue <bool>(mode, "E") && E.IsReady())
     {
         if (IsEOne)
         {
             if (E.GetTarget() != null && E.Cast(PacketCast))
             {
                 return;
             }
         }
         else if (
             HeroManager.Enemies.Where(i => i.IsValidTarget(E2.Range) && HaveE(i))
             .Any(
                 i =>
                 EAgain(i) || !Orbwalk.InAutoAttackRange(i, 50) ||
                 (Orbwalk.InAutoAttackRange(i) && !HaveP)) && Player.Mana >= 50 &&
             E2.Cast(PacketCast))
         {
             return;
         }
     }
     if (GetValue <bool>(mode, "R") && R.IsReady())
     {
         var target = R.GetTarget(0, HeroManager.Enemies.Where(i => !HaveQ(i)));
         if (GetValue <bool>(mode, "Q") && Q.IsReady() && !IsQOne && target != null)
         {
             if (CanKill(target, GetQ2Dmg(target, R.GetDamage(target))) && R.CastOnUnit(target, PacketCast))
             {
                 return;
             }
         }
         else
         {
             target = R.GetTarget();
             if (target != null && R.IsKillable(target))
             {
                 if (R.CastOnUnit(target, PacketCast))
                 {
                     return;
                 }
             }
             else if (GetValue <bool>(mode, "RBehind"))
             {
                 foreach (
                     var enemy in HeroManager.Enemies.Where(i => i.IsValidTarget(R.Range) && !R.IsKillable(i)))
                 {
                     R2.UpdateSourcePosition(enemy.ServerPosition, enemy.ServerPosition);
                     if (
                         HeroManager.Enemies.Any(
                             i =>
                             i.IsValidTarget(R2.Range) && i.NetworkId != enemy.NetworkId &&
                             R2.WillHit(
                                 i, enemy.ServerPosition.Extend(Player.ServerPosition, -R2.Range),
                                 (int)enemy.BoundingRadius + 50) && R.IsKillable(i)) &&
                         R.CastOnUnit(enemy, PacketCast))
                     {
                         break;
                     }
                 }
             }
         }
     }
     if (GetValue <bool>(mode, "W") && W.IsReady() && Orbwalk.GetBestHeroTarget != null)
     {
         if (IsWOne)
         {
             if (Player.HealthPercent < GetValue <Slider>(mode, "WHpU").Value)
             {
                 W.Cast(PacketCast);
             }
         }
         else if (!Player.HasBuff("BlindMonkSafeguard") &&
                  (Player.HealthPercent < GetValue <Slider>(mode, "WHpU").Value || !HaveP))
         {
             W.Cast(PacketCast);
         }
     }
 }
Ejemplo n.º 17
0
        private void OnCombo()
        {
            var target = GetBestEnemyHeroTargetInRange(1200);

            if (!target.IsValidTarget())
            {
                return;
            }

            bool useQ = Menu["combo"]["useq"].Enabled;

            if (Q.Ready && useQ)
            {
                if (target.IsValidTarget(Q.Range) && Player.SpellBook.GetSpell(SpellSlot.Q).Name == "KhazixQ")
                {
                    Q.Cast(target);
                }
                else if (target.IsValidTarget(Q2.Range) && Player.SpellBook.GetSpell(SpellSlot.Q).Name == "KhazixQLong")
                {
                    Q2.Cast(target);
                }
            }

            bool useW = Menu["combo"]["usew"].Enabled;

            if (W.Ready && target.IsValidTarget(W.Range) && useW)
            {
                W.Cast(target);
            }

            bool useE = Menu["combo"]["usee"].Enabled;

            if (E.Ready && useE)
            {
                if (target.IsValidTarget(E.Range) && Player.SpellBook.GetSpell(SpellSlot.E).Name == "KhazixE")
                {
                    E.Cast(target);
                }
                else if (target.IsValidTarget(E2.Range) && Player.SpellBook.GetSpell(SpellSlot.E).Name == "KhazixELong")
                {
                    E2.Cast(target);
                }
            }

            bool  useR     = Menu["combo"]["user"].Enabled;
            float enemiesR = Menu["combo"]["usercombocount"].As <MenuSlider>().Value;

            if (R.Ready)
            {
                if (useR && target.IsValidTarget(R.Range) && Player.CountEnemyHeroesInRange(R.Range) >= enemiesR)
                {
                    R.Cast();
                }
            }

            bool UseTiamat       = Menu["combo"]["useitems"].Enabled;
            var  ItemTiamatHydra = Player.SpellBook.Spells.Where(o => o != null && o.SpellData != null).FirstOrDefault(o => o.SpellData.Name == "ItemTiamatCleave" || o.SpellData.Name == "ItemTitanicHydraCleave");

            if (ItemTiamatHydra != null)
            {
                Spell Tiamat = new Spell(ItemTiamatHydra.Slot, 400);
                if (UseTiamat && Tiamat.Ready && target.IsValidTarget(Tiamat.Range))
                {
                    Tiamat.Cast();
                }
            }
        }
Ejemplo n.º 18
0
 public override string getFunctionAsString()
 {
     return("(" + E1.getFunctionAsString() + "+" + E2.getFunctionAsString() + ")");
 }
Ejemplo n.º 19
0
        private void Harass()
        {
            if (targetObj == null)
            {
                CurHarassStage = HarassStage.Nothing;
                return;
            }
            switch (CurHarassStage)
            {
            case HarassStage.Nothing:
                CurHarassStage = HarassStage.Doing;
                break;

            case HarassStage.Doing:
                if (ItemBool("Harass", "Q") && Q.IsReady())
                {
                    if (Q.Instance.Name == "BlindMonkQOne" && Q.IsInRange(targetObj.Position))
                    {
                        if (ItemBool("Misc", "SmiteCol"))
                        {
                            if (!SmiteCollision(targetObj, Q))
                            {
                                Q.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast());
                            }
                        }
                        else
                        {
                            Q.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast());
                        }
                    }
                    else if (targetObj.HasBuff("BlindMonkSonicWave") && Q2.IsInRange(targetObj.Position) && (CanKill(targetObj, Q2, 1) || (W.IsReady() && W.Instance.Name == "BlindMonkWOne" && Player.Mana >= W.Instance.ManaCost + (ItemBool("Harass", "E") && E.IsReady() && E.Instance.Name == "BlindMonkEOne" ? Q.Instance.ManaCost + E.Instance.ManaCost : Q.Instance.ManaCost) && Player.HealthPercentage() >= ItemSlider("Harass", "Q2Above"))))
                    {
                        HarassBackPos = Player.ServerPosition;
                        Q.Cast(PacketCast());
                        Utility.DelayAction.Add((int)((Player.Distance3D(targetObj) + (ItemBool("Harass", "E") && E.IsReady() && E.Instance.Name == "BlindMonkEOne" ? E.Range : 0)) / Q.Speed * 1000 - 100) * 2, () => CurHarassStage = HarassStage.Finish);
                    }
                }
                if (ItemBool("Harass", "E") && E.IsReady())
                {
                    if (E.Instance.Name == "BlindMonkEOne" && E.IsInRange(targetObj.Position))
                    {
                        E.Cast(PacketCast());
                    }
                    else if (targetObj.HasBuff("BlindMonkTempest") && E2.IsInRange(targetObj.Position))
                    {
                        CurHarassStage = HarassStage.Finish;
                    }
                }
                break;

            case HarassStage.Finish:
                if (W.IsReady() && W.Instance.Name == "BlindMonkWOne")
                {
                    var jumpObj = ObjectManager.Get <Obj_AI_Base>().Where(i => IsValid(i, W.Range + i.BoundingRadius, false) && !(i is Obj_AI_Turret) && i.Distance3D(targetObj) >= 450).OrderByDescending(i => i.Distance3D(Player)).OrderBy(i => ObjectManager.Get <Obj_AI_Turret>().Where(a => IsValid(a, float.MaxValue, false)).OrderBy(a => a.Distance3D(Player)).FirstOrDefault().Distance3D(i));
                    if (jumpObj.Count() > 0 && !JumpCasted)
                    {
                        foreach (var Obj in jumpObj)
                        {
                            W.CastOnUnit(Obj, PacketCast());
                        }
                    }
                    else if (ItemBool("Harass", "WBackWard") && (GetWardSlot() != null || WardCasted))
                    {
                        WardJump(HarassBackPos);
                    }
                }
                else
                {
                    if (HarassBackPos != default(Vector3))
                    {
                        HarassBackPos = default(Vector3);
                    }
                    CurHarassStage = HarassStage.Nothing;
                }
                break;
            }
        }
Ejemplo n.º 20
0
        public override XElement getXml()
        {
            var fx = new XElement("FX", E1.getXml(), new XElement("OPERATOR", "+"), E2.getXml());

            return(fx);
        }
Ejemplo n.º 21
0
 private void StarCombo()
 {
     CustomOrbwalk(targetObj);
     if (targetObj == null)
     {
         return;
     }
     UseItem(targetObj);
     if (Q.IsReady())
     {
         if (Q.Instance.Name == "BlindMonkQOne" && Q.IsInRange(targetObj.Position))
         {
             if (ItemBool("Misc", "SmiteCol"))
             {
                 if (!SmiteCollision(targetObj, Q))
                 {
                     Q.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast());
                 }
             }
             else
             {
                 Q.CastIfHitchanceEquals(targetObj, HitChance.VeryHigh, PacketCast());
             }
         }
         else if (targetObj.HasBuff("BlindMonkSonicWave") && Q2.IsInRange(targetObj.Position) && (CanKill(targetObj, Q2, 1) || (!R.IsReady() && !RCasted && KickCasted) || (!R.IsReady() && !RCasted && !KickCasted && (Player.Distance3D(targetObj) > 600 || !QCasted))))
         {
             Q.Cast(PacketCast());
         }
     }
     if (W.IsReady())
     {
         if (W.Instance.Name == "BlindMonkWOne")
         {
             if (R.IsReady())
             {
                 if (Q.IsReady() && targetObj.HasBuff("BlindMonkSonicWave") && !R.IsInRange(targetObj.Position) && Player.Distance3D(targetObj) < W.Range + R.Range - 200)
                 {
                     WardJump(targetObj.Position);
                 }
             }
             else if (Orbwalk.InAutoAttackRange(targetObj))
             {
                 W.Cast(PacketCast());
             }
         }
         else if (E.IsInRange(targetObj.Position) && !Player.HasBuff("BlindMonkSafeguard") && !WCasted)
         {
             W.Cast(PacketCast());
         }
     }
     if (R.IsReady() && Q.IsReady() && targetObj.HasBuff("BlindMonkSonicWave") && R.IsInRange(targetObj.Position))
     {
         R.CastOnUnit(targetObj, PacketCast());
     }
     if (E.IsReady() && !R.IsReady())
     {
         if (E.Instance.Name == "BlindMonkEOne" && E.IsInRange(targetObj.Position))
         {
             E.Cast(PacketCast());
         }
         else if (targetObj.HasBuff("BlindMonkTempest") && E2.IsInRange(targetObj.Position) && (Player.Distance3D(targetObj) > 450 || !ECasted))
         {
             E.Cast(PacketCast());
         }
     }
 }
Ejemplo n.º 22
0
        private void Combo()
        {
            var qTarget  = TargetSelector.GetTarget(QExtend.Range, TargetSelector.DamageType.Physical);
            var q2Target = TargetSelector.GetTarget(Q2.Range, TargetSelector.DamageType.Physical);
            var e2Target = TargetSelector.GetTarget(E2.Range, TargetSelector.DamageType.Physical);

            if (Menu.Item("UseRCombo", true).GetValue <bool>() && IsMelee &&
                Player.CountEnemiesInRange(Q2.Range + 100) == 0)
            {
                R.Cast();
                return;
            }

            if (qTarget != null)
            {
                if (Menu.Item("UseQCombo", true).GetValue <bool>() && Qcd == 0 &&
                    Player.Distance(qTarget.Position) <= QExtend.Range && !IsMelee)
                {
                    CastQCannon(qTarget, Menu.Item("UseECombo", true).GetValue <bool>());
                    return;
                }
            }

            if (IsMelee)
            {
                if (q2Target != null)
                {
                    if (Menu.Item("UseWHarassHam", true).GetValue <bool>() && Player.Distance(q2Target.Position) <= 300 &&
                        W.IsReady())
                    {
                        W.Cast();
                    }

                    if (Menu.Item("UseQComboHam", true).GetValue <bool>() &&
                        Player.Distance(q2Target.Position) <= Q2.Range + q2Target.BoundingRadius && Q2.IsReady())
                    {
                        Q2.Cast(q2Target);
                    }
                }
                if (e2Target != null)
                {
                    if (Menu.Item("UseEComboHam", true).GetValue <bool>() &&
                        ECheck(e2Target, Menu.Item("UseQCombo", true).GetValue <bool>(),
                               Menu.Item("UseWCombo", true).GetValue <bool>()) &&
                        Player.Distance(e2Target.Position) <= E2.Range + e2Target.BoundingRadius && E2.IsReady())
                    {
                        E2.Cast(q2Target);
                    }
                }
            }

            var itemTarget = TargetSelector.GetTarget(750, TargetSelector.DamageType.Physical);

            if (itemTarget != null)
            {
                var dmg = GetComboDamage(itemTarget);
                ItemManager.Target = itemTarget;

                if (dmg > itemTarget.Health - 50)
                {
                    ItemManager.KillableTarget = true;
                }

                ItemManager.UseTargetted = true;
            }

            if (Menu.Item("UseRCombo", true).GetValue <bool>())
            {
                SwitchFormCheck(q2Target, Menu.Item("UseQCombo", true).GetValue <bool>(),
                                Menu.Item("UseWCombo", true).GetValue <bool>(), Menu.Item("UseQComboHam", true).GetValue <bool>(),
                                Menu.Item("UseWComboHam", true).GetValue <bool>(), Menu.Item("UseEComboHam", true).GetValue <bool>());
            }
        }
Ejemplo n.º 23
0
        private void UseSpells(bool useQ, bool useW, bool useE, bool useQ2, bool useW2, bool useE2, bool useR, String source)
        {
            var qTarget  = TargetSelector.GetTarget(QExtend.Range, TargetSelector.DamageType.Physical);
            var q2Target = TargetSelector.GetTarget(Q2.Range, TargetSelector.DamageType.Physical);
            var e2Target = TargetSelector.GetTarget(E2.Range, TargetSelector.DamageType.Physical);


            //Main Combo
            if (source == "Combo")
            {
                if (qTarget != null)
                {
                    if (useQ && CanQcd == 0 && Player.Distance(qTarget.Position) <= QExtend.Range && !HammerTime)
                    {
                        CastQCannon(qTarget, useE, source);
                        return;
                    }
                }

                if (HammerTime)
                {
                    if (q2Target != null)
                    {
                        if (useW2 && Player.Distance(q2Target.Position) <= 300 && W.IsReady())
                        {
                            W.Cast();
                        }

                        if (useQ2 && Player.Distance(q2Target.Position) <= Q2.Range + q2Target.BoundingRadius && Q2.IsReady())
                        {
                            Q2.Cast(q2Target);
                        }
                    }
                    if (e2Target != null)
                    {
                        if (useE2 && ECheck(e2Target, useQ, useW) && Player.Distance(e2Target.Position) <= E2.Range + e2Target.BoundingRadius && E2.IsReady())
                        {
                            E2.Cast(q2Target);
                        }
                    }
                }

                var itemTarget = TargetSelector.GetTarget(750, TargetSelector.DamageType.Physical);
                if (itemTarget != null)
                {
                    var dmg = GetComboDamage(itemTarget);
                    ItemManager.Target = itemTarget;

                    //see if killable
                    if (dmg > itemTarget.Health - 50)
                    {
                        ItemManager.KillableTarget = true;
                    }

                    ItemManager.UseTargetted = true;
                }

                //form switch check
                if (useR)
                {
                    SwitchFormCheck(q2Target, useQ, useW, useQ2, useW2, useE2);
                }
            }
            else if (source == "Harass" && ManaManager.HasMana(source))
            {
                if (qTarget != null)
                {
                    if (useQ && CanQcd == 0 && Player.Distance(qTarget.Position) <= QExtend.Range && !HammerTime)
                    {
                        CastQCannon(qTarget, useE, source);
                        return;
                    }
                }
                if (HammerTime)
                {
                    if (q2Target != null)
                    {
                        if (useW2 && Player.Distance(q2Target.Position) <= 300 && W.IsReady())
                        {
                            W.Cast();
                        }

                        if (useQ2 && Player.Distance(q2Target.Position) <= Q2.Range + q2Target.BoundingRadius && Q2.IsReady())
                        {
                            Q2.Cast(q2Target);
                        }
                    }

                    if (q2Target != null)
                    {
                        if (useE2 && Player.Distance(q2Target.Position) <= E2.Range + e2Target.BoundingRadius && E2.IsReady())
                        {
                            E2.Cast(q2Target);
                        }
                    }
                }

                //form switch check
                if (useR && q2Target != null)
                {
                    SwitchFormCheck(q2Target, useQ, useW, useQ2, useW2, useE2);
                }
            }
        }
Ejemplo n.º 24
0
        private void Harass()
        {
            if (!ManaManager.HasMana("Harass"))
            {
                return;
            }

            var qTarget  = TargetSelector.GetTarget(QExtend.Range, TargetSelector.DamageType.Physical);
            var q2Target = TargetSelector.GetTarget(Q2.Range, TargetSelector.DamageType.Physical);
            var e2Target = TargetSelector.GetTarget(E2.Range, TargetSelector.DamageType.Physical);


            if (qTarget != null)
            {
                if (Menu.Item("UseQHarass", true).GetValue <bool>() && Qcd == 0 &&
                    Player.Distance(qTarget.Position) <= QExtend.Range && !IsMelee)
                {
                    CastQCannon(qTarget, Menu.Item("UseEHarass", true).GetValue <bool>());
                    return;
                }
            }
            if (IsMelee)
            {
                if (q2Target != null)
                {
                    if (Menu.Item("UseWHarassHam", true).GetValue <bool>() && Player.Distance(q2Target.Position) <= 300 &&
                        W.IsReady())
                    {
                        W.Cast();
                    }

                    if (Menu.Item("UseQHarassHam", true).GetValue <bool>() &&
                        Player.Distance(q2Target.Position) <= Q2.Range + q2Target.BoundingRadius && Q2.IsReady())
                    {
                        Q2.Cast(q2Target);
                    }
                }

                if (q2Target != null)
                {
                    if (Menu.Item("UseEHarassHam", true).GetValue <bool>() &&
                        Player.Distance(q2Target.Position) <= E2.Range + e2Target.BoundingRadius && E2.IsReady())
                    {
                        E2.Cast(q2Target);
                    }
                }
            }

            if (Menu.Item("UseRHarass", true).GetValue <bool>() && q2Target != null)
            {
                SwitchFormCheck(q2Target, Menu.Item("UseQHarass", true).GetValue <bool>(),
                                Menu.Item("UseWHarass", true).GetValue <bool>(), Menu.Item("UseQHarassHam", true).GetValue <bool>(),
                                Menu.Item("UseWHarassHam", true).GetValue <bool>(),
                                Menu.Item("UseEHarassHam", true).GetValue <bool>());
            }
        }
Ejemplo n.º 25
0
        public override void Execute()
        {
            if (Player.Instance.CountEnemiesInRange(800) > 0)
            {
                RekSai.ItemsManager.Yomuus();
            }



            if (Events.burrowed)
            {
                var targetW  = TargetSelector.GetTarget(Player.Instance.BoundingRadius + 175, DamageType.Physical);
                var targetQ2 = TargetSelector.GetTarget(850, DamageType.Magical);

                var targetE  = TargetSelector.GetTarget(550, DamageType.Physical);
                var targetE2 = TargetSelector.GetTarget(E2.Range, DamageType.Physical);
                var predE2   = E2.GetPrediction(targetE2);

                if (Settings.UseW && W.IsReady())
                {
                    if (targetW != null && targetW.IsValidTarget())
                    {
                        W.Cast();
                        return;
                    }
                }

                if (Settings.UseQ2 && Q2.IsReady())
                {
                    if (targetQ2 != null && targetQ2.IsValidTarget())
                    {
                        var predictionQ2 = Q2.GetPrediction(targetQ2);
                        if (predictionQ2.HitChance >= HitChance.Medium)
                        {
                            Q2.Cast(predictionQ2.CastPosition);
                            return;
                        }
                    }
                }

                if (Settings.UseE2 && E2.IsReady())
                {
                    if (Player.Instance.CountEnemiesInRange(Settings.E2Distance) < 1)
                    {
                        if (targetE2.IsValidTarget())
                        {
                            E2.Cast(targetE2.Position + 200);
                            return;
                        }
                    }
                }
            }

            if (!Events.burrowed)
            {
                var targetE    = TargetSelector.GetTarget(E.Range, DamageType.Physical);
                var lastTarget = Orbwalker.LastTarget;
                var target     = TargetSelector.GetTarget(300, DamageType.Physical);

                if (Settings.UseE && E.IsReady())
                {
                    if (targetE != null && targetE.IsValidTarget())
                    {
                        E.Cast(targetE);
                        return;
                    }
                }

                if (Settings.UseW && W.IsReady())
                {
                    if (Player.Instance.CountEnemiesInRange(400) == 0)
                    {
                        W.Cast();
                        return;
                    }
                }

                if (Settings.UseW && W.IsReady())
                {
                    if (lastTarget.IsValidTarget(Player.Instance.BoundingRadius + 250) && !target.HasBuff("reksaiknockupimmune"))
                    {
                        W.Cast();
                        return;
                    }
                }
            }
        }
Ejemplo n.º 26
0
        private void KsCheck()
        {
            foreach (
                var enemy in
                ObjectManager.Get <AIHeroClient>()
                .Where(x => x.IsValidTarget(QExtend.Range) && x.IsEnemy && !x.IsDead)
                .OrderByDescending(GetComboDamage))
            {
                //Q
                if (Player.GetSpellDamage(enemy, SpellSlot.Q) - 20 > enemy.Health && Qcd == 0 &&
                    Player.Distance(enemy.ServerPosition) <= Q.Range)
                {
                    if (IsMelee && R.IsReady())
                    {
                        R.Cast();
                    }

                    if (!IsMelee && Q.IsReady())
                    {
                        Q.Cast(enemy);
                    }
                }

                //QE
                if (Player.GetSpellDamage(enemy, SpellSlot.Q) * 1.4 - 20 > enemy.Health && Qcd == 0 && Ecd == 0 &&
                    Player.Distance(enemy.ServerPosition) <= QExtend.Range)
                {
                    if (IsMelee && R.IsReady())
                    {
                        R.Cast();
                    }

                    if (!IsMelee)
                    {
                        CastQCannon(enemy, true);
                    }
                }

                //Hammer QE
                if (Player.GetSpellDamage(enemy, SpellSlot.E) + Player.GetSpellDamage(enemy, SpellSlot.Q, 1) - 20 > enemy.Health &&
                    E1Cd == 0 && Q1Cd == 0 && Player.Distance(enemy.ServerPosition) <= Q2.Range + enemy.BoundingRadius)
                {
                    if (!IsMelee && R.IsReady())
                    {
                        R.Cast();
                    }

                    if (IsMelee && Q2.IsReady() && E2.IsReady())
                    {
                        Q2.Cast(enemy);
                        E2.Cast(enemy);
                        return;
                    }
                }

                //Hammer Q
                if (Player.GetSpellDamage(enemy, SpellSlot.Q, 1) - 20 > enemy.Health && Q1Cd == 0 &&
                    Player.Distance(enemy.ServerPosition) <= Q2.Range + enemy.BoundingRadius)
                {
                    if (!IsMelee && R.IsReady())
                    {
                        R.Cast();
                    }

                    if (IsMelee && Q2.IsReady())
                    {
                        Q2.Cast(enemy);
                        return;
                    }
                }

                //Hammer E
                if (Player.GetSpellDamage(enemy, SpellSlot.E) - 20 > enemy.Health && E1Cd == 0 &&
                    Player.Distance(enemy.ServerPosition) <= E2.Range + enemy.BoundingRadius)
                {
                    if (!IsMelee && R.IsReady() && enemy.Health > 80)
                    {
                        R.Cast();
                    }

                    if (IsMelee && E2.IsReady())
                    {
                        E2.Cast(enemy);
                        return;
                    }
                }
            }
        }
Ejemplo n.º 27
0
        private void UseSpells(bool useQ, bool useW, bool useE, bool useQ2, bool useW2, bool useE2, bool useR, String source)
        {
            var qTarget  = TargetSelector.GetTarget(_qCharge.Range, TargetSelector.DamageType.Physical);
            var q2Target = TargetSelector.GetTarget(Q2.Range, TargetSelector.DamageType.Physical);
            var e2Target = TargetSelector.GetTarget(E2.Range, TargetSelector.DamageType.Physical);

            //mana manager for harass
            var mana        = menu.Item("manaH", true).GetValue <Slider>().Value;
            var manaPercent = Player.Mana / Player.MaxMana * 100;

            //Main Combo
            if (source == "Combo")
            {
                if (qTarget != null)
                {
                    if (useQ && _canQcd == 0 && Player.Distance(qTarget) <= _qCharge.Range && !_hammerTime)
                    {
                        CastQCannon(qTarget, useE);
                        return;
                    }
                }

                if (_hammerTime)
                {
                    if (q2Target != null)
                    {
                        if (useW2 && Player.Distance(q2Target) <= 300 && W.IsReady())
                        {
                            W.Cast();
                        }

                        if (useQ2 && Player.Distance(q2Target) <= Q2.Range + q2Target.BoundingRadius && Q2.IsReady())
                        {
                            Q2.Cast(q2Target, packets());
                        }
                    }
                    if (e2Target != null)
                    {
                        if (useE2 && ECheck(e2Target, useQ, useW) && Player.Distance(e2Target) <= E2.Range + e2Target.BoundingRadius && E2.IsReady())
                        {
                            E2.Cast(q2Target, packets());
                        }
                    }
                }

                var itemTarget = TargetSelector.GetTarget(750, TargetSelector.DamageType.Physical);
                if (itemTarget != null)
                {
                    var dmg = GetComboDamage(itemTarget);
                    ActiveItems.Target = itemTarget;

                    //see if killable
                    if (dmg > itemTarget.Health - 50)
                    {
                        ActiveItems.KillableTarget = true;
                    }

                    ActiveItems.UseTargetted = true;
                }

                //form switch check
                if (useR)
                {
                    SwitchFormCheck(q2Target, useQ, useW, useQ2, useW2, useE2);
                }
            }
            else if (source == "Harass" && manaPercent > mana)
            {
                if (qTarget != null)
                {
                    if (useQ && _canQcd == 0 && Player.Distance(qTarget) <= _qCharge.Range && !_hammerTime)
                    {
                        CastQCannon(qTarget, useE);
                        return;
                    }
                }
                if (_hammerTime)
                {
                    if (q2Target != null)
                    {
                        if (useW2 && Player.Distance(q2Target) <= 300 && W.IsReady())
                        {
                            W.Cast();
                        }

                        if (useQ2 && Player.Distance(q2Target) <= Q2.Range + q2Target.BoundingRadius && Q2.IsReady())
                        {
                            Q2.Cast(q2Target, packets());
                        }
                    }

                    if (e2Target != null)
                    {
                        if (useE2 && Player.Distance(q2Target) <= E2.Range + e2Target.BoundingRadius && E2.IsReady())
                        {
                            E2.Cast(q2Target, packets());
                        }
                    }
                }

                //form switch check
                if (useR && q2Target != null)
                {
                    SwitchFormCheck(q2Target, useQ, useW, useQ2, useW2, useE2);
                }
            }
        }
Ejemplo n.º 28
0
        private void JungleClear()
        {
            if (!ManaManager.HasMana("JungleClear"))
            {
                return;
            }

            var mobs = MinionManager.GetMinions(Player.Position, 800, MinionTypes.All, MinionTeam.Neutral,
                                                MinionOrderTypes.MaxHealth);

            if (mobs.Any())
            {
                var mob = mobs.FirstOrDefault();

                if (!IsMelee)
                {
                    if (Menu.Item("UseEJungle", true).GetValue <bool>() && E.IsReady() &&
                        Menu.Item("UseQJungle", true).GetValue <bool>() && Q.IsReady())
                    {
                        var gateVector = Player.ServerPosition +
                                         Vector3.Normalize(Game.CursorPos - Player.ServerPosition) * 50;

                        if (mob != null && mob.IsValidTarget(QExtend.Range))
                        {
                            E.Cast(gateVector);
                            QExtend.Cast(mob.Position);
                        }
                    }

                    if (Menu.Item("UseQJungle", true).GetValue <bool>() && Q.IsReady())
                    {
                        var qFarm = MinionManager.GetBestLineFarmLocation(mobs.Select(x => x.Position.To2D()).ToList(),
                                                                          Q.Width, Q.Range);

                        if (qFarm.MinionsHit >= 1)
                        {
                            Q.Cast(qFarm.Position);
                        }
                    }

                    if (Menu.Item("UseWJungle", true).GetValue <bool>() && W.IsReady())
                    {
                        if (mob.Distance(Player) <= 550)
                        {
                            W.Cast();
                        }
                    }

                    if (Menu.Item("UseRJungle", true).GetValue <bool>() && R.IsReady())
                    {
                        if (Qcd != 0 && Wcd != 0 && Ecd != 0)
                        {
                            R.Cast();
                        }
                    }
                }
                else
                {
                    if (Menu.Item("UseWJungleHam", true).GetValue <bool>() && W2.IsReady() && mob.IsValidTarget(300))
                    {
                        W2.Cast();
                    }

                    if (Menu.Item("UseQJungleHam", true).GetValue <bool>() && Q2.IsReady() && mob.IsValidTarget(Q2.Range))
                    {
                        Q2.CastOnUnit(mob);
                    }

                    if (Menu.Item("UseEJungleHam", true).GetValue <bool>() && E2.IsReady() && mob.IsValidTarget(E2.Range))
                    {
                        E2.CastOnUnit(mob);
                    }

                    if (Menu.Item("UseRJungle", true).GetValue <bool>() && R.IsReady())
                    {
                        if (Q1Cd != 0 && W1Cd != 0 && E1Cd != 0)
                        {
                            R.Cast();
                        }
                    }
                }
            }
        }
Ejemplo n.º 29
0
 public A8Attribute(E2 e)
 {
     this.E = e;
 }
Ejemplo n.º 30
0
        public override void OnHarass()
        {
            var target = TargetSelector.GetTarget(spiderForm ? E2.Range : E1.Range, DamageType.Magical);

            var harass = Features.Find(f => f.NameFeature == "Harass");

            if (target == null || !target.IsValidTarget(1000) || harass.SliderValue("harass.mana") > Player.Instance.ManaPercent)
            {
                return;
            }

            if (spiderForm)
            {
                if (R.IsReady() && harass.IsChecked("harass.r"))
                {
                    if (!W2.IsReady() && !Q2.IsReady() && !Player.Instance.IsInAutoAttackRange(target))
                    {
                        R.Cast();
                    }
                }

                if (Q2.IsReady() && harass.IsChecked("harass.q2") && Q2.IsInRange(target))
                {
                    Q2.Cast(target);
                }

                if (E2.IsReady() && harass.IsChecked("harass.e2") && E2.IsInRange(target) && !Q2.IsInRange(target))
                {
                    E2.Cast(target);
                }

                if (W2.IsReady() && harass.IsChecked("harass.w2") && Player.Instance.IsInAutoAttackRange(target))
                {
                    W2.Cast();
                }
            }
            else
            {
                if (R.IsReady() && harass.IsChecked("harass.r"))
                {
                    if (!Q1.IsReady() && !E1.IsReady())
                    {
                        if (W1.IsReady() && harass.IsChecked("harass.w") && W1.IsInRange(target))
                        {
                            W1.Cast(W1.GetPrediction(target).CastPosition);
                            EloBuddy.SDK.Core.DelayAction(() => R.Cast(), 250);
                        }
                        else
                        {
                            R.Cast();
                        }
                    }
                }

                if (E1.IsReady() && harass.IsChecked("harass.e") && E1.IsInRange(target))
                {
                    SpellsUtil.HitChanceCast(E1, target);
                }

                if (Q1.IsReady() && harass.IsChecked("harass.q") && Q1.IsInRange(target))
                {
                    Q1.Cast(target);
                }

                if (W1.IsReady() && harass.IsChecked("harass.w") && W1.IsInRange(target))
                {
                    W1.Cast(W1.GetPrediction(target).CastPosition);
                }
            }
        }