Fixed negative healing when player has limiting effects.
Contributed by Sahar.
This commit is contained in:
		| @@ -66,12 +66,12 @@ public class Cp extends AbstractEffect | ||||
| 		{ | ||||
| 			case DIFF: | ||||
| 			{ | ||||
| 				amount = Math.min(basicAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp()); | ||||
| 				amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableCp() - effected.getCurrentCp())); | ||||
| 				break; | ||||
| 			} | ||||
| 			case PER: | ||||
| 			{ | ||||
| 				amount = Math.min((effected.getMaxCp() * basicAmount) / 100.0, effected.getMaxRecoverableCp() - effected.getCurrentCp()); | ||||
| 				amount = Math.min((effected.getMaxCp() * basicAmount) / 100.0, Math.max(0, effected.getMaxRecoverableCp() - effected.getCurrentCp())); | ||||
| 				break; | ||||
| 			} | ||||
| 		} | ||||
|   | ||||
| @@ -125,7 +125,7 @@ public class Heal extends AbstractEffect | ||||
| 		} | ||||
| 		 | ||||
| 		// Prevents overheal | ||||
| 		amount = Math.min(amount, effected.getMaxRecoverableHp() - effected.getCurrentHp()); | ||||
| 		amount = Math.min(amount, Math.max(0, effected.getMaxRecoverableHp() - effected.getCurrentHp())); | ||||
| 		if (amount != 0) | ||||
| 		{ | ||||
| 			final double newHp = amount + effected.getCurrentHp(); | ||||
|   | ||||
| @@ -70,7 +70,7 @@ public class HealPercent extends AbstractEffect | ||||
| 		} | ||||
| 		 | ||||
| 		// Prevents overheal | ||||
| 		amount = Math.min(amount, effected.getMaxRecoverableHp() - effected.getCurrentHp()); | ||||
| 		amount = Math.min(amount, Math.max(0, effected.getMaxRecoverableHp() - effected.getCurrentHp())); | ||||
| 		if (amount >= 0) | ||||
| 		{ | ||||
| 			if (amount != 0) | ||||
|   | ||||
| @@ -66,12 +66,12 @@ public class Hp extends AbstractEffect | ||||
| 		{ | ||||
| 			case DIFF: | ||||
| 			{ | ||||
| 				amount = Math.min(basicAmount, effected.getMaxRecoverableHp() - effected.getCurrentHp()); | ||||
| 				amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableHp() - effected.getCurrentHp())); | ||||
| 				break; | ||||
| 			} | ||||
| 			case PER: | ||||
| 			{ | ||||
| 				amount = Math.min((effected.getMaxHp() * basicAmount) / 100.0, effected.getMaxRecoverableHp() - effected.getCurrentHp()); | ||||
| 				amount = Math.min((effected.getMaxHp() * basicAmount) / 100.0, Math.max(0, effected.getMaxRecoverableHp() - effected.getCurrentHp())); | ||||
| 				break; | ||||
| 			} | ||||
| 		} | ||||
|   | ||||
| @@ -70,7 +70,7 @@ public class ManaHealPercent extends AbstractEffect | ||||
| 		} | ||||
| 		 | ||||
| 		// Prevents overheal | ||||
| 		amount = Math.min(amount, effected.getMaxRecoverableMp() - effected.getCurrentMp()); | ||||
| 		amount = Math.min(amount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp())); | ||||
| 		if (amount != 0) | ||||
| 		{ | ||||
| 			final double newMp = amount + effected.getCurrentMp(); | ||||
|   | ||||
| @@ -66,12 +66,12 @@ public class Mp extends AbstractEffect | ||||
| 		{ | ||||
| 			case DIFF: | ||||
| 			{ | ||||
| 				amount = Math.min(basicAmount, effected.getMaxRecoverableMp() - effected.getCurrentMp()); | ||||
| 				amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp())); | ||||
| 				break; | ||||
| 			} | ||||
| 			case PER: | ||||
| 			{ | ||||
| 				amount = Math.min((effected.getMaxMp() * basicAmount) / 100.0, effected.getMaxRecoverableMp() - effected.getCurrentMp()); | ||||
| 				amount = Math.min((effected.getMaxMp() * basicAmount) / 100.0, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp())); | ||||
| 				break; | ||||
| 			} | ||||
| 		} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 MobiusDevelopment
					MobiusDevelopment