Ejemplo n.º 1
0
        private static void Flee()
        {
            Orbwalker.Move(Game.CursorPos);

            if (!Q.IsReady() || !(player.HasBuff("viktorqaug") || player.HasBuff("viktorqeaug") || player.HasBuff("viktorqwaug") || player.HasBuff("viktorqweaug")))
            {
                return;
            }
            var closestenemy = GameObjects.Enemy.MinOrDefault(m => m.IsValidTarget(Q.Range));

            if (Q.CanCast(closestenemy))
            {
                Q.Cast(closestenemy);
            }
        }
Ejemplo n.º 2
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);
            }
        }
Ejemplo n.º 3
0
        private static void Combo()
        {
            var target = TargetSelector.GetTarget(Q.Range, DamageType.Physical);
            var Ghost  = ObjectManager.Get <Obj_AI_Minion>().Where(x => x.IsEnemy && x.IsHPBarRendered && x.LSIsValidTarget(Q.Range)).FirstOrDefault(x => x.HasBuff("illaoiespirit"));

            if (target != null && !target.IsDead && !target.IsZombie && target.IsHPBarRendered)
            {
                if (comboMenu["Q"].Cast <CheckBox>().CurrentValue&& Q.IsReady() && target.IsValidTarget(Q.Range) && Q.CanCast(target) && !(W.IsReady() && target.IsValidTarget(W.Range)))
                {
                    Q.Cast(target);
                }

                if (comboMenu["E"].Cast <CheckBox>().CurrentValue&& E.IsReady() && !InAutoAttackRange(target) && target.IsValidTarget(E.Range))
                {
                    E.Cast(target);
                }

                if (comboMenu["R"].Cast <CheckBox>().CurrentValue&& R.IsReady() && target.LSIsValidTarget(R.Range))
                {
                    if (comboMenu["RSolo"].Cast <CheckBox>().CurrentValue&& target.Health <= GetDamage(target) + Me.GetAutoAttackDamage(target) * 3 && Me.CountEnemyHeroesInRange(R.Range) == 1)
                    {
                        R.Cast(target);
                    }

                    if (Me.CountEnemyHeroesInRange(R.Range - 50) >= comboMenu["RCount"].Cast <Slider>().CurrentValue)
                    {
                        R.Cast();
                    }
                }

                if (comboMenu["Ignite"].Cast <CheckBox>().CurrentValue&& Ignite != SpellSlot.Unknown && Ignite.IsReady() && target.LSIsValidTarget(600) && target.HealthPercent < 20)
                {
                    Me.Spellbook.CastSpell(Ignite, target);
                }
            }
            else if (target == null && Ghost != null)
            {
                if (Ghost != null && Q.IsReady() && comboMenu["QGhost"].Cast <CheckBox>().CurrentValue&& comboMenu["Q"].Cast <CheckBox>().CurrentValue)
                {
                    Q.Cast(Ghost);
                }
            }
        }