Exemplo n.º 1
0
    static bool HandleGoTicketCommand(ChatHandler* handler, const char* args)
    {
        if (!*args)
            return false;

        char *sTicketId = strtok((char*)args, " ");
        if (!sTicketId)
            return false;

        uint32 ticketId = atoi(sTicketId);
        if (!ticketId)
            return false;

        GmTicket* ticket = sTicketMgr->GetTicket(ticketId);
        if (!ticket)
        {
            handler->SendSysMessage(LANG_COMMAND_TICKETNOTEXIST);
            return true;
        }

        Player* _player = handler->GetSession()->GetPlayer();
        if (_player->isInFlight())
        {
            _player->GetMotionMaster()->MovementExpired();
            _player->CleanupAfterTaxiFlight();
        }
        else
            _player->SaveRecallPosition();

        ticket->TeleportTo(_player);
        return true;
    }