当前位置: 首页>>代码示例>>C#>>正文


C# Obj_AI_Base.IsHunted方法代码示例

本文整理汇总了C#中Obj_AI_Base.IsHunted方法的典型用法代码示例。如果您正苦于以下问题:C# Obj_AI_Base.IsHunted方法的具体用法?C# Obj_AI_Base.IsHunted怎么用?C# Obj_AI_Base.IsHunted使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Obj_AI_Base的用法示例。


在下文中一共展示了Obj_AI_Base.IsHunted方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: CastBushwhack

        // Human W Logic
        internal static void CastBushwhack(Obj_AI_Base target, string mode)
        {
            // if not harass mode ignore mana check
            if (!KL.CatForm() && KL.CanUse(KL.Spells["Bushwhack"], true, mode))
            {
                if (KL.Player.ManaPercent <= 65 && target.IsHunted() && target.CanMove)
                {
                    return;
                }

                if (mode != "ha" || KL.Player.ManaPercent > 65)
                {
                    if (target.IsValidTarget(KL.Spells["Bushwhack"].Range))
                    {
                        // try bushwhack prediction
                        if (getBoxItem(wHMenu, "ndhwforce") == 0)
                        {
                            if (target.IsChampion())
                                KL.Spells["Bushwhack"].CastIfHitchanceEquals(target, HitChance.VeryHigh);
                            else
                                KL.Spells["Bushwhack"].Cast(target.ServerPosition);
                        }

                        // try bushwhack behind target
                        if (getBoxItem(wHMenu, "ndhwforce") == 1)
                        {
                            var unitpos = KL.Spells["Bushwhack"].GetPrediction(target).UnitPosition;
                            KL.Spells["Bushwhack"].Cast(unitpos.Extend(KL.Player.ServerPosition, -75f));
                        }
                    }
                }
            }
        }
开发者ID:Xelamats,项目名称:PortAIO,代码行数:34,代码来源:CastManager.cs

示例2: CastBushwhack

        // Human W Logic
        internal static void CastBushwhack(Obj_AI_Base target,  string mode)
        {
            // if not harass mode ignore mana check
            if (!KL.CatForm() && KL.CanUse(KL.Spells["Bushwhack"], true, mode))
            {
                if (!target.IsValidTarget(KL.Spells["Bushwhack"].Range))
                    return;

                if (KL.Player.ManaPercent <= 75 && target.IsHunted())
                    return;

                if (mode == "ha" && KL.Player.ManaPercent < 65)
                    return;

                // try bushwhack prediction
                if (KN.Root.Item("ndhwforce").GetValue<StringList>().SelectedIndex == 0)
                {
                    if (target.IsChampion())
                        KL.Spells["Bushwhack"].CastIfHitchanceEquals(target, HitChance.VeryHigh);
                    else
                    {
                        if ((KL.CanUse(KL.Spells["Javelin"], true, "jg") ||
                             KL.SpellTimer["Javelin"] > 4f) && target.Distance(KL.Player.ServerPosition) > 165f)
                             KL.Spells["Bushwhack"].Cast(target.Position.Extend(KL.Player.ServerPosition, 305f));
                        else
                            KL.Spells["Bushwhack"].Cast(target.Position.Extend(KL.Player.ServerPosition, 100f));
                    }
                }

                // try bushwhack behind target
                if (KN.Root.Item("ndhwforce").GetValue<StringList>().SelectedIndex == 1)
                {
                    if (target.IsChampion())
                    {
                        var unitpos = KL.Spells["Bushwhack"].GetPrediction(target).UnitPosition;
                        KL.Spells["Bushwhack"].Cast(unitpos.Extend(KL.Player.ServerPosition, -75f));
                    }
                    else
                    {
                        if ((KL.CanUse(KL.Spells["Javelin"], true, "jg") ||
                             KL.SpellTimer["Javelin"] > 4f) && target.Distance(KL.Player.ServerPosition) > 265f)
                             KL.Spells["Bushwhack"].Cast(target.Position.Extend(KL.Player.ServerPosition, +305f));
                        else
                            KL.Spells["Bushwhack"].Cast(target.Position.Extend(KL.Player.ServerPosition, 100f));
                    }
                }
            }
        }
