예제 #1
0
 static void Obj_AI_Minion_OnPlayAnimation(GameObject sender, GameObjectPlayAnimationEventArgs args)
 {
     if(sender is Obj_AI_Minion && ((Obj_AI_Minion)sender).IsSoldier())
     {
         Animations[sender.NetworkId] = args.Animation;
     }
 }
예제 #2
0
 private static void OnAnimation(GameObject sender, GameObjectPlayAnimationEventArgs args)
 {
     if (sender.IsMe && (args.Animation == "Run" || args.Animation == "Idle") && Orbwalking.CanMove(0) == false)
     {
         Orbwalking.ResetAutoAttackTimer();
     }
 }
예제 #3
0
파일: Anim.cs 프로젝트: yashine59fr/PortAIO
        public static void OnPlay(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
        {
            if (!sender.IsMe) return;
            var t = 0;

            var a = 0;
            var b = "";

            switch (args.Animation) // Logic from Fluxy
            {
                case "Spell1a":
                    lastQ = Utils.GameTimeTickCount;
                    t = 291;
                    Qstack = 2;
                    b = "Q2";
                    a = t - MenuConfig.Qld - (Game.Ping - MenuConfig.Qd);
                    break;
                case "Spell1b":
                    lastQ = Utils.GameTimeTickCount;
                    t = 290;
                    Qstack = 3;
                    b = "Q3";
                    a = t - MenuConfig.Qld - (Game.Ping - MenuConfig.Qd);
                    break;
                case "Spell1c": // q3?
                    lastQ = Utils.GameTimeTickCount;
                    t = 343;
                    Qstack = 1;
                    b = "Q1";
                    a = t - MenuConfig.Qld - (Game.Ping - MenuConfig.Qd);
                    break;
                case "Spell2":
                    t = 170;
                    break;
                case "Spell3":
                    if (MenuConfig.Burst || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) ||
                        MenuConfig.FastHarass || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Flee))
                        Usables.CastYoumoo();
                    break;
                case "Spell4a":
                    t = 0;
                    lastR = Utils.GameTimeTickCount;
                    break;
                case "Spell4b":
                    t = 150;
                    var target = TargetSelector.SelectedTarget;
                    if (Spells.Q.IsReady() && target.LSIsValidTarget()) ForceCastQ(target);
                    break;
            }

            if (a != 0 && (Orbwalker.ActiveModesFlags != Orbwalker.ActiveModes.None))
            {
                LeagueSharp.Common.Utility.DelayAction.Add(a, () =>
                {
                    Console.WriteLine(b);
                    Orbwalker.ResetAutoAttack();
                    EloBuddy.Player.DoEmote(Emote.Dance);
                });
            }
        }
예제 #4
0
		private void OnAnimation(GameObject sender, GameObjectPlayAnimationEventArgs args)
		{
			if(Orbwalking.OrbwalkingMode.Combo != Program.Orbwalker.ActiveMode ||
				!Program.Menu.Item("use_UC").GetValue<bool>())
				return;
			if(!sender.IsMe)
				return;
			if(args.Animation == "Spell1a")
			{
				QStage = 1;
				if(Program.Menu.Item("QLaugh").GetValue<bool>())
					Game.Say("/l");
				else if(Program.Menu.Item("CancleQAnimation").GetValue<bool>())
					Packet.C2S.Move.Encoded(new Packet.C2S.Move.Struct(Game.CursorPos.X, Game.CursorPos.Y)).Send();
			}

			if(args.Animation == "Spell1b")
			{
				QStage = 2;
				if(Program.Menu.Item("QLaugh").GetValue<bool>())
					Game.Say("/l");
				else if(Program.Menu.Item("CancleQAnimation").GetValue<bool>())
					Packet.C2S.Move.Encoded(new Packet.C2S.Move.Struct(Game.CursorPos.X, Game.CursorPos.Y)).Send();
			}

			if(args.Animation != "Spell1c")
				return;
			QStage = 0;
			if(Program.Menu.Item("QLaugh").GetValue<bool>())
				Game.Say("/l");
			else if(Program.Menu.Item("CancleQAnimation").GetValue<bool>())
				Packet.C2S.Move.Encoded(new Packet.C2S.Move.Struct(Game.CursorPos.X, Game.CursorPos.Y)).Send();
		}
예제 #5
0
        public static void OnPlay(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
        {
            if (sender.IsMe)
            {
                int t = 0;
                switch (args.Animation)
                {
                    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;
                        LastETick = Utils.TickCount;
                        break;
                    case "Spell4a":
                        t = 10;
                        CanCastAnimation = false;
                        UltActive = true;
                        break;
                    case "Spell4b":
                        t = 200;
                        CanCastAnimation = false;
                        UltActive = false;
                        break;
                    default:
                        t = -1;
                        break;
                }

                if (t > 0)
                {
                    if (Program.Champion.ConfigMenu.Item("MAUTOANIMCANCEL").GetValue<bool>() || Program.Champion.Orbwalker.ActiveMode != SCommon.Orbwalking.Orbwalker.Mode.None)
                        LeagueSharp.Common.Utility.DelayAction.Add(Math.Max(1, t - Game.Ping), () => CancelAnimation(args.Animation));
                }
                else if (t != -1)
                    LeagueSharp.Common.Utility.DelayAction.Add(1, () => OnAnimationCastable(args.Animation));
            }
        }
예제 #6
0
 private static void Obj_AI_Base_OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
 {
     if(args.Animation == "Death")
     {
         int idx = s_Soldiers.FindIndex(p => p.NetworkId == sender.NetworkId);
         if (idx != -1)
             s_Soldiers.RemoveAt(idx);
     }
 }
예제 #7
0
 /// <summary>
 ///     Called on animation trigger.
 /// </summary>
 /// <param name="sender">The sender.</param>
 /// <param name="args">The <see cref="GameObjectPlayAnimationEventArgs" /> instance containing the event data.</param>
 public static void OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
 {
     if (sender.IsMe && Variables.Orbwalker.ActiveMode != Orbwalking.OrbwalkingMode.None)
     {
         if (args.Animation.Equals("Spell1") || args.Animation.Equals("Spell2"))
         {
             ObjectManager.Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos);
         }
     }
 }
