mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2026-10-31 08:57:13 +00:00
fix(level): scene objects of LOT 1 are not loaded, as in the client
ReadLvlObjectData (1.10.64, 0x0103ba20) loads every scene object except those of LOT 1 (the player). The world spawned them; now it skips them. No live scene has one; one older client scene file has two. Check in game: nothing to check (no live scene has LOT 1 objects). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -132,8 +132,9 @@ void Level::LoadSceneObjects(const std::vector<SceneObject>& objects) {
|
|||||||
Game::zoneManager->GetZoneMut()->SetSpawnRot(obj.rotation);
|
Game::zoneManager->GetZoneMut()->SetSpawnRot(obj.rotation);
|
||||||
}
|
}
|
||||||
|
|
||||||
// We should never have more than 1 zone control object
|
// We should never have more than 1 zone control object; and the client never loads a scene object of LOT 1 (the
|
||||||
bool skipLoadingObject = obj.lot == zoneControlObject->GetLOT();
|
// player; ReadLvlObjectData)
|
||||||
|
bool skipLoadingObject = obj.lot == zoneControlObject->GetLOT() || obj.lot == 1;
|
||||||
for (const auto& data : obj.settings | std::views::values) {
|
for (const auto& data : obj.settings | std::views::values) {
|
||||||
if (!data) continue;
|
if (!data) continue;
|
||||||
if (data->GetKey() == u"gatingOnFeature") {
|
if (data->GetKey() == u"gatingOnFeature") {
|
||||||
|
|||||||
Reference in New Issue
Block a user