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();
                     }
                 }
             }
         }
     }
 }
Пример #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)
                    {
                        GrindbotContainer.IsStuck = true;
                        StuckCounter = 0;
                    }
                }
            }
            Ingame.moveForward();
            Calls.TurnCharacter(Data.Profile[Data.curWp]);
        }
Пример #3
0
        public override void Run()
        {
            Objects.UnitObject tmpMob = ObjectManager.GetNextLoot();

            if (tmpMob.baseAdd != 0)
            {
                CurLootMob = tmpMob.guid;
                if (CurLootMob != OldLootMob)
                {
                    OldLootMob  = CurLootMob;
                    LootTryOuts = 0;
                }

                if (LootTryOuts < 10)
                {
                    if (ObjectManager.PlayerObject.targetGuid != tmpMob.guid)
                    {
                        Calls.SetTarget(tmpMob.guid);
                    }
                    else
                    {
                        float diff = ObjectManager.PlayerObject.Pos.differenceTo(tmpMob.Pos);
                        if (diff > 3)
                        {
                            Calls.TurnCharacter(tmpMob.Pos);
                            if (!Calls.MovementContainsFlag((uint)Offsets.movementFlags.Forward))
                            {
                                Ingame.moveForward();
                            }
                        }
                        else
                        {
                            Calls.DoString("DoEmote('stand')");
                            Calls.StopRunning();
                        }

                        if (LootClickTimer.IsReady())
                        {
                            if (diff <= 5)
                            {
                                Calls.OnRightClickUnit(tmpMob.baseAdd, 1);
                            }
                            LootTryOuts = LootTryOuts + 1;
                        }
                    }
                }
                else
                {
                    if (!ObjectManager.BlacklistedLoot.Contains(tmpMob.guid))
                    {
                        ObjectManager.BlacklistedLoot.Add(tmpMob.guid);
                    }
                }
            }
        }
Пример #4
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);
                }
            }
        }