diff --git a/Source/missiles.cpp b/Source/missiles.cpp index f851fd0ea..04b57ac46 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -1177,7 +1177,7 @@ bool PlayerMHit(int pnum, Monster *monster, int dist, int mind, int maxd, missil dam = player._pHitPoints / 3; } else { if (!shift) { - dam = (mind << 6) + GenerateRnd((maxd - mind + 1) << 6); + dam = (mind << 6) + GenerateRnd(((maxd - mind) << 6) + 1); if (monster == nullptr) if ((player._pIFlags & ISPL_ABSHALFTRAP) != 0) dam /= 2; diff --git a/Source/monster.cpp b/Source/monster.cpp index 3fcadb0d1..22da320f4 100644 --- a/Source/monster.cpp +++ b/Source/monster.cpp @@ -1484,7 +1484,7 @@ void MonsterAttackPlayer(int i, int pnum, int hit, int minDam, int maxDam) Direction dir = GetDirection(player.position.tile, monster.position.tile); StartPlrBlock(pnum, dir); if (pnum == MyPlayerId && player.wReflections > 0) { - int dam = GenerateRnd((maxDam - minDam + 1) << 6) + (minDam << 6); + int dam = GenerateRnd(((maxDam - minDam) << 6) + 1) + (minDam << 6); dam = std::max(dam + (player._pIGetHit << 6), 64); CheckReflect(i, pnum, dam); } @@ -1504,7 +1504,7 @@ void MonsterAttackPlayer(int i, int pnum, int hit, int minDam, int maxDam) } } } - int dam = (minDam << 6) + GenerateRnd((maxDam - minDam + 1) << 6); + int dam = (minDam << 6) + GenerateRnd(((maxDam - minDam) << 6) + 1); dam = std::max(dam + (player._pIGetHit << 6), 64); if (pnum == MyPlayerId) { if (player.wReflections > 0)