From be89b3bf34e8ca123e662761e0ba7623cc7d8aa6 Mon Sep 17 00:00:00 2001 From: Eric Robinson Date: Sun, 16 Mar 2025 19:18:23 -0400 Subject: [PATCH] Fix crash related to Monster placement --- Source/monster.cpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) 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++) {