aboutsummaryrefslogtreecommitdiff
path: root/engines/xeen/combat.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/xeen/combat.cpp')
-rw-r--r--engines/xeen/combat.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/engines/xeen/combat.cpp b/engines/xeen/combat.cpp
index 4e32d431a8..fca7fcb3ee 100644
--- a/engines/xeen/combat.cpp
+++ b/engines/xeen/combat.cpp
@@ -1342,11 +1342,11 @@ void Combat::attack(Character &c, RangeType rangeType) {
break;
}
- int numberOfAttacks = c.getCurrentLevel() / divisor;
+ int numberOfAttacks = c.getCurrentLevel() / divisor + 1;
damage = 0;
while (numberOfAttacks-- > 0) {
- if (hitMonster(c, RT_0))
+ if (hitMonster(c, RT_CLOSE))
damage += getMonsterDamage(c);
}
@@ -1593,7 +1593,7 @@ void Combat::quickFight() {
switch (c->_quickOption) {
case QUICK_ATTACK:
- attack(*c, RT_0);
+ attack(*c, RT_CLOSE);
break;
case QUICK_SPELL:
if (c->_currentSpell != -1) {
@@ -1720,7 +1720,7 @@ void Combat::getWeaponDamage(Character &c, RangeType rangeType) {
}
int Combat::getMonsterDamage(Character &c) {
- return (c.statBonus(c.getStat(MIGHT)) + _weaponDamage) < 1;
+ return MAX(c.statBonus(c.getStat(MIGHT)) + _weaponDamage, 1);
}
int Combat::getDamageScale(int v) {
@@ -1739,7 +1739,7 @@ int Combat::getMonsterResistence(RangeType rangeType) {
MonsterStruct &monsterData = *monster._monsterData;
int resistence = 0, damage = 0;
- if (rangeType != RT_0 && rangeType != RT_3) {
+ if (rangeType != RT_CLOSE && rangeType != RT_3) {
switch (_damageType) {
case DT_PHYSICAL:
resistence = monsterData._phsyicalResistence;