[Scummvm-git-logs] scummvm master -> 76087929372e98b014cadd799f65230a8f463ae6

dreammaster dreammaster at scummvm.org
Tue Mar 27 02:35:49 CEST 2018


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
7608792937 XEEN: Fix non-physical monster attacks causing damage


Commit: 76087929372e98b014cadd799f65230a8f463ae6
    https://github.com/scummvm/scummvm/commit/76087929372e98b014cadd799f65230a8f463ae6
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2018-03-26T20:35:45-04:00

Commit Message:
XEEN: Fix non-physical monster attacks causing damage

Changed paths:
    engines/xeen/combat.cpp


diff --git a/engines/xeen/combat.cpp b/engines/xeen/combat.cpp
index 30ea94e..3a248e5 100644
--- a/engines/xeen/combat.cpp
+++ b/engines/xeen/combat.cpp
@@ -324,7 +324,7 @@ void Combat::doCharDamage(Character &c, int charNum, int monsterDataIndex) {
 	intf._charPowSprites.draw(0, frame, Common::Point(Res.CHAR_FACES_X[charNum], 150));
 	windows[33].update();
 
-	damage -= party._powerShield;
+	damage = MAX(damage - party._powerShield, 0);
 	if (damage > 0 && monsterData._specialAttack && !c.charSavingThrow(DT_PHYSICAL)) {
 		switch (monsterData._specialAttack) {
 		case SA_POISON:
@@ -427,15 +427,15 @@ void Combat::doCharDamage(Character &c, int charNum, int monsterDataIndex) {
 		default:
 			break;
 		}
-
-		if (debugger._invincible)
-			// Invincibility mode is on, so reset conditions that were set
-			c.clearConditions();
-		else
-			// Standard gameplay, deal out the damage
-			c.subtractHitPoints(damage);
 	}
 
+	if (debugger._invincible)
+		// Invincibility mode is on, so reset conditions that were set
+		c.clearConditions();
+	else
+		// Standard gameplay, deal out the damage
+		c.subtractHitPoints(damage);
+
 	events.ipause(2);
 	intf.drawParty(true);
 }





More information about the Scummvm-git-logs mailing list