当前位置: 首页>>代码示例>>C++>>正文


C++ ArenaTeam::GetBattleRating方法代码示例

本文整理汇总了C++中ArenaTeam::GetBattleRating方法的典型用法代码示例。如果您正苦于以下问题:C++ ArenaTeam::GetBattleRating方法的具体用法?C++ ArenaTeam::GetBattleRating怎么用?C++ ArenaTeam::GetBattleRating使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在ArenaTeam的用法示例。


在下文中一共展示了ArenaTeam::GetBattleRating方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: HandleLeaveBattlefieldOpcode

void WorldSession::HandleLeaveBattlefieldOpcode(WorldPacket& recv_data)
{
    DEBUG_LOG("WORLD: Recvd CMSG_LEAVE_BATTLEFIELD Message");

    recv_data.read_skip<uint8>();                           // unk1
    recv_data.read_skip<uint8>();                           // unk2
    recv_data.read_skip<uint32>();                          // BattleGroundTypeId
    recv_data.read_skip<uint16>();                          // unk3

    // if(bgTypeId >= MAX_BATTLEGROUND_TYPES)               // cheating? but not important in this case
    //    return;

    // not allow leave battleground in combat
    if (_player->isInCombat())
        if (BattleGround* bg = _player->GetBattleGround())
            if (bg->GetStatus() != STATUS_WAIT_LEAVE)
                return;

    // check if arena is in progress when player leave and make player lose rating if is in progres
    if(BattleGround* bg = _player->GetBattleGround())
    {
        if(bg->isArena() && bg->isRated() && bg->GetStatus() != STATUS_WAIT_LEAVE)
        {
            ArenaTeam *team = sObjectMgr.GetArenaTeamById(bg->GetArenaTeamIdForTeam(bg->GetOtherTeam(_player->GetTeam())));
            if(team)
            {
                uint32 other_team_rating = team->GetBattleRating();
                team->MemberLost(_player, other_team_rating);
            }
        }
    }

    _player->LeaveBattleground();
}
开发者ID:TestWoW,项目名称:Pruebas,代码行数:34,代码来源:BattleGroundHandler.cpp


注:本文中的ArenaTeam::GetBattleRating方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。