aboutsummaryrefslogtreecommitdiff
path: root/src/game/MapManager.cpp
diff options
context:
space:
mode:
authorclick <none@none>2010-05-04 18:25:30 +0200
committerclick <none@none>2010-05-04 18:25:30 +0200
commit029e4804543c473f3b8cf98cfbecc91675dc4b78 (patch)
tree5a4f006e4f75d6ba6738b4d868b52b33e30c8936 /src/game/MapManager.cpp
parent51d0c07c90690925e03a8d5e75decc2e1410c57e (diff)
Add stricter regulations for instances (login-checks and support for sending unbound player to parent-instance / homebind if not matching criterias)
Patch by Elron103 - closes issue #1323. --HG-- branch : trunk
Diffstat (limited to 'src/game/MapManager.cpp')
-rw-r--r--src/game/MapManager.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/game/MapManager.cpp b/src/game/MapManager.cpp
index 49aba69a8c1..75a7697279b 100644
--- a/src/game/MapManager.cpp
+++ b/src/game/MapManager.cpp
@@ -157,7 +157,7 @@ Map* MapManager::FindMap(uint32 mapid, uint32 instanceId) const
return ((MapInstanced*)map)->FindMap(instanceId);
}
-bool MapManager::CanPlayerEnter(uint32 mapid, Player* player)
+bool MapManager::CanPlayerEnter(uint32 mapid, Player* player, bool loginCheck)
{
const MapEntry *entry = sMapStore.LookupEntry(mapid);
if (!entry)
@@ -263,7 +263,7 @@ bool MapManager::CanPlayerEnter(uint32 mapid, Player* player)
int8 maxPlayers = mapDiff ? mapDiff->maxPlayers : 0;
if (maxPlayers != -1) //-1: unlimited access
{
- if (boundedMap->GetPlayersCountExceptGMs() >= maxPlayers)
+ if (loginCheck ? boundedMap->GetPlayersCountExceptGMs() > maxPlayers : boundedMap->GetPlayersCountExceptGMs() >= maxPlayers)
{
sLog.outDebug("MAP: Player '%s' can't enter instance '%s' because it's full.", player->GetName(), mapName);
player->SendTransferAborted(mapid, TRANSFER_ABORT_MAX_PLAYERS);