コード例 #1
0
        public override void Actualize(object contextObj)
        {
            var context = (ThoughtContext)contextObj;

            var ks     = default(KillStealResult);
            var target = context.Targets.FirstOrDefault(x => (ks = CalculateKillSteal(x)) != KillStealResult.CantKill);

            switch (ks)
            {
            case KillStealResult.QKill:
                KatarinaUtilities.CastQ(target);
                break;

            case KillStealResult.WKill:
                KatarinaUtilities.CastW();
                break;

            case KillStealResult.EKill:
                KatarinaUtilities.CastE(target);
                break;

            case KillStealResult.QwKill:
                KatarinaUtilities.CastW();
                break;

            case KillStealResult.QeKill:
                KatarinaUtilities.CastE(target);
                break;

            case KillStealResult.QweKill:
                KatarinaUtilities.CastE(target);
                break;

            case KillStealResult.WeKill:
                KatarinaUtilities.CastW();
                break;

            case KillStealResult.UltKs:
                KatarinaUtilities.CastR();
                break;

            case KillStealResult.FullComboKs:
                KatarinaUtilities.CastE(target);
                KatarinaUtilities.CastQ(target);
                KatarinaUtilities.CastW(target);
                KatarinaUtilities.CastR();
                break;

            case KillStealResult.FullComboItemsKs:
                UseItems(target);
                break;

            case KillStealResult.ItemsKs:
                UseItems(target);
                break;
            }
        }
コード例 #2
0
ファイル: FullComboThought.cs プロジェクト: foese123/CN
        public override void Actualize(object contextObj)
        {
            var context = (ThoughtContext)contextObj;

            if ((!context.CastingUlt || (context.Plugin.Config.Item("StopUlt").GetValue <bool>()) && context.Target.Unit.Health <
                 (context.Target.DamageContext.QDamage + context.Target.DamageContext.WDamage +
                  context.Target.DamageContext.EDamage)))
            {
                if (context.Plugin.Config.Item("ComboItems").GetValue <bool>())
                {
                    UseItems(context.Target);
                }

                if (context.Plugin.Q.IsReady())
                {
                    KatarinaUtilities.CastQ(context.Target);
                }

                if (context.Plugin.Config.Item("ComboDetonateQ").GetValue <bool>() &&
                    context.Target.Unit.Buffs.Any(x => x.Name == "katarinaqmark"))
                {
                    if (!context.Plugin.Q.IsReady())
                    {
                        KatarinaUtilities.CastE(context.Target);
                    }

                    if (!context.Plugin.E.IsReady())
                    {
                        KatarinaUtilities.CastW(context.Target);
                    }
                }
                else
                {
                    if (context.Plugin.E.IsReady())
                    {
                        KatarinaUtilities.CastE(context.Target);
                    }

                    if (!context.Plugin.E.IsReady())
                    {
                        KatarinaUtilities.CastW(context.Target);
                    }
                }

                if (context.Plugin.R.IsReady())
                {
                    KatarinaUtilities.CastR();
                }
            }

            var igniteTarget = context.Targets.Where(x => x.IgniteCanKill).OrderByDescending(x => x.Unit.Health).FirstOrDefault();

            if (igniteTarget != null)
            {
                KatarinaUtilities.CastIgnite(igniteTarget);
            }
        }
コード例 #3
0
ファイル: HarassThought.cs プロジェクト: foese123/CN
        public override void Actualize(object contextObj)
        {
            var context = (ThoughtContext)contextObj;

            if (IsHarassKeyDown())
            {
                KatarinaUtilities.CastQ(context.Target);

                switch (context.Plugin.Config.Item("HarrassQWE").GetValue <StringList>().SelectedIndex)
                {
                case 0:
                    if (context.Plugin.Config.Item("HarassDetonateQ").GetValue <bool>() &&
                        context.Target.Unit.Buffs.Any(x => x.Name == "katarinaqmark"))
                    {
                        if (!context.Plugin.Q.IsReady())
                        {
                            KatarinaUtilities.CastE(context.Target);
                        }

                        if (!context.Plugin.E.IsReady())
                        {
                            KatarinaUtilities.CastW(context.Target);
                        }
                    }
                    else if (!context.Plugin.Config.Item("HarassDetonateQ").GetValue <bool>())
                    {
                        KatarinaUtilities.CastE(context.Target);
                        if (!context.Plugin.E.IsReady() && IsWithinWRange())
                        {
                            KatarinaUtilities.CastW(context.Target);
                        }
                    }
                    break;

                case 1:
                    if (ObjectManager.Player.Distance(context.Target.Unit, true) <
                        Katarina.Instance.W.Range * Katarina.Instance.W.Range)
                    {
                        KatarinaUtilities.CastW(context.Target);
                    }
                    break;
                }
            }

            if (!context.Plugin.Config.Item("FarmKey").GetValue <KeyBind>().Active&& context.Plugin.Config.Item("WHarass").GetValue <bool>() && IsWithinWRange())
            {
                KatarinaUtilities.CastW();
            }
        }
コード例 #4
0
ファイル: FarmThought.cs プロジェクト: foese123/CN
        public override void Actualize(object contextObj)
        {
            var context = (ThoughtContext)contextObj;
            var qFarm   = context.Plugin.Config.Item("QFarm").GetValue <bool>();
            var wFarm   = context.Plugin.Config.Item("WFarm").GetValue <bool>();
            var eFarm   = context.Plugin.Config.Item("EFarm").GetValue <bool>();

            foreach (var minion in ObjectManager.Get <Obj_AI_Minion>().Where(x => x != null && x.IsValid && x.IsEnemy))
            {
                //var wDmg = DamageLib.getDmg(minion, DamageLib.SpellType.W);
                var wDmg = ObjectManager.Player.GetSpellDamage(minion, SpellSlot.W);
                var eDmg = ObjectManager.Player.GetSpellDamage(minion, SpellSlot.E);

                if (minion.IsValidTarget(context.Plugin.W.Range))
                {
                    if (qFarm && wFarm)
                    {
                        if (KatarinaUtilities.GetRangedHealthCheck(ObjectManager.Player, minion, SpellSlot.Q, 1000f, Katarina.Instance.Q.Speed) && context.Plugin.Q.IsReady())
                        {
                            KatarinaUtilities.CastQ(minion);
                        }
                        else if (context.Plugin.W.IsReady() && minion.Health <= wDmg * 0.75)
                        {
                            KatarinaUtilities.CastW();
                        }
                    }
                    else if (qFarm && context.Plugin.Q.IsReady() && KatarinaUtilities.GetRangedHealthCheck(ObjectManager.Player, minion, SpellSlot.Q, 1000f, 1400f))
                    {
                        KatarinaUtilities.CastQ(minion);
                    }
                    else if (wFarm && context.Plugin.W.IsReady() && minion.Health <= wDmg)
                    {
                        KatarinaUtilities.CastW();
                    }
                }
                else
                {
                    if (qFarm && KatarinaUtilities.GetRangedHealthCheck(ObjectManager.Player, minion, SpellSlot.Q, 1000f, Katarina.Instance.Q.Speed) && minion.IsValidTarget(context.Plugin.Q.Range))
                    {
                        KatarinaUtilities.CastQ(minion);
                    }
                    if (eFarm && minion.Health <= eDmg * 0.75 && minion.IsValidTarget(context.Plugin.E.Range))
                    {
                        KatarinaUtilities.CastE(minion);
                    }
                }
            }
        }