aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/DungeonFinding/LFGScripts.cpp
diff options
context:
space:
mode:
authorSpp <none@none>2010-12-23 06:06:24 +0100
committerSpp <none@none>2010-12-23 06:06:24 +0100
commit067984ba9f63177763e2696399bdef1a0d1b61a5 (patch)
treead93354ce52afc16be46dad6812f053f57c7d556 /src/server/game/DungeonFinding/LFGScripts.cpp
parent0c8b07d3e52e7727b8a47138ff8cdedde486b166 (diff)
Core/Dungeon Finder: Reset player Locked Dungeons after change level or bind to heroic instance
Note: Actual DF system is not supposed to select a dungeon you are already saved to (core does not support someone to have multiple saves on the same instance) --HG-- branch : trunk
Diffstat (limited to 'src/server/game/DungeonFinding/LFGScripts.cpp')
-rw-r--r--src/server/game/DungeonFinding/LFGScripts.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/server/game/DungeonFinding/LFGScripts.cpp b/src/server/game/DungeonFinding/LFGScripts.cpp
index bedf2e7c43e..49a14ff8896 100644
--- a/src/server/game/DungeonFinding/LFGScripts.cpp
+++ b/src/server/game/DungeonFinding/LFGScripts.cpp
@@ -141,9 +141,9 @@ void LFGScripts::OnInviteMember(Group* group, uint64 guid)
sLFGMgr->Leave(NULL, group);
}
-void LFGScripts::OnLevelChanged(Player* /*player*/, uint8 /*newLevel*/)
+void LFGScripts::OnLevelChanged(Player* player, uint8 /*newLevel*/)
{
- // TODO - Invalidate LockStatus from cache
+ sLFGMgr->InitializeLockedDungeons(player);
}
void LFGScripts::OnLogout(Player* player)
@@ -163,3 +163,10 @@ void LFGScripts::OnLogin(Player* player)
sLFGMgr->InitializeLockedDungeons(player);
// TODO - Restore LfgPlayerData and send proper status to player if it was in a group
}
+
+void LFGScripts::OnBindToInstance(Player* player, Difficulty difficulty, uint32 mapId, bool permanent)
+{
+ MapEntry const* mapEntry = sMapStore.LookupEntry(mapId);
+ if (mapEntry->IsDungeon() && difficulty > DUNGEON_DIFFICULTY_NORMAL)
+ sLFGMgr->InitializeLockedDungeons(player);
+} \ No newline at end of file