示例#1
0
        /// <summary>
        /// Put in here what you want to do when the mode is running
        /// </summary>
        public static void Execute()
        {
            var target = TargetSelector.GetTarget(1500, DamageType.Physical);

            Orbwalker.OrbwalkTo(Game.CursorPos);

            if (target == null)
            {
                return;
            }

            UseItems(target);

            if (target.HasQBuff())
            {
                if (castQAgain ||
                    target.HasBuffOfType(BuffType.Knockback) && !myHero.IsValidTarget(300) &&
                    !R.IsReady() ||
                    !target.IsValidTarget(myHero.GetAutoAttackRange()) && !R.IsReady())
                {
                    Q.Cast(target);
                }
            }
            if (target.Distance(myHero) > R.Range &&
                target.Distance(myHero) < R.Range + 580 && target.HasQBuff())
            {
                WardJumper.WardJump(target.Position, false);
            }

            if (E.IsReady() && EState && target.IsValidTarget(E.Range))
            {
                E.Cast();
            }

            if (R.IsReady() && Q.IsReady() && target.HasQBuff())
            {
                R.Cast(target);
            }

            if (Q.IsReady() && QState)
            {
                Core.DelayAction(delegate { CastQ(target); }, 200);
            }
        }
示例#2
0
文件: Combo.cs 项目: Muse30/FUELeesin
        /// <summary>
        /// Put in here what you want to do when the mode is running
        /// </summary>
        public static void Execute()
        {
            var target = TargetSelector.GetTarget(Q.Range, DamageType.Physical);

            if (target == null)
            {
                return;
            }

            if (!target.IsZombie && R.IsReady() && ComboMenu.GetCheckBoxValue("rUse") && ComboMenu.GetCheckBoxValue("qUse") && target.IsValidTarget(R.Range) && (myHero.GetSpellDamage(target, SpellSlot.R) >= target.Health || target.HasQBuff() && target.Health < myHero.GetSpellDamage(target, SpellSlot.R) + Q2Damage(target, myHero.GetSpellDamage(target, SpellSlot.R))))

            {
                R.Cast(target);
            }

            if (ComboMenu.GetCheckBoxValue("q2Use") && Q.IsReady() &&
                Q.Name.Equals("blindmonkqtwo", StringComparison.InvariantCultureIgnoreCase) &&
                target.HasQBuff() && (castQAgain))
            {
                CastQ(target, MiscMenu.GetCheckBoxValue("smiteq"));
                return;
            }

            if (target.HasQBuff() && ComboMenu.GetCheckBoxValue("q2Use"))
            {
                if (!target.IsZombie && target.HasQBuff() && target.Health < myHero.GetSpellDamage(target, SpellSlot.R) + Q2Damage(target, myHero.GetSpellDamage(target, SpellSlot.R)))
                {
                    if (ComboMenu.GetCheckBoxValue("rUseks"))
                    {
                        R.Cast(target);
                    }
                }
            }

            if (target.IsValidTarget(385f))
            {
                UseItems(target);
            }

            if (ComboMenu.GetCheckBoxValue("q2Use") && Q.IsReady() &&
                Q.Name.Equals("blindmonkqtwo", StringComparison.InvariantCultureIgnoreCase) &&
                target.HasQBuff() &&
                (castQAgain || myHero.GetSpellDamage(target, SpellSlot.Q, DamageLibrary.SpellStages.SecondCast) > target.Health) ||
                ReturnQBuff()?.Distance(target) < myHero.Distance(target) &&
                !target.IsValidTarget(myHero.GetAutoAttackRange()))
            {
                Q.Cast(target);
            }

            if (!target.IsZombie && myHero.GetSpellDamage(target, SpellSlot.R) >= target.Health &&
                ComboMenu.GetCheckBoxValue("rUseks") && target.IsValidTarget(R.Range))
            {
                R.Cast(target);
            }

            if (Q.IsReady() && QState && ComboMenu.GetCheckBoxValue("qUse"))
            {
                CastQ(target, MiscMenu.GetCheckBoxValue("smiteq"));
            }

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

            if (ComboMenu.GetCheckBoxValue("q2Use") && Q.IsReady() &&
                Q.Name.Equals("blindmonkqtwo", StringComparison.InvariantCultureIgnoreCase) &&
                target.HasQBuff() &&
                (castQAgain || myHero.Distance(target) > myHero.GetAutoAttackRange() ||
                 myHero.GetSpellDamage(target, SpellSlot.Q, DamageLibrary.SpellStages.SecondCast) > target.Health + target.AttackShield))
            {
                CastQ(target, MiscMenu.GetCheckBoxValue("smiteq"));
                return;
            }

            if (ComboMenu.GetCheckBoxValue("wardjumpC"))
            {
                if (ComboMenu.GetCheckBoxValue("wardjumpCAA") &&
                    target.Distance(myHero) > myHero.GetAutoAttackRange())
                {
                    WardJumper.WardJump(target.Position, false, true);
                }

                if (!ComboMenu.GetCheckBoxValue("wardjumpCAA") && target.Distance(myHero) > Q.Range)
                {
                    WardJumper.WardJump(target.Position, false, true);
                }
            }

            if (E.IsReady() && ComboMenu.GetCheckBoxValue("eUse") && target.Distance(myHero) < 400 &&
                !myHero.IsDashing())
            {
                if (Environment.TickCount - LastW <= 150)
                {
                    return;
                }

                if (EState)
                {
                    if (GetEHits().Item1 > 0 || (PassiveStacks == 0 && myHero.Mana >= 70) ||
                        target.Distance(myHero) > myHero.GetAutoAttackRange() + 70)
                    {
                        E.Cast();
                    }
                }
                else
                {
                    if (LastE + 1800 < Environment.TickCount)
                    {
                        if (GetEHits().Item1 > 0 ||
                            target.Distance(myHero) > myHero.GetAutoAttackRange() + 50)
                        {
                            E.Cast();
                        }
                    }
                }
            }

            if (W.IsReady() && ComboMenu.GetCheckBoxValue("wUse"))
            {
                if (Environment.TickCount - LastE <= 250)
                {
                    return;
                }

                if (WState && target.IsValidTarget(myHero.GetAutoAttackRange()))
                {
                    W.Cast(myHero);
                    LastW = Environment.TickCount;
                }

                if (!WState && LastW + 1800 < Environment.TickCount)
                {
                    W.Cast(myHero);
                }
            }
        }