예제 #8
0
파일: Caitlyn.cs 프로젝트: Xelamats/PortAIO
 /// <summary>
 ///     Fired on animation start.
 /// </summary>
 /// <param name="sender">The sender.</param>
 /// <param name="args">The <see cref="GameObjectPlayAnimationEventArgs" /> instance containing the event data.</param>
 public static void OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
 {
     if (sender.IsMe &&
         args.Animation.Equals("Spell3"))
     {
         if (Variables.Q.IsReady() && Targets.Target.IsValidTarget(Variables.Q.Range) && Menus.getCheckBoxItem(Variables.QMenu, "qspell.auto"))
         {
             Variables.Q.Cast(Variables.Q.GetPrediction(Targets.Target).UnitPosition);
         }
     }
 }
예제 #9
0
 /// <summary>
 ///     Called on animation trigger.
 /// </summary>
 /// <param name="sender">The sender.</param>
 /// <param name="args">The <see cref="GameObjectPlayAnimationEventArgs" /> instance containing the event data.</param>
 public static void OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
 {
     if (sender.IsMe &&
         !PortAIO.OrbwalkerManager.isNoneActive)
     {
         if (args.Animation.Equals("Spell1") ||
             args.Animation.Equals("Spell2"))
         {
             EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos);
         }
     }
 }
예제 #10
0
 /// <summary>
 ///     Called on animation trigger.
 /// </summary>
 /// <param name="sender">The sender.</param>
 /// <param name="args">The <see cref="GameObjectPlayAnimationEventArgs" /> instance containing the event data.</param>
 public static void OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
 {
     if (sender.IsMe &&
         !Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.None))
     {
         if (args.Animation.Equals("Spell1") ||
             args.Animation.Equals("Spell2"))
         {
             EloBuddy.Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos);
         }
     }
 }
예제 #11
0
 private static void Obj_AI_Base_OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
 {
     if (!sender.IsBall()) return;
     foreach (var b in Balls.Where(m => m.ObjectIsValid && m.Object.NetworkId == sender.NetworkId))
     {
         b.LastAnimation = args.Animation;
     }
     if (args.Animation.Equals("Death"))
     {
         Balls.RemoveAll(m => m.Object.NetworkId == sender.NetworkId);
     }
 }
예제 #12
0
파일: Program.cs 프로젝트: ncmp/L-
 private static void PlayAnimation(GameObject sender, GameObjectPlayAnimationEventArgs args)
 {
     if (sender.IsMe)
     {
         if (args.Animation == "Spell4")
         {
             tSpells.ulting = true;
         }
         else
         {
             tSpells.ulting = false;
         }
     }
 }
예제 #13
0
파일: Graves.cs 프로젝트: tekintr/Elobuddy
        private static void Obj_AI_Base_OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
        {
            if (!sender.IsMe)
            {
                return;
            }

            if (args.Animation == "Spell4")
            {
                E.Cast(Game.CursorPos.Distance(Player.Instance) > E.Range
                           ? Player.Instance.Position.Extend(Game.CursorPos, 420).To3D()
                           : Game.CursorPos);
            }
        }
예제 #14
0
 private void Obj_AI_Base_OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
 {
     if (sender.IsMe)
     {
         if (args.Animation == "Spell1" || args.Animation == "Spell4")
         {
             _dontAutoAttack = true;
         }
         else
         {
             _dontAutoAttack = false;
         }
     }
 }
예제 #15
0
        private static void OnPlay(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
        {
            if (myHero.IsDead)
            {
                return;
            }
            if (!sender.IsMe)
            {
                return;
            }
            int delay = 0;

            switch (args.Animation)
            {
            case "Spell1a":
                delay = ComboMenu["Q1Delay"].Cast <Slider>().CurrentValue;
                lastQ = Core.GameTickCount;
                QNum  = 1;
                break;

            case "Spell1b":
                delay = ComboMenu["Q2Delay"].Cast <Slider>().CurrentValue;
                lastQ = Core.GameTickCount;
                QNum  = 2;
                break;

            case "Spell1c":
                delay = ComboMenu["Q3Delay"].Cast <Slider>().CurrentValue;
                lastQ = Core.GameTickCount;
                QNum  = 3;
                break;

            case "Dance":
                if (lastQ > Core.GameTickCount - 500)
                {
                    //Orbwalker.ResetAutoAttack();
                    //Utils.Debug("reset");
                }

                break;
            }

            if (delay != 0 && (Orbwalker.ActiveModesFlags != Orbwalker.ActiveModes.None || ComboMenu["manualcancel"].Cast <CheckBox>().CurrentValue))
            {
                lastQDelay = delay;
                Orbwalker.ResetAutoAttack();
                Core.DelayAction(DanceIfNotAborted, delay - Game.Ping);
            }
        }
예제 #16
0
        private static void Obj_AI_Base_OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
        {
            if (sender.IsMe)
            {
                int T = 0;

                switch (args.Animation)
                {
                case "Spell1a":
                    CountQ = 1;
                    T      = 291 + Menu.Slider(Menu.Humanizer, "Q2");
                    break;

                case "Spell1b":
                    CountQ = 2;
                    T      = 291 + Menu.Slider(Menu.Humanizer, "Q3");
                    break;

                case "Spell1c":
                    CountQ = 3;
                    T      = 393;
                    break;

                case "Spell2":
                    T   = 170;
                    TTs = true;
                    break;

                case "Spell3":
                    break;

                case "Spell4a":
                    T = 0;
                    break;

                case "Spell4b":
                    T = 150;
                    break;
                }

                if (T != 0)
                {
                    if (Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.Combo) || Orbwalker.ActiveModesFlags.HasFlag(Orbwalker.ActiveModes.JungleClear))
                    {
                        Core.DelayAction(CancelAnimation, T);
                    }
                }
            }
        }
예제 #17
0
 private static void Obj_AI_Base_OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
 {
     if (!sender.IsBall())
     {
         return;
     }
     foreach (var b in Balls.Where(m => m.ObjectIsValid && m.Object.NetworkId == sender.NetworkId))
     {
         b.LastAnimation = args.Animation;
     }
     if (args.Animation.Equals("Death"))
     {
         Balls.RemoveAll(m => m.Object.NetworkId == sender.NetworkId);
     }
 }
