From befe132861b1995dfe776d4e134a90fc243d1a17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dami=C3=A1n=20Imrich?= Date: Thu, 8 Apr 2021 12:24:59 +0200 Subject: cPieceModifier interface and cPieceModifierRandomizeBlocks class (#5122) --- src/Generating/PrefabPiecePool.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/Generating/PrefabPiecePool.cpp') 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[] } -- cgit v1.2.3