aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Maps/MapInstanced.cpp
diff options
context:
space:
mode:
authortreeston <treeston.mmoc@gmail.com>2016-01-03 14:38:36 +0100
committertreeston <treeston.mmoc@gmail.com>2016-01-04 15:48:53 +0100
commit0f0a51b87a1c8c4c0809b9328a3ddb606b138c4b (patch)
treeab6b415add1b144345b4735e360fd5138ba326af /src/server/game/Maps/MapInstanced.cpp
parent8a0bbc386982612077e6f83f1816b02be757e371 (diff)
Game/Maps: Instance handling follow-up:
- Fix a bug where a player could maintain a conflicting non-perm solo bind if they were in the instance when invited to group. Closes #16150. - If a group is created while the leader is in an instance that nobody is bound to, the group will take over the instance and bind to it. This stops the homebind timer when reforming group after disconnects and the like.
Diffstat (limited to 'src/server/game/Maps/MapInstanced.cpp')
-rw-r--r--src/server/game/Maps/MapInstanced.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/server/game/Maps/MapInstanced.cpp b/src/server/game/Maps/MapInstanced.cpp
index 74d490bf941..47b9b376b1e 100644
--- a/src/server/game/Maps/MapInstanced.cpp
+++ b/src/server/game/Maps/MapInstanced.cpp
@@ -163,7 +163,11 @@ Map* MapInstanced::CreateInstanceForPlayer(const uint32 mapId, Player* player, u
{
groupBind = group->GetBoundInstance(this);
if (groupBind)
+ {
+ // solo saves should be reset when entering a group's instance
+ player->UnbindInstance(GetId(), player->GetDifficulty(IsRaid()));
pSave = groupBind->save;
+ }
}
}
if (pSave)