summaryrefslogtreecommitdiffstats
path: root/src/Generating/PrefabPiecePool.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Generating/PrefabPiecePool.cpp')
-rw-r--r--src/Generating/PrefabPiecePool.cpp14
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[]
}