开发者ID:xKurisu,项目名称:KurisuSolutions,代码行数:49,代码来源:CastManager.cs

示例3: SwitchForm


//.........这里部分代码省略.........
                        }
                    }
                }
            }

            // human -> catform
            if (!KL.CatForm() && KL.CanUse(KL.Spells["Aspect"], true, mode))
            {
                switch (mode)
                {
                    case "jg":
                        if (KL.Counter < getSliderItem(jungleMenu, "aareq") &&
                            getKeyBindItem(jungleMenu, "jgaacount"))
                        {
                            return;
                        }
                        break;
                    case "gap":
                        if (target.LSIsValidTarget(375))
                        {
                            KL.Spells["Aspect"].Cast();
                            return;
                        }
                        break;
                    case "wc":
                        if (target.LSIsValidTarget(375) && target.IsMinion)
                        {
                            KL.Spells["Aspect"].Cast();
                            return;
                        }
                        break;
                }

                if (target.IsHunted())
                {
                    // force switch no swipe/takedown req
                    if (!getCheckBoxItem(rHMenu, "ndhrcreq") && mode == "co" ||
                        !getCheckBoxItem(rHMenu, "ndhrjreq") && mode == "jg")
                    {
                        KL.Spells["Aspect"].Cast();
                        return;
                    }

                    if (target.LSDistance(KL.Player) > KL.Spells["Takedown"].Range + 50 &&
                        !KL.CanUse(KL.Spells["Pounce"], false, mode))
                        return;

                    // or check if pounce timer is ready before switch
                    if (KL.Spells["Aspect"].IsReady() && target.LSIsValidTarget(KL.Spells["ExPounce"].Range))
                    {
                        // dont change form if swipe or takedown isn't ready
                        if ((KL.SpellTimer["Takedown"].IsReady() || KL.SpellTimer["Swipe"].IsReady()) &&
                            KL.SpellTimer["Pounce"].IsReady(1))
                            KL.Spells["Aspect"].Cast();
                    }
                }
                else
                {
                    // check if in pounce range
                    if (target.LSIsValidTarget(KL.Spells["Pounce"].Range + 55))
                    {
                        if (mode != "jg")
                        {
                            // switch to cougar if can kill target
                            if (KL.CatDamage(target)*3 >= target.Health)
                            {
开发者ID:,项目名称:,代码行数:67,代码来源:

示例4: CastPounce

        // Cougar W Logic
        internal static void CastPounce(Obj_AI_Base target, string mode)
        {
            // check the actual spell timer and if we have it enabled in our menu
            if (!KL.CatForm() || !KL.CanUse(KL.Spells["Pounce"], false, mode))
                return;

            // check if target is hunted in 750 range
            if (!target.LSIsValidTarget(KL.Spells["ExPounce"].Range))
                return;

            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
            {
                if (KL.Player.HealthPercent <= getSliderItem(wCMenu, "ndcwcHPChecl"))
                {
                    return;
                }

                if (KL.Player.CountEnemiesInRange(750) >= getSliderItem(wCMenu, "ndcwcEnemy") && target.IsHunted())
                {
                    return;
                }
            }

            if (target.IsHunted())
            {
                // get hitbox
                var radius = KL.Player.AttackRange + KL.Player.LSDistance(KL.Player.BBox.Minimum) + 1;

                // force pounce if menu item enabled
                if (target.IsHunted() && getCheckBoxItem(wCMenu, "ndcwhunt") ||

                    // or of target is greater than my attack range
                    target.LSDistance(KL.Player.ServerPosition) > radius ||

                    // or is jungling or waveclearing (without farm distance check)
                    mode == "jg" || mode == "wc" && !getCheckBoxItem(wCMenu, "ndcwdistwc") ||

                    // or combo mode and ignoring distance check
                    !target.IsHunted() && mode == "co" && !getCheckBoxItem(wCMenu, "ndcwdistco"))
                {
                    if (getCheckBoxItem(jungleMenu, "kitejg") && mode == "jg" &&
                        target.LSDistance(Game.CursorPos) > 600 && target.LSDistance(KL.Player.ServerPosition) <= 300)
                    {
                        KL.Spells["Pounce"].Cast(Game.CursorPos);
                        return;
                    }

                    KL.Spells["Pounce"].Cast(target.ServerPosition);
                }
            }

            // if target is not hunted
            else
            {
                // check if in the original pounce range
                if (target.LSDistance(KL.Player.ServerPosition) > KL.Spells["Pounce"].Range)
                    return;

                // get hitbox
                var radius = KL.Player.AttackRange + KL.Player.LSDistance(KL.Player.BBox.Minimum) + 1;

                // check minimum distance before pouncing
                if (target.LSDistance(KL.Player.ServerPosition) > radius ||

                    // or is jungling or waveclearing (without distance checking)
                    mode == "jg" || mode == "wc" && !getCheckBoxItem(wCMenu, "ndcwdistwc") ||

                    // or combo mode with no distance checking
                    mode == "co" && !getCheckBoxItem(wCMenu, "ndcwdistco"))
                {
                    if (target.IsChampion())
                    {
                        if (getCheckBoxItem(wCMenu, "ndcwcheck"))
                        {
                            var voutout = KL.Spells["Pounce"].GetPrediction(target);
                            if (voutout.Hitchance >= (HitChance) getBoxItem(wCMenu, "ndcwch") + 3)
                            {
                                KL.Spells["Pounce"].Cast(voutout.CastPosition);
                            }
                        }
                        else
                            KL.Spells["Pounce"].Cast(target.ServerPosition);
                    }
                    else
                    {
                        // check pouncing near enemies
                        if (mode == "wc" && getCheckBoxItem(wCMenu, "ndcwene") &&
                            target.ServerPosition.CountEnemiesInRange(550) > 0)
                            return;

                        // check pouncing under turret
                        if (mode == "wc" && getCheckBoxItem(wCMenu, "ndcwtow") &&
                            target.ServerPosition.UnderTurret(true))
                            return;

                        KL.Spells["Pounce"].Cast(target.ServerPosition);
                    }
                }
            }
//.........这里部分代码省略.........
开发者ID:,项目名称:,代码行数:101,代码来源:

示例5: CastPounce

        // Cougar W Logic
        internal static void CastPounce(Obj_AI_Base target, string mode)
        {
            if (!ES.CatForm())
                return;

            // check the actual spell timer and if we have it enabled in our menu
            if (!ES.SpellTimer["Pounce"].IsReady() || !KN.Root.Item("ndcw" + mode).GetValue<bool>())
                return;

            // check if target is hunted in 750 range
            if (!target.IsValidTarget(ES.Spells["ExPounce"].Range))
                return;

            if (target.IsHunted())
            {
                var radius = ES.Player.AttackRange + ES.Player.Distance(ES.Player.BBox.Minimum) + 1;

                // force pounce if menu item enabled
                if (target.IsHunted() && KN.Root.Item("ndcwhunt").GetValue<bool>() ||

                    // or of target is greater than my attack range
                    target.Distance(ES.Player.ServerPosition) > radius ||

                    // or is jungling or waveclearing (without farm distance check)
                    mode == "jg" || mode == "wc" && !KN.Root.Item("ndcwdistwc").GetValue<bool>() ||

                    // or combo mode and ignoring distance check
                    mode == "co" && !KN.Root.Item("ndcwdistco").GetValue<bool>())
                {
                    // allow kiting between pounce if desired
                    if (mode == "jg" && target.Distance(ES.Player.ServerPosition) < 250)
                        ES.Spells["Pounce"].Cast(!KN.Root.Item("jgsticky").GetValue<bool>()
                            ? Game.CursorPos : target.ServerPosition);
                    else
                        ES.Spells["Pounce"].Cast(target.ServerPosition);
                }
            }

            // if target is not hunted
            else
            {
                if (target.Distance(ES.Player.ServerPosition) > ES.Spells["Pounce"].Range)
                    return;

                var radius = ES.Player.AttackRange + ES.Player.Distance(ES.Player.BBox.Minimum) + 1;

                // check minimum distance before pouncing
                if (target.Distance(ES.Player.ServerPosition) > radius ||

                    // or is jungling or waveclearing (without distance checking)
                    mode == "jg" ||  mode == "wc" && !KN.Root.Item("ndcwdistwc").GetValue<bool>() ||

                    // or combo mode with no distance checking
                    mode == "co" && !KN.Root.Item("ndcwdistco").GetValue<bool>())
                {
                    if (target.IsChampion())
                    {
                        // todo: update with vector prediction
                        if (KN.Root.Item("ndcwcheck").GetValue<bool>())
                            ES.Spells["Pounce"].Cast(target.ServerPosition);
                        else
                            ES.Spells["Pounce"].Cast(target.ServerPosition);
                    }

                    else
                    {
                        // check pouncing near enemies
                        if (mode == "wc" && KN.Root.Item("ndcwhunt").GetValue<bool>() &&
                            target.ServerPosition.CountEnemiesInRange(850) > 0)
                            return;

                        // check pouncing under turret
                        if (mode == "wc" && KN.Root.Item("ndcwtow").GetValue<bool>() &&
                            target.ServerPosition.UnderTurret(true))
                            return;

                        // allow kiting between pounce if desired
                        if (mode == "jg" && target.Distance(ES.Player.ServerPosition) < 250)
                            ES.Spells["Pounce"].Cast(!KN.Root.Item("jgsticky").GetValue<bool>()
                                ? Game.CursorPos : target.ServerPosition);
                        else
                            ES.Spells["Pounce"].Cast(target.ServerPosition);
                    }
                }
            }
        }
开发者ID:hoangtien1617,项目名称:KurisuSolutions,代码行数:87,代码来源:Combat.cs

示例6: SwitchForm

        internal static void SwitchForm(Obj_AI_Base target, string mode)
        {
            if (!target.IsValidTarget(ES.Spells["Javelin"].Range))
                return;

            // catform -> human
            if (ES.CatForm() && ES.Spells["Aspect"].IsReady() && KN.Root.Item("ndcr" + mode).GetValue<bool>())
            {
                var radius = ES.Player.AttackRange + ES.Player.Distance(ES.Player.BBox.Minimum) + 1;

                // change form if Q is ready and meets hitchance
                if (ES.SpellTimer["Javelin"].IsReady())
                {
                    if (target.IsChampion())
                    {
                        HitChance hitchance;
                        var objHero = target as Obj_AI_Hero;

                        var pos = SPrediction.Prediction.GetPredictionMethod2(target, ES.Spells["Javelin"],
                            objHero.GetWaypoints(), objHero.AvgMovChangeTime(), objHero.LastMovChangeTime(),
                            objHero.AvgPathLenght(), out hitchance, ES.Player.ServerPosition);

                        if (!ES.Spells["Javelin"].DoesCollide(pos) && hitchance >= HitChance.Low)
                             ES.Spells["Aspect"].Cast();
                    }
                }

                // is jungling
                if (mode == "jg")
                {
                    if (Game.CursorPos.Distance(ES.Player.ServerPosition) >= 375)
                    {
                        if (!KN.Root.Item("jgsticky").GetValue<bool>())
                            ES.Spells["Aspect"].Cast();
                    }

                    if (ES.SpellTimer["Bushwhack"].IsReady() || ES.SpellTimer["Javelin"].IsReady())
                    {
                        if (!ES.Spells["Javelin"].DoesCollide(target.ServerPosition.To2D()))
                        {
                            if (!ES.SpellTimer["Swipe"].IsReady() && !ES.SpellTimer["Takedown"].IsReady() &&
                                !ES.SpellTimer["Pounce"].IsReady(2))
                                 ES.Spells["Aspect"].Cast();
                        }
                    }
                }

                else
                {
                    // change to human if out of pounce range and can die
                    if (!ES.SpellTimer["Pounce"].IsReady() && target.Distance(ES.Player.ServerPosition) <= 525)
                    {
                        if (target.Distance(ES.Player.ServerPosition) > radius)
                        {
                            if (ES.Player.GetAutoAttackDamage(target, true) * 3 >= target.Health)
                                ES.Spells["Aspect"].Cast();
                        }
                    }
                }
            }

            // human -> catform
            if (ES.CatForm() || !ES.Spells["Aspect"].IsReady() || !KN.Root.Item("ndhr" + mode).GetValue<bool>())
                return;

            if (mode == "jg" && ES.Counter < 2 && KN.Root.Item("jgaacount").GetValue<bool>())
                return;

            if (mode == "gap")
            {
                if (target.IsValidTarget(375))
                {
                    ES.Spells["Aspect"].Cast();
                    return;
                }
            }

            // pounce only hunted
            if (KN.Root.Item("ndhrwh").GetValue<StringList>().SelectedIndex == 1)
            {
                if (target.IsValidTarget(ES.Spells["ExPounce"].Range) && target.IsHunted())
                    ES.Spells["Aspect"].Cast();
            }

            // pounce always any condition
            if (KN.Root.Item("ndhrwh").GetValue<StringList>().SelectedIndex == 2)
            {
                if (mode == "wc")
                {
                    if (target.IsValidTarget(375) && target.IsMinion)
                    {
                        ES.Spells["Aspect"].Cast();
                        return;
                    }
                }

                if (target.IsValidTarget(ES.Spells["ExPounce"].Range) && target.IsHunted())
                    ES.Spells["Aspect"].Cast();

                if (target.IsValidTarget(ES.Spells["Pounce"].Range) && !target.IsHunted())
//.........这里部分代码省略.........
开发者ID:hoangtien1617,项目名称:KurisuSolutions,代码行数:101,代码来源:Combat.cs

示例7: SwitchForm

        internal static void SwitchForm(Obj_AI_Base target, string mode)
        {
            if (!target.IsValidTarget(KL.Spells["Javelin"].Range))
                return;

            // catform -> human
            if (KL.CatForm() && KL.Spells["Aspect"].IsReady() && KN.Root.Item("ndcr" + mode).GetValue<bool>())
            {
                // get hitbox
                var radius = KL.Player.AttackRange + KL.Player.Distance(KL.Player.BBox.Minimum) + 1;

                // dont switch if have Q buff and near target
                if (KL.SpellTimer["Takedown"].IsReady() && KL.Player.HasBuff("Takedown") &&
                    target.Distance(KL.Player.ServerPosition) <= KL.Spells["Takedown"].Range + 45f)
                {
                    return;
                }

                // change form if Q is ready and meets hitchance
                if (KL.SpellTimer["Javelin"].IsReady() && target.IsChampion())
                {
                    var poutput = KL.Spells["Javelin"].GetPrediction(target);
                    if (poutput.Hitchance >= HitChance.High)
                    {
                        KL.Spells["Aspect"].Cast();
                    }
                }

                // is jungling
                if (mode == "jg")
                {
                    if (KL.SpellTimer["Bushwhack"].IsReady() && KL.Spells["Bushwhack"].Level > 0 ||
                        KL.SpellTimer["Javelin"].IsReady() && KL.Spells["Javelin"].Level > 0)
                    {
                        if (KL.Spells["Javelin"].Cast(target) != Spell.CastStates.Collision && 
                            KL.SpellTimer["Javelin"].IsReady() || KL.SpellTimer["Bushwhack"].IsReady())
                        {
                            if (!KL.SpellTimer["Swipe"].IsReady() || !KL.SpellTimer["Takedown"].IsReady() ||
                                KL.Player.Distance(target.ServerPosition) > 355)
                            {
                                KL.Spells["Aspect"].Cast();
                            }
                        }
                    }
                }
                else
                {
                    // change to human if out of pounce range and can die
                    if (!KL.SpellTimer["Pounce"].IsReady() && target.Distance(KL.Player.ServerPosition) <= 525)
                    {
                        if (target.Distance(KL.Player.ServerPosition) > radius)
                        {
                            if (KL.Player.GetAutoAttackDamage(target, true) * 3 >= target.Health)
                                KL.Spells["Aspect"].Cast();
                        }
                    }
                }
            }

            // human -> catform
            if (!KL.CatForm() && KL.Spells["Aspect"].IsReady() && KN.Root.Item("ndhr" + mode).GetValue<bool>())
            {
                if (mode == "jg")
                {
                    if (KL.Counter < KN.Root.Item("aareq").GetValue<Slider>().Value &&
                        KN.Root.Item("jgaacount").GetValue<KeyBind>().Active)
                    {
                        return;
                    }
                }

                if (mode == "gap")
                {
                    if (target.IsValidTarget(375))
                    {
                        KL.Spells["Aspect"].Cast();
                        return;
                    }
                }

                if (mode == "wc")
                {
                    if (target.IsValidTarget(375) && target.IsMinion)
                    {
                        KL.Spells["Aspect"].Cast();
                        return;
                    }
                }

                if (target.IsHunted())
                {
                    // force switch no swipe/takedown req
                    if (!KN.Root.Item("ndhrcreq").GetValue<bool>() && mode == "co" ||
                        !KN.Root.Item("ndhrjreq").GetValue<bool>() && mode == "jg")
                    {
                        KL.Spells["Aspect"].Cast();
                        return;
                    }

                    if (target.Distance(KL.Player) > KL.Spells["Takedown"].Range + 50 &&
//.........这里部分代码省略.........
开发者ID:Esk0r,项目名称:KurisuSolutions,代码行数:101,代码来源:CastManager.cs

示例8: CastPounce

        // Cougar W Logic
        internal static void CastPounce(Obj_AI_Base target, string mode)
        {
            // check the actual spell timer and if we have it enabled in our menu
            if (!KL.CatForm() || !KL.SpellTimer["Pounce"].IsReady() || !KN.Root.Item("ndcw" + mode).GetValue<bool>()) 
                return;

            // check if target is hunted in 750 range
            if (!target.IsValidTarget(KL.Spells["ExPounce"].Range))
                return;

            if (target.IsHunted())
            {
                // get hitbox
                var radius = KL.Player.AttackRange + KL.Player.Distance(KL.Player.BBox.Minimum) + 1;

                // force pounce if menu item enabled
                if (target.IsHunted() && KN.Root.Item("ndcwhunt").GetValue<bool>() ||

                    // or of target is greater than my attack range
                    target.Distance(KL.Player.ServerPosition) > radius ||

                    // or is jungling or waveclearing (without farm distance check)
                    mode == "jg" || mode == "wc" && !KN.Root.Item("ndcwdistwc").GetValue<bool>() ||

                    // or combo mode and ignoring distance check
                    !target.IsHunted() && mode == "co" && !KN.Root.Item("ndcwdistco").GetValue<bool>())
                {
                    if (KN.Root.Item("kitejg").GetValue<bool>() && mode == "jg" &&
                        target.Distance(Game.CursorPos) > 700 && 
                        target.Distance(KL.Player.ServerPosition) <= 300)
                    {
                        KL.Spells["Pounce"].Cast(Game.CursorPos);
                        return;
                    }

                    KL.Spells["Pounce"].Cast(target.ServerPosition);
                }
            }

            // if target is not hunted
            else
            {
                // check if in the original pounce range
                if (target.Distance(KL.Player.ServerPosition) > KL.Spells["Pounce"].Range)
                    return;

                // get hitbox
                var radius = KL.Player.AttackRange + KL.Player.Distance(KL.Player.BBox.Minimum) + 1;

                // check minimum distance before pouncing
                if (target.Distance(KL.Player.ServerPosition) > radius || 

                    // or is jungling or waveclearing (without distance checking)
                    mode == "jg" ||  mode == "wc" && !KN.Root.Item("ndcwdistwc").GetValue<bool>() ||

                    // or combo mode with no distance checking
                    mode == "co" && !KN.Root.Item("ndcwdistco").GetValue<bool>())
                {
                    if (target.IsChampion())
                    {
                        if (KN.Root.Item("ndcwcheck").GetValue<bool>())
                        {
                            var voutout = KL.Spells["Pounce"].GetPrediction(target);
                            if (voutout.Hitchance >= (HitChance) KN.Root.Item("ndcwch").GetValue<StringList>().SelectedIndex + 3)
                            {
                                KL.Spells["Pounce"].Cast(voutout.CastPosition);
                            }
                        }
                        else
                            KL.Spells["Pounce"].Cast(target.ServerPosition);
                    }
                    else 
                    {
                        // check pouncing near enemies
                        if (mode == "wc" && KN.Root.Item("ndcwene").GetValue<bool>() &&
                            target.ServerPosition.CountEnemiesInRange(550) > 0)
                            return;

                        // check pouncing under turret
                        if (mode == "wc" && KN.Root.Item("ndcwtow").GetValue<bool>() &&
                            target.ServerPosition.UnderTurret(true))
                            return;

                        KL.Spells["Pounce"].Cast(target.ServerPosition);
                    }
                }
            }
        }
开发者ID:Esk0r,项目名称:KurisuSolutions,代码行数:89,代码来源:CastManager.cs

示例9: SwitchForm


//.........这里部分代码省略.........
                        }
                    }
                }
            }

            // human -> catform
            if (!KL.CatForm() && KL.CanUse(KL.Spells["Aspect"], true, mode))
            {
                switch (mode)
                {
                    case "jg":
                        if (KL.Counter < KN.Root.Item("aareq").GetValue<Slider>().Value &&
                            KN.Root.Item("jgaacount").GetValue<KeyBind>().Active)
                        {
                            return;
                        }
                        break;
                    case "gap":
                        if (target.IsValidTarget(375))
                        {
                            KL.Spells["Aspect"].Cast();
                            return;
                        }
                        break;
                    case "wc":
                        if (target.IsValidTarget(375) && target.IsMinion)
                        {
                            KL.Spells["Aspect"].Cast();
                            return;
                        }
                        break;
                }

                if (target.IsHunted())
                {
                    // force switch no swipe/takedown req
                    if (!KN.Root.Item("ndhrcreq").GetValue<bool>() && mode == "co" ||
                        !KN.Root.Item("ndhrjreq").GetValue<bool>() && mode == "jg")
                    {
                        KL.Spells["Aspect"].Cast();
                        return;
                    }

                    // dis b for level 1 nid
                    // stop form switch when W is not leveled or disabled.
                    if (!KL.CanUse(KL.Spells["Pounce"], false, mode))
                    {
                        // block the form switch if greater than couger Q range
                        if (target.Distance(KL.Player) > KL.Spells["Takedown"].Range + 50)
                        {
                            return;
                        }
                    }

                    // or check if pounce timer is ready before switch
                    if (KL.Spells["Aspect"].IsReady() && target.IsValidTarget(KL.Spells["ExPounce"].Range))
                    {
                        // dont change form if swipe or takedown isn't ready
                        if ((KL.SpellTimer["Takedown"].IsReady() || KL.SpellTimer["Swipe"].IsReady()) &&
                             KL.SpellTimer["Pounce"].IsReady(1))
                             KL.Spells["Aspect"].Cast();
                    }
                }
                else
                {
                    // check if in pounce range
开发者ID:xKurisu,项目名称:KurisuSolutions,代码行数:67,代码来源:CastManager.cs

示例10: CastPounce

        // Cougar W Logic
        internal static void CastPounce(Obj_AI_Base target, string mode)
        {
            // check the actual spell timer and if we have it enabled in our menu
            if (!KL.CatForm() || !KL.CanUse(KL.Spells["Pounce"], false, mode))
                return;

            // check if target is hunted in 750 range
            if (!target.IsValidTarget(KL.Spells["ExPounce"].Range))
                return;

            if (target.IsHunted())
            {
                // get hitbox
                var radius = KL.Player.AttackRange + KL.Player.Distance(KL.Player.BBox.Minimum) + 1;

                // force pounce if menu item enabled
                if (target.IsHunted() && KN.Root.Item("ndcwhunt").GetValue<bool>() ||

                    // or of target is greater than my attack range
                    target.Distance(KL.Player.ServerPosition) > radius ||

                    // or is jungling or waveclearing (without farm distance check)
                    mode == "jg" || mode == "wc" && !KN.Root.Item("ndcwdistwc").GetValue<bool>() ||

                    // or combo mode and ignoring distance check
                    !target.IsHunted() && mode == "co" && !KN.Root.Item("ndcwdistco").GetValue<bool>())
                {
                    if (KN.Root.Item("kitejg").GetValue<bool>() && mode == "jg")
                    {
                        if (target.Distance(Game.CursorPos) > 600 && target.Distance(KL.Player.ServerPosition) <= 300)
                        {
                            KL.Spells["Pounce"].Cast(Game.CursorPos);
                            return;
                        }
                    }

                    KL.Spells["Pounce"].Cast(target.ServerPosition);
                }
            }

            // if target is not hunted
            else
            {
                // check if in the original pounce range
                if (target.Distance(KL.Player.ServerPosition) > KL.Spells["Pounce"].Range)
                    return;

                // get hitbox
                var radius = KL.Player.AttackRange + KL.Player.Distance(KL.Player.BBox.Minimum) + 1;

                // if greater than our hitbox radius pounce!
                if (target.Distance(KL.Player.ServerPosition) > radius ||

                    // or is jungling or waveclearing (without distance checking)
                    mode == "jg" ||  mode == "wc" && !KN.Root.Item("ndcwdistwc").GetValue<bool>() ||

                    // or combo mode with no distance checking
                    mode == "co" && !KN.Root.Item("ndcwdistco").GetValue<bool>())
                {
                    if (target.IsChampion())
                    {
                        if (KN.Root.Item("ndcwcheck").GetValue<bool>())
                        {
                            switch (KN.Root.Item("ppred").GetValue<StringList>().SelectedValue)
                            {
                                case "OKTW":
                                    PredictionInput pi;
                                    pi = new PredictionInput();
                                    pi.Aoe = false;
                                    pi.Collision = true;
                                    pi.Speed = 1300f;
                                    pi.Delay = 0.25f;
                                    pi.Range = 1500f;
                                    pi.From = KN.Player.ServerPosition;
                                    pi.Radius = 40f;
                                    pi.Unit = target;
                                    pi.Type = SkillshotType.SkillshotLine;

                                    var po = Prediction.GetPrediction(pi);
                                    if (po.Hitchance >= (SebbyLib.Prediction.HitChance)(KN.Root.Item("ndhqch").GetValue<StringList>().SelectedIndex + 3))
                                    {
                                        KL.Spells["Javelin"].Cast(po.CastPosition);
                                    }
                                    break;
                                case "SPrediction":
                                    var so = KL.Spells["Javelin"].GetSPrediction((Obj_AI_Hero)target);
                                    if (so.HitChance >= (HitChance)(KN.Root.Item("ndhqch").GetValue<StringList>().SelectedIndex + 3))
                                    {
                                        KL.Spells["Javelin"].Cast(so.CastPosition);
                                    }
                                    break;
                                case "Common":
                                    var co = KL.Spells["Javelin"].GetPrediction(target);
                                    if (co.Hitchance >= (HitChance)(KN.Root.Item("ndhqch").GetValue<StringList>().SelectedIndex + 3))
                                    {
                                        KL.Spells["Javelin"].Cast(co.CastPosition);
                                    }
                                    break;
                            }
//.........这里部分代码省略.........
开发者ID:xKurisu,项目名称:KurisuSolutions,代码行数:101,代码来源:CastManager.cs


注:本文中的Obj_AI_Base.IsHunted方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。