From e7ffa882e6c8ede86732c2a0656c02a2d59b17db Mon Sep 17 00:00:00 2001 From: KPhoenix <68359262+kphoenix137@users.noreply.github.com> Date: Tue, 22 Nov 2022 21:26:42 -0500 Subject: [PATCH] Minor cleanup for MonsterAttackPlayer() (#5444) --- Source/monster.cpp | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/Source/monster.cpp b/Source/monster.cpp index 7c1cb9ec7..23b9aa68a 100644 --- a/Source/monster.cpp +++ b/Source/monster.cpp @@ -1119,6 +1119,20 @@ void CheckReflect(Monster &monster, Player &player, int &dam) M_StartHit(monster, player, mdam); } +int GetMinHit() +{ + switch (currlevel) { + case 16: + return 30; + case 15: + return 25; + case 14: + return 20; + default: + return 15; + } +} + void MonsterAttackPlayer(Monster &monster, Player &player, int hit, int minDam, int maxDam) { if (player._pHitPoints >> 6 <= 0 || player._pInvincible || HasAnyOf(player._pSpellFlags, SpellFlag::Etherealize)) @@ -1139,13 +1153,7 @@ void MonsterAttackPlayer(Monster &monster, Player &player, int hit, int minDam, hit += 2 * (monster.level(sgGameInitInfo.nDifficulty) - player._pLevel) + 30 - ac; - int minhit = 15; - if (currlevel == 14) - minhit = 20; - if (currlevel == 15) - minhit = 25; - if (currlevel == 16) - minhit = 30; + int minhit = GetMinHit(); hit = std::max(hit, minhit); int blkper = 100; if ((player._pmode == PM_STAND || player._pmode == PM_ATTACK) && player._pBlockFlag) {