diff options
author | treeston <treeston.mmoc@gmail.com> | 2016-02-10 22:23:39 +0100 |
---|---|---|
committer | treeston <treeston.mmoc@gmail.com> | 2016-02-10 22:23:39 +0100 |
commit | 62aff401f687b56d720a320778950e82b65fbd8b (patch) | |
tree | a82f939e3804fb955d54e202b07b660b68f88553 /src/server/game/Handlers/CalendarHandler.cpp | |
parent | 0a725e0e21806dfd456cb66bdc0293e14f0d25ed (diff) | |
parent | 6102a7937ddb0cf145c72fe056fc5ac4b4c3b1b5 (diff) |
Merge branch '3.3.5-instanceextend' into 3.3.5 (PR #16392)
Diffstat (limited to 'src/server/game/Handlers/CalendarHandler.cpp')
-rw-r--r-- | src/server/game/Handlers/CalendarHandler.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/server/game/Handlers/CalendarHandler.cpp b/src/server/game/Handlers/CalendarHandler.cpp index 8bd7086fc1b..540eeba0752 100644 --- a/src/server/game/Handlers/CalendarHandler.cpp +++ b/src/server/game/Handlers/CalendarHandler.cpp @@ -695,6 +695,21 @@ void WorldSession::HandleSetSavedInstanceExtend(WorldPacket& recvData) recvData >> mapId >> difficulty>> toggleExtend; TC_LOG_DEBUG("network", "CMSG_SET_SAVED_INSTANCE_EXTEND - MapId: %u, Difficulty: %u, ToggleExtend: %s", mapId, difficulty, toggleExtend ? "On" : "Off"); + if (Player* player = GetPlayer()) + { + InstancePlayerBind* instanceBind = player->GetBoundInstance(mapId, Difficulty(difficulty), toggleExtend == 1); // include expired instances if we are toggling extend on + if (!instanceBind || !instanceBind->save || !instanceBind->perm) + return; + + BindExtensionState newState; + if (!toggleExtend || instanceBind->extendState == EXTEND_STATE_EXPIRED) + newState = EXTEND_STATE_NORMAL; + else + newState = EXTEND_STATE_EXTENDED; + + player->BindToInstance(instanceBind->save, true, newState, false); + } + /* InstancePlayerBind* instanceBind = _player->GetBoundInstance(mapId, Difficulty(difficulty)); if (!instanceBind || !instanceBind->save) |