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:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableCp() - effected.getCurrentCp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -125,7 +125,7 @@ public class Heal extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
final double newHp = amount + effected.getCurrentHp();
|
final double newHp = amount + effected.getCurrentHp();
|
||||||
|
@@ -70,7 +70,7 @@ public class HealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
|
@@ -66,12 +66,12 @@ public class Hp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableHp() - effected.getCurrentHp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableHp() - effected.getCurrentHp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -70,7 +70,7 @@ public class ManaHealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// Prevents overheal
|
||||||
amount = Math.min(amount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(amount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
{
|
{
|
||||||
final double newMp = amount + effected.getCurrentMp();
|
final double newMp = amount + effected.getCurrentMp();
|
||||||
|
@@ -66,12 +66,12 @@ public class Mp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -66,12 +66,12 @@ public class Cp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableCp() - effected.getCurrentCp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -125,7 +125,7 @@ public class Heal extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
final double newHp = amount + effected.getCurrentHp();
|
final double newHp = amount + effected.getCurrentHp();
|
||||||
|
@@ -70,7 +70,7 @@ public class HealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
|
@@ -66,12 +66,12 @@ public class Hp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableHp() - effected.getCurrentHp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableHp() - effected.getCurrentHp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -70,7 +70,7 @@ public class ManaHealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// Prevents overheal
|
||||||
amount = Math.min(amount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(amount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
{
|
{
|
||||||
final double newMp = amount + effected.getCurrentMp();
|
final double newMp = amount + effected.getCurrentMp();
|
||||||
|
@@ -66,12 +66,12 @@ public class Mp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -66,12 +66,12 @@ public class Cp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableCp() - effected.getCurrentCp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -125,7 +125,7 @@ public class Heal extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
final double newHp = amount + effected.getCurrentHp();
|
final double newHp = amount + effected.getCurrentHp();
|
||||||
|
@@ -70,7 +70,7 @@ public class HealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
|
@@ -66,12 +66,12 @@ public class Hp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableHp() - effected.getCurrentHp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableHp() - effected.getCurrentHp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -70,7 +70,7 @@ public class ManaHealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// Prevents overheal
|
||||||
amount = Math.min(amount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(amount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
{
|
{
|
||||||
final double newMp = amount + effected.getCurrentMp();
|
final double newMp = amount + effected.getCurrentMp();
|
||||||
|
@@ -66,12 +66,12 @@ public class Mp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -66,12 +66,12 @@ public class Cp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableCp() - effected.getCurrentCp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -125,7 +125,7 @@ public class Heal extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
final double newHp = amount + effected.getCurrentHp();
|
final double newHp = amount + effected.getCurrentHp();
|
||||||
|
@@ -70,7 +70,7 @@ public class HealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
|
@@ -66,12 +66,12 @@ public class Hp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableHp() - effected.getCurrentHp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableHp() - effected.getCurrentHp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -70,7 +70,7 @@ public class ManaHealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// Prevents overheal
|
||||||
amount = Math.min(amount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(amount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
{
|
{
|
||||||
final double newMp = amount + effected.getCurrentMp();
|
final double newMp = amount + effected.getCurrentMp();
|
||||||
|
@@ -66,12 +66,12 @@ public class Mp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -66,12 +66,12 @@ public class Cp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableCp() - effected.getCurrentCp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -125,7 +125,7 @@ public class Heal extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
final double newHp = amount + effected.getCurrentHp();
|
final double newHp = amount + effected.getCurrentHp();
|
||||||
|
@@ -70,7 +70,7 @@ public class HealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
|
@@ -66,12 +66,12 @@ public class Hp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableHp() - effected.getCurrentHp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableHp() - effected.getCurrentHp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -70,7 +70,7 @@ public class ManaHealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// Prevents overheal
|
||||||
amount = Math.min(amount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(amount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
{
|
{
|
||||||
final double newMp = amount + effected.getCurrentMp();
|
final double newMp = amount + effected.getCurrentMp();
|
||||||
|
@@ -66,12 +66,12 @@ public class Mp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -66,12 +66,12 @@ public class Cp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableCp() - effected.getCurrentCp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -125,7 +125,7 @@ public class Heal extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
final double newHp = amount + effected.getCurrentHp();
|
final double newHp = amount + effected.getCurrentHp();
|
||||||
|
@@ -70,7 +70,7 @@ public class HealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
|
@@ -66,12 +66,12 @@ public class Hp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableHp() - effected.getCurrentHp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableHp() - effected.getCurrentHp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -70,7 +70,7 @@ public class ManaHealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// Prevents overheal
|
||||||
amount = Math.min(amount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(amount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
{
|
{
|
||||||
final double newMp = amount + effected.getCurrentMp();
|
final double newMp = amount + effected.getCurrentMp();
|
||||||
|
@@ -66,12 +66,12 @@ public class Mp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -66,12 +66,12 @@ public class Cp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableCp() - effected.getCurrentCp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -125,7 +125,7 @@ public class Heal extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
final double newHp = amount + effected.getCurrentHp();
|
final double newHp = amount + effected.getCurrentHp();
|
||||||
|
@@ -70,7 +70,7 @@ public class HealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
|
@@ -66,12 +66,12 @@ public class Hp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableHp() - effected.getCurrentHp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableHp() - effected.getCurrentHp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -70,7 +70,7 @@ public class ManaHealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// Prevents overheal
|
||||||
amount = Math.min(amount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(amount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
{
|
{
|
||||||
final double newMp = amount + effected.getCurrentMp();
|
final double newMp = amount + effected.getCurrentMp();
|
||||||
|
@@ -66,12 +66,12 @@ public class Mp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -66,12 +66,12 @@ public class Cp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableCp() - effected.getCurrentCp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -125,7 +125,7 @@ public class Heal extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
final double newHp = amount + effected.getCurrentHp();
|
final double newHp = amount + effected.getCurrentHp();
|
||||||
|
@@ -70,7 +70,7 @@ public class HealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
|
@@ -66,12 +66,12 @@ public class Hp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableHp() - effected.getCurrentHp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableHp() - effected.getCurrentHp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -70,7 +70,7 @@ public class ManaHealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// Prevents overheal
|
||||||
amount = Math.min(amount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(amount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
{
|
{
|
||||||
final double newMp = amount + effected.getCurrentMp();
|
final double newMp = amount + effected.getCurrentMp();
|
||||||
|
@@ -66,12 +66,12 @@ public class Mp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -66,12 +66,12 @@ public class Cp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableCp() - effected.getCurrentCp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -125,7 +125,7 @@ public class Heal extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
final double newHp = amount + effected.getCurrentHp();
|
final double newHp = amount + effected.getCurrentHp();
|
||||||
|
@@ -70,7 +70,7 @@ public class HealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
|
@@ -66,12 +66,12 @@ public class Hp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableHp() - effected.getCurrentHp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableHp() - effected.getCurrentHp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -70,7 +70,7 @@ public class ManaHealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// Prevents overheal
|
||||||
amount = Math.min(amount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(amount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
{
|
{
|
||||||
final double newMp = amount + effected.getCurrentMp();
|
final double newMp = amount + effected.getCurrentMp();
|
||||||
|
@@ -66,12 +66,12 @@ public class Mp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -66,12 +66,12 @@ public class Cp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableCp() - effected.getCurrentCp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -125,7 +125,7 @@ public class Heal extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
final double newHp = amount + effected.getCurrentHp();
|
final double newHp = amount + effected.getCurrentHp();
|
||||||
|
@@ -70,7 +70,7 @@ public class HealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
|
@@ -66,12 +66,12 @@ public class Hp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableHp() - effected.getCurrentHp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableHp() - effected.getCurrentHp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -70,7 +70,7 @@ public class ManaHealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// Prevents overheal
|
||||||
amount = Math.min(amount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(amount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
{
|
{
|
||||||
final double newMp = amount + effected.getCurrentMp();
|
final double newMp = amount + effected.getCurrentMp();
|
||||||
|
@@ -66,12 +66,12 @@ public class Mp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -66,12 +66,12 @@ public class Cp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableCp() - effected.getCurrentCp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -125,7 +125,7 @@ public class Heal extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
final double newHp = amount + effected.getCurrentHp();
|
final double newHp = amount + effected.getCurrentHp();
|
||||||
|
@@ -70,7 +70,7 @@ public class HealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
|
@@ -66,12 +66,12 @@ public class Hp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableHp() - effected.getCurrentHp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableHp() - effected.getCurrentHp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -70,7 +70,7 @@ public class ManaHealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// Prevents overheal
|
||||||
amount = Math.min(amount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(amount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
{
|
{
|
||||||
final double newMp = amount + effected.getCurrentMp();
|
final double newMp = amount + effected.getCurrentMp();
|
||||||
|
@@ -66,12 +66,12 @@ public class Mp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -66,12 +66,12 @@ public class Cp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableCp() - effected.getCurrentCp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -125,7 +125,7 @@ public class Heal extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
final double newHp = amount + effected.getCurrentHp();
|
final double newHp = amount + effected.getCurrentHp();
|
||||||
|
@@ -70,7 +70,7 @@ public class HealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
|
@@ -66,12 +66,12 @@ public class Hp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableHp() - effected.getCurrentHp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableHp() - effected.getCurrentHp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -70,7 +70,7 @@ public class ManaHealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// Prevents overheal
|
||||||
amount = Math.min(amount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(amount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
{
|
{
|
||||||
final double newMp = amount + effected.getCurrentMp();
|
final double newMp = amount + effected.getCurrentMp();
|
||||||
|
@@ -66,12 +66,12 @@ public class Mp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -66,12 +66,12 @@ public class Cp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableCp() - effected.getCurrentCp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -125,7 +125,7 @@ public class Heal extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
final double newHp = amount + effected.getCurrentHp();
|
final double newHp = amount + effected.getCurrentHp();
|
||||||
|
@@ -70,7 +70,7 @@ public class HealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
|
@@ -66,12 +66,12 @@ public class Hp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableHp() - effected.getCurrentHp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableHp() - effected.getCurrentHp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -70,7 +70,7 @@ public class ManaHealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// Prevents overheal
|
||||||
amount = Math.min(amount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(amount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
{
|
{
|
||||||
final double newMp = amount + effected.getCurrentMp();
|
final double newMp = amount + effected.getCurrentMp();
|
||||||
|
@@ -66,12 +66,12 @@ public class Mp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -66,12 +66,12 @@ public class Cp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableCp() - effected.getCurrentCp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -130,7 +130,7 @@ public class Heal extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
final double newHp = amount + effected.getCurrentHp();
|
final double newHp = amount + effected.getCurrentHp();
|
||||||
|
@@ -75,7 +75,7 @@ public class HealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
|
@@ -71,12 +71,12 @@ public class Hp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableHp() - effected.getCurrentHp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableHp() - effected.getCurrentHp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -70,7 +70,7 @@ public class ManaHealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// Prevents overheal
|
||||||
amount = Math.min(amount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(amount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
{
|
{
|
||||||
final double newMp = amount + effected.getCurrentMp();
|
final double newMp = amount + effected.getCurrentMp();
|
||||||
|
@@ -66,12 +66,12 @@ public class Mp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -66,12 +66,12 @@ public class Cp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableCp() - effected.getCurrentCp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -125,7 +125,7 @@ public class Heal extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
final double newHp = amount + effected.getCurrentHp();
|
final double newHp = amount + effected.getCurrentHp();
|
||||||
|
@@ -70,7 +70,7 @@ public class HealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// 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)
|
||||||
{
|
{
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
|
@@ -66,12 +66,12 @@ public class Hp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableHp() - effected.getCurrentHp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableHp() - effected.getCurrentHp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -70,7 +70,7 @@ public class ManaHealPercent extends AbstractEffect
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Prevents overheal
|
// Prevents overheal
|
||||||
amount = Math.min(amount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(amount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
if (amount != 0)
|
if (amount != 0)
|
||||||
{
|
{
|
||||||
final double newMp = amount + effected.getCurrentMp();
|
final double newMp = amount + effected.getCurrentMp();
|
||||||
|
@@ -66,12 +66,12 @@ public class Mp extends AbstractEffect
|
|||||||
{
|
{
|
||||||
case DIFF:
|
case DIFF:
|
||||||
{
|
{
|
||||||
amount = Math.min(basicAmount, effected.getMaxRecoverableMp() - effected.getCurrentMp());
|
amount = Math.min(basicAmount, Math.max(0, effected.getMaxRecoverableMp() - effected.getCurrentMp()));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case PER:
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user