From a38b4c6f5190627a706ead240475490d79cfa2f3 Mon Sep 17 00:00:00 2001 From: qndel Date: Tue, 7 Jan 2020 21:15:04 +0100 Subject: [PATCH] [hellfire] AddShrine bin exact --- Source/objects.cpp | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/Source/objects.cpp b/Source/objects.cpp index ddcaad49b..42b8192b0 100644 --- a/Source/objects.cpp +++ b/Source/objects.cpp @@ -1143,8 +1143,13 @@ void AddBarrel(int i, int t) void AddShrine(int i) { - int val, j, slist[NUM_SHRINETYPE]; - + int val; + DIABOOL slist[NUM_SHRINETYPE]; +#ifdef HELLFIRE + unsigned int j; +#else + int j; +#endif object[i]._oPreFlag = TRUE; for (j = 0; j < NUM_SHRINETYPE; j++) { if (currlevel < shrinemin[j] || currlevel > shrinemax[j]) { @@ -1152,22 +1157,16 @@ void AddShrine(int i) } else { slist[j] = 1; } - if (gbMaxPlayers != 1) { - if (shrineavail[j] == 1) { - slist[j] = 0; - } - } else { - if (shrineavail[j] == 2) { - slist[j] = 0; - } + if (gbMaxPlayers != 1 && shrineavail[j] == 1) { + slist[j] = 0; } - } - while (1) { - val = random_(150, NUM_SHRINETYPE); - if (slist[val]) { - break; + if (gbMaxPlayers == 1 && shrineavail[j] == 2) { + slist[j] = 0; } } + do { + val = random_(150, NUM_SHRINETYPE); + } while (!slist[val]); object[i]._oVar1 = val; if (random_(150, 2)) {