Got this exception during world generation with some custom POIs in mods folder.
Investigating the spawnWildernessPrefab function, I think its buggy for, say, prefabs that are 140x140.
Code:
2025-06-16T20:14:06 63.367 INF POISmoother SmoothStreetTiles in 1.664
ArgumentOutOfRangeException: ArgumentOutOfRange_MustBePositive
Parameter name: maxValue
at GameRandom.Next (System.Int32 maxValue) [0x00004] in <f178f105e046413fb968c6794a8df7e7>:0
at GameRandom.RandomRange (System.Int32 _min, System.Int32 _maxExclusive) [0x00000] in <f178f105e046413fb968c6794a8df7e7>:0
at WorldGenerationEngineFinal.StreetTile.spawnWildernessPrefab (PrefabData prefab, GameRandom rndm) [0x000a1] in <f178f105e046413fb968c6794a8df7e7>:0
at WorldGenerationEngineFinal.StreetTile.spawnWildernessPrefab () [0x00098] in <f178f105e046413fb968c6794a8df7e7>:0
at WorldGenerationEngineFinal.StreetTile.SpawnPrefabs () [0x0003c] in <f178f105e046413fb968c6794a8df7e7>:0
at WorldGenerationEngineFinal.WildernessPlanner+<Plan>d__4.MoveNext () [0x0020d] in <f178f105e046413fb968c6794a8df7e7>:0
at UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) [0x00026] in <be2cce08ca774b9684099a81093ecac0>:0
Investigating the spawnWildernessPrefab function, I think its buggy for, say, prefabs that are 140x140.
Code:
int num2 = prefab.size.x;
int num3 = prefab.size.z;
Vector2i vector2i;
if (num2 >= 150 || num3 >= 150)
{
vector2i = this.WorldPositionCenter - new Vector2i((num2 - 150) / 2, (num3 - 150) / 2);
}
else
{
vector2i.x = this.WorldPosition.x + rndm.RandomRange(14, 136 - num2);
vector2i.y = this.WorldPosition.y + rndm.RandomRange(14, 136 - num3);
}