diff options
| author | Nay <dnpd.dd@gmail.com> | 2012-10-07 14:57:18 +0100 |
|---|---|---|
| committer | Nay <dnpd.dd@gmail.com> | 2012-10-07 14:57:18 +0100 |
| commit | 44c2edee51ba9cec3c481007c5c659b1e2124058 (patch) | |
| tree | 59cbd3539bcb18f0c22a53c31cc9d9672c25ee35 /src/server/game/Handlers/LFGHandler.cpp | |
| parent | f570383fbadf12c02d2a3f323eadf5ca2417c3bd (diff) | |
| parent | 1a89de87c19936b18d45ec783a3244addb996062 (diff) | |
Merge remote-tracking branch 'origin/master' into 4.3.4
Conflicts:
src/server/game/DataStores/DBCStructure.h
src/server/game/DataStores/DBCfmt.h
src/server/game/Spells/SpellMgr.cpp
Diffstat (limited to 'src/server/game/Handlers/LFGHandler.cpp')
| -rwxr-xr-x | src/server/game/Handlers/LFGHandler.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/server/game/Handlers/LFGHandler.cpp b/src/server/game/Handlers/LFGHandler.cpp index b4f74735568..c2d8dbb8ee0 100755 --- a/src/server/game/Handlers/LFGHandler.cpp +++ b/src/server/game/Handlers/LFGHandler.cpp @@ -23,6 +23,7 @@ #include "LFGMgr.h" #include "ObjectMgr.h" #include "GroupMgr.h" +#include "GameEventMgr.h" #include "InstanceScript.h" void BuildPlayerLockDungeonBlock(WorldPacket& data, const LfgLockMap& lock) @@ -158,16 +159,25 @@ void WorldSession::HandleLfgPlayerLockInfoRequestOpcode(WorldPacket& /*recvData* sLog->outDebug(LOG_FILTER_NETWORKIO, "CMSG_LFD_PLAYER_LOCK_INFO_REQUEST [" UI64FMTD "]", guid); // Get Random dungeons that can be done at a certain level and expansion - // FIXME - Should return seasonals (when not disabled) LfgDungeonSet randomDungeons; uint8 level = GetPlayer()->getLevel(); uint8 expansion = GetPlayer()->GetSession()->Expansion(); for (uint32 i = 0; i < sLFGDungeonStore.GetNumRows(); ++i) { LFGDungeonEntry const* dungeon = sLFGDungeonStore.LookupEntry(i); - if (dungeon && dungeon->type == LFG_TYPE_RANDOM && dungeon->expansion <= expansion && - dungeon->minlevel <= level && level <= dungeon->maxlevel) + if (dungeon && dungeon->expansion <= expansion && dungeon->minlevel <= level && level <= dungeon->maxlevel) + { + if (dungeon->flags & LFG_FLAG_SEASONAL) + { + if (HolidayIds holiday = sLFGMgr->GetDungeonSeason(dungeon->ID)) + if (!IsHolidayActive(holiday)) + continue; + } + else if (dungeon->type != LFG_TYPE_RANDOM) + continue; + randomDungeons.insert(dungeon->Entry()); + } } // Get player locked Dungeons |
