Fixed skills aborting when player on full HP.
Contributed by Sahar.
This commit is contained in:
		| @@ -48,9 +48,19 @@ public class CpHealOverTime extends AbstractEffect | ||||
| 		final double maxcp = effected.getMaxRecoverableCp(); | ||||
| 		 | ||||
| 		// Not needed to set the CP and send update packet if player is already at max CP | ||||
| 		if (cp >= maxcp) | ||||
| 		if (_power > 0) | ||||
| 		{ | ||||
| 			return false; | ||||
| 			if (cp >= maxcp) | ||||
| 			{ | ||||
| 				return false; | ||||
| 			} | ||||
| 		} | ||||
| 		else | ||||
| 		{ | ||||
| 			if ((cp - _power) <= 0) | ||||
| 			{ | ||||
| 				return false; | ||||
| 			} | ||||
| 		} | ||||
| 		 | ||||
| 		double power = _power; | ||||
| @@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect | ||||
| 		} | ||||
| 		 | ||||
| 		cp += power * getTicksMultiplier(); | ||||
| 		cp = Math.min(cp, maxcp); | ||||
| 		if (_power > 0) | ||||
| 		{ | ||||
| 			cp = Math.min(cp, maxcp); | ||||
| 		} | ||||
| 		else | ||||
| 		{ | ||||
| 			cp = Math.max(cp, 1); | ||||
| 		} | ||||
| 		effected.setCurrentCp(cp, false); | ||||
| 		effected.broadcastStatusUpdate(effector); | ||||
| 		return true; | ||||
|   | ||||
| @@ -50,9 +50,19 @@ public class HealOverTime extends AbstractEffect | ||||
| 		final double maxhp = effected.getMaxRecoverableHp(); | ||||
| 		 | ||||
| 		// Not needed to set the HP and send update packet if player is already at max HP | ||||
| 		if (hp >= maxhp) | ||||
| 		if (_power > 0) | ||||
| 		{ | ||||
| 			return false; | ||||
| 			if (hp >= maxhp) | ||||
| 			{ | ||||
| 				return false; | ||||
| 			} | ||||
| 		} | ||||
| 		else | ||||
| 		{ | ||||
| 			if ((hp - _power) <= 0) | ||||
| 			{ | ||||
| 				return false; | ||||
| 			} | ||||
| 		} | ||||
| 		 | ||||
| 		double power = _power; | ||||
| @@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect | ||||
| 		} | ||||
| 		 | ||||
| 		hp += power * getTicksMultiplier(); | ||||
| 		hp = Math.min(hp, maxhp); | ||||
| 		if (_power > 0) | ||||
| 		{ | ||||
| 			hp = Math.min(hp, maxhp); | ||||
| 		} | ||||
| 		else | ||||
| 		{ | ||||
| 			hp = Math.max(hp, 1); | ||||
| 		} | ||||
| 		effected.setCurrentHp(hp, false); | ||||
| 		effected.broadcastStatusUpdate(effector); | ||||
| 		return skill.isToggle(); | ||||
|   | ||||
| @@ -48,9 +48,19 @@ public class ManaHealOverTime extends AbstractEffect | ||||
| 		final double maxmp = effected.getMaxRecoverableMp(); | ||||
| 		 | ||||
| 		// Not needed to set the MP and send update packet if player is already at max MP | ||||
| 		if (mp >= maxmp) | ||||
| 		if (_power > 0) | ||||
| 		{ | ||||
| 			return true; | ||||
| 			if (mp >= maxmp) | ||||
| 			{ | ||||
| 				return true; | ||||
| 			} | ||||
| 		} | ||||
| 		else | ||||
| 		{ | ||||
| 			if ((mp - _power) <= 0) | ||||
| 			{ | ||||
| 				return true; | ||||
| 			} | ||||
| 		} | ||||
| 		 | ||||
| 		double power = _power; | ||||
| @@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect | ||||
| 		} | ||||
| 		 | ||||
| 		mp += power * getTicksMultiplier(); | ||||
| 		mp = Math.min(mp, maxmp); | ||||
| 		if (_power > 0) | ||||
| 		{ | ||||
| 			mp = Math.min(mp, maxmp); | ||||
| 		} | ||||
| 		else | ||||
| 		{ | ||||
| 			mp = Math.max(mp, 1); | ||||
| 		} | ||||
| 		effected.setCurrentMp(mp, false); | ||||
| 		effected.broadcastStatusUpdate(effector); | ||||
| 		return skill.isToggle(); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 MobiusDevelopment
					MobiusDevelopment