aboutsummaryrefslogtreecommitdiff
path: root/src/server/game
diff options
context:
space:
mode:
authorAokromes <Aokromes@users.noreply.github.com>2016-08-01 10:43:49 +0200
committerGitHub <noreply@github.com>2016-08-01 10:43:49 +0200
commitbfda0ba91d2b686177f471052637f837f8a6c1c4 (patch)
treea3541f69f4bc605dde9ee8275ba62c7a5f27d250 /src/server/game
parent0d91ccf6bd066d64283e4b31fc005584682c4107 (diff)
Core/Player: New PartyLevelReq setting (#17707)
Diffstat (limited to 'src/server/game')
-rw-r--r--src/server/game/Handlers/GroupHandler.cpp6
-rw-r--r--src/server/game/World/World.cpp1
-rw-r--r--src/server/game/World/World.h1
3 files changed, 8 insertions, 0 deletions
diff --git a/src/server/game/Handlers/GroupHandler.cpp b/src/server/game/Handlers/GroupHandler.cpp
index 1c1982600ca..5957124f929 100644
--- a/src/server/game/Handlers/GroupHandler.cpp
+++ b/src/server/game/Handlers/GroupHandler.cpp
@@ -113,6 +113,12 @@ void WorldSession::HandleGroupInviteOpcode(WorldPacket& recvData)
return;
}
+ if (!player->GetSocial()->HasFriend(GetPlayer()->GetGUID().GetCounter()) && player->getLevel() < sWorld->getIntConfig(CONFIG_PARTY_LEVEL_REQ))
+ {
+ SendPartyResult(PARTY_OP_INVITE, membername, ERR_INVITE_RESTRICTED);
+ return;
+ }
+
Group* group = GetPlayer()->GetGroup();
if (group && group->isBGGroup())
group = GetPlayer()->GetOriginalGroup();
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp
index de63aec92b6..aa08261db58 100644
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -596,6 +596,7 @@ void World::LoadConfigSettings(bool reload)
m_int_configs[CONFIG_CHAT_CHANNEL_LEVEL_REQ] = sConfigMgr->GetIntDefault("ChatLevelReq.Channel", 1);
m_int_configs[CONFIG_CHAT_WHISPER_LEVEL_REQ] = sConfigMgr->GetIntDefault("ChatLevelReq.Whisper", 1);
m_int_configs[CONFIG_CHAT_SAY_LEVEL_REQ] = sConfigMgr->GetIntDefault("ChatLevelReq.Say", 1);
+ m_int_configs[CONFIG_PARTY_LEVEL_REQ] = sConfigMgr->GetIntDefault("PartyLevelReq", 1);
m_int_configs[CONFIG_TRADE_LEVEL_REQ] = sConfigMgr->GetIntDefault("LevelReq.Trade", 1);
m_int_configs[CONFIG_TICKET_LEVEL_REQ] = sConfigMgr->GetIntDefault("LevelReq.Ticket", 1);
m_int_configs[CONFIG_AUCTION_LEVEL_REQ] = sConfigMgr->GetIntDefault("LevelReq.Auction", 1);
diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h
index 73a4ca68426..c4f5f3df719 100644
--- a/src/server/game/World/World.h
+++ b/src/server/game/World/World.h
@@ -282,6 +282,7 @@ enum WorldIntConfigs
CONFIG_CHAT_CHANNEL_LEVEL_REQ,
CONFIG_CHAT_WHISPER_LEVEL_REQ,
CONFIG_CHAT_SAY_LEVEL_REQ,
+ CONFIG_PARTY_LEVEL_REQ,
CONFIG_TRADE_LEVEL_REQ,
CONFIG_TICKET_LEVEL_REQ,
CONFIG_AUCTION_LEVEL_REQ,