diff --git a/Source/monster.cpp b/Source/monster.cpp index 9b665180d..ecf6bf42e 100644 --- a/Source/monster.cpp +++ b/Source/monster.cpp @@ -3577,15 +3577,17 @@ tl::expected InitMonsters() numscattypes++; } } - while (ActiveMonsterCount < totalmonsters) { - const size_t typeIndex = scattertypes[GenerateRnd(numscattypes)]; - if (currlevel == 1 || FlipCoin()) - na = 1; - else if (currlevel == 2 || leveltype == DTYPE_CRYPT) - na = GenerateRnd(2) + 2; - else - na = GenerateRnd(3) + 3; - PlaceGroup(typeIndex, na); + if (numscattypes > 0) { + while (ActiveMonsterCount < totalmonsters) { + const size_t typeIndex = scattertypes[GenerateRnd(numscattypes)]; + if (currlevel == 1 || FlipCoin()) + na = 1; + else if (currlevel == 2 || leveltype == DTYPE_CRYPT) + na = GenerateRnd(2) + 2; + else + na = GenerateRnd(3) + 3; + PlaceGroup(typeIndex, na); + } } } for (int i = 0; i < nt; i++) {