示例#1
0
 static void CastQ(Obj_AI_Base t)
 {
     if (t.LSIsValidTarget() && Q.IsReady() && ObjectManager.Player.LSDistance(t.ServerPosition) <= Q.Range)
     {
         if (Q.CastIfHitchanceEquals(t, Q.GetHitchance()))
         {
             Q.Cast(t);
         }
         return;
     }
 }
示例#2
0
        private static void CastR(Obj_AI_Base t)
        {
            var nPrediction  = E.GetPrediction(t);
            var nHitPosition = nPrediction.CastPosition.LSExtend(ObjectManager.Player.Position, -140);

            if (nPrediction.HitChance >= R.GetHitchance())
            {
                R.Cast(nHitPosition);
            }
        }
示例#3
0
        private static void CastQ(AIHeroClient t)
        {
            var nPrediction  = Q.GetPrediction(t);
            var nHitPosition = nPrediction.CastPosition.LSExtend(ObjectManager.Player.Position, -140);

            if (nPrediction.HitChance >= Q.GetHitchance())
            {
                Q.Cast(nHitPosition);
            }
        }
示例#4
0
        static void CastQ(Obj_AI_Base t)
        {
            if (Q.CanCast(t))
            {
                var qPrediction = Q.GetPrediction(t);
                var hithere     = qPrediction.CastPosition.LSExtend(ObjectManager.Player.Position, -100);

                if (qPrediction.Hitchance >= Q.GetHitchance())
                {
                    Q.Cast(hithere);
                }
            }
        }
示例#5
0
        private static void CastE(Obj_AI_Base t)
        {
            if (E.CanCast(t))
            {
                var pred    = E.GetPrediction(t);
                var hithere = pred.CastPosition.LSExtend(ObjectManager.Player.Position, -100);

                if (pred.HitChance >= E.GetHitchance())
                {
                    E.Cast(hithere);
                }
            }
        }
示例#6
0
        public override void Game_OnGameUpdate(EventArgs args)
        {
            Console.WriteLine(Q.GetHitchance().ToString());
            haveIceBorn = ObjectManager.Player.InventoryItems.Any(i => i.Id == ItemId.Iceborn_Gauntlet);

            if (Program.misc["ChargeR.Enable"].Cast <CheckBox>().CurrentValue&& !Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo))
            {
                var rCooldown = Program.misc["ChargeR.Cooldown"].Cast <Slider>().CurrentValue;
                var rMinMana  = Program.misc["ChargeR.MinMana"].Cast <Slider>().CurrentValue;

                if (ObjectManager.Player.ManaPercent >= rMinMana && R.Cooldown >= rCooldown)
                {
                    var vMinions = MinionManager.GetMinions(ObjectManager.Player.Position, Q.Range);
                    foreach (var hit in from minions in vMinions
                             select Q.GetPrediction(minions)
                             into qP
                             let hit = qP.CastPosition.LSExtend(ObjectManager.Player.Position, -140)
                                       where qP.HitChance >= Q.GetHitchance()
                                       select hit)
                    {
                        Q.Cast(hit);
                    }
                }
            }



            // 3070 tear of the goddess
            //  foreach (var i in ObjectManager.Player.InventoryItems)
            //  {
            //Game.PrintChat(i.IData.Id.ToString());
            //    }

            if (Program.misc["PingCH"].Cast <CheckBox>().CurrentValue)
            {
                foreach (var enemy in
                         HeroManager.Enemies.Where(
                             enemy =>
                             R.IsReady() && enemy.LSIsValidTarget() && R.GetDamage(enemy) > enemy.Health &&
                             enemy.LSDistance(ObjectManager.Player) > Q.Range))
                {
                    Utils.MPing.Ping(enemy.Position.LSTo2D());
                }
            }

            AIHeroClient t       = TargetSelector.GetTarget(Q.Range, DamageType.Physical);
            var          toggleQ = Program.harass["UseQTH"].Cast <KeyBind>().CurrentValue;
            var          toggleW = Program.harass["UseWTH"].Cast <KeyBind>().CurrentValue;

            if ((toggleQ || toggleW) && t.LSIsValidTarget(Q.Range) && ToggleActive)
            {
                if (Q.IsReady() && toggleQ)
                {
                    if (ObjectManager.Player.HasBuff("Recall"))
                    {
                        return;
                    }

                    var useQt = (Program.harass["DontQToggleHarass" + t.ChampionName] != null &&
                                 Program.harass["DontQToggleHarass" + t.ChampionName].Cast <CheckBox>().CurrentValue == false);
                    if (useQt)
                    {
                        Q.CastIfHitchanceGreaterOrEqual(t);
                    }
                }

                if (W.IsReady() && t.LSIsValidTarget(W.Range) && toggleW)
                {
                    if (ObjectManager.Player.HasBuff("Recall"))
                    {
                        return;
                    }
                    var useWt = (Program.harass["DontWToggleHarass" + t.ChampionName] != null &&
                                 Program.harass["DontWToggleHarass" + t.ChampionName].Cast <CheckBox>().CurrentValue == false);
                    if (useWt)
                    {
                        W.Cast(t);
                    }
                }
            }

            if (ComboActive || HarassActive)
            {
                t = TargetSelector.GetTarget(Q.Range, DamageType.Physical);

                var useQ = ComboActive ? Program.combo["UseQC"].Cast <CheckBox>().CurrentValue : Program.harass["UseQH"].Cast <CheckBox>().CurrentValue;
                var useW = ComboActive ? Program.combo["UseWC"].Cast <CheckBox>().CurrentValue : Program.harass["UseWH"].Cast <CheckBox>().CurrentValue;
                var useR = Program.combo["UseRC"].Cast <CheckBox>().CurrentValue;

                if (Orbwalker.CanMove && !t.HasKindredUltiBuff())
                {
                    if (useQ && Q.IsReady() && t.LSIsValidTarget(Q.Range))
                    {
                        Q.CastIfHitchanceGreaterOrEqual(t);
                    }

                    if (useW && W.IsReady() && t.LSIsValidTarget(W.Range))
                    {
                        W.Cast(t);
                    }

                    if (R.IsReady() && useR)
                    {
                        var maxRRange = Program.combo["UseRCMaxRange"].Cast <Slider>().CurrentValue;
                        var minRRange = Program.combo["UseRCMinRange"].Cast <Slider>().CurrentValue;

                        if (Q.IsReady() && t.LSIsValidTarget(Q.Range) && Q.GetPrediction(t).CollisionObjects.Count() == 0 &&
                            t.Health < ObjectManager.Player.LSGetSpellDamage(t, SpellSlot.Q))
                        {
                            return;
                        }

                        if (t.LSIsValidTarget() && ObjectManager.Player.LSDistance(t) >= minRRange &&
                            ObjectManager.Player.LSDistance(t) <= maxRRange &&
                            t.Health <= ObjectManager.Player.LSGetSpellDamage(t, SpellSlot.R))
                        {
                            R.Cast(t);
                        }
                    }
                }
            }

            if (R.IsReady() && Program.misc["CastR"].Cast <KeyBind>().CurrentValue)
            {
                t = TargetSelector.GetTarget(R.Range, DamageType.Physical);
                if (t.LSIsValidTarget())
                {
                    R.Cast(t);
                }
            }
        }