Esempio n. 1
0
bool ChatHandler::HandleBGStopCommand(char* args)
{
    Player* pPlayer = m_session->GetPlayer();
    BattleGround* pBattleGround = pPlayer->GetBattleGround();

    Team WinTeam = TEAM_NONE;
    char* StrTeam = ExtractQuotedOrLiteralArg(&args);
    if (!StrTeam)
        WinTeam = pPlayer->GetTeam();
    else
    {
        std::string TeamStr(StrTeam);
        for (auto& i : TeamStr)
            i = std::towlower(i);

        if (TeamStr.find("alliance") != std::string::npos ||
            TeamStr.find("ally") != std::string::npos)
            WinTeam = ALLIANCE;
        else if (TeamStr.find("horde") != std::string::npos)
            WinTeam = HORDE;
        else
            WinTeam = pPlayer->GetTeam();
    }

    if (pPlayer && pBattleGround)
        pBattleGround->EndBattleGround(WinTeam);

    PSendSysMessage("Battleground was stopped instantly.");

    return true;
}