예제 #18
0
        private static void Obj_AI_Hero_OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
        {
            var emotes = new List <string> {
                "Joke", "Taunt", "Dance", "Toggle"
            };                                                                    // add champ mastery
            var unit = sender as Obj_AI_Hero;

            if (!Enabled || unit == null || !unit.IsValid || unit.IsMe ||
                !ChampMenus[unit.NetworkId].Item("Emotes").IsActive() || !emotes.Contains(args.Animation))
            {
            }

            //Console.WriteLine(args.Animation);
            //args.Process = false;
        }
예제 #19
0
 private static void Obj_AI_Base_OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
 {
     if (args == null || Pet == null)
     {
         return;
     }
     if (sender.NetworkId != Pet.NetworkId)
     {
         return;
     }
     if (args.Animation.ToLower().Contains("attack"))
     {
         LastAATick = Utils.GameTimeTickCount;
     }
 }
예제 #20
0
        private static void OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args, SpellData data)
        {
            var caster = sender as Obj_AI_Hero;

            if (caster == null || !caster.IsValid || (!caster.IsEnemy && !Configs.Debug) ||
                caster.ChampionName != data.ChampName)
            {
                return;
            }

            if (args.Animation == "af176358")
            {
                lastETick = Utils.GameTimeTickCount;
            }
        }
예제 #21
0
 static void Obj_AI_Minion_OnPlayAnimation(GameObject sender, GameObjectPlayAnimationEventArgs args)
 {
     if (!azir)
     {
         return;
     }
     if (sender.Name == "AzirSoldier" && sender.IsAlly)
     {
         Obj_AI_Minion myMin = sender as Obj_AI_Minion;
         if (myMin.SkinName == "AzirSoldier")
         {
             Animations[sender.NetworkId] = args.Animation;
         }
     }
 }
예제 #22
0
파일: Program.cs 프로젝트: wade1990/PortAIO
 private static void PlayAnimation(GameObject sender, GameObjectPlayAnimationEventArgs args)
 {
     if (sender.IsMe)
     {
         if (args.Animation == "Spell4")
         {
             InUlt = true;
         }
         else if (args.Animation == "Run" || args.Animation == "Idle1" || args.Animation == "Attack2" ||
                  args.Animation == "Attack1")
         {
             InUlt = false;
         }
     }
 }
예제 #23
0
        public static void OnPlay(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
        {
            if (!sender.IsMe)
            {
                return;
            }

            switch (args.Animation)
            {
            case "Spell1a":
                LastQ  = Utils.GameTimeTickCount;
                Qstack = 2;

                if (SafeReset())
                {
                    LeagueSharp.Common.Utility.DelayAction.Add(ResetDelay(MenuConfig.Qd), Reset);

                    Console.WriteLine("Q1 Delay: " + ResetDelay(MenuConfig.Qd));
                }
                break;

            case "Spell1b":
                LastQ  = Utils.GameTimeTickCount;
                Qstack = 3;

                if (SafeReset())
                {
                    LeagueSharp.Common.Utility.DelayAction.Add(ResetDelay(MenuConfig.Q2D), Reset);

                    Console.WriteLine("Q2 Delay: " + ResetDelay(MenuConfig.Q2D));
                }
                break;

            case "Spell1c":
                LastQ  = Utils.GameTimeTickCount;
                Qstack = 1;

                if (SafeReset())
                {
                    LeagueSharp.Common.Utility.DelayAction.Add(ResetDelay(MenuConfig.Qld), Reset);

                    Console.WriteLine("Q3 Delay: "
                                      + ResetDelay(MenuConfig.Qld)
                                      + Environment.NewLine + ">----END----<");
                }
                break;
            }
        }
예제 #24
0
        private void OnAnimation(GameObject sender, GameObjectPlayAnimationEventArgs args)
        {
            if (Orbwalking.OrbwalkingMode.Combo != Program.Orbwalker.ActiveMode ||
                !Program.Menu.Item("use_UC").GetValue <bool>())
            {
                return;
            }
            if (!sender.IsMe)
            {
                return;
            }
            if (args.Animation == "Spell1a")
            {
                QStage = 1;
                if (Program.Menu.Item("QLaugh").GetValue <bool>())
                {
                    Game.Say("/l");
                }

                /*else if(Program.Menu.Item("CancleQAnimation").GetValue<bool>())
                 *                      NetPacket.C2S.Move.Encoded(new Network.Packets.C2S.Move.Struct(Game.CursorPos.X, Game.CursorPos.Y)).Send();*/
            }

            if (args.Animation == "Spell1b")
            {
                QStage = 2;
                if (Program.Menu.Item("QLaugh").GetValue <bool>())
                {
                    Game.Say("/l");
                }

                /*else if(Program.Menu.Item("CancleQAnimation").GetValue<bool>())
                 *                      Packet.C2S.Move.Encoded(new Packet.C2S.Move.Struct(Game.CursorPos.X, Game.CursorPos.Y)).Send();*/
            }

            if (args.Animation != "Spell1c")
            {
                return;
            }
            QStage = 0;
            if (Program.Menu.Item("QLaugh").GetValue <bool>())
            {
                Game.Say("/l");
            }

            /*else if(Program.Menu.Item("CancleQAnimation").GetValue<bool>())
             *                  Packet.C2S.Move.Encoded(new Packet.C2S.Move.Struct(Game.CursorPos.X, Game.CursorPos.Y)).Send();*/
        }
예제 #25
0
 public static void OnAnimation(GameObject unit, GameObjectPlayAnimationEventArgs args)
 {
     var hero = unit as Obj_AI_Hero;
     if (hero != null)
     {
         if (hero.Team == Player.Team) return;
         if (hero.ChampionName == "Rengar" && args.Animation == "Spell5" && Player.Distance(hero) <= 725)
         {
             if (_E.IsReady() &&
                 Config.SubMenu("Misc").SubMenu("Gapclosers").Item("rengarleap").GetValue<bool>())
             {
                 _E.Cast(unit.Position);
             }
         }
     }
 }
예제 #26
0
 public static void OnAnimation(GameObject unit, GameObjectPlayAnimationEventArgs args)
 {
     var hero = unit as AIHeroClient;
     if (hero != null)
     {
         if (hero.Team == Player.Team) return;
         if (hero.ChampionName == "Rengar" && args.Animation == "Spell5" && Player.LSDistance(hero) <= 725)
         {
             if (_E.IsReady() &&
                 getCheckBoxItem(miscMenu, "rengarleap"))
             {
                 _E.Cast(unit.Position);
             }
         }
     }
 }
예제 #27
0
        private static void OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs Args)
        {
            var riven = sender as AIHeroClient;

            if (riven == null || riven.Team == ObjectManager.Player.Team || riven.ChampionName != "Riven" || !riven.IsValid)
            {
                return;
            }

            if (Menu.Item(riven.ChampionName.ToLower() + SpellSlot.Q, true).GetValue <bool>() &&
                Args.Animation.ToLower() == "spell1c")
            {
                RivenQTime  = Utils.GameTimeTickCount;
                RivenQRange = riven.HasBuff("RivenFengShuiEngine") ? 225f : 150f;
            }
        }
