diff options
Diffstat (limited to 'src/Generating/PrefabPiecePool.cpp')
-rw-r--r-- | src/Generating/PrefabPiecePool.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/Generating/PrefabPiecePool.cpp b/src/Generating/PrefabPiecePool.cpp index 88e670026..67d464d13 100644 --- a/src/Generating/PrefabPiecePool.cpp +++ b/src/Generating/PrefabPiecePool.cpp @@ -615,6 +615,12 @@ bool cPrefabPiecePool::ReadPieceMetadataCubesetVer1( } a_Prefab->SetVerticalStrategyFromString(VerticalStrategy, a_LogWarnings); + AString ModifiersStr; + if (a_LuaState.GetNamedValue("Modifiers", ModifiersStr)) + { + a_Prefab->SetPieceModifiersFromString(ModifiersStr, a_LogWarnings); + } + return true; } @@ -744,6 +750,14 @@ void cPrefabPiecePool::AssignGens(int a_Seed, cBiomeGen & a_BiomeGen, cTerrainHe { verticalLimit->AssignGens(a_Seed, a_BiomeGen, a_HeightGen, a_SeaLevel); } + auto modifiers = piece->GetModifiers(); + if (modifiers.size() > 0) + { + for (size_t i = 0; i < modifiers.size(); i++) + { + modifiers[i]->AssignSeed(a_Seed); + } + } } // for piece - m_AllPieces[] } |