HpCpHeal could be affected by ADDITIONAL_POTION_HP stat.
This commit is contained in:
		| @@ -120,12 +120,23 @@ public class HpCpHeal extends AbstractEffect | ||||
| 			} | ||||
| 		} | ||||
| 		 | ||||
| 		// Additional potion HP. | ||||
| 		double additionalHp = 0; | ||||
| 		if ((item != null) && (item.isPotion() || item.isElixir())) | ||||
| 		{ | ||||
| 			additionalHp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0); | ||||
| 		} | ||||
| 		 | ||||
| 		// Prevents overheal and negative amount | ||||
| 		final double healAmount = Math.max(Math.min(amount, effected.getMaxRecoverableHp() - effected.getCurrentHp()), 0); | ||||
| 		if (healAmount != 0) | ||||
| 		{ | ||||
| 			final double newHp = healAmount + effected.getCurrentHp(); | ||||
| 			effected.setCurrentHp(newHp, false); | ||||
| 			if ((newHp + additionalHp) > effected.getMaxRecoverableHp()) | ||||
| 			{ | ||||
| 				additionalHp = Math.max(effected.getMaxRecoverableHp() - newHp, 0); | ||||
| 			} | ||||
| 			effected.setCurrentHp(newHp + additionalHp, false); | ||||
| 		} | ||||
| 		 | ||||
| 		if (effected.isPlayer()) | ||||
| @@ -134,13 +145,13 @@ public class HpCpHeal extends AbstractEffect | ||||
| 			{ | ||||
| 				final SystemMessage sm = new SystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1); | ||||
| 				sm.addString(effector.getName()); | ||||
| 				sm.addInt((int) healAmount); | ||||
| 				sm.addInt((int) (healAmount + additionalHp)); | ||||
| 				effected.sendPacket(sm); | ||||
| 			} | ||||
| 			else | ||||
| 			{ | ||||
| 				final SystemMessage sm = new SystemMessage(SystemMessageId.S1_HP_HAS_BEEN_RESTORED); | ||||
| 				sm.addInt((int) healAmount); | ||||
| 				sm.addInt((int) (healAmount + additionalHp)); | ||||
| 				effected.sendPacket(sm); | ||||
| 			} | ||||
| 			 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 MobiusDevelopment
					MobiusDevelopment