internal static void Handle()
 {
     if (!Calls.IsFacing(ObjectManager.TargetObject.Pos))
     {
         Calls.TurnCharacter(ObjectManager.TargetObject.Pos);
     }
     if (HandleMovement)
     {
         if (ObjectManager.PlayerObject.isChanneling == 0 && !ObjectManager.IsCasting)
         {
             float disToTarget = ObjectManager.TargetObject.Pos.differenceToPlayer();
             if (disToTarget > BotTemplate.Engines.Data.fightRange)
             {
                 Ingame.moveForward();
             }
             else
             {
                 if (disToTarget > 0.8)
                 {
                     Calls.StopRunning();
                 }
                 else
                 {
                     if (!Calls.MovementIsOnly((uint)Offsets.movementFlags.Back))
                     {
                         Ingame.moveBackwards();
                     }
                 }
             }
         }
     }
 }
Example #2
0
        public override void Run()
        {
            if (CurWp != Data.curWp)
            {
                CurWp        = Data.curWp;
                StuckCounter = 0;
                StuckTimer.Reset();
            }
            else
            {
                if (StuckTimer.IsReady())
                {
                    StuckCounter = StuckCounter + 1;
                }

                if (StuckCounter >= 1)
                {
                    if (StuckCounter >= 2)
                    {
                        MasterContainer.IsStuck = true;
                        StuckCounter            = 0;
                    }
                }
            }
            Ingame.moveForward();
            if (!Calls.IsFacing(Data.Profile[Data.curWp]))
            {
                Calls.TurnCharacter(Data.Profile[Data.curWp]);
            }
        }
Example #3
0
        public override void Run()
        {
            if (AssistContainer.AfterFight)
            {
                diff.Reset();
                bool1 = false;
                Ingame.PetFollow();
                AssistContainer.AfterFight = false;
            }

            if (AssistContainer.leader.baseAdd != 0)
            {
                tmp = AssistContainer.leader.Pos.differenceToPlayer();
                if (tmp < 3)
                {
                    clientConnect.requestResume();
                    Calls.StopRunning();
                    diff.Reset();
                    bool1 = false;
                }
                else
                {
                    if (ObjectManager.leader.movementState == 0x80000000)
                    {
                        if (!bool1)
                        {
                            diff.Reset();
                            bool1 = true;
                        }
                        else
                        {
                            if (diff.IsReady())
                            {
                                AssistContainer.forceTele = true;
                            }
                        }
                    }
                    else
                    {
                        diff.Reset();
                    }
                    Ingame.moveForward();
                }
                if (!Calls.IsFacing(AssistContainer.leader.Pos))
                {
                    Calls.TurnCharacter(AssistContainer.leader.Pos);
                }
            }
        }