mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-20 17:27:36 +01:00
Core/Maps: merged a crash fix for spawn group activation
* merged a change to recreate instance maps from orphaned saves
This commit is contained in:
@@ -3313,6 +3313,7 @@ bool Map::SpawnGroupSpawn(uint32 groupId, bool ignoreRespawn, bool force, std::v
|
||||
return false;
|
||||
}
|
||||
|
||||
SetSpawnGroupActive(groupId, true); // start processing respawns for the group
|
||||
for (auto& pair : sObjectMgr->GetSpawnDataForGroup(groupId))
|
||||
{
|
||||
SpawnData const* data = pair.second;
|
||||
@@ -3363,7 +3364,6 @@ bool Map::SpawnGroupSpawn(uint32 groupId, bool ignoreRespawn, bool force, std::v
|
||||
return false;
|
||||
}
|
||||
}
|
||||
SetSpawnGroupActive(groupId, true); // start processing respawns for the group
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -153,7 +153,9 @@ Map* MapInstanced::CreateInstanceForPlayer(uint32 mapId, Player* player, uint32
|
||||
if (loginInstanceId) // if the player has a saved instance id on login, we either use this instance or relocate him out (return null)
|
||||
{
|
||||
map = FindInstanceMap(loginInstanceId);
|
||||
return (map && map->GetId() == GetId()) ? map : nullptr; // is this check necessary? or does MapInstanced only find instances of itself?
|
||||
if (!map && pSave && pSave->GetInstanceId() == loginInstanceId)
|
||||
map = CreateInstance(loginInstanceId, pSave, pSave->GetDifficulty());
|
||||
return map;
|
||||
}
|
||||
|
||||
InstanceGroupBind* groupBind = nullptr;
|
||||
|
||||
Reference in New Issue
Block a user