예제 #28
0
        private static void Obj_AI_Base_OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
        {
            if (!sender.IsMe)
            {
                return;
            }
            var t = 0;

            switch (args.Animation)
            {
            case "Spell1a":
                t      = 291;
                QCount = 1;
                break;

            case "Spell1b":
                t      = 290;
                QCount = 2;
                break;

            case "Spell1c":
                t      = 343;
                QCount = 0;
                break;

            case "Spell2":
                t = 170;
                break;

            case "Spell3":
                break;

            case "Spell4a":
                t = 0;
                break;

            case "Spell4b":
                t = 150;
                break;
            }
            if (t != 0 && (Orbwalker.ActiveModesFlags != Orbwalker.ActiveModes.None))
            {
                Orbwalker.ResetAutoAttack();
                Core.DelayAction(CancelAnimation, t - Game.Ping);
                Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos);
            }
        }
예제 #29
0
        private void OnAnimation(Obj_AI_Base objAiBase, GameObjectPlayAnimationEventArgs args)
        {
#if DEBUG
            /*
             * if (objAiBase != null && !objAiBase.Name.Contains("Minion") && !objAiBase.Name.Contains("Plant") &&
             *  !objAiBase.Name.Contains("Turret") && !objAiBase.Name.Contains("Crab") && !objAiBase.IsMe)
             *  Console.WriteLine(objAiBase.Name + " => " + objAiBase.ObjectType + " @ " + objAiBase.Position +
             *                    " Anim: " + args.Animation);
             */
#endif

            if (args.Animation.Contains("Spell") || args.Animation.Contains("Run") ||
                args.Animation.Contains("Death") || args.Animation.Contains("Attack"))
            {
                if (objAiBase.Name.Contains("SRU_Dragon"))
                {
                    _dragonUnderAttack = (int)Math.Round(Game.Time);
                    _dragonInstance    = objAiBase;
                }

                if (objAiBase.Name.Contains("SRU_Baron"))
                {
                    _baronUnderAttack = (int)Math.Round(Game.Time);
                    _baronInstance    = objAiBase;
                }

                if (objAiBase.Name.Contains("SRU_RiftHerald"))
                {
                    _heraldUnderAttack = (int)Math.Round(Game.Time);
                    _heraldInstance    = objAiBase;
                }
            }

            if (args.Animation.Contains("Death"))
            {
                if (objAiBase.Name.Contains("SRU_Dragon"))
                {
                    _lastDrakeKill = (int)Math.Round(Game.Time);
                }

                if (objAiBase.Name.Contains("SRU_Baron"))
                {
                    _lastBaronKill = (int)Math.Round(Game.Time);
                }
            }
        }
예제 #30
0
        private void Obj_AI_Minion_OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
        {
            var trytododge = Features.First(it => it.NameFeature == "Misc").IsChecked("misc.dodgefireballs");

            if (!trytododge || !(sender is Obj_AI_Minion) || !sender.Name.Contains("SRU_Dragon"))
            {
                return;
            }

            if (args.Animation == "Spell1")
            {
                var delay = (int)((500 - Game.Ping) * Player.Distance(sender) / 74.6f);

                EloBuddy.SDK.Core.DelayAction(() => Q.Cast(sender), delay - Game.Ping);
                //Chat.Print(Player.Distance(sender));
            }
        }
