From 067984ba9f63177763e2696399bdef1a0d1b61a5 Mon Sep 17 00:00:00 2001 From: Spp Date: Thu, 23 Dec 2010 06:06:24 +0100 Subject: 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 --- src/server/game/DungeonFinding/LFGScripts.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/server/game/DungeonFinding/LFGScripts.cpp') 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 -- cgit v1.2.3