As of patch 3.3.0:

Players below level 10 may not join raids.
This commit is contained in:
unknown 2011-04-09 19:41:29 +04:00
parent eb497a636b
commit 71add7c73b
8 changed files with 70 additions and 41 deletions

View file

@ -81,11 +81,13 @@ void WorldSession::HandleGroupInviteOpcode( WorldPacket & recv_data )
SendPartyResult(PARTY_OP_INVITE, membername, ERR_PLAYER_WRONG_FACTION);
return;
}
if(GetPlayer()->GetInstanceId() != 0 && player->GetInstanceId() != 0 && GetPlayer()->GetInstanceId() != player->GetInstanceId() && GetPlayer()->GetMapId() == player->GetMapId())
{
SendPartyResult(PARTY_OP_INVITE, membername, ERR_TARGET_NOT_IN_INSTANCE_S);
return;
}
// just ignore us
if(player->GetSocial()->HasIgnore(GetPlayer()->GetObjectGuid()))
{
@ -97,6 +99,12 @@ void WorldSession::HandleGroupInviteOpcode( WorldPacket & recv_data )
if( group && group->isBGGroup() )
group = GetPlayer()->GetOriginalGroup();
if(group && group->isRaidGroup() && !player->GetAllowLowLevelRaid() && (player->getLevel() < sWorld.getConfig(CONFIG_UINT32_MIN_LEVEL_FOR_RAID)))
{
SendPartyResult(PARTY_OP_INVITE, "", ERR_RAID_DISALLOWED_BY_LEVEL);
return;
}
Group *group2 = player->GetGroup();
if( group2 && group2->isBGGroup() )
group2 = player->GetOriginalGroup();
@ -938,3 +946,13 @@ void WorldSession::HandleOptOutOfLootOpcode( WorldPacket & recv_data )
if(unkn != 0)
sLog.outError("CMSG_GROUP_PASS_ON_LOOT: activation not implemented!");
}
void WorldSession::HandleSetAllowLowLevelRaidOpcode( WorldPacket & recv_data )
{
DEBUG_LOG("WORLD: Received CMSG_SET_ALLOW_LOW_LEVEL_RAID: %4X", recv_data.GetOpcode());
uint8 allow;
recv_data >> allow;
GetPlayer()->SetAllowLowLevelRaid(allow);
}