예제 #31
0
        public static void OnPlay(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
        {
            if (!sender.IsMe)
            {
                return;
            }

            switch (args.Animation)
            {
                case "c29a362b":
                    LastQ = Utils.GameTimeTickCount;
                    Qstack = 2;

                    if (SafeReset())
                    {
                        Utility.DelayAction.Add(ResetDelay(MenuConfig.Qd), Reset);

                        Console.WriteLine("Q1 Delay: " + ResetDelay(MenuConfig.Qd));
                    }
                    break;
                case "c39a37be":
                    LastQ = Utils.GameTimeTickCount;
                    Qstack = 3;

                    if (SafeReset())
                    {
                        Utility.DelayAction.Add(ResetDelay(MenuConfig.Q2D), Reset);

                        Console.WriteLine("Q2 Delay: " + ResetDelay(MenuConfig.Q2D));
                    }
                    break;
                case "c49a3951":
                    LastQ = Utils.GameTimeTickCount;
                    Qstack = 1;

                    if (SafeReset())
                    {
                        Utility.DelayAction.Add(ResetDelay(MenuConfig.Qld), Reset);

                        Console.WriteLine("Q3 Delay: " 
                         + ResetDelay( MenuConfig.Qld)
                         + Environment.NewLine + ">----END----<");
                    }
                    break;
            }
        }
예제 #32
0
        private static void ObjAiBaseOnOnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
        {
            if (!_menu.Item("MissileCheck").GetValue <bool>())
            {
                return;
            }

            if (!sender.IsMe || sender.IsMelee() || args.Animation == "Run" || args.Animation != "Idle")
            {
                return;
            }

            if (args.Animation.Contains("Attack") || args.Animation == "Crit")
            {
                Utility.DelayAction.Add((int)(Player.AttackCastDelay * 100 + Game.Ping), () => _canmove = true);
            }
        }
예제 #33
0
        public override void Obj_AI_Base_OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
        {
            var trytododge = misc.IsActive("dodgefireballs");

            if (!trytododge || !(sender is Obj_AI_Minion) || !sender.Name.Contains("SRU_Dragon"))
            {
                return;
            }

            if (args.Animation == "Spell1")
            {
                var delay = (int)((500 - Game.Ping) * Player.Distance(sender) / 74.6f);

                Core.DelayAction(() => Q.Cast(sender), delay - Game.Ping);
                //Chat.Print(Player.Distance(sender));
            }
        }
예제 #34
0
        private void OnPlayAnimation(GameObject sender, GameObjectPlayAnimationEventArgs args)
        {
            if (sender.IsMe && args.Animation != "Run")
            {
                if (args.Animation.Contains("pell"))
                {
                    Utility.DelayAction.Add(Game.Ping, delegate { cancelAnim(args.Animation.Contains("Spell1")); });
                }

                var targ = (Obj_AI_Base)DeathWalker.getBestTarget();
                if (targ != null && targ is Obj_AI_Base)
                {
                    if (args.Animation == "Spell3" && R.IsReady())
                    {
                        useRSmart(targ, true);
                        //Utility.DelayAction.Add(10,
                        //    delegate { Riven.useRSmart(targ,true); });
                    }

                    if (sender.IsMe && args.Animation == "Spell3" &&
                        Q.IsReady())
                    {
                        Console.WriteLine("force W");
                        Utility.DelayAction.Add(30, delegate { useWSmart(targ, false, true); });
                        //Riven.Q.Cast(targ.Position);
                        //Riven.forceQ = true;
                        // Riven.timer = new System.Threading.Timer(obj => { Riven.Player.IssueOrder(GameObjectOrder.MoveTo, Riven.difPos()); }, null, (long)100, System.Threading.Timeout.Infinite);
                    }

                    if (sender.IsMe && args.Animation == "Spell2" &&
                        Q.IsReady())
                    {
                        Utility.DelayAction.Add(30, delegate { Q.Cast(targ.Position); });
                        Aggresivity.addAgresiveMove(new AgresiveMove(30, 3000));
                        //Console.WriteLine("force q");

                        // Riven.forceQ = true;
                        // Riven.timer = new System.Threading.Timer(obj => { Riven.Player.IssueOrder(GameObjectOrder.MoveTo, Riven.difPos()); }, null, (long)100, System.Threading.Timeout.Infinite);
                    }


                    // useHydra(Obj_AI_Base target)
                }
            }
        }
예제 #35
0
        private static void Obj_AI_Base_OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
        {
            if (!sender.IsMe || Orbwalker.ActiveModesFlags == Orbwalker.ActiveModes.None && !Program.ComboMenu["combo.alwaysCancelQ"].Cast <CheckBox>().CurrentValue)
            {
                return;
            }
            var t = 0;

            switch (args.Animation)
            {
            case "Spell1a":
                // t = 291;
                QCount = 1;
                break;

            case "Spell1b":
                //t = 291;
                QCount = 2;
                break;

            case "Spell1c":
                //t = 393;
                QCount = 0;
                break;

            case "Spell2":
                t = 170;
                break;

            case "Spell3":
                break;

            case "Spell4a":
                t = 0;
                break;

            case "Spell4b":
                t = 150;
                break;
            }
            if (t != 0)
            {
                Core.DelayAction(CancelAnimation, t - Game.Ping);
            }
        }
예제 #36
0
        static void Obj_AI_Base_OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
        {
            if (sender.IsMe)
            {
                if (args.Animation.ToLower() == "spell1_in")
                {
                    qTimer = Environment.TickCount + 1200;
                }
                else if (args.Animation.ToLower() == "spell1_out")
                {
                    qTimer = 0;
                }
                else if (args.Animation.ToLower() == "spell1_pull1")
                {
                    qTimer = Environment.TickCount + 900;
                }
                else if (args.Animation.ToLower() == "spell1_pull2")
                {
                    qTimer = Environment.TickCount + 900;
                }
                else if (qTimer > 0 && Environment.TickCount > qTimer)
                {
                    qTimer = 0;
                }
            }

            if (getCheckBoxItem(miscMenu, "AntiRengar"))
            {
                return;
            }

            if (!(sender is AIHeroClient))
            {
                return;
            }

            var _sender = sender as AIHeroClient;
            var dis     = _sender.GetBuffCount("rengartrophyicon1") > 5 ? 600 : 750;

            if (_sender.ChampionName == "Rengar" && args.Animation == "Spell5" &&
                Player.LSDistance(_sender.Position) < dis && E.IsReady())
            {
                Push(_sender);
            }
        }
예제 #37
0
 private void OnAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
 {
     // Check if sender is an active ward
     if (sender.Type == GameObjectType.obj_AI_Minion)
     {
         var ward = ActiveWards.Find(o => o.Handle.IdEquals(sender));
         if (ward != null)
         {
             switch (args.Animation)
             {
             case "Death":
                 // Remove the ward
                 OnDelete(sender, EventArgs.Empty);
                 break;
             }
         }
     }
 }
예제 #38
0
 public static void OnAnimation(GameObject unit, GameObjectPlayAnimationEventArgs args)
 {
     if (unit is Obj_AI_Hero)
     {
         var hero = (Obj_AI_Hero)unit;
         if (hero.Team != Player.Team)
         {
             if (hero.ChampionName == "Rengar" && args.Animation == "Spell5" && Player.Distance(hero) <= 725)
             {
                 if (_E.IsReady() &&
                     Config.SubMenu("Misc").SubMenu("Gapclosers").Item("rengarleap").GetValue <bool>())
                 {
                     _E.Cast(unit.Position, PacketCasting());
                 }
             }
         }
     }
 }
예제 #39
0
        private static void Obj_AI_Base_OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
        {
            if (!MiscMenu.GetCheckBoxValue("Mastery"))
            {
                return;
            }

            var hero = sender as AIHeroClient;

            if (hero == null)
            {
                return;
            }
            if (args.Animation.ToLower().Contains("death") && hero.IsEnemy && hero.IsInRange(Player.Instance, 1000))
            {
                Chat.Say("/masterybadge");
            }
        }
예제 #40
0
        static void Obj_AI_Base_OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
        {
            if (!sender.IsMe) return;
            int d = 0;
            bool qd = false;
            //Chat.Print(args.Animation);
            switch (args.Animation)
            {
                case "Spell1a":
                    d = 293;
                    break;
                case "Spell1b":
                    d = 293;
                    break;
                case "Spell1c":
                    d = 393;
                    break;
                case "Attack1":
                case "Attack2":
                case "Attack3":
                    debugDictionary["ONANIMATION"] = Core.GameTickCount + "";
                    qd = true;
                    break;

            }
            //debugDictionary[args.Animation] = Core.GameTickCount + "";
            if (d != 0)
            {
                LastQ = Core.GameTickCount;
                Orbwalker.ResetAutoAttack();
                /*var pos = Me.ServerPosition;
                var facing = Me.Direction.To2D().Perpendicular().Normalized();
                Orbwalker.DisableMovement = true;
                Player.IssueOrder(GameObjectOrder.MoveTo, pos + facing.To3D());
                Core.DelayAction(() => Orbwalker.DisableMovement = false, d - Game.Ping);*/
                Core.DelayAction(()=>Player.DoEmote(Emote.Dance), d - Game.Ping);
            }
            if (qd)
            {
                LastAA = Core.GameTickCount;
                debugDictionary["NEW"] = LastAA + (int)(Me.AttackCastDelay*1000) - Game.Ping/2 + "";

            }
        }
예제 #41
0
        private static void AIHeroClient_OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
        {
            var caster = sender as AIHeroClient;

            if (caster == null || !caster.IsValid || caster.Team == Player.Team)
            {
                return;
            }
            // riven Q3
            if (caster.ChampionName == "Riven" && getCheckBoxItem(evadeMenu, "Riven" + SpellSlot.Q) && args.Animation.ToLower() == "spell1c")
            {
                RivenQ3Tick = Utils.GameTimeTickCount;
                if (caster.HasBuff("RivenFengShuiEngine"))
                {
                    RivenQ3Rad = 150;
                }
                else
                {
                    RivenQ3Rad = 225;
                }
            }
            // others
            var spellDatas = Spells.Where(i => caster.ChampionName.ToLowerInvariant() == i.ChampionName.ToLowerInvariant() && evadeMenu[i.ChampionName + i.Slot] != null ? getCheckBoxItem(evadeMenu, i.ChampionName + i.Slot) : false);

            if (!spellDatas.Any())
            {
                return;
            }
            foreach (var spellData in spellDatas)
            {
                //reksaj W
                if (!Player.HasBuff("reksaiknockupimmune") && spellData.ChampionName == "Reksai" &&
                    spellData.Slot == SpellSlot.W && args.Animation == "Spell2_knockup")   // chua test
                {
                    if (Player.Position.LSTo2D().LSDistance(caster.Position.LSTo2D())
                        <= Player.BoundingRadius + caster.BoundingRadius + caster.AttackRange)
                    {
                        SolveInstantBlock();
                    }
                    return;
                }
            }
        }
예제 #42
0
 private void OnAnimation(GameObject sender, GameObjectPlayAnimationEventArgs args)
 {
     if (sender.IsMe)
     {
         //Game.PrintChat(args.Animation.ToString());
         if (args.Animation.ToLower().IndexOf("spell3") > -1 || args.Animation.ToLower().IndexOf("ult") > -1)
         {
             Program._orbwalker.SetAttack(false);
             Program._orbwalker.SetMovement(false);
             isChanneling = true;
         }
         else
         {
             Program._orbwalker.SetAttack(true);
             Program._orbwalker.SetMovement(true);
             isChanneling = false;
         }
     }
 }
예제 #43
0
        private void OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
        {
            if (!this.itemName.Equals(sender.Name, this.comparison) || args.Animation != "Death")
            {
                return;
            }

            var index = this.Items.FindIndex(item => item.NetworkId == sender.NetworkId);

            if (index < 0)
            {
                return;
            }

            var removedItem = this.Items[index];

            this.Items.RemoveAt(index);
            this.Deleted?.Invoke(removedItem);
        }
예제 #44
0
파일: Program.cs 프로젝트: volder1/PortAIO
        public static void OnAnimation(GameObject unit, GameObjectPlayAnimationEventArgs args)
        {
            var hero = unit as AIHeroClient;

            if (hero != null)
            {
                if (hero.Team == Player.Team)
                {
                    return;
                }
                if (hero.ChampionName == "Rengar" && args.Animation == "Spell5" && Player.LSDistance(hero) <= 725)
                {
                    if (_E.IsReady() &&
                        getCheckBoxItem(miscMenu, "rengarleap"))
                    {
                        _E.Cast(unit.Position);
                    }
                }
            }
        }
예제 #45
0
        private void Obj_AI_Base_OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
        {
            if (sender.IsMe && sender.CharData.BaseSkinName == "Rengar" && args.Animation == "Spell5")
            {
                Events.FireOnAttack(this, m_lastTarget);
                m_lastAATick            = Utils.TickCount - Game.Ping / 2;
                m_lastWindUpTime        = (int)(sender.AttackCastDelay * 1000) + 1;
                m_lastAttackCooldown    = (int)(sender.AttackDelay * 1000) + 1;
                m_lastAttackCompletesAt = m_lastAATick + m_lastWindUpTime;
                m_lastAttackPos         = ObjectManager.Player.ServerPosition.To2D();
                m_attackInProgress      = true;

                LeagueSharp.Common.Utility.DelayAction.Add((int)(sender.AttackCastDelay * 1000 + m_Configuration.ExtraWindup + 100), () =>
                {
                    m_lastWindUpTick   = Utils.TickCount;
                    m_attackInProgress = false;
                    Events.FireAfterAttack(this, m_lastTarget);
                });
            }
        }
예제 #46
0
 private static void Obj_AI_Base_OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
 {
     if (!sender.IsMe)
     {
         return;
     }
     var t = 0;
     switch (args.Animation)
     {
         case "Spell1a":
             t = 291;
             QCount = 1;
             break;
         case "Spell1b":
             t = 291;
             QCount = 2;
             break;
         case "Spell1c":
             t = 393;
             QCount = 0;
             break;
         case "Spell2":
             t = 170;
             break;
         case "Spell3":
             break;
         case "Spell4a":
             t = 0;
             break;
         case "Spell4b":
             t = 150;
             break;
     }
     if (t != 0 && (Orbwalker.ActiveModesFlags != Orbwalker.ActiveModes.None || Program.ComboMenu["combo.alwaysCancelQ"].Cast<CheckBox>().CurrentValue))
     {
         Core.DelayAction(CancelAnimation, t - Game.Ping);
     }
 }
예제 #47
0
 private static void Obj_AI_Base_OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
 {
     if (!sender.IsMe) return;
     var t = 0;
     switch (args.Animation)
     {
         case "Spell1a":
             t = 291;
             QCount = 1;
             break;
         case "Spell1b":
             t = 291;
             QCount = 2;
             break;
         case "Spell1c":
             t = 393;
             QCount = 0;
             break;
         case "Spell2":
             t = 170;
             break;
         case "Spell3":
             break;
         case "Spell4a":
             t = 0;
             break;
         case "Spell4b":
             t = 150;
             break;
     }
     if (t != 0 && (Orbwalker.ActiveModesFlags != Orbwalker.ActiveModes.None))
     {
         Orbwalker.ResetAutoAttack();
         Core.DelayAction(CancelAnimation, t - Game.Ping);
     }
 }
예제 #48
0
 private static void PlayAnimation(GameObject sender, GameObjectPlayAnimationEventArgs args)
 {
     if (sender.IsMe)
     {
         if (args.Animation.ToLowerInvariant() == "spell4")
         {
             Ractive = true;
         }
         else if (args.Animation.ToLowerInvariant() == "run" || args.Animation.ToLowerInvariant() == "idle1" || args.Animation.ToLowerInvariant() == "attack1" || args.Animation.ToLowerInvariant() == "attack2")
         {
             Ractive = false;
         }
     }
 }
예제 #49
0
        private static void Obj_AI_Base_OnPlayAnimation(GameObject sender, GameObjectPlayAnimationEventArgs args)
        {
            if (!sender.IsMe)
            {
                return;
            }

            if (args.Animation.Contains("Spell1"))
            {
                LastQ = Environment.TickCount;

                if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo || Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear)
                {
                    // TODO: implement this
                    var movePos =
                        (ObjectManager.Player.Position.To2D() -
                         (Player.BoundingRadius + 10) * ObjectManager.Player.Direction.To2D().Perpendicular()).To3D();
                    
                    Utility.DelayAction.Add(100, () => Player.IssueOrder(GameObjectOrder.MoveTo, Game.CursorPos));
                    Utility.DelayAction.Add((int)(QDelay + 100 + Player.AttackDelay * 100), Orbwalking.ResetAutoAttackTimer);
                }
            }

            if (args.Animation.Contains("Attack") && (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo || Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear))
            {
                var aaDelay = Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear
                    ? GetBool("UseFastQ") ? Player.AttackDelay * 100  + Game.Ping / 2f : Player.AttackCastDelay * 1000
                    : Player.AttackDelay * 100;
                Utility.DelayAction.Add((int)(QDelay + aaDelay), () =>
                {
                    //Player.IssueOrder(GameObjectOrder.MoveTo, Q.GetPrediction(LastTarget).CastPosition);
                    Q.Cast(LastTarget.Position);
                });
            }
        }
