Example #1
0
 protected override void OrbwalkingEvents_AfterAttack(SCommon.Orbwalking.AfterAttackArgs args)
 {
     if (!args.Target.IsDead && args.Target.Type == GameObjectType.AIHeroClient && args.Target.IsValidTarget(Spells[Q].Range) && Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.Combo && ComboUseQ)
     {
         Spells[Q].CastOnUnit(args.Target as AIHeroClient);
     }
 }
Example #2
0
        protected override void Orbwalking_AfterAttack(SCommon.Orbwalking.AfterAttackArgs args)
        {
            if (Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.Combo)
            {
                if (Items.HasItem(3077) && Items.CanUseItem(3077))
                {
                    Items.UseItem(3077);
                }

                if (Items.HasItem(3074) && Items.CanUseItem(3074))
                {
                    Items.UseItem(3074);
                }

                if (Spells[Q].IsReady())
                {
                    Spells[Q].Cast();
                }
            }
            else if (Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.LaneClear)
            {
                if (!args.Target.IsDead && !HaveFullFerocity && LaneClearQ)
                {
                    Spells[Q].Cast();
                }
            }
        }
Example #3
0
        /* public static void OnPlay(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args)
         * {
         *   if (sender.IsMe)
         *   {
         *       int t = 0;
         *       switch (args.CastDelay)
         *       {
         *           case "Spell1a":
         *               QStacks = 1;
         *               CanCastAnimation = false;
         *               LastQTick = Utils.TickCount;
         *               t = 291;
         *               break;
         *           case "Spell1b":
         *               QStacks = 2;
         *               CanCastAnimation = false;
         *               LastQTick = Utils.TickCount;
         *               t = 291;
         *               break;
         *           case "Spell1c":
         *               QStacks = 0;
         *               SetAttack(false);
         *               CanCastAnimation = false;
         *               LastQTick = Utils.TickCount;
         *               t = 393;
         *               break;
         *           case "Spell2":
         *               CanCastAnimation = false;
         *               t = 10;
         *               break;
         *           case "Spell3":
         *               CanCastAnimation = true;
         *               break;
         *           case "Spell4a":
         *               t = 0;
         *               CanCastAnimation = false;
         *               UltActive = true;
         *               break;
         *           case "Spell4b":
         *               t = 0;
         *               CanCastAnimation = false;
         *               UltActive = false;
         *               break;
         *       }
         *       if (t != 0)
         *       {
         *           if (Program.Champion.Orbwalker.ActiveMode != SCommon.Orbwalking.Orbwalker.Mode.None)
         *           {
         *               LeagueSharp.Common.Utility.DelayAction.Add(Math.Max(1, t - Game.Ping), () => CancelAnimation());
         *               LeagueSharp.Common.Utility.DelayAction.Add(Math.Max(1, t - Game.Ping), () => OnAnimationCastable(args.CastDelay));
         *           }
         *       }
         *       else
         *           LeagueSharp.Common.Utility.DelayAction.Add(1, () => OnAnimationCastable(args.CastDelay));
         *   }
         * }*/

        public static void AfterAttack(SCommon.Orbwalking.AfterAttackArgs args)
        {
            if (s_CheckAA)
            {
                s_CheckAA        = false;
                CanCastAnimation = true;

                if (args.Target.IsValidTarget() && !Program.Champion.Spells[0].IsReady() && Program.Champion.Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.Mixed)
                {
                    if (Program.Champion.Spells[2].IsReady() && !Program.Champion.Spells[0].IsReady(1000) && Program.Champion.ConfigMenu.Item("HEMODE").GetValue <StringList>().SelectedIndex == 2)
                    {
                        Program.Champion.Spells[2].Cast(ObjectManager.Player.ServerPosition + (args.Target.Position - ObjectManager.Player.ServerPosition).Normalized() * -Program.Champion.Spells[2].Range);
                    }
                }

                var t = Target.Get(Program.Champion.Spells[0].Range + 50, true);
                if (s_DoAttack && Program.Champion.Spells[0].IsReady())
                {
                    if (t != null && (Program.Champion.Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.Combo || Program.Champion.Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.Mixed || Program.Champion.ConfigMenu.Item("CSHYKEY").GetValue <KeyBind>().Active))
                    {
                        Program.Champion.Spells[0].Cast(t.ServerPosition + (t.ServerPosition - ObjectManager.Player.ServerPosition).Normalized() * 40);
                        Program.Champion.Orbwalker.ResetAATimer();
                        Program.Champion.Orbwalker.ForcedTarget = t;
                    }
                    else if (Program.Champion.Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.LaneClear)
                    {
                        var minion = MinionManager.GetMinions(400, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.MaxHealth).OrderBy(p => p.ServerPosition.Distance(ObjectManager.Player.ServerPosition)).FirstOrDefault();
                        if (minion != null)
                        {
                            if (minion.Health <= ObjectManager.Player.GetAutoAttackDamage(minion) * 2 && minion.IsJungleMinion())
                            {
                                SetAttack(false);
                            }
                            else
                            {
                                Program.Champion.Spells[0].Cast(minion.ServerPosition);
                                Program.Champion.Orbwalker.ResetAATimer();
                                Program.Champion.Orbwalker.ForcedTarget = t;
                            }
                        }
                    }
                }
                else
                {
                    SetAttack(false);
                }
            }
        }
