예제 #1
0
        private static void OnNonKillableMinion(object sender, NonKillableMinionEventArgs Args)
        {
            try
            {
                if (Me.IsDead || Me.IsRecalling() || !Me.CanMoveMent())
                {
                    return;
                }

                if (Orbwalker.Mode == OrbwalkingMode.Combo)
                {
                    return;
                }

                if (LastHitMenu["FlowersKalista.LastHitMenu.Auto"].Enabled && E.Ready &&
                    Me.ManaPercent() >= LastHitMenu["FlowersKalista.LastHitMenu.Mana"].Value)
                {
                    var minion = Args.Target as Obj_AI_Minion;

                    if (minion != null && minion.IsValidTarget(E.Range) && Me.CountEnemyHeroesInRange(600) == 0 &&
                        minion.Health < E.GetRealDamage(minion))
                    {
                        E.Cast();
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error in MyEventManager.OnNonKillableMinion." + ex);
            }
        }
예제 #2
0
        private static void AfterQLogic(Obj_AI_Base target)
        {
            if (!Q.IsReady())
            {
                return;
            }

            var qPosition  = Me.ServerPosition.Extend(Game.CursorPosition, Q.Range);
            var targetDisQ = target.ServerPosition.Distance(qPosition);

            if (MiscOption.GetBool("QTurret") && qPosition.UnderTurret(true))
            {
                return;
            }

            if (MiscOption.GetBool("QCheck"))
            {
                if (ObjectManager.Heroes.Enemies.Count(x => x.IsValidTarget(300f, true, qPosition)) >= 3)
                {
                    return;
                }

                //Catilyn W
                if (ObjectManager
                    .Get <Obj_GeneralParticleEmitter>()
                    .FirstOrDefault(
                        x =>
                        x != null && x.IsValid() &&
                        x.Name.ToLower().Contains("yordletrap_idle_red.troy") &&
                        x.Position.Distance(qPosition) <= 100) != null)
                {
                    return;
                }

                //Jinx E
                if (ObjectManager.Get <Obj_AI_Minion>()
                    .FirstOrDefault(x => x.IsValid() && x.IsEnemy && x.Name == "k" &&
                                    x.Position.Distance(qPosition) <= 100) != null)
                {
                    return;
                }

                //Teemo R
                if (ObjectManager.Get <Obj_AI_Minion>()
                    .FirstOrDefault(x => x.IsValid() && x.IsEnemy && x.Name == "Noxious Trap" &&
                                    x.Position.Distance(qPosition) <= 100) != null)
                {
                    return;
                }
            }

            if (targetDisQ >= 300 && targetDisQ <= 600)
            {
                if (Me.CanMoveMent())
                {
                    Q.Cast(Game.CursorPosition, true);
                }
            }
        }
예제 #3
0
        internal static void Init()
        {
            var target = TargetSelector.GetSelectedTarget() ??
                         TargetSelector.GetTarget(E.Range + Me.BoundingRadius, TargetSelector.DamageType.Physical);

            if (target.Check())
            {
                if (Menu.GetList("HarassMode") == 0)
                {
                    if (E.IsReady() && Menu.GetBool("HarassE") && qStack == 2 && Me.CanMoveMent())
                    {
                        var pos = Me.Position + (Me.Position - target.Position).Normalized() * E.Range;

                        E.Cast(Me.Position.Extend(pos, E.Range), true);
                    }

                    if (Q.IsReady() && Menu.GetBool("HarassQ") && qStack == 2 && Me.CanMoveMent())
                    {
                        var pos = Me.Position + (Me.Position - target.Position).Normalized() * E.Range;

                        Utility.DelayAction.Add(100, () => Q.Cast(Me.Position.Extend(pos, Q.Range), true));
                    }

                    if (W.IsReady() && Menu.GetBool("HarassW") && target.IsValidTarget(W.Range) && qStack == 1)
                    {
                        W.Cast(true);
                    }

                    if (Q.IsReady() && Menu.GetBool("HarassQ") && qStack == 0 && Me.CanMoveMent())
                    {
                        SpellManager.CastQ(target);
                    }
                }
                else
                {
                    if (E.IsReady() && Menu.GetBool("HarassE") && Me.CanMoveMent() &&
                        target.DistanceToPlayer() <= E.Range + (Q.IsReady() ? Q.Range : Me.AttackRange))
                    {
                        E.Cast(target.Position, true);
                    }

                    if (Q.IsReady() && Menu.GetBool("HarassQ") && target.IsValidTarget(Q.Range) && qStack == 0 &&
                        Utils.TickCount - lastQTime > 500 && Me.CanMoveMent())
                    {
                        SpellManager.CastQ(target);
                    }

                    if (W.IsReady() && Menu.GetBool("HarassW") && target.IsValidTarget(W.Range) && (!Q.IsReady() || qStack == 1))
                    {
                        W.Cast(true);
                    }
                }
            }
        }
예제 #4
0
        internal static void Init()
        {
            var target = TargetSelector.GetSelectedTarget() ??
                         TargetSelector.GetTarget(900, TargetSelector.DamageType.Physical);

            if (target.Check(900f))
            {
                if (Menu.GetBool("ComboIgnite") && Ignite != SpellSlot.Unknown && Ignite.IsReady() &&
                    DamageCalculate.GetComboDamage(target) > target.Health)
                {
                    Me.Spellbook.CastSpell(Ignite, target);
                    return;
                }

                if (Menu.GetBool("ComboE") && E.IsReady() && Me.CanMoveMent() && target.DistanceToPlayer() <= 650 &&
                    target.DistanceToPlayer() > Orbwalking.GetRealAutoAttackRange(Me) + 100)
                {
                    EDash(target);
                }

                if (Menu.GetBool("ComboQ") && Q.IsReady() && Me.CanMoveMent() && qStack == 0 &&
                    target.DistanceToPlayer() <= Q.Range + Orbwalking.GetRealAutoAttackRange(Me) &&
                    target.DistanceToPlayer() > Orbwalking.GetRealAutoAttackRange(Me) + 50 &&
                    Utils.TickCount - lastQTime > 900)
                {
                    if (!Me.IsDashing())
                    {
                        SpellManager.CastQ(target);
                    }
                }

                if (Menu.GetBool("ComboW") && W.IsReady() &&
                    target.IsValidTarget(W.Range) && !target.HasBuffOfType(BuffType.SpellShield))
                {
                    WLogic(target);
                }

                if (Menu.GetBool("ComboR") && R.IsReady())
                {
                    if (Menu.GetKey("R1Combo") && R.Instance.Name == "RivenFengShuiEngine" && !E.IsReady())
                    {
                        if (target.DistanceToPlayer() < 500 && Me.CountEnemiesInRange(500) >= 1)
                        {
                            R.Cast(true);
                        }
                    }
                    else if (R.Instance.Name == "RivenIzunaBlade")
                    {
                        SpellManager.R2Logic(target);
                    }
                }
            }
        }
예제 #5
0
        private static void Combo()
        {
            if (ComboOption.UseR && R.IsReady() && ObjectManager.Heroes.Enemies.Count(x => x.IsValidTarget(650)) >= ComboOption.GetSlider("ComboRCount") && Me.HealthPercent <= ComboOption.GetSlider("ComboRHp"))
            {
                R.Cast();
            }

            if (ComboOption.UseE && E.IsReady())
            {
                ELogic();
            }

            if (ComboOption.UseQ && Q.IsReady() && !Me.IsWindingUp)
            {
                if (Me.HasBuff("vayneinquisition") && Me.CountEnemiesInRange(1200) > 0 && Me.CountEnemiesInRange(700) >= 2)
                {
                    var dashPos = GetDashQPos();

                    if (dashPos != Vector3.Zero)
                    {
                        if (Me.CanMoveMent())
                        {
                            Q.Cast(dashPos, true);
                        }
                    }
                }

                /*
                 * if (!ObjectManager.Heroes.Enemies.Exists(x => !x.IsDead && !x.IsZombie && x.IsValidTarget(Me.AttackRange)))
                 * {
                 *  var target = TargetSelector.GetTarget(900, TargetSelector.DamageType.Physical);
                 *  if (target.IsValidTarget())
                 *  {
                 *      if (!Orbwalker.InAutoAttackRange(target) && target.Position.DistanceToMouse() < target.Position.DistanceToPlayer())
                 *      {
                 *          var dashPos = GetDashQPos();
                 *          if (dashPos != Vector3.Zero)
                 *              if (Me.CanMoveMent())
                 *                  Q.Cast(dashPos, true);
                 *      }
                 *
                 *      if (E.IsReady())
                 *      {
                 *          var dashPos = GetDashQPos();
                 *          if (dashPos != Vector3.Zero && CondemnCheck(dashPos, target))
                 *              if (Me.CanMoveMent())
                 *                  Q.Cast(dashPos, true);
                 *      }
                 *  }
                 * }*/
            }
        }
예제 #6
0
 private static void OnPreAttack(object sender, PreAttackEventArgs Args)
 {
     try
     {
         if (MiscMenu["FlowersKalista.MiscMenu.ForcusAttack"].Enabled && Me.CanMoveMent() && Args.Target != null &&
             !Args.Target.IsDead && Args.Target.Health > 0)
         {
             if (Orbwalker.Mode == OrbwalkingMode.Combo || Orbwalker.Mode == OrbwalkingMode.Mixed)
             {
                 foreach (var target in GameObjects.EnemyHeroes.Where(x => !x.IsDead &&
                                                                      x.IsValidAutoRange() &&
                                                                      x.Buffs.Any(
                                                                          a =>
                                                                          a.Name.ToLower()
                                                                          .Contains(
                                                                              "kalistacoopstrikemarkally"))))
                 {
                     if (target != null && !target.IsDead && target.IsValidTarget(Me.GetFullAttackRange(target)))
                     {
                         Orbwalker.ForceTarget(target);
                     }
                 }
             }
             else if (Orbwalker.Mode == OrbwalkingMode.Laneclear)
             {
                 foreach (var target in GameObjects.Minions.Where(x => !x.IsDead && x.IsEnemy &&
                                                                  x.IsValidAutoRange() &&
                                                                  x.Buffs.Any(
                                                                      a =>
                                                                      a.Name.ToLower()
                                                                      .Contains(
                                                                          "kalistacoopstrikemarkally"))))
                 {
                     if (target != null && !target.IsDead && target.IsValidTarget(Me.GetFullAttackRange(target)))
                     {
                         Orbwalker.ForceTarget(target);
                     }
                 }
             }
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine("Error in MyEventManager.OnPreAttack." + ex);
     }
 }
예제 #7
0
        internal static void Init()
        {
            if (
                HeroManager.Enemies.Any(
                    x => x.DistanceToPlayer() <= W.Range && !x.HasBuffOfType(BuffType.SpellShield)) && W.IsReady())
            {
                W.Cast(true);
            }

            if (E.IsReady() && !Me.IsDashing() &&
                ((!Q.IsReady() && qStack == 0) || (Q.IsReady() && qStack == 2)) && Me.CanMoveMent())
            {
                E.Cast(Me.Position.Extend(Game.CursorPos, E.Range), true);
            }

            if (Q.IsReady() && !Me.IsDashing() && Me.CanMoveMent())
            {
                Q.Cast(Me.Position.Extend(Game.CursorPos, 350f), true);
            }
        }
예제 #8
0
 private static void OnPreAttack(object sender, PreAttackEventArgs Args)
 {
     if (MiscOption.GetBool("Forcus", "ForcusAttack").Enabled&& Me.CanMoveMent() && Args.Target != null &&
         !Args.Target.IsDead && Args.Target.Health > 0)
     {
         if (Orbwalker.Mode == OrbwalkingMode.Combo || Orbwalker.Mode == OrbwalkingMode.Mixed)
         {
             foreach (var target in GameObjects.EnemyHeroes.Where(x => !x.IsDead &&
                                                                  x.IsValidAutoRange() &&
                                                                  x.Buffs.Any(
                                                                      a =>
                                                                      a.Name.ToLower()
                                                                      .Contains(
                                                                          "kalistacoopstrikemarkally"))))
             {
                 if (!target.IsDead && target.IsValidTarget(Me.GetFullAttackRange(target)))
                 {
                     Orbwalker.ForceTarget(target);
                     LastForcusTime = Game.TickCount;
                 }
             }
         }
         else if (Orbwalker.Mode == OrbwalkingMode.Laneclear)
         {
             foreach (var target in GameObjects.Minions.Where(x => !x.IsDead && x.IsEnemy &&
                                                              x.IsValidAutoRange() &&
                                                              x.Buffs.Any(
                                                                  a =>
                                                                  a.Name.ToLower()
                                                                  .Contains(
                                                                      "kalistacoopstrikemarkally"))))
             {
                 if (!target.IsDead && target.IsValidTarget(Me.GetFullAttackRange(target)))
                 {
                     Orbwalker.ForceTarget(target);
                     LastForcusTime = Game.TickCount;
                 }
             }
         }
     }
 }
예제 #9
0
        internal static void Init()
        {
            if (Menu.GetBool("KillStealR") && R.IsReady())
            {
                if (Menu.GetBool("KillStealRNotCombo") && Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo)
                {
                    return;
                }

                foreach (
                    var target in
                    HeroManager.Enemies.Where(
                        x =>
                        x.DistanceToPlayer() <= R.Range && x.Health <= DamageCalculate.GetRDamage(x) &&
                        !x.HasBuff("willrevive")))
                {
                    if (target.DistanceToPlayer() <= R.Range && !target.IsDead && Me.CanMoveMent())
                    {
                        R.CastOnUnit(target, true);
                    }
                }
            }

            if (Menu.GetBool("KillStealQ") && Q.IsReady())
            {
                foreach (
                    var target in
                    HeroManager.Enemies.Where(
                        x => x.DistanceToPlayer() <= Q.Range && x.Health <= DamageCalculate.GetQDamage(x)))
                {
                    if (target.IsValidTarget(Q.Range) && !target.IsDead && Me.CanMoveMent())
                    {
                        Q.Cast(true);
                        return;
                    }
                }
            }
        }
예제 #10
0
        private static void OnNonKillableMinion(object sender, NonKillableMinionEventArgs Args)
        {
            if (Me.IsDead || Me.IsRecalling() || !Me.CanMoveMent())
            {
                return;
            }

            if (Orbwalker.Mode == OrbwalkingMode.Combo)
            {
                return;
            }

            if (LastHitOption.HasEnouguMana && LastHitOption.UseE && E.Ready)
            {
                var minion = Args.Target as Obj_AI_Minion;

                if (minion != null && minion.IsValidTarget(E.Range) && Me.CountEnemyHeroesInRange(600) == 0 &&
                    minion.Health < E.GetKalistaRealDamage(minion))
                {
                    E.Cast();
                }
            }
        }
예제 #11
0
        private static void OnProcessSpellCast(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs Args)
        {
            if (sender == null || !sender.IsEnemy || !sender.IsMelee() || sender.ObjectType != GameObjectType.AIHeroClient || Args.Target == null || !Args.Target.IsMe)
            {
                return;
            }

            if (MiscOption.GetBool("QMelee") && Q.IsReady())
            {
                if (sender.DistanceToPlayer() <= 300 && Me.HealthPercent <= 40)
                {
                    if (sender.Health < Me.GetAutoAttackDamage(sender) * 2)
                    {
                        return;
                    }

                    if (Me.CanMoveMent())
                    {
                        Q.Cast(Me.Position.Extend(sender.Position, -300), true);
                    }
                }
            }
        }
예제 #12
0
        private static void OnUpdate()
        {
            try
            {
                ResetToDefalut();

                if (Me.IsDead || Me.IsRecalling())
                {
                    return;
                }

                if (FleeMenu["FlowersYasuo.FleeMenu.FleeKey"].GetValue <MenuKeyBind>().Active&& Me.CanMoveMent())
                {
                    FleeEvent();
                }

                if (MiscMenu["FlowersYasuo.MiscMenu.EQFlashKey"].GetValue <MenuKeyBind>().Active&& Me.CanMoveMent())
                {
                    EQFlashEvent();
                }

                KillStealEvent();
                AutoUseEvent();

                switch (Orbwalker.ActiveMode)
                {
                case OrbwalkerMode.Combo:
                    ComboEvent();
                    break;

                case OrbwalkerMode.Harass:
                    HarassEvent();
                    break;

                case OrbwalkerMode.LaneClear:
                    ClearEvent();
                    break;

                case OrbwalkerMode.LastHit:
                    LastHitEvent();
                    break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error in MyEventManager.OnUpdate." + ex);
            }
        }
예제 #13
0
파일: Combo.cs 프로젝트: wade1990/PortAIO
        internal static void Init()
        {
            var target = TargetSelector.GetTarget(600f, TargetSelector.DamageType.Physical);

            if (target != null)
            {
                if (Menu.GetBool("ComboIgnite") && Ignite != SpellSlot.Unknown && Ignite.IsReady() &&
                    target.DistanceToPlayer() <= 600f &&
                    (target.Health < DamageCalculate.GetComboDamage(target) ||
                     target.Health < DamageCalculate.GetIgniteDmage(target)))
                {
                    Me.Spellbook.CastSpell(Ignite, target);
                }

                if (HeroManager.Enemies.Any(x => x.DistanceToPlayer() <= 400))
                {
                    SpellManager.CastItem();
                }

                if (Menu.GetKey("ComboR") && R.IsReady())
                {
                    foreach (var rTarget in HeroManager.Enemies.Where(x => x.DistanceToPlayer() <= R.Range &&
                                                                      x.Health <= DamageCalculate.GetRDamage(x) &&
                                                                      !x.HasBuff("willrevive")))
                    {
                        if (rTarget.IsValidTarget(R.Range))
                        {
                            R.CastOnUnit(target, true);
                        }
                    }
                }

                if (Menu.GetBool("ComboQLock") && Me.HasBuff("dariusqcast") && Me.CountEnemiesInRange(800) < 3)
                {
                    Orbwalker.SetMovement(false);
                    Orbwalker.SetAttack(false);

                    if (target.DistanceToPlayer() <= 250)
                    {
                        EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, Me.Position.Extend(target.Position, -Q.Range));
                    }
                    else if (target.DistanceToPlayer() <= Q.Range)
                    {
                        EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos);
                    }
                    else
                    {
                        EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, target.Position);
                    }
                }
                else
                {
                    Orbwalker.SetMovement(true);
                    Orbwalker.SetAttack(true);
                }

                if (Menu.GetBool("ComboQ") && Q.IsReady() && target.DistanceToPlayer() <= Q.Range &&
                    SpellManager.CanQHit(target) && Me.CanMoveMent())
                {
                    if (Menu.GetBool("ComboSaveMana") && Me.Mana < SpellManager.RMana + Q.Instance.SData.Mana)
                    {
                        return;
                    }

                    if (Utils.TickCount - lastETime > 1000)
                    {
                        Q.Cast(true);
                    }
                }

                if (Menu.GetBool("ComboE") && E.IsReady() && target.DistanceToPlayer() <= E.Range - 30 &&
                    !Orbwalking.InAutoAttackRange(target) && !target.HaveShiled())
                {
                    if (Menu.GetBool("ComboSaveMana") && Me.Mana < SpellManager.RMana + Q.Instance.SData.Mana)
                    {
                        return;
                    }

                    var pred = E.GetPrediction(target);
                    E.Cast(pred.UnitPosition, true);
                }
            }
        }
예제 #14
0
        private static void OnUpdate()
        {
            try
            {
                ResetToDefalut();

                if (Me.IsDead || Me.IsRecalling())
                {
                    return;
                }

                if (FleeMenu["FlowersRiven.FleeMenu.FleeKey"].As <MenuKeyBind>().Enabled&& Me.CanMoveMent())
                {
                    FleeEvent();
                }

                if (FleeMenu["FlowersRiven.FleeMenu.WallJumpKey"].As <MenuKeyBind>().Enabled&& Me.CanMoveMent())
                {
                    WallJumpEvent();
                }

                KillStealEvent();
                AutoUseEvent();

                switch (Orbwalker.Mode)
                {
                case OrbwalkingMode.Combo:
                    if (BurstMenu["FlowersRiven.BurstMenu.Key"].As <MenuKeyBind>().Enabled)
                    {
                        BurstEvent();
                    }
                    else
                    {
                        ComboEvent();
                    }
                    break;

                case OrbwalkingMode.Mixed:
                    HarassEvent();
                    break;

                case OrbwalkingMode.Laneclear:
                    ClearEvent();
                    break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error in MyEventManager.OnUpdate." + ex);
            }
        }
예제 #15
0
        private static void OnAction(object sender, OrbwalkerActionArgs Args)
        {
            if (Args.Type == OrbwalkerType.BeforeAttack)
            {
                if (Orbwalker.ActiveMode == OrbwalkerMode.Combo || Orbwalker.ActiveMode == OrbwalkerMode.Harass)
                {
                    var ForcusTarget =
                        GameObjects.EnemyHeroes.FirstOrDefault(
                            x => x.IsValidTarget(Me.AttackRange + Me.BoundingRadius + x.BoundingRadius + 50) && Has2WStacks(x));

                    if (MiscOption.GetBool("Forcus", "ForcusAttack").Enabled&& ForcusTarget != null &&
                        ForcusTarget.IsValidTarget(Me.AttackRange + Me.BoundingRadius - ForcusTarget.BoundingRadius + 15))
                    {
                        Orbwalker.ForceTarget = ForcusTarget;
                        LastForcusTime        = Variables.GameTimeTickCount;
                    }
                    else
                    {
                        Orbwalker.ForceTarget = null;
                    }
                }
            }

            if (Args.Type == OrbwalkerType.AfterAttack)
            {
                Orbwalker.ForceTarget = null;

                if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() ||
                    Args.Target.Health <= 0 || Orbwalker.ActiveMode == OrbwalkerMode.None)
                {
                    return;
                }

                switch (Args.Target.Type)
                {
                case GameObjectType.AIHeroClient:
                {
                    if (Orbwalker.ActiveMode == OrbwalkerMode.Combo)
                    {
                        if (ComboOption.GetBool("ComboAQA").Enabled)
                        {
                            var target = (AIHeroClient)Args.Target;
                            if (target != null && !target.IsDead && Q.IsReady())
                            {
                                AfterQLogic(target);
                            }
                        }
                    }
                    else if (Orbwalker.ActiveMode == OrbwalkerMode.Harass || Orbwalker.ActiveMode == OrbwalkerMode.LaneClear && MyManaManager.SpellHarass)
                    {
                        if (HarassOption.HasEnouguMana() && HarassOption.UseQ)
                        {
                            var target = (AIHeroClient)Args.Target;
                            if (target != null && !target.IsDead && Q.IsReady() &&
                                HarassOption.GetHarassTargetEnabled(target.CharacterName))
                            {
                                if (HarassOption.GetBool("HarassQ2Passive").Enabled&& !Has2WStacks(target))
                                {
                                    return;
                                }

                                AfterQLogic(target);
                            }
                        }
                    }
                }
                break;

                case GameObjectType.AIMinionClient:
                {
                    if (Orbwalker.ActiveMode == OrbwalkerMode.LaneClear)
                    {
                        var m = (AIMinionClient)Args.Target;
                        if (m != null && m.IsValidTarget())
                        {
                            if (m.IsMinion())
                            {
                                if (LaneClearOption.HasEnouguMana() && LaneClearOption.UseQ)
                                {
                                    var minions =
                                        GameObjects.EnemyMinions.Where(x => x.IsValidTarget(Me.AttackRange + Me.BoundingRadius) && x.IsMinion())
                                        .Where(x => x.Health <= Me.GetAutoAttackDamage(x) + Me.GetSpellDamage(x, SpellSlot.Q))
                                        .ToList();

                                    if (minions.Any() && minions.Count >= 1)
                                    {
                                        var minion         = minions.OrderBy(x => x.Health).FirstOrDefault();
                                        var afterQPosition = Me.PreviousPosition.Extend(Game.CursorPosRaw, Q.Range);

                                        if (minion != null &&
                                            afterQPosition.Distance(minion.PreviousPosition) <= Me.AttackRange + Me.BoundingRadius)
                                        {
                                            Q.Cast(Game.CursorPosRaw);
                                        }
                                    }
                                }
                            }
                            else if (m.GetJungleType() != JungleType.Unknown)
                            {
                                if (JungleClearOption.HasEnouguMana() && JungleClearOption.UseQ)
                                {
                                    Q.Cast(Game.CursorPosRaw);
                                }
                            }
                        }
                    }
                }
                break;

                case GameObjectType.AITurretClient:
                case GameObjectType.HQClient:
                case GameObjectType.Barracks:
                case GameObjectType.BarracksDampenerClient:
                case GameObjectType.BuildingClient:
                {
                    if (Orbwalker.ActiveMode == OrbwalkerMode.LaneClear)
                    {
                        if (LaneClearOption.HasEnouguMana(true) && LaneClearOption.UseQ)
                        {
                            if (Me.CountEnemyHeroesInRange(850) == 0)
                            {
                                if (Me.CanMoveMent())
                                {
                                    Q.Cast(Game.CursorPosRaw);
                                }
                            }
                        }
                    }
                }
                break;
                }
            }
        }
예제 #16
0
        private static void AfterQLogic(AIBaseClient target)
        {
            if (!Q.IsReady() || target == null || !target.IsValidTarget())
            {
                return;
            }

            var qPosition  = Me.Position.Extend(Game.CursorPosRaw, Q.Range);
            var targetDisQ = target.Position.Distance(qPosition);

            if (MiscOption.GetList("Q", "QTurret").Index == 1 || MiscOption.GetList("Q", "QTurret").Index == 2)
            {
                if (qPosition.IsUnderEnemyTurret())
                {
                    return;
                }
            }

            if (MiscOption.GetBool("Q", "QCheck").Enabled)
            {
                if (GameObjects.EnemyHeroes.Count(x => x.IsValidTarget(300f, true, qPosition)) >= 3)
                {
                    return;
                }

                //Catilyn W
                if (ObjectManager
                    .Get <GameObject>()
                    .FirstOrDefault(
                        x =>
                        x != null && x.IsValid &&
                        x.Name.ToLower().Contains("yordletrap_idle_red.troy") &&
                        x.Position.Distance(qPosition) <= 100) != null)
                {
                    return;
                }

                //Jinx E
                if (ObjectManager.Get <AIMinionClient>()
                    .FirstOrDefault(x => x.IsValid && x.IsEnemy && x.Name == "k" &&
                                    x.Position.Distance(qPosition) <= 100) != null)
                {
                    return;
                }

                //Teemo R
                if (ObjectManager.Get <AIMinionClient>()
                    .FirstOrDefault(x => x.IsValid && x.IsEnemy && x.Name == "Noxious Trap" &&
                                    x.Position.Distance(qPosition) <= 100) != null)
                {
                    return;
                }
            }

            if (targetDisQ <= Me.AttackRange + Me.BoundingRadius)
            {
                if (Me.CanMoveMent())
                {
                    Q.Cast(Game.CursorPosRaw);
                }
            }
        }
예제 #17
0
        private static void ComboEvent()
        {
            try
            {
                if (ComboMenu["FlowersDarius.ComboMenu.R"].As <MenuKeyBind>().Enabled&& R.Ready)
                {
                    foreach (var rTarget in GameObjects.EnemyHeroes.Where(x => x.IsValidTarget(R.Range) &&
                                                                          x.Health <= R.GetDamage(x) &&
                                                                          !x.HasBuff("willrevive")))
                    {
                        if (rTarget != null && rTarget.IsValidTarget(R.Range) && !rTarget.IsUnKillable())
                        {
                            R.CastOnUnit(rTarget);
                        }
                    }
                }

                var target = TargetSelector.GetTarget(600f);

                if (target != null && target.IsValidTarget(600f))
                {
                    if (ComboMenu["FlowersDarius.ComboMenu.Ignite"].Enabled && IgniteSlot != SpellSlot.Unknown &&
                        Ignite.Ready && target.IsValidTarget(600) &&
                        (target.Health < MyExtraManager.GetComboDamage(target) && target.IsValidTarget(400) ||
                         target.Health < Me.GetIgniteDamage(target)))
                    {
                        Ignite.Cast(target);
                    }

                    if (Me.CountEnemyHeroesInRange(400) > 0)
                    {
                        UseItem();
                    }

                    if ((MiscMenu["FlowersDarius.MiscMenu.LockQ"].As <MenuList>().Value == 0 ||
                         MiscMenu["FlowersDarius.MiscMenu.LockQ"].As <MenuList>().Value == 1) &&
                        Me.HasBuff("dariusqcast") && Me.CountEnemyHeroesInRange(650) < 3)
                    {
                        Orbwalker.AttackingEnabled = false;
                        Orbwalker.MovingEnabled    = false;

                        if (target.DistanceToPlayer() <= 250)
                        {
                            Me.IssueOrder(OrderType.MoveTo, Me.Position.Extend(target.Position, -Q.Range));
                        }
                        else if (target.DistanceToPlayer() <= Q.Range)
                        {
                            Me.IssueOrder(OrderType.MoveTo, Game.CursorPos);
                        }
                        else
                        {
                            Me.IssueOrder(OrderType.MoveTo, target.Position);
                        }
                    }
                    else
                    {
                        Orbwalker.AttackingEnabled = true;
                        Orbwalker.MovingEnabled    = true;
                    }

                    if (ComboMenu["FlowersDarius.ComboMenu.Q"].Enabled && Q.Ready && target.DistanceToPlayer() <= Q.Range &&
                        CanQHit(target) && Me.CanMoveMent())
                    {
                        if (ComboMenu["FlowersDarius.ComboMenu.SaveMana"].Enabled && Me.Mana < RMana + Me.GetSpell(SpellSlot.Q).Cost)
                        {
                            return;
                        }

                        if (Game.TickCount - lastETime > 1000)
                        {
                            Q.Cast();
                        }
                    }

                    if (ComboMenu["FlowersDarius.ComboMenu.E"].Enabled && E.Ready && target.DistanceToPlayer() <= E.Range - 30 &&
                        !target.IsValidAutoRange() && !target.HaveShiled())
                    {
                        if (ComboMenu["FlowersDarius.ComboMenu.SaveMana"].Enabled && Me.Mana < RMana + Me.GetSpell(SpellSlot.E).Cost)
                        {
                            return;
                        }

                        var ePred = E.GetPrediction(target);

                        if (ePred.HitChance >= Aimtec.SDK.Prediction.Skillshots.HitChance.Medium)
                        {
                            E.Cast(ePred.UnitPosition);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error in MyEventManager.ComboEvent." + ex);
            }
        }
예제 #18
0
        private static void Combo()
        {
            if (ComboOption.UseR && R.IsReady() &&
                GameObjects.EnemyHeroes.Count(x => x.IsValidTarget(650)) >= ComboOption.GetSlider("ComboRCount").Value&&
                Me.HealthPercent <= ComboOption.GetSlider("ComboRHp").Value)
            {
                R.Cast();
            }

            if (ComboOption.UseE && E.IsReady())
            {
                ELogic();
            }

            if (ComboOption.UseQ && Q.IsReady())
            {
                if (Me.HasBuff("VayneInquisition") && Me.CountEnemyHeroesInRange(1200) > 0 &&
                    Me.CountEnemyHeroesInRange(700) >= 2)
                {
                    var dashPos = GetDashQPos();

                    if (dashPos != Vector3.Zero)
                    {
                        if (Me.CanMoveMent())
                        {
                            Q.Cast(dashPos);
                        }
                    }
                }

                if (Me.CountEnemyHeroesInRange(Me.AttackRange) == 0 && Me.CountEnemyHeroesInRange(900) > 0)
                {
                    var target = MyTargetSelector.GetTarget(900);

                    if (target.IsValidTarget())
                    {
                        if (!target.InAutoAttackRange() &&
                            target.Position.DistanceToCursor() < target.Position.DistanceToPlayer())
                        {
                            var dashPos = GetDashQPos();

                            if (dashPos != Vector3.Zero)
                            {
                                if (Me.CanMoveMent())
                                {
                                    Q.Cast(dashPos);
                                }
                            }
                        }

                        if (ComboOption.UseE && E.IsReady())
                        {
                            var dashPos = GetDashQPos();

                            if (dashPos != Vector3.Zero && CondemnCheck(dashPos, target))
                            {
                                if (Me.CanMoveMent())
                                {
                                    Q.Cast(dashPos);
                                }
                            }
                        }
                    }
                }
            }
        }
예제 #19
0
        private static void PostAttack(object sender, PostAttackEventArgs Args)
        {
            Orbwalker.ForceTarget(null);

            if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() ||
                Args.Target.Health <= 0 || Orbwalker.Mode == OrbwalkingMode.None)
            {
                return;
            }

            switch (Args.Target.Type)
            {
            case GameObjectType.obj_AI_Hero:
            {
                if (Orbwalker.Mode == OrbwalkingMode.Combo)
                {
                    if (ComboOption.GetBool("ComboAQA").Enabled)
                    {
                        var target = Args.Target as Obj_AI_Hero;

                        if (target != null && !target.IsDead && Q.Ready)
                        {
                            AfterQLogic(target);
                        }
                    }
                }
                else if (Orbwalker.Mode == OrbwalkingMode.Mixed || Orbwalker.Mode == OrbwalkingMode.Laneclear && MyManaManager.SpellHarass)
                {
                    if (HarassOption.HasEnouguMana() && HarassOption.UseQ)
                    {
                        var target = Args.Target as Obj_AI_Hero;

                        if (target != null && !target.IsDead && Q.Ready &&
                            HarassOption.GetHarassTargetEnabled(target.ChampionName))
                        {
                            if (HarassOption.GetBool("HarassQ2Passive").Enabled&& !Has2WStacks(target))
                            {
                                return;
                            }

                            AfterQLogic(target);
                        }
                    }
                }
            }
            break;

            case GameObjectType.obj_AI_Minion:
            {
                if (Orbwalker.Mode == OrbwalkingMode.Laneclear)
                {
                    if (Args.Target.IsMinion())
                    {
                        if (LaneClearOption.HasEnouguMana() && LaneClearOption.UseQ)
                        {
                            var minions =
                                GameObjects.EnemyMinions.Where(x => x.IsValidTarget(Me.AttackRange + Me.BoundingRadius) && x.IsMinion())
                                .Where(m => m.Health <= Me.GetAutoAttackDamage(m) + Me.GetSpellDamage(m, SpellSlot.Q))
                                .ToArray();

                            if (minions.Any() && minions.Length >= 1)
                            {
                                var minion         = minions.OrderBy(m => m.Health).FirstOrDefault();
                                var afterQPosition = Me.ServerPosition.Extend(Game.CursorPos, Q.Range);

                                if (minion != null &&
                                    afterQPosition.Distance(minion.ServerPosition) <= Me.AttackRange + Me.BoundingRadius)
                                {
                                    Q.Cast(Game.CursorPos);
                                }
                            }
                        }
                    }
                    else if (Args.Target.IsMob())
                    {
                        if (JungleClearOption.HasEnouguMana() && JungleClearOption.UseQ)
                        {
                            Q.Cast(Game.CursorPos);
                        }
                    }
                }
            }
            break;

            case GameObjectType.obj_AI_Turret:
            case GameObjectType.obj_HQ:
            case GameObjectType.obj_Barracks:
            case GameObjectType.obj_BarracksDampener:
            case GameObjectType.obj_Building:
            {
                if (Orbwalker.Mode == OrbwalkingMode.Laneclear)
                {
                    if (LaneClearOption.HasEnouguMana(true) && LaneClearOption.UseQ)
                    {
                        if (Me.CountEnemyHeroesInRange(850) == 0)
                        {
                            if (Me.CanMoveMent())
                            {
                                Q.Cast(Game.CursorPos);
                            }
                        }
                    }
                }
            }
            break;
            }
        }
예제 #20
0
        private static void OnAction(object sender, OrbwalkerActionArgs Args)
        {
            if (Args.Type == OrbwalkerType.NonKillableMinion)
            {
                if (Me.IsDead || Me.IsRecalling() || !Me.CanMoveMent())
                {
                    return;
                }

                if (Orbwalker.ActiveMode == OrbwalkerMode.Combo)
                {
                    return;
                }

                if (LastHitOption.HasEnouguMana && LastHitOption.UseE && E.IsReady())
                {
                    var minion = Args.Target as AIMinionClient;
                    if (minion != null && minion.IsValidTarget(E.Range) && Me.CountEnemyHeroesInRange(600) == 0 &&
                        minion.Health < E.GetKalistaRealDamage(minion))
                    {
                        E.Cast();
                    }
                }
            }

            if (Args.Type == OrbwalkerType.BeforeAttack)
            {
                if (MiscOption.GetBool("Forcus", "ForcusAttack").Enabled&& Me.CanMoveMent() && Args.Target != null &&
                    !Args.Target.IsDead && Args.Target.Health > 0)
                {
                    if (Orbwalker.ActiveMode == OrbwalkerMode.Combo || Orbwalker.ActiveMode == OrbwalkerMode.Harass)
                    {
                        foreach (var target in GameObjects.EnemyHeroes.Where(x => !x.IsDead &&
                                                                             x.InAutoAttackRange() &&
                                                                             x.Buffs.Any(
                                                                                 a =>
                                                                                 a.Name.ToLower()
                                                                                 .Contains(
                                                                                     "kalistacoopstrikemarkally"))))
                        {
                            if (!target.IsDead && target.IsValidTarget(Me.GetRealAutoAttackRange(target)))
                            {
                                Orbwalker.ForceTarget = target;
                                LastForcusTime        = Variables.GameTimeTickCount;
                            }
                        }
                    }
                    else if (Orbwalker.ActiveMode == OrbwalkerMode.LaneClear)
                    {
                        foreach (var target in GameObjects.Minions.Where(x => !x.IsDead && x.IsEnemy &&
                                                                         x.InAutoAttackRange() &&
                                                                         x.Buffs.Any(
                                                                             a =>
                                                                             a.Name.ToLower()
                                                                             .Contains(
                                                                                 "kalistacoopstrikemarkally"))))
                        {
                            if (!target.IsDead && target.IsValidTarget(Me.GetRealAutoAttackRange(target)))
                            {
                                Orbwalker.ForceTarget = target;
                                LastForcusTime        = Variables.GameTimeTickCount;
                            }
                        }
                    }
                }
            }

            if (Args.Type == OrbwalkerType.AfterAttack)
            {
                Orbwalker.ForceTarget = null;

                if (Args.Target == null || Args.Target.IsDead || Args.Target.Health <= 0 || Me.IsDead || !Q.IsReady())
                {
                    return;
                }

                switch (Args.Target.Type)
                {
                case GameObjectType.AIHeroClient:
                {
                    var target = (AIHeroClient)Args.Target;

                    if (target != null && !target.IsDead && target.IsValidTarget(Q.Range))
                    {
                        if (Orbwalker.ActiveMode == OrbwalkerMode.Combo)
                        {
                            if (ComboOption.UseQ)
                            {
                                var qPred = Q.GetPrediction(target);

                                if (qPred.Hitchance >= HitChance.High)
                                {
                                    Q.Cast(qPred.CastPosition);
                                }
                            }
                        }
                        else if (HarassOption.HasEnouguMana() &&
                                 (Orbwalker.ActiveMode == OrbwalkerMode.Harass ||
                                  Orbwalker.ActiveMode == OrbwalkerMode.LaneClear && MyManaManager.SpellHarass))
                        {
                            if (HarassOption.UseQ)
                            {
                                var qPred = Q.GetPrediction(target);

                                if (qPred.Hitchance >= HitChance.High)
                                {
                                    Q.Cast(qPred.CastPosition);
                                }
                            }
                        }
                    }
                }
                break;

                case GameObjectType.AIMinionClient:
                {
                    if (MyManaManager.SpellFarm && Orbwalker.ActiveMode == OrbwalkerMode.LaneClear &&
                        JungleClearOption.HasEnouguMana())
                    {
                        var mob = (AIMinionClient)Args.Target;
                        if (mob != null && mob.IsValidTarget(Q.Range) && mob.GetJungleType() != JungleType.Unknown)
                        {
                            if (JungleClearOption.UseQ)
                            {
                                Q.Cast(mob);
                            }
                        }
                    }
                }
                break;
                }
            }
        }
예제 #21
0
        private static void OnUpdate()
        {
            try
            {
                ResetToDefalut();

                if (Me.IsDead || Me.IsRecalling())
                {
                    if (Orbwalker.Mode != OrbwalkingMode.None)
                    {
                        OrbwalkerPoint = Game.CursorPos;
                    }
                    return;
                }

                if (FleeMenu["FlowersFiora.FleeMenu.FleeKey"].As <MenuKeyBind>().Enabled&& Me.CanMoveMent())
                {
                    FleeEvent();
                }

                KillStealEvent();

                switch (Orbwalker.Mode)
                {
                case OrbwalkingMode.Combo:
                    ComboEvent();
                    break;

                case OrbwalkingMode.Mixed:
                    HarassEvent();
                    break;

                case OrbwalkingMode.Laneclear:
                    ClearEvent();
                    break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error in MyEventManager.OnUpdate." + ex);
            }
        }
예제 #22
0
        internal static void InitSpellShield(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs Args)
        {
            if (sender == null || !sender.IsEnemy || sender.Type != GameObjectType.AIHeroClient || Args.SData == null ||
                Args.Target == null || !Args.Target.IsMe)
            {
                return;
            }

            if (Menu.GetBool("EShielddogde") && E.IsReady() && Me.CanMoveMent())
            {
                if (Args.SData.Name.Contains("DariusR"))
                {
                    if (E.IsReady() && Menu.GetBool("EDodgeDariusR"))
                    {
                        E.Cast(Me.Position.Extend(Game.CursorPos, E.Range), true);
                    }
                }

                if (Args.SData.Name.Contains("GarenQ"))
                {
                    if (E.IsReady() && Menu.GetBool("EDodgeGarenQ"))
                    {
                        E.Cast(Me.Position.Extend(Game.CursorPos, E.Range), true);
                    }
                }

                if (Args.SData.Name.Contains("GarenR"))
                {
                    if (E.IsReady() && Menu.GetBool("EDodgeGarenR"))
                    {
                        E.Cast(Me.Position.Extend(Game.CursorPos, E.Range), true);
                    }
                }

                if (Args.SData.Name.Contains("IreliaE"))
                {
                    if (E.IsReady() && Menu.GetBool("EDodgeIreliaE"))
                    {
                        E.Cast(Me.Position.Extend(Game.CursorPos, E.Range), true);
                    }
                }

                if (Args.SData.Name.Contains("LeeSinR"))
                {
                    if (E.IsReady() && Menu.GetBool("EDodgeLeeSinR"))
                    {
                        E.Cast(Me.Position.Extend(Game.CursorPos, E.Range), true);
                    }
                }

                if (Args.SData.Name.Contains("OlafE"))
                {
                    if (E.IsReady() && Menu.GetBool("EDodgeOlafE"))
                    {
                        E.Cast(Me.Position.Extend(Game.CursorPos, E.Range), true);
                    }
                }

                if (Args.SData.Name.Contains("RenektonW"))
                {
                    if (E.IsReady() && Menu.GetBool("EDodgeRenektonW"))
                    {
                        E.Cast(Me.Position.Extend(Game.CursorPos, E.Range), true);
                    }
                }

                if (Args.SData.Name.Contains("RenektonPreExecute"))
                {
                    if (E.IsReady() && Menu.GetBool("EDodgePantheonW"))
                    {
                        E.Cast(Me.Position.Extend(Game.CursorPos, E.Range), true);
                    }
                }

                if (Args.SData.Name.Contains("RengarQ"))
                {
                    if (E.IsReady() && Menu.GetBool("EDodgeRengarQ"))
                    {
                        E.Cast(Me.Position.Extend(Game.CursorPos, E.Range), true);
                    }
                }

                if (Args.SData.Name.Contains("VeigarR"))
                {
                    if (E.IsReady() && Menu.GetBool("EDodgeVeigarR"))
                    {
                        E.Cast(Me.Position.Extend(Game.CursorPos, E.Range), true);
                    }
                }

                if (Args.SData.Name.Contains("VolibearW"))
                {
                    if (E.IsReady() && Menu.GetBool("EDodgeVolibearW"))
                    {
                        E.Cast(Me.Position.Extend(Game.CursorPos, E.Range), true);
                    }
                }

                if (Args.SData.Name.Contains("XenZhaoThrust3"))
                {
                    if (E.IsReady() && Menu.GetBool("EDodgeXenZhaoQ3"))
                    {
                        E.Cast(Me.Position.Extend(Game.CursorPos, E.Range), true);
                    }
                }

                if (Args.SData.Name.Contains("attack") && Args.Target.IsMe &&
                    sender.Buffs.Any(
                        buff =>
                        buff.Name == "BlueCardAttack" || buff.Name == "GoldCardAttack" ||
                        buff.Name == "RedCardAttack"))
                {
                    if (E.IsReady() && Menu.GetBool("EDodgeTwistedFateW"))
                    {
                        E.Cast(Me.Position.Extend(Game.CursorPos, E.Range), true);
                    }
                }
            }
        }
예제 #23
0
        private static void AfterAttack(AttackableUnit unit, AttackableUnit tar)
        {
            if (!unit.IsMe || Me.IsDead)
            {
                return;
            }

            myOrbwalker.ForceTarget(null);

            if (tar == null || tar.IsDead || !tar.IsVisible)
            {
                return;
            }

            if (isComboMode)
            {
                if (ComboOption.GetBool("ComboAQA"))
                {
                    var target = tar as AIHeroClient;

                    if (target != null && !target.IsDead && !target.IsZombie && Q.IsReady())
                    {
                        AfterQLogic(target);
                        return;
                    }
                }
            }

            if (isHarassMode || (isFarmMode && MyManaManager.SpellHarass))
            {
                if (HarassOption.HasEnouguMana && HarassOption.UseQ)
                {
                    var target = tar as AIHeroClient;

                    if (target != null && !target.IsDead && !target.IsZombie && Q.IsReady() && HarassOption.GetHarassTarget(target.ChampionName))
                    {
                        if (HarassOption.GetBool("HarassQ2Passive") && !Has2WStacks(target))
                        {
                            return;
                        }

                        AfterQLogic(target);
                        return;
                    }
                }
            }

            if (isLaneClearMode && LaneClearOption.HasEnouguMana && LaneClearOption.UseQ)
            {
                if (tar.ObjectType == GameObjectType.obj_AI_Turret || tar.ObjectType == GameObjectType.obj_Turret ||
                    tar.ObjectType == GameObjectType.obj_HQ || tar.ObjectType == GameObjectType.obj_Barracks ||
                    tar.ObjectType == GameObjectType.obj_BarracksDampener)
                {
                    if (Me.CountEnemiesInRange(850) == 0)
                    {
                        if (Me.CanMoveMent())
                        {
                            Q.Cast(Game.CursorPosition, true);
                            return;
                        }
                    }
                }
                else if (tar.ObjectType == GameObjectType.obj_AI_Minion && tar.Team != GameObjectTeam.Neutral)
                {
                    var minions =
                        MinionManager.GetMinions(Me.Position, Me.AttackRange + Me.BoundingRadius)
                        .Where(m => m.Health <= Me.GetAutoAttackDamage(m) + Q.GetDamage(m))
                        .ToArray();

                    if (minions.Any() && minions.Length >= 1)
                    {
                        var minion         = minions.OrderBy(m => m.Health).FirstOrDefault();
                        var afterQPosition = Me.ServerPosition.Extend(Game.CursorPosition, Q.Range);

                        if (minion != null && afterQPosition.Distance(minion.ServerPosition) <= Me.AttackRange + Me.BoundingRadius)
                        {
                            if (Q.Cast(Game.CursorPosition, true))
                            {
                                myOrbwalker.ForceTarget(minion);
                                return;
                            }
                        }
                    }
                }
            }

            if (isJungleClearMode && tar.ObjectType == GameObjectType.obj_AI_Minion && tar.Team == GameObjectTeam.Neutral && JungleClearOption.HasEnouguMana && JungleClearOption.UseQ)
            {
                var mobs = MinionManager.GetMinions(Me.Position, 800, MinionTypes.All, MinionTeam.Neutral,
                                                    MinionOrderTypes.MaxHealth);

                if (mobs.Any())
                {
                    if (Me.CanMoveMent())
                    {
                        Q.Cast(Game.CursorPosition, true);
                    }
                }
            }
        }