예제 #50
0
파일: Projections.cs 프로젝트: CONANLXF/AIO
        private static void AIHeroClient_OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
        {
            if (!(sender is AIHeroClient))
                return;

            var aiHero = (AIHeroClient)sender;

            #region Jax

            if (aiHero.ChampionName == "Jax" && aiHero.IsEnemy)
            {
                if (args.Animation == "Spell3")
                {
                    LeagueSharp.Common.Utility.DelayAction.Add(Game.Ping + 100, () =>
                    {
                        if (aiHero.HasBuff("JaxCounterStrike"))
                        {
                            var buff = aiHero.GetBuff("JaxCounterStrike");
                            var time = (int)((buff.EndTime - buff.StartTime) * 1000);

                            LeagueSharp.Common.Utility.DelayAction.Add(time / 2, () =>
                            {
                                foreach (var hero in Activator.Allies())
                                {
                                    var dmg = (float)Math.Max(aiHero.LSGetSpellDamage(hero.Player, SpellSlot.E), 0);

                                    if (aiHero.LSDistance(hero.Player) <= 250)
                                    {
                                        LeagueSharp.Common.Utility.DelayAction.Add(150, () =>
                                        {
                                            hero.Attacker = null;
                                            hero.HitTypes.Remove(HitType.Spell);
                                            hero.HitTypes.RemoveAll(
                                                x =>
                                                    !x.Equals(HitType.Spell) &&
                                                    true);
                                            hero.HitTypes.Remove(HitType.Spell);
                                            if (hero.IncomeDamage > 0)
                                                hero.IncomeDamage -= dmg;
                                        });

                                        hero.Attacker = aiHero;
                                        hero.IncomeDamage += dmg;
                                        hero.HitTypes.Add(HitType.Spell);
                                        hero.HitTypes.AddRange(
                                            MenuTypes.Where(
                                                x =>
                                                    true));
                                    }
                                }
                            });
                        }
                    });
                }
            }

            #endregion

        }