Example #4
0
 protected override void OrbwalkingEvents_AfterAttack(SCommon.Orbwalking.AfterAttackArgs args)
 {
     if (Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.Combo)
     {
         if (Spells[Q].IsReady() && ComboUseQ)
         {
             Spells[Q].Cast(true);
         }
     }
     else if (Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.LaneClear)
     {
         if (!args.Target.IsDead && LaneClearUseQ && (!LaneClearSaveFerocity || !HaveFullFerocity))
         {
             Spells[Q].Cast(true);
         }
     }
 }
Example #5
0
        protected override void Orbwalking_AfterAttack(SCommon.Orbwalking.AfterAttackArgs args)
        {
            HasPassive = false;
            if (args.Target != null && args.Target is Obj_AI_Hero && Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.Combo)
            {
                var t = args.Target as Obj_AI_Hero;
                if (Spells[E].IsReady())
                {
                    var pos = FindDashPosition(t);
                    if (pos.IsValid())
                    {
                        Spells[E].Cast(pos);
                        return;
                    }
                }

                if (Spells[W].IsReady())
                {
                    Spells[W].SPredictionCast(t, HitChance.High);
                }
            }
            else if (args.Target != null && args.Target is Obj_AI_Base && Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.LaneClear)
            {
                var jungleMob = MinionManager.GetMinions(Spells[Q].Range, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth).FirstOrDefault();
                if (jungleMob != null)
                {
                    if (Spells[E].IsReady())
                    {
                        Spells[E].Cast(Game.CursorPos);
                        return;
                    }

                    if (Spells[W].IsReady())
                    {
                        Spells[W].Cast(jungleMob.ServerPosition);
                    }
                }
            }
        }
Example #6
0
        protected override void OrbwalkingEvents_AfterAttack(SCommon.Orbwalking.AfterAttackArgs args)
        {
            if (args.Target is Obj_AI_Hero)
            {
                if (Spells[Q].IsReady() && ((Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.Combo && ComboUseQ) || (Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.Mixed && HarassUseQ)))
                {
                    Vector3 pos = Helpers.Tumble.FindTumblePosition(args.Target as Obj_AI_Hero);

                    if (pos.IsValid())
                    {
                        Spells[Q].Cast(pos);
                    }
                }
            }
            else if (Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.LaneClear)
            {
                if (Spells[Q].IsReady())
                {
                    var jungleMob = MinionManager.GetMinions(600, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth).FirstOrDefault();
                    if (jungleMob != null)
                    {
                        Spells[Q].Cast(Game.CursorPos);
                    }
                    else
                    {
                        if (LaneClearQ && args.Target.Health - SCommon.Damage.AutoAttack.GetDamage(args.Target as Obj_AI_Base, true) <= 0)
                        {
                            var minion = MinionManager.GetMinions(ObjectManager.Player.AttackRange).Where(p => p.NetworkId != args.Target.NetworkId && p.Health < SCommon.Damage.AutoAttack.GetDamage(p) + ObjectManager.Player.GetSpellDamage(p, SpellSlot.Q)).FirstOrDefault();
                            if (minion != null)
                            {
                                Orbwalker.ForcedTarget = minion;
                                Spells[Q].Cast(SCommon.Maths.Geometry.Deviation(ObjectManager.Player.ServerPosition.To2D(), minion.ServerPosition.To2D(), 50).To3D2());
                            }
                        }
                    }
                }
            }
        }
