protected virtual void DeleteMessage()
        {
            bool deletePermanently = false;

            //if we are deleting from the deleted folder, permanently delete it
            if (CurrentMailbox.Equals(FolderParameters.Deleted))
            {
                deletePermanently = true;
            }

            MailService.DeleteMessage(Message, deletePermanently);
        }
Ejemplo n.º 2
0
        public void Execute()
        {
            if (!CheckedMails)
            {
                if (CurrentMailbox.GetDistance(Bot.Player.Position) > 3.5f)
                {
                    Bot.Movement.SetMovementAction(MovementAction.Move, CurrentMailbox);
                }
                else
                {
                    Bot.Movement.StopMovement();

                    IWowGameobject mailbox = Bot.Objects.WowObjects.OfType <IWowGameobject>()
                                             .FirstOrDefault(e => e.GameObjectType == WowGameObjectType.Mailbox && e.Position.GetDistance(CurrentMailbox) < 1.0f);

                    if (mailbox != null)
                    {
                        Bot.Wow.InteractWithObject(mailbox.BaseAddress);
                        Bot.Wow.LuaDoString("for i=1,GetInboxNumItems()do AutoLootMailItem(i)end");
                    }

                    CheckedMails     = true;
                    MailboxCheckTime = DateTime.UtcNow + TimeSpan.FromSeconds(Rnd.Next(7, 16));
                }
            }
            else if (!ReturnedToOrigin && MailboxCheckTime < DateTime.UtcNow)
            {
                if (CurrentMailbox.GetDistance(OriginPosition) > 8.0f)
                {
                    Bot.Movement.SetMovementAction(MovementAction.Move, OriginPosition);
                }
                else
                {
                    Bot.Movement.StopMovement();
                    ReturnedToOrigin = true;
                }
            }
        }
        public void Execute()
        {
            if (!CheckedMails)
            {
                if (CurrentMailbox.GetDistance(WowInterface.I.ObjectManager.Player.Position) > 3.5f)
                {
                    WowInterface.I.MovementEngine.SetMovementAction(MovementAction.Moving, CurrentMailbox);
                }
                else
                {
                    WowInterface.I.MovementEngine.StopMovement();

                    WowGameobject mailbox = WowInterface.I.ObjectManager.WowObjects.OfType <WowGameobject>()
                                            .FirstOrDefault(e => e.GameobjectType == WowGameobjectType.Mailbox && e.Position.GetDistance(CurrentMailbox) < 1.0f);

                    if (mailbox != null)
                    {
                        WowInterface.I.HookManager.WowObjectRightClick(mailbox);
                        WowInterface.I.HookManager.LuaDoString("for i=1,GetInboxNumItems()do AutoLootMailItem(i)end");
                    }

                    CheckedMails     = true;
                    MailboxCheckTime = DateTime.UtcNow + TimeSpan.FromSeconds(Rnd.Next(7, 16));
                }
            }
            else if (!ReturnedToOrigin && MailboxCheckTime < DateTime.UtcNow)
            {
                if (CurrentMailbox.GetDistance(OriginPosition) > 8.0f)
                {
                    WowInterface.I.MovementEngine.SetMovementAction(MovementAction.Moving, OriginPosition);
                }
                else
                {
                    WowInterface.I.MovementEngine.StopMovement();
                    ReturnedToOrigin = true;
                }
            }
        }