예제 #51
0
 static void Obj_AI_Hero_OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
 {
     return;
     if (!sender.IsMe)
     {
         return;
     }
     if (args.Animation.Contains("Attack"))
     {
         LeagueSharp.Common.Utility.DelayAction.Add((25), () =>
         {
             if (ObjectManager.Player.IsAttackingPlayer)
             {
                 LeagueSharp.Common.Utility.DelayAction.Add((int)(ObjectManager.Player.AttackCastDelay * 1000 + 15), () => OrbwalkingAfterAttack(ObjectManager.Player, Orbwalker.GetTarget()));
             }
         });
     }
 }
예제 #52
0
        private static void Obj_AI_Hero_OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
        {
            var emotes = new List<string> { "Joke", "Taunt", "Dance", "Toggle" }; // add champ mastery
            var unit = sender as Obj_AI_Hero;

            if (!Enabled || unit == null || !unit.IsValid || unit.IsMe ||
                !ChampMenus[unit.NetworkId].Item("Emotes").IsActive() || !emotes.Contains(args.Animation)) {}

            //Console.WriteLine(args.Animation);
            //args.Process = false;
        }
예제 #53
0
 private void Obj_AI_Base_OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
 {
     if (!sender.IsMe) return;
     if (ObjectManager.Player.ChampionName == "Riven")
     {
         switch (args.Animation)
         {
             case "Spell1a":
                 if (Manager.MenuManager.AnimationCancelQ)
                 {
                     Chat.Say("/d");
                 }
                 break;
             case "Spell1b":
                 if (Manager.MenuManager.AnimationCancelQ)
                 {
                     Chat.Say("/d");
                 }
                 break;
             case "Spell1c":
                 if (Manager.MenuManager.AnimationCancelQ)
                 {
                     Chat.Say("/d");
                 }
                 break;
             case "Spell3":
                 if (Manager.MenuManager.AnimationCancelE)
                 {
                     Chat.Say("/d");
                 }
                 break;
             case "Spell4a":
                 if (Manager.MenuManager.AnimationCancelR)
                 {
                     Chat.Say("/d");
                 }
                 break;
             case "Spell4b":
                 if (Manager.MenuManager.AnimationCancelR)
                 {
                     Chat.Say("/d");
                 }
                 break;
         }
     }
     else
     {
         switch (args.Animation)
         {
             case "Spell1":
                 if (Manager.MenuManager.AnimationCancelQ)
                 {
                     Chat.Say("/d");
                 }
                 break;
             case "Spell2":
                 if (Manager.MenuManager.AnimationCancelW)
                 {
                     Chat.Say("/d");
                 }
                 break;
             case "Spell3":
                 if (Manager.MenuManager.AnimationCancelE)
                 {
                     Chat.Say("/d");
                 }
                 break;
             case "Spell4":
                 if (Manager.MenuManager.AnimationCancelR)
                 {
                     Chat.Say("/d");
                 }
                 break;
         }
     }
 }
