本文整理汇总了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();
}