Пример #1
0
        private static void LaneClear()
        {
            if (ObjectManager.Player.ManaPercent < main_menu["taliyah.laneclear"]["taliyah.laneclear.manaperc"].GetValue <MenuSlider>().Value)
            {
                return;
            }

            if (main_menu["taliyah.laneclear"]["taliyah.laneclear.useq"].GetValue <MenuBool>().Value&& Q.IsReady())
            {
                var farm = Q.GetCircularFarmLocation(ObjectManager.Get <Obj_AI_Minion>().Where(p => p.IsEnemy && p.DistanceToPlayer() < Q.Range).ToList());
                if (farm.MinionsHit >= main_menu["taliyah.laneclear"]["taliyah.laneclear.minq"].GetValue <MenuSlider>().Value)
                {
                    Q.Cast(farm.Position);
                }
            }

            if (main_menu["taliyah.laneclear"]["taliyah.laneclear.useew"].GetValue <MenuBool>().Value&& W.IsReady() && E.IsReady())
            {
                var farm = W.GetCircularFarmLocation(ObjectManager.Get <Obj_AI_Minion>().Where(p => p.IsEnemy && p.DistanceToPlayer() < W.Range).ToList());
                if (farm.MinionsHit >= main_menu["taliyah.laneclear"]["taliyah.laneclear.minew"].GetValue <MenuSlider>().Value)
                {
                    E.Cast(farm.Position);
                    lastE = ObjectManager.Player.ServerPosition;
                    if (W.Instance.Name == "TaliyahW")
                    {
                        W.Cast(farm.Position, lastE.ToVector2());
                    }
                }
            }
        }
Пример #2
0
        private static void LaneClear()
        {
            if (ObjectManager.Player.ManaPercent < getSliderItem(laneclearMenu, "taliyah.laneclear.manaperc"))
            {
                return;
            }

            if (getCheckBoxItem(laneclearMenu, "taliyah.laneclear.useq") && Q.IsReady())
            {
                var farm = Q.GetCircularFarmLocation(ObjectManager.Get <Obj_AI_Minion>().Where(p => p.IsEnemy && p.DistanceToPlayer() < Q.Range).ToList());
                if (farm.MinionsHit >= getSliderItem(laneclearMenu, "taliyah.laneclear.minq"))
                {
                    Q.Cast(farm.Position);
                }
            }

            if (getCheckBoxItem(laneclearMenu, "taliyah.laneclear.useew") && W.IsReady() && E.IsReady())
            {
                var farm = W.GetCircularFarmLocation(ObjectManager.Get <Obj_AI_Minion>().Where(p => p.IsEnemy && p.DistanceToPlayer() < W.Range).ToList());
                if (farm.MinionsHit >= getSliderItem(laneclearMenu, "taliyah.laneclear.minew"))
                {
                    E.Cast(farm.Position);
                    lastE = ObjectManager.Player.ServerPosition;
                    if (W.Instance.Name == "TaliyahW")
                    {
                        W.Cast(farm.Position);
                    }
                    DelayAction.Add(250, () => ObjectManager.Player.Spellbook.CastSpell(SpellSlot.W, lastE, false));
                }
            }
        }
Пример #3
0
        public static void SmartCast(this LeagueSharp.SDK.Spell spell, Obj_AI_Base target = null, HitChance hitchance = HitChance.Medium,
                                     int minimunHits = 0)
        {
            if (target == null)
            {
                return;
            }
            if (!spell.CanCast(target))
            {
                return;
            }

            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Harass))
            {
                if (spell.IsSkillshot)
                {
                    if (spell.Collision)
                    {
                        if (Me.CountEnemyHeroesInRange(spell.Range) <= (minimunHits == 0 ? 2 : minimunHits))
                        {
                            spell.CastOnBestTarget(0f, true);
                            return;
                        }

                        if (Me.CountEnemyHeroesInRange(spell.Range) >= (minimunHits == 0 ? 2 : minimunHits))
                        {
                            spell.CastOnBestTarget(0f, true, 1);
                            return;
                        }
                    }
                    else
                    {
                        spell.CastIfHitchanceMinimum(target, hitchance);
                        return;
                    }
                }
                else
                {
                    spell.CastOnUnit(target);
                    return;
                }
            }

            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LaneClear) || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear))
            {
                if (spell.Collision)
                {
                    spell.CastIfHitchanceMinimum(target, HitChance.Low);
                    return;
                }
                else
                {
                    var minions =
                        GameObjects.EnemyMinions.Where(m => m.LSIsValidTarget())
                        .OrderBy(m => m.Distance(target))
                        .ThenBy(m => m.Health)
                        .ToList();

                    if (minions != null)
                    {
                        switch (spell.Type)
                        {
                        case SkillshotType.SkillshotLine:
                            var posLine = spell.GetLineFarmLocation(minions);
                            if (posLine.MinionsHit >= (minimunHits == 0 ? 1 : minimunHits))
                            {
                                spell.Cast(posLine.Position);
                                return;
                            }
                            break;

                        case SkillshotType.SkillshotCircle:
                            var posCircle = spell.GetCircularFarmLocation(minions);
                            if (posCircle.MinionsHit >= (minimunHits == 0 ? 1 : minimunHits))
                            {
                                spell.Cast(posCircle.Position);
                                return;
                            }
                            break;

                        case SkillshotType.SkillshotCone:
                            var posCone = spell.GetLineFarmLocation(minions, spell.Width);
                            if (posCone.MinionsHit >= (minimunHits == 0 ? 1 : minimunHits))
                            {
                                spell.Cast(posCone.Position);
                                return;
                            }
                            break;
                        }
                    }
                    spell.CastIfHitchanceMinimum(target, HitChance.Medium);
                }
            }
            else
            {
                spell.CastOnUnit(target);
            }

            if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.LastHit))
            {
                if (spell.IsSkillshot)
                {
                    spell.CastIfHitchanceMinimum(target, HitChance.Low);
                    return;
                }
                spell.CastOnUnit(target);
            }
        }