예제 #54
0
파일: Riven.cs 프로젝트: SmokyBot/LS
 static void OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args) 
 {
     if (!sender.IsMe || (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.None)) return;
     var qTarget = TargetSelector.GetTarget(Q.Range, Q.DamageType, true);
     var M = MinionManager.GetMinions(Q.Range, MinionTypes.All, MinionTeam.NotAlly, MinionOrderTypes.MaxHealth);
     var Target = (qTarget != null ? qTarget : M[0]);
     if (args.Animation.Contains("Spell1"))
     {
         Utility.DelayAction.Add(125 + Game.Ping/2, MotionCancle);
     }
     if (Qmove && args.Animation.Contains("Run") && Target != null)
     {
         Qmove = false;
         Orbwalking.LastAATick = Utils.GameTimeTickCount + Game.Ping/2;
         Player.IssueOrder(GameObjectOrder.AttackUnit, qTarget);
     }
     if (Qmove && args.Animation.Contains("Idle") && Target != null)
     {
         Qmove = false;
         Orbwalking.LastAATick = Utils.GameTimeTickCount + Game.Ping/2;
         Player.IssueOrder(GameObjectOrder.AttackUnit, qTarget);
     }
 }
예제 #55
0
파일: Program.cs 프로젝트: tramyeu/EloBuddy
 private static void Obj_AI_Base_OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
 {
     if (!args.Animation.ToLower().Contains("death")) return;
     if (!Shadows.Any()) return;
     Shadows.RemoveAll(o => o.NetworkId == sender.NetworkId);
 }
예제 #56
0
파일: Riven.cs 프로젝트: Enelx/EloBuddy
 private static void OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
 {
     if (sender.IsMe)
     {
         if (args.Animation == "Spell1a" || args.Animation == "Spell1b" || args.Animation == "Spell1c")
         {
             if (args.Animation == "Spell1a" || args.Animation == "Spell1b")
             {
                 if (Logic.Qtarget.IsValidTarget() && Player.Instance.Distance(Logic.Qtarget) < 270)
                 {
                     if (Variables.UseEmoteCancel)
                     {
                         Core.DelayAction(delegate
                         {
                             Logic.DoEmote();
                             Logic.ResetAa();
                         }, Variables.Q1Q2Delay - Game.Ping);
                     }
                 }
             }
             else if (args.Animation == "Spell1c")
             {
                 if (Logic.Qtarget.IsValidTarget() && Player.Instance.Distance(Logic.Qtarget) < 270)
                 {
                     if (Variables.UseEmoteCancel)
                     {
                         Core.DelayAction(delegate
                         {
                             Logic.DoEmote();
                             Logic.ResetAa();
                         }, Variables.Q3Delay - Game.Ping);
                     }
                 }
             }
         }
     }
 }
예제 #57
0
 private void Obj_AI_Minion_OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
 {
     if (sender is Obj_AI_Minion && IsSoldier((Obj_AI_Minion)sender))
     {
         Animations[sender.NetworkId] = args.Animation;
     }
 }
예제 #58
0
 static void Obj_AI_Minion_OnPlayAnimation(GameObject sender, GameObjectPlayAnimationEventArgs args)
 {
     if (!azir) return;
     if (sender.Name == "AzirSoldier" && sender.IsAlly)
     {
         Obj_AI_Minion myMin = sender as Obj_AI_Minion;
         if (myMin.SkinName == "AzirSoldier")
         {
             Animations[sender.NetworkId] = args.Animation;
         }
     }
 }
예제 #59
0
        private static void ObjAiBaseOnOnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
        {
            if (!_menu.Item("MissileCheck").GetValue<bool>())
                return;

            if (!sender.IsMe || sender.IsMelee() || args.Animation == "Run" || args.Animation != "Idle")
                return;

            if (args.Animation.Contains("Attack") || args.Animation == "Crit")
            {
                Utility.DelayAction.Add((int)(Player.AttackCastDelay * 100 + Game.Ping), () => _canmove = true);
            }
        }
예제 #60
0
 /// <summary>
 /// OnPlayAnimation Event
 /// </summary>
 /// <param name="sender">The sender.</param>
 /// <param name="args">The args.</param>
 private void Obj_AI_Base_OnPlayAnimation(Obj_AI_Base sender, GameObjectPlayAnimationEventArgs args)
 {
     //if (sender.IsMe && m_attackInProgress && (args.Animation == "Run" || args.Animation == "Idle"))
     //{
     //    Game.PrintChat("{0} ({1})", args.Animation, Utils.TickCount);
     //    ResetAATimer();
     //}
 }