Example #1
0
        public static void jump()
        {
            if (CheckHandler.QCount != 2)
            {
                SpellHandler.CastQ();
                return;
            }

            if (initJump && selectedPos != null && !jumping)
            {
                jumping = true;
                if (!SpellHandler._spells[SpellSlot.E].IsReady())
                {
                    ObjectManager.Player.IssueOrder(GameObjectOrder.MoveTo, selectedPos.directionPos);
                    Utility.DelayAction.Add(100 + Game.Ping / 2,
                                            () => ObjectManager.Player.IssueOrder(GameObjectOrder.MoveTo, selectedPos.jumpPos));
                    Utility.DelayAction.Add(300 + Game.Ping / 2, () =>
                    {
                        SpellHandler.CastQ();
                        jumping = false;
                    });
                }
                else
                {
                    ObjectManager.Player.IssueOrder(GameObjectOrder.MoveTo, selectedPos.directionPos);
                    Utility.DelayAction.Add(100 + Game.Ping / 2,
                                            () => SpellHandler.CastE(selectedPos.jumpPos));
                    Utility.DelayAction.Add(200 + Game.Ping / 2, () =>
                    {
                        SpellHandler.CastQ();
                        jumping = false;
                    });
                }
                initJump = false;
            }

            if (initJump || jumping)
            {
                return;
            }
            selectedPos = null;
            foreach (var jumpPos in allJumpPos)
            {
                if (ObjectManager.Player.Distance(jumpPos.jumpPos) < 80)
                {
                    selectedPos = jumpPos;
                    initJump    = true;
                    break;
                }
            }
        }