aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Groups/Group.cpp18
-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.dist10
4 files changed, 26 insertions, 6 deletions
diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp
index f43e49a3440..8ec6aac9d4e 100644
--- a/src/server/game/Groups/Group.cpp
+++ b/src/server/game/Groups/Group.cpp
@@ -1943,10 +1943,22 @@ void Group::ResetInstances(uint8 method, bool isRaid, Player* SendMsgTo)
if (SendMsgTo)
{
- if (isEmpty)
- SendMsgTo->SendResetInstanceSuccess(instanceSave->GetMapId());
- else
+ if (!isEmpty)
SendMsgTo->SendResetInstanceFailed(0, instanceSave->GetMapId());
+ else if (sWorld->getBoolConfig(CONFIG_INSTANCES_RESET_ANNOUNCE))
+ {
+ if (Group* group = SendMsgTo->GetGroup())
+ {
+ for (GroupReference* itr = group->GetFirstMember(); itr != NULL; itr = itr->next())
+ if (Player* player = itr->GetSource())
+ player->SendResetInstanceSuccess(instanceSave->GetMapId());
+ }
+
+ else
+ SendMsgTo->SendResetInstanceSuccess(instanceSave->GetMapId());
+ }
+ else
+ SendMsgTo->SendResetInstanceSuccess(instanceSave->GetMapId());
}
if (isEmpty || method == INSTANCE_RESET_GROUP_DISBAND || method == INSTANCE_RESET_CHANGE_DIFFICULTY)
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp
index bfc512bc9a6..9e7b1f2f2b5 100644
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -1206,6 +1206,9 @@ void World::LoadConfigSettings(bool reload)
// Max instances per hour
m_int_configs[CONFIG_MAX_INSTANCES_PER_HOUR] = sConfigMgr->GetIntDefault("AccountInstancesPerHour", 5);
+ // Anounce reset of instance to whole party
+ m_bool_configs[CONFIG_INSTANCES_RESET_ANNOUNCE] = sConfigMgr->GetBoolDefault("InstancesResetAnnounce", false);
+
// AutoBroadcast
m_bool_configs[CONFIG_AUTOBROADCAST] = sConfigMgr->GetBoolDefault("AutoBroadcast.On", false);
m_int_configs[CONFIG_AUTOBROADCAST_CENTER] = sConfigMgr->GetIntDefault("AutoBroadcast.Center", 0);
diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h
index edcabf71095..9435fa8aa94 100644
--- a/src/server/game/World/World.h
+++ b/src/server/game/World/World.h
@@ -160,6 +160,7 @@ enum WorldBoolConfigs
CONFIG_UI_QUESTLEVELS_IN_DIALOGS, // Should we add quest levels to the title in the NPC dialogs?
CONFIG_EVENT_ANNOUNCE,
CONFIG_STATS_LIMITS_ENABLE,
+ CONFIG_INSTANCES_RESET_ANNOUNCE,
BOOL_CONFIG_VALUE_COUNT
};
diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist
index cd9c475c5a2..62008a3eb38 100644
--- a/src/server/worldserver/worldserver.conf.dist
+++ b/src/server/worldserver/worldserver.conf.dist
@@ -907,6 +907,13 @@ Instance.ResetTimeHour = 4
Instance.UnloadDelay = 1800000
#
+# InstancesResetAnnounce
+# Description: Announce the reset of one instance to whole party.
+# Default: false - (Disabled, don't show, blizzlike)
+# true - (Enabled, show)
+
+InstancesResetAnnounce = false
+#
# Quests.LowLevelHideDiff
# Description: Level difference between player and quest level at which quests are
# considered low-level and are not shown via exclamation mark (!) at quest
@@ -1213,7 +1220,6 @@ Warden.BanDuration = 86400
###################################################################################################
# PLAYER INTERACTION
#
-#
# AllowTwoSide.Interaction.Calendar
# Description: Allow calendar invites between factions.
# Default: 0 - (Disabled)
@@ -2639,7 +2645,6 @@ UI.ShowQuestLevelsInDialogs = 0
###################################################################################################
###################################################################################################
-#
# LOGGING SYSTEM SETTINGS
#
# Appender config values: Given a appender "name"
@@ -2828,7 +2833,6 @@ Log.Async.Enable = 0
###################################################################################################
###################################################################################################
-#
# PACKET SPOOF PROTECTION SETTINGS
#
# These settings determine which action to take when harmful packet spoofing is detected.