示例#3
0
文件: Insec.cs 项目: Muse30/FUELeesin
        /// <summary>
        /// Put in here what you want to do when the mode is running
        /// </summary>
        public static void InsecCombo(AIHeroClient target)
        {
            if (target != null && target.IsVisible)
            {
                if (myHero.Distance(GetInsecPos(target)) < 200)
                {
                    insecComboStep = InsecComboStepSelect.Pressr;
                }
                else if (insecComboStep == InsecComboStepSelect.None &&
                         GetInsecPos(target).Distance(myHero.Position) < 600)
                {
                    insecComboStep = InsecComboStepSelect.Wgapclose;
                }
                else if (insecComboStep == InsecComboStepSelect.None &&
                         target.Distance(myHero) < Q.Range)
                {
                    insecComboStep = InsecComboStepSelect.Qgapclose;
                }

                switch (insecComboStep)
                {
                case InsecComboStepSelect.Qgapclose:

                    var prediction = Q.GetPrediction(target);
                    if (prediction.CollisionObjects.Count(h => h.IsEnemy && !h.IsDead && h is Obj_AI_Minion) >= 1 && InsecMenu.GetCheckBoxValue("inseccheck") && Q.IsReady())
                    {
                        foreach (var unit in ObjectManager.Get <Obj_AI_Base>().Where(obj => (((obj is Obj_AI_Minion) && myHero.GetSpellDamage(target, SpellSlot.Q) < obj.Health + 10) || (obj is AIHeroClient)) && obj.IsValidTarget(Q.Range) && obj.Distance(GetInsecPos(target)) < 500))
                        {
                            var pred = Q.GetPrediction(unit);
                            if (pred.HitChance >= HitChance.High)
                            {
                                Q.Cast(pred.CastPosition);
                            }
                            break;
                        }
                    }

                    if (!(target.HasQBuff()) && QState)
                    {
                        CastQ(target, MiscMenu.GetCheckBoxValue("smiteq"));
                    }
                    else if (target.HasQBuff())
                    {
                        Q2.Cast();
                        insecComboStep = InsecComboStepSelect.Wgapclose;
                    }
                    else
                    {
                        if (Q.Name == "blindmonkqtwo" && ReturnQBuff().Distance(target) <= 600 && target.HasQBuff())
                        {
                            Q2.Cast();
                        }
                    }
                    break;

                case InsecComboStepSelect.Wgapclose:

                    if (myHero.Distance(target) < WardRange)
                    {
                        WardJumper.WardJump(GetInsecPos(target), false, true, true);


                        if (FindBestWardItem() == null && R.IsReady() &&
                            InsecMenu.GetCheckBoxValue("insecnoward") &&
                            Flash.IsReady())
                        {
                            if ((GetInsecPos(target).Distance(myHero.Position) < FlashRange &&
                                 LastWard + 1000 < Environment.TickCount) || !W.IsReady())
                            {
                                Flash.Cast(GetInsecPos(target));
                            }
                        }
                    }
                    else if (myHero.Distance(target) < WardFlashRange)
                    {
                        WardJumper.WardJump(target.Position);

                        if (R.IsReady() && InsecMenu.GetCheckBoxValue("insecnoward") &&
                            Flash.IsReady())
                        {
                            if (myHero.Distance(target) < FlashRange - 25)
                            {
                                if (FindBestWardItem() == null || LastWard + 1000 < Environment.TickCount)
                                {
                                    Flash.Cast(GetInsecPos(target));
                                }
                            }
                        }
                    }
                    break;

                case InsecComboStepSelect.Pressr:
                    R.Cast(target);
                    break;
                }
            }
        }