Example #7
0
        protected override void Orbwalking_AfterAttack(SCommon.Orbwalking.AfterAttackArgs args)
        {
            if (args.Target is Obj_AI_Hero)
            {
                if (Spells[Q].IsReady() && ((Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.Combo && ComboUseQ) || (Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.Mixed && HarassUseQ)))
                {
                    Vector3 pos = Tumble.FindTumblePosition(args.Target as Obj_AI_Hero);

                    if (pos.IsValid())
                    {
                        Spells[Q].Cast(pos);
                    }
                }
            }
            else if (Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.LaneClear)
            {
                if (Spells[Q].IsReady())
                {
                    var jungleMob = MinionManager.GetMinions(600, MinionTypes.All, MinionTeam.Neutral, MinionOrderTypes.MaxHealth).FirstOrDefault();
                    if (jungleMob != null)
                    {
                        Spells[Q].Cast(Game.CursorPos);
                    }
                    else
                    {
                        if (LaneClearQ)
                        {
                            var minion = MinionManager.GetMinions(ObjectManager.Player.AttackRange + 100).Where(p => p.Health <= SCommon.Damage.AutoAttack.GetDamage(p) + ObjectManager.Player.GetSpellDamage(p, SpellSlot.Q)).FirstOrDefault();
                            if (minion != null)
                            {
                                Orbwalker.ForcedTarget = minion;
                                Spells[Q].Cast(Game.CursorPos);
                            }
                        }
                    }
                }
            }
        }
