aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Handlers/ChatHandler.cpp2
-rw-r--r--src/server/game/World/World.cpp3
-rw-r--r--src/server/game/World/World.h1
-rw-r--r--src/server/worldserver/worldserver.conf.dist8
4 files changed, 13 insertions, 1 deletions
diff --git a/src/server/game/Handlers/ChatHandler.cpp b/src/server/game/Handlers/ChatHandler.cpp
index bf724ae21ff..592c565a6f2 100644
--- a/src/server/game/Handlers/ChatHandler.cpp
+++ b/src/server/game/Handlers/ChatHandler.cpp
@@ -360,7 +360,7 @@ void WorldSession::HandleChatMessage(ChatMsg type, uint32 lang, std::string msg,
case CHAT_MSG_RAID_WARNING:
{
Group* group = GetPlayer()->GetGroup();
- if (!group || !group->isRaidGroup() || !(group->IsLeader(GetPlayer()->GetGUID()) || group->IsAssistant(GetPlayer()->GetGUID())) || group->isBGGroup())
+ if (!group || (group->isRaidGroup() && !(group->IsLeader(GetPlayer()->GetGUID()) || group->IsAssistant(GetPlayer()->GetGUID()))) || group->isBGGroup() || !sWorld->getBoolConfig(CONFIG_CHAT_PARTY_RAID_WARNINGS))
return;
sScriptMgr->OnPlayerChat(GetPlayer(), type, lang, msg, group);
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp
index bafc5207656..4484e3c1f87 100644
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -1490,6 +1490,9 @@ void World::LoadConfigSettings(bool reload)
// prevent character rename on character customization
m_bool_configs[CONFIG_PREVENT_RENAME_CUSTOMIZATION] = sConfigMgr->GetBoolDefault("PreventRenameCharacterOnCustomization", false);
+ // Allow 5-man parties to use raid warnings
+ m_bool_configs[CONFIG_CHAT_PARTY_RAID_WARNINGS] = sConfigMgr->GetBoolDefault("PartyRaidWarnings", false);
+
// Check Invalid Position
m_bool_configs[CONFIG_CREATURE_CHECK_INVALID_POSITION] = sConfigMgr->GetBoolDefault("Creature.CheckInvalidPosition", false);
m_bool_configs[CONFIG_GAME_OBJECT_CHECK_INVALID_POSITION] = sConfigMgr->GetBoolDefault("GameObject.CheckInvalidPosition", false);
diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h
index e7eb8c84d4c..0959309b641 100644
--- a/src/server/game/World/World.h
+++ b/src/server/game/World/World.h
@@ -122,6 +122,7 @@ enum WorldBoolConfigs
CONFIG_SAVE_RESPAWN_TIME_IMMEDIATELY,
CONFIG_WEATHER,
CONFIG_QUEST_IGNORE_RAID,
+ CONFIG_CHAT_PARTY_RAID_WARNINGS,
CONFIG_DETECT_POS_COLLISION,
CONFIG_RESTRICTED_LFG_CHANNEL,
CONFIG_CHAT_FAKE_MESSAGE_PREVENTING,
diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist
index 172fe4c844f..61a0df25d5a 100644
--- a/src/server/worldserver/worldserver.conf.dist
+++ b/src/server/worldserver/worldserver.conf.dist
@@ -1835,6 +1835,14 @@ PreserveCustomChannels = 1
PreserveCustomChannelDuration = 14
#
+# PartyRaidWarnings
+# Description: Allow any user to use raid warnings when in a 5-man party.
+# Default: 0 - (Disabled, Blizzlike)
+# 1 - (Enabled)
+
+PartyRaidWarnings = 0
+
+#
###################################################################################################
###################################################################################################