aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Groups/Group.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Groups/Group.cpp')
-rw-r--r--src/server/game/Groups/Group.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp
index 03bfe56ac3e..c7bc229f4a9 100644
--- a/src/server/game/Groups/Group.cpp
+++ b/src/server/game/Groups/Group.cpp
@@ -1991,10 +1991,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)