Example #8
0
        public static void AfterAttack(SCommon.Orbwalking.AfterAttackArgs args)
        {
            if (s_CheckAA)
            {
                s_CheckAA        = false;
                CanCastAnimation = true;

                if (args.Target.IsValidTarget() && args.Target.Type == GameObjectType.AIHeroClient && (Program.Champion.ConfigMenu.Item("CSHYKEY").GetValue <KeyBind>().Active || (Program.Champion.Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.Combo && Program.Champion.ConfigMenu.Item(String.Format("CMETHOD{0}", (args.Target as AIHeroClient).ChampionName)).GetValue <StringList>().SelectedIndex == 1)))
                {
                    if (ObjectManager.Player.HasBuff("RivenFengShuiEngine"))
                    {
                        {
                            if (Program.Champion.Spells[3].IsReady()) //r2
                            {
                                Program.Champion.Spells[3].Cast(args.Target.Position);
                                return;
                            }
                        }
                    }
                }

                if (args.Target.IsValidTarget() && !Program.Champion.Spells[0].IsReady() && Program.Champion.Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.Mixed)
                {
                    if (Program.Champion.Spells[2].IsReady() && !Program.Champion.Spells[0].IsReady(1000) && Program.Champion.ConfigMenu.Item("HEMODE").GetValue <StringList>().SelectedIndex == 2)
                    {
                        Program.Champion.Spells[2].Cast(ObjectManager.Player.ServerPosition + (args.Target.Position - ObjectManager.Player.ServerPosition).Normalized() * -Program.Champion.Spells[2].Range);
                        return;
                    }
                }

                var t = Target.Get(Program.Champion.Spells[0].Range + 50, true);
                if (Program.Champion.ConfigMenu.Item("CSHYKEY").GetValue <KeyBind>().Active || Program.Champion.ConfigMenu.Item("CFLASHKEY").GetValue <KeyBind>().Active)
                {
                    if (t != null && !(Program.Champion as Riven).IsDoingFastQ && Program.Champion.Spells[0].IsReady())
                    {
                        Program.Champion.Orbwalker.ForcedTarget = t;
                        Program.Champion.Spells[0].Cast(t.ServerPosition, true);
                        (Program.Champion as Riven).FastQCombo(true);
                        return;
                    }
                }
                if (s_DoAttack && Program.Champion.Spells[0].IsReady())
                {
                    if (t != null && (Program.Champion.Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.Combo || Program.Champion.Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.Mixed || Program.Champion.ConfigMenu.Item("CSHYKEY").GetValue <KeyBind>().Active || Program.Champion.ConfigMenu.Item("CFLASHKEY").GetValue <KeyBind>().Active))
                    {
                        Program.Champion.Orbwalker.ForcedTarget = t;
                        //if (QStacks == 2)
                        //{
                        //    if (Program.Champion.Spells[1].IsReady() && Program.Champion.Spells[2].IsReady()) //e-q3-w
                        //    {
                        //        Program.Champion.Spells[2].Cast(t.ServerPosition);
                        //        Program.Champion.Spells[0].Cast(t.ServerPosition + (t.ServerPosition - ObjectManager.Player.ServerPosition).Normalized() * 40, true);
                        //        Program.Champion.Spells[1].Cast(true);
                        //    }
                        //}
                        //else
                        Program.Champion.Spells[0].Cast(t.ServerPosition, true);
                        return;
                        //Program.Champion.Orbwalker.ResetAATimer();
                    }
                    else if (Program.Champion.Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.LaneClear)
                    {
                        var minion = MinionManager.GetMinions(400, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.MaxHealth).OrderBy(p => p.ServerPosition.Distance(ObjectManager.Player.ServerPosition)).FirstOrDefault();
                        if (minion != null)
                        {
                            if (minion.Health <= ObjectManager.Player.GetAutoAttackDamage(minion) * 2 && minion.IsJungleMinion())
                            {
                                SetAttack(false);
                            }
                            else
                            {
                                Program.Champion.Spells[0].Cast(minion.ServerPosition, true);
                                //Program.Champion.Orbwalker.ResetAATimer();
                                Program.Champion.Orbwalker.ForcedTarget = t;
                                return;
                            }
                        }
                    }
                }
                else
                {
                    if (!Program.Champion.Spells[0].IsReady() && !Program.Champion.Spells[1].IsReady() && !Program.Champion.Spells[3].IsReady() && (Program.Champion.Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.Combo || Program.Champion.Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.Mixed || Program.Champion.ConfigMenu.Item("CSHYKEY").GetValue <KeyBind>().Active || Program.Champion.ConfigMenu.Item("CFLASHKEY").GetValue <KeyBind>().Active))
                    {
                        if ((Program.Champion as Riven).IsCrestcentReady)
                        {
                            (Program.Champion as Riven).CastCrescent();
                        }
                    }
                    SetAttack(false);
                }
            }

            if (Program.Champion.Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.None && Program.Champion.Spells[0].IsReady())
            {
                if (Program.Champion.ConfigMenu.Item("LSEMIQJUNG").GetValue <bool>())
                {
                    if (args.Target is Obj_AI_Base)
                    {
                        var target = args.Target as Obj_AI_Base;
                        if (target != null && target.IsValidTarget() && target.IsJungleMinion())
                        {
                            Program.Champion.Spells[0].Cast(target.ServerPosition, true);
                        }
                    }
                }
            }

            if (Program.Champion.Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.Combo || Program.Champion.Orbwalker.ActiveMode == SCommon.Orbwalking.Orbwalker.Mode.Mixed)
            {
                if (!(Program.Champion as Riven).IsDoingFastQ && Program.Champion.Spells[1].IsReady() && args.Target.IsValidTarget(Program.Champion.Spells[1].Range))
                {
                    (Program.Champion as Riven).CastCrescent();
                    Program.Champion.Spells[1].Cast();
                }
            }
        }