예제 #1
0
        internal static void KS()
        {
            var target = TargetSelector.GetTarget(SPELLS.E.Range + 200, DamageType.Magical);

            if (target == null)
            {
                return;
            }
            if (target.Health < SPELLS.GetEDamage(target))
            {
                var ePrediction = SPELLS.E.GetPrediction(target);
                if (ePrediction.HitChance >= HitChance.Medium)
                {
                    SPELLS.E.Cast(ePrediction.CastPosition);
                }
                if (ePrediction.HitChance >= HitChance.High)
                {
                    SPELLS.E.Cast(ePrediction.CastPosition);
                }
                return;
            }

            target = TargetSelector.GetTarget(SPELLS.W.Range + 200, DamageType.Magical);
            if (target == null)
            {
                return;
            }
            if (target.Health < SPELLS.GetWDamage(target))
            {
                var prediction = SPELLS.W.GetPrediction(target);
                if (prediction.HitChance >= HitChance.High && prediction.CollisionObjects.Count(h => h.IsEnemy && !h.IsDead && h is Obj_AI_Minion) < 2)
                {
                    SPELLS.W.Cast(prediction.CastPosition);
                    return;
                }
            }

            target = TargetSelector.GetTarget(SPELLS.W.Range + 200, DamageType.Magical);
            if (target == null)
            {
                return;
            }
            if (target.Health < SPELLS.GetW1Damage(target) && SPELLS.R.IsReady())
            {
                var prediction = SPELLS.W.GetPrediction(target);
                if (prediction.HitChance >= HitChance.High && prediction.CollisionObjects.Count(h => h.IsEnemy && !h.IsDead && h is Obj_AI_Minion) < 2)
                {
                    SPELLS.R.Cast();
                    SPELLS.W.Cast(prediction.CastPosition);
                    return;
                }
            }
        }
예제 #2
0
 public static void Loading_OnLoadingComplete(EventArgs args)
 {
     if (Player.Instance.BaseSkinName != "Heimerdinger")
     {
         return;
     }
     SPELLS.Initialize();
     MENUS.Initialize();
     Game.OnTick    += Game_OnTick;
     Drawing.OnDraw += Drawing_OnDraw;
     Interrupter.OnInterruptableSpell += MODES.Interrupter_OnInterruptableSpell;
     Gapcloser.OnGapcloser            += MODES.Gapcloser_OnGapcloser;
 }
예제 #3
0
        public static void Combo()
        {
            var target = TargetSelector.GetTarget(SPELLS.W.Range, DamageType.Magical);

            if (target == null)
            {
                return;
            }
            var qtarget = TargetSelector.GetTarget(600, DamageType.Magical);

            if (qtarget == null)
            {
                return;
            }

            if (SPELLS.Q.IsReady() && SPELLS.R.IsReady() && MENUS.UseQRCombo &&
                MENUS.UseQCombo && qtarget.IsValidTarget(650) &&
                Player.Instance.Position.CountEnemiesInRange(650) >= MENUS.QRcount)
            {
                SPELLS.R.Cast();
                SPELLS.Q.Cast(Player.Instance.ServerPosition.Extend(target.Position, +300).To3D());
            }
            else
            {
                if (SPELLS.Q.IsReady() && MENUS.UseQCombo && qtarget.IsValidTarget(650) &&

                    Player.Instance.Position.CountEnemiesInRange(650) >= 1)
                {
                    SPELLS.Q.Cast(Player.Instance.Position.Extend(target.Position, +300).To3D());
                }
            }
            if (SPELLS.E3.IsReady() && SPELLS.R.IsReady() && MENUS.UseERCombo &&
                MENUS.UseRCombo &&
                target.Position.CountEnemiesInRange(450 - 250) >=
                MENUS.ERcount)
            {
                CastER(target);
            }
            else
            {
                if (SPELLS.E.IsReady() && MENUS.UseECombo && target.IsValidTarget(SPELLS.E.Range))
                {
                    var ePrediction = SPELLS.E.GetPrediction(target);
                    if (ePrediction.HitChance >= HitChance.High)
                    {
                        SPELLS.E.Cast(ePrediction.CastPosition);
                    }
                }
                if (SPELLS.W.IsReady() && MENUS.UseWRCombo && MENUS.UseRCombo &&
                    SPELLS.R.IsReady() && target.IsValidTarget(SPELLS.W.Range) &&
                    SPELLS.GetComboDamage(target) >= target.Health)
                {
                    var wPrediction = SPELLS.W.GetPrediction(target);
                    SPELLS.R.Cast();

                    /*     Utility.DelayAction.Add(1010,
                     *       () => W.CastIfHitchanceEquals(target, HitChance.High, true));*/
                    if (wPrediction.HitChance >= HitChance.High)
                    {
                        Core.DelayAction(() =>
                        {
                            {
                                SPELLS.W.Cast(wPrediction.CastPosition);
                            }
                        }, SPELLS.W.CastDelay);
                    }
                }
                else
                {
                    if (SPELLS.W.IsReady() && MENUS.UseWCombo && target.IsValidTarget(SPELLS.W.Range))
                    {
                        var wPrediction = SPELLS.W.GetPrediction(target);
                        if (wPrediction.HitChance >= HitChance.High)
                        {
                            SPELLS.W.Cast(wPrediction.CastPosition);
                        }
                    }
                }
            }
        }