Fixed skills aborting when player on full HP.

Contributed by Sahar.
This commit is contained in:
MobiusDevelopment
2020-06-02 21:32:21 +00:00
parent 4eeac28627
commit a3e8e337fe
45 changed files with 900 additions and 135 deletions

View File

@@ -48,10 +48,20 @@ public class CpHealOverTime extends AbstractEffect
final double maxcp = effected.getMaxRecoverableCp(); final double maxcp = effected.getMaxRecoverableCp();
// Not needed to set the CP and send update packet if player is already at max CP // Not needed to set the CP and send update packet if player is already at max CP
if (_power > 0)
{
if (cp >= maxcp) if (cp >= maxcp)
{ {
return false; return false;
} }
}
else
{
if ((cp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect
} }
cp += power * getTicksMultiplier(); cp += power * getTicksMultiplier();
if (_power > 0)
{
cp = Math.min(cp, maxcp); cp = Math.min(cp, maxcp);
}
else
{
cp = Math.max(cp, 1);
}
effected.setCurrentCp(cp, false); effected.setCurrentCp(cp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return true; return true;

View File

@@ -50,10 +50,20 @@ public class HealOverTime extends AbstractEffect
final double maxhp = effected.getMaxRecoverableHp(); final double maxhp = effected.getMaxRecoverableHp();
// Not needed to set the HP and send update packet if player is already at max HP // Not needed to set the HP and send update packet if player is already at max HP
if (_power > 0)
{
if (hp >= maxhp) if (hp >= maxhp)
{ {
return false; return false;
} }
}
else
{
if ((hp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect
} }
hp += power * getTicksMultiplier(); hp += power * getTicksMultiplier();
if (_power > 0)
{
hp = Math.min(hp, maxhp); hp = Math.min(hp, maxhp);
}
else
{
hp = Math.max(hp, 1);
}
effected.setCurrentHp(hp, false); effected.setCurrentHp(hp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class ManaHealOverTime extends AbstractEffect
final double maxmp = effected.getMaxRecoverableMp(); final double maxmp = effected.getMaxRecoverableMp();
// Not needed to set the MP and send update packet if player is already at max MP // Not needed to set the MP and send update packet if player is already at max MP
if (_power > 0)
{
if (mp >= maxmp) if (mp >= maxmp)
{ {
return true; return true;
} }
}
else
{
if ((mp - _power) <= 0)
{
return true;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect
} }
mp += power * getTicksMultiplier(); mp += power * getTicksMultiplier();
if (_power > 0)
{
mp = Math.min(mp, maxmp); mp = Math.min(mp, maxmp);
}
else
{
mp = Math.max(mp, 1);
}
effected.setCurrentMp(mp, false); effected.setCurrentMp(mp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class CpHealOverTime extends AbstractEffect
final double maxcp = effected.getMaxRecoverableCp(); final double maxcp = effected.getMaxRecoverableCp();
// Not needed to set the CP and send update packet if player is already at max CP // Not needed to set the CP and send update packet if player is already at max CP
if (_power > 0)
{
if (cp >= maxcp) if (cp >= maxcp)
{ {
return false; return false;
} }
}
else
{
if ((cp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect
} }
cp += power * getTicksMultiplier(); cp += power * getTicksMultiplier();
if (_power > 0)
{
cp = Math.min(cp, maxcp); cp = Math.min(cp, maxcp);
}
else
{
cp = Math.max(cp, 1);
}
effected.setCurrentCp(cp, false); effected.setCurrentCp(cp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return true; return true;

View File

@@ -50,10 +50,20 @@ public class HealOverTime extends AbstractEffect
final double maxhp = effected.getMaxRecoverableHp(); final double maxhp = effected.getMaxRecoverableHp();
// Not needed to set the HP and send update packet if player is already at max HP // Not needed to set the HP and send update packet if player is already at max HP
if (_power > 0)
{
if (hp >= maxhp) if (hp >= maxhp)
{ {
return false; return false;
} }
}
else
{
if ((hp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect
} }
hp += power * getTicksMultiplier(); hp += power * getTicksMultiplier();
if (_power > 0)
{
hp = Math.min(hp, maxhp); hp = Math.min(hp, maxhp);
}
else
{
hp = Math.max(hp, 1);
}
effected.setCurrentHp(hp, false); effected.setCurrentHp(hp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class ManaHealOverTime extends AbstractEffect
final double maxmp = effected.getMaxRecoverableMp(); final double maxmp = effected.getMaxRecoverableMp();
// Not needed to set the MP and send update packet if player is already at max MP // Not needed to set the MP and send update packet if player is already at max MP
if (_power > 0)
{
if (mp >= maxmp) if (mp >= maxmp)
{ {
return true; return true;
} }
}
else
{
if ((mp - _power) <= 0)
{
return true;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect
} }
mp += power * getTicksMultiplier(); mp += power * getTicksMultiplier();
if (_power > 0)
{
mp = Math.min(mp, maxmp); mp = Math.min(mp, maxmp);
}
else
{
mp = Math.max(mp, 1);
}
effected.setCurrentMp(mp, false); effected.setCurrentMp(mp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class CpHealOverTime extends AbstractEffect
final double maxcp = effected.getMaxRecoverableCp(); final double maxcp = effected.getMaxRecoverableCp();
// Not needed to set the CP and send update packet if player is already at max CP // Not needed to set the CP and send update packet if player is already at max CP
if (_power > 0)
{
if (cp >= maxcp) if (cp >= maxcp)
{ {
return false; return false;
} }
}
else
{
if ((cp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect
} }
cp += power * getTicksMultiplier(); cp += power * getTicksMultiplier();
if (_power > 0)
{
cp = Math.min(cp, maxcp); cp = Math.min(cp, maxcp);
}
else
{
cp = Math.max(cp, 1);
}
effected.setCurrentCp(cp, false); effected.setCurrentCp(cp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return true; return true;

View File

@@ -50,10 +50,20 @@ public class HealOverTime extends AbstractEffect
final double maxhp = effected.getMaxRecoverableHp(); final double maxhp = effected.getMaxRecoverableHp();
// Not needed to set the HP and send update packet if player is already at max HP // Not needed to set the HP and send update packet if player is already at max HP
if (_power > 0)
{
if (hp >= maxhp) if (hp >= maxhp)
{ {
return false; return false;
} }
}
else
{
if ((hp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect
} }
hp += power * getTicksMultiplier(); hp += power * getTicksMultiplier();
if (_power > 0)
{
hp = Math.min(hp, maxhp); hp = Math.min(hp, maxhp);
}
else
{
hp = Math.max(hp, 1);
}
effected.setCurrentHp(hp, false); effected.setCurrentHp(hp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class ManaHealOverTime extends AbstractEffect
final double maxmp = effected.getMaxRecoverableMp(); final double maxmp = effected.getMaxRecoverableMp();
// Not needed to set the MP and send update packet if player is already at max MP // Not needed to set the MP and send update packet if player is already at max MP
if (_power > 0)
{
if (mp >= maxmp) if (mp >= maxmp)
{ {
return true; return true;
} }
}
else
{
if ((mp - _power) <= 0)
{
return true;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect
} }
mp += power * getTicksMultiplier(); mp += power * getTicksMultiplier();
if (_power > 0)
{
mp = Math.min(mp, maxmp); mp = Math.min(mp, maxmp);
}
else
{
mp = Math.max(mp, 1);
}
effected.setCurrentMp(mp, false); effected.setCurrentMp(mp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class CpHealOverTime extends AbstractEffect
final double maxcp = effected.getMaxRecoverableCp(); final double maxcp = effected.getMaxRecoverableCp();
// Not needed to set the CP and send update packet if player is already at max CP // Not needed to set the CP and send update packet if player is already at max CP
if (_power > 0)
{
if (cp >= maxcp) if (cp >= maxcp)
{ {
return false; return false;
} }
}
else
{
if ((cp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect
} }
cp += power * getTicksMultiplier(); cp += power * getTicksMultiplier();
if (_power > 0)
{
cp = Math.min(cp, maxcp); cp = Math.min(cp, maxcp);
}
else
{
cp = Math.max(cp, 1);
}
effected.setCurrentCp(cp, false); effected.setCurrentCp(cp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return true; return true;

View File

@@ -50,10 +50,20 @@ public class HealOverTime extends AbstractEffect
final double maxhp = effected.getMaxRecoverableHp(); final double maxhp = effected.getMaxRecoverableHp();
// Not needed to set the HP and send update packet if player is already at max HP // Not needed to set the HP and send update packet if player is already at max HP
if (_power > 0)
{
if (hp >= maxhp) if (hp >= maxhp)
{ {
return false; return false;
} }
}
else
{
if ((hp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect
} }
hp += power * getTicksMultiplier(); hp += power * getTicksMultiplier();
if (_power > 0)
{
hp = Math.min(hp, maxhp); hp = Math.min(hp, maxhp);
}
else
{
hp = Math.max(hp, 1);
}
effected.setCurrentHp(hp, false); effected.setCurrentHp(hp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class ManaHealOverTime extends AbstractEffect
final double maxmp = effected.getMaxRecoverableMp(); final double maxmp = effected.getMaxRecoverableMp();
// Not needed to set the MP and send update packet if player is already at max MP // Not needed to set the MP and send update packet if player is already at max MP
if (_power > 0)
{
if (mp >= maxmp) if (mp >= maxmp)
{ {
return true; return true;
} }
}
else
{
if ((mp - _power) <= 0)
{
return true;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect
} }
mp += power * getTicksMultiplier(); mp += power * getTicksMultiplier();
if (_power > 0)
{
mp = Math.min(mp, maxmp); mp = Math.min(mp, maxmp);
}
else
{
mp = Math.max(mp, 1);
}
effected.setCurrentMp(mp, false); effected.setCurrentMp(mp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class CpHealOverTime extends AbstractEffect
final double maxcp = effected.getMaxRecoverableCp(); final double maxcp = effected.getMaxRecoverableCp();
// Not needed to set the CP and send update packet if player is already at max CP // Not needed to set the CP and send update packet if player is already at max CP
if (_power > 0)
{
if (cp >= maxcp) if (cp >= maxcp)
{ {
return false; return false;
} }
}
else
{
if ((cp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect
} }
cp += power * getTicksMultiplier(); cp += power * getTicksMultiplier();
if (_power > 0)
{
cp = Math.min(cp, maxcp); cp = Math.min(cp, maxcp);
}
else
{
cp = Math.max(cp, 1);
}
effected.setCurrentCp(cp, false); effected.setCurrentCp(cp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return true; return true;

View File

@@ -50,10 +50,20 @@ public class HealOverTime extends AbstractEffect
final double maxhp = effected.getMaxRecoverableHp(); final double maxhp = effected.getMaxRecoverableHp();
// Not needed to set the HP and send update packet if player is already at max HP // Not needed to set the HP and send update packet if player is already at max HP
if (_power > 0)
{
if (hp >= maxhp) if (hp >= maxhp)
{ {
return false; return false;
} }
}
else
{
if ((hp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect
} }
hp += power * getTicksMultiplier(); hp += power * getTicksMultiplier();
if (_power > 0)
{
hp = Math.min(hp, maxhp); hp = Math.min(hp, maxhp);
}
else
{
hp = Math.max(hp, 1);
}
effected.setCurrentHp(hp, false); effected.setCurrentHp(hp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class ManaHealOverTime extends AbstractEffect
final double maxmp = effected.getMaxRecoverableMp(); final double maxmp = effected.getMaxRecoverableMp();
// Not needed to set the MP and send update packet if player is already at max MP // Not needed to set the MP and send update packet if player is already at max MP
if (_power > 0)
{
if (mp >= maxmp) if (mp >= maxmp)
{ {
return true; return true;
} }
}
else
{
if ((mp - _power) <= 0)
{
return true;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect
} }
mp += power * getTicksMultiplier(); mp += power * getTicksMultiplier();
if (_power > 0)
{
mp = Math.min(mp, maxmp); mp = Math.min(mp, maxmp);
}
else
{
mp = Math.max(mp, 1);
}
effected.setCurrentMp(mp, false); effected.setCurrentMp(mp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class CpHealOverTime extends AbstractEffect
final double maxcp = effected.getMaxRecoverableCp(); final double maxcp = effected.getMaxRecoverableCp();
// Not needed to set the CP and send update packet if player is already at max CP // Not needed to set the CP and send update packet if player is already at max CP
if (_power > 0)
{
if (cp >= maxcp) if (cp >= maxcp)
{ {
return false; return false;
} }
}
else
{
if ((cp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect
} }
cp += power * getTicksMultiplier(); cp += power * getTicksMultiplier();
if (_power > 0)
{
cp = Math.min(cp, maxcp); cp = Math.min(cp, maxcp);
}
else
{
cp = Math.max(cp, 1);
}
effected.setCurrentCp(cp, false); effected.setCurrentCp(cp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return true; return true;

View File

@@ -50,10 +50,20 @@ public class HealOverTime extends AbstractEffect
final double maxhp = effected.getMaxRecoverableHp(); final double maxhp = effected.getMaxRecoverableHp();
// Not needed to set the HP and send update packet if player is already at max HP // Not needed to set the HP and send update packet if player is already at max HP
if (_power > 0)
{
if (hp >= maxhp) if (hp >= maxhp)
{ {
return false; return false;
} }
}
else
{
if ((hp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect
} }
hp += power * getTicksMultiplier(); hp += power * getTicksMultiplier();
if (_power > 0)
{
hp = Math.min(hp, maxhp); hp = Math.min(hp, maxhp);
}
else
{
hp = Math.max(hp, 1);
}
effected.setCurrentHp(hp, false); effected.setCurrentHp(hp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class ManaHealOverTime extends AbstractEffect
final double maxmp = effected.getMaxRecoverableMp(); final double maxmp = effected.getMaxRecoverableMp();
// Not needed to set the MP and send update packet if player is already at max MP // Not needed to set the MP and send update packet if player is already at max MP
if (_power > 0)
{
if (mp >= maxmp) if (mp >= maxmp)
{ {
return true; return true;
} }
}
else
{
if ((mp - _power) <= 0)
{
return true;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect
} }
mp += power * getTicksMultiplier(); mp += power * getTicksMultiplier();
if (_power > 0)
{
mp = Math.min(mp, maxmp); mp = Math.min(mp, maxmp);
}
else
{
mp = Math.max(mp, 1);
}
effected.setCurrentMp(mp, false); effected.setCurrentMp(mp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class CpHealOverTime extends AbstractEffect
final double maxcp = effected.getMaxRecoverableCp(); final double maxcp = effected.getMaxRecoverableCp();
// Not needed to set the CP and send update packet if player is already at max CP // Not needed to set the CP and send update packet if player is already at max CP
if (_power > 0)
{
if (cp >= maxcp) if (cp >= maxcp)
{ {
return false; return false;
} }
}
else
{
if ((cp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect
} }
cp += power * getTicksMultiplier(); cp += power * getTicksMultiplier();
if (_power > 0)
{
cp = Math.min(cp, maxcp); cp = Math.min(cp, maxcp);
}
else
{
cp = Math.max(cp, 1);
}
effected.setCurrentCp(cp, false); effected.setCurrentCp(cp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return true; return true;

View File

@@ -50,10 +50,20 @@ public class HealOverTime extends AbstractEffect
final double maxhp = effected.getMaxRecoverableHp(); final double maxhp = effected.getMaxRecoverableHp();
// Not needed to set the HP and send update packet if player is already at max HP // Not needed to set the HP and send update packet if player is already at max HP
if (_power > 0)
{
if (hp >= maxhp) if (hp >= maxhp)
{ {
return false; return false;
} }
}
else
{
if ((hp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect
} }
hp += power * getTicksMultiplier(); hp += power * getTicksMultiplier();
if (_power > 0)
{
hp = Math.min(hp, maxhp); hp = Math.min(hp, maxhp);
}
else
{
hp = Math.max(hp, 1);
}
effected.setCurrentHp(hp, false); effected.setCurrentHp(hp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class ManaHealOverTime extends AbstractEffect
final double maxmp = effected.getMaxRecoverableMp(); final double maxmp = effected.getMaxRecoverableMp();
// Not needed to set the MP and send update packet if player is already at max MP // Not needed to set the MP and send update packet if player is already at max MP
if (_power > 0)
{
if (mp >= maxmp) if (mp >= maxmp)
{ {
return true; return true;
} }
}
else
{
if ((mp - _power) <= 0)
{
return true;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect
} }
mp += power * getTicksMultiplier(); mp += power * getTicksMultiplier();
if (_power > 0)
{
mp = Math.min(mp, maxmp); mp = Math.min(mp, maxmp);
}
else
{
mp = Math.max(mp, 1);
}
effected.setCurrentMp(mp, false); effected.setCurrentMp(mp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class CpHealOverTime extends AbstractEffect
final double maxcp = effected.getMaxRecoverableCp(); final double maxcp = effected.getMaxRecoverableCp();
// Not needed to set the CP and send update packet if player is already at max CP // Not needed to set the CP and send update packet if player is already at max CP
if (_power > 0)
{
if (cp >= maxcp) if (cp >= maxcp)
{ {
return false; return false;
} }
}
else
{
if ((cp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect
} }
cp += power * getTicksMultiplier(); cp += power * getTicksMultiplier();
if (_power > 0)
{
cp = Math.min(cp, maxcp); cp = Math.min(cp, maxcp);
}
else
{
cp = Math.max(cp, 1);
}
effected.setCurrentCp(cp, false); effected.setCurrentCp(cp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return true; return true;

View File

@@ -50,10 +50,20 @@ public class HealOverTime extends AbstractEffect
final double maxhp = effected.getMaxRecoverableHp(); final double maxhp = effected.getMaxRecoverableHp();
// Not needed to set the HP and send update packet if player is already at max HP // Not needed to set the HP and send update packet if player is already at max HP
if (_power > 0)
{
if (hp >= maxhp) if (hp >= maxhp)
{ {
return false; return false;
} }
}
else
{
if ((hp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect
} }
hp += power * getTicksMultiplier(); hp += power * getTicksMultiplier();
if (_power > 0)
{
hp = Math.min(hp, maxhp); hp = Math.min(hp, maxhp);
}
else
{
hp = Math.max(hp, 1);
}
effected.setCurrentHp(hp, false); effected.setCurrentHp(hp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class ManaHealOverTime extends AbstractEffect
final double maxmp = effected.getMaxRecoverableMp(); final double maxmp = effected.getMaxRecoverableMp();
// Not needed to set the MP and send update packet if player is already at max MP // Not needed to set the MP and send update packet if player is already at max MP
if (_power > 0)
{
if (mp >= maxmp) if (mp >= maxmp)
{ {
return true; return true;
} }
}
else
{
if ((mp - _power) <= 0)
{
return true;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect
} }
mp += power * getTicksMultiplier(); mp += power * getTicksMultiplier();
if (_power > 0)
{
mp = Math.min(mp, maxmp); mp = Math.min(mp, maxmp);
}
else
{
mp = Math.max(mp, 1);
}
effected.setCurrentMp(mp, false); effected.setCurrentMp(mp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class CpHealOverTime extends AbstractEffect
final double maxcp = effected.getMaxRecoverableCp(); final double maxcp = effected.getMaxRecoverableCp();
// Not needed to set the CP and send update packet if player is already at max CP // Not needed to set the CP and send update packet if player is already at max CP
if (_power > 0)
{
if (cp >= maxcp) if (cp >= maxcp)
{ {
return false; return false;
} }
}
else
{
if ((cp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect
} }
cp += power * getTicksMultiplier(); cp += power * getTicksMultiplier();
if (_power > 0)
{
cp = Math.min(cp, maxcp); cp = Math.min(cp, maxcp);
}
else
{
cp = Math.max(cp, 1);
}
effected.setCurrentCp(cp, false); effected.setCurrentCp(cp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return true; return true;

View File

@@ -50,10 +50,20 @@ public class HealOverTime extends AbstractEffect
final double maxhp = effected.getMaxRecoverableHp(); final double maxhp = effected.getMaxRecoverableHp();
// Not needed to set the HP and send update packet if player is already at max HP // Not needed to set the HP and send update packet if player is already at max HP
if (_power > 0)
{
if (hp >= maxhp) if (hp >= maxhp)
{ {
return false; return false;
} }
}
else
{
if ((hp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect
} }
hp += power * getTicksMultiplier(); hp += power * getTicksMultiplier();
if (_power > 0)
{
hp = Math.min(hp, maxhp); hp = Math.min(hp, maxhp);
}
else
{
hp = Math.max(hp, 1);
}
effected.setCurrentHp(hp, false); effected.setCurrentHp(hp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class ManaHealOverTime extends AbstractEffect
final double maxmp = effected.getMaxRecoverableMp(); final double maxmp = effected.getMaxRecoverableMp();
// Not needed to set the MP and send update packet if player is already at max MP // Not needed to set the MP and send update packet if player is already at max MP
if (_power > 0)
{
if (mp >= maxmp) if (mp >= maxmp)
{ {
return true; return true;
} }
}
else
{
if ((mp - _power) <= 0)
{
return true;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect
} }
mp += power * getTicksMultiplier(); mp += power * getTicksMultiplier();
if (_power > 0)
{
mp = Math.min(mp, maxmp); mp = Math.min(mp, maxmp);
}
else
{
mp = Math.max(mp, 1);
}
effected.setCurrentMp(mp, false); effected.setCurrentMp(mp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class CpHealOverTime extends AbstractEffect
final double maxcp = effected.getMaxRecoverableCp(); final double maxcp = effected.getMaxRecoverableCp();
// Not needed to set the CP and send update packet if player is already at max CP // Not needed to set the CP and send update packet if player is already at max CP
if (_power > 0)
{
if (cp >= maxcp) if (cp >= maxcp)
{ {
return false; return false;
} }
}
else
{
if ((cp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect
} }
cp += power * getTicksMultiplier(); cp += power * getTicksMultiplier();
if (_power > 0)
{
cp = Math.min(cp, maxcp); cp = Math.min(cp, maxcp);
}
else
{
cp = Math.max(cp, 1);
}
effected.setCurrentCp(cp, false); effected.setCurrentCp(cp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return true; return true;

View File

@@ -50,10 +50,20 @@ public class HealOverTime extends AbstractEffect
final double maxhp = effected.getMaxRecoverableHp(); final double maxhp = effected.getMaxRecoverableHp();
// Not needed to set the HP and send update packet if player is already at max HP // Not needed to set the HP and send update packet if player is already at max HP
if (_power > 0)
{
if (hp >= maxhp) if (hp >= maxhp)
{ {
return false; return false;
} }
}
else
{
if ((hp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect
} }
hp += power * getTicksMultiplier(); hp += power * getTicksMultiplier();
if (_power > 0)
{
hp = Math.min(hp, maxhp); hp = Math.min(hp, maxhp);
}
else
{
hp = Math.max(hp, 1);
}
effected.setCurrentHp(hp, false); effected.setCurrentHp(hp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class ManaHealOverTime extends AbstractEffect
final double maxmp = effected.getMaxRecoverableMp(); final double maxmp = effected.getMaxRecoverableMp();
// Not needed to set the MP and send update packet if player is already at max MP // Not needed to set the MP and send update packet if player is already at max MP
if (_power > 0)
{
if (mp >= maxmp) if (mp >= maxmp)
{ {
return true; return true;
} }
}
else
{
if ((mp - _power) <= 0)
{
return true;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect
} }
mp += power * getTicksMultiplier(); mp += power * getTicksMultiplier();
if (_power > 0)
{
mp = Math.min(mp, maxmp); mp = Math.min(mp, maxmp);
}
else
{
mp = Math.max(mp, 1);
}
effected.setCurrentMp(mp, false); effected.setCurrentMp(mp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class CpHealOverTime extends AbstractEffect
final double maxcp = effected.getMaxRecoverableCp(); final double maxcp = effected.getMaxRecoverableCp();
// Not needed to set the CP and send update packet if player is already at max CP // Not needed to set the CP and send update packet if player is already at max CP
if (_power > 0)
{
if (cp >= maxcp) if (cp >= maxcp)
{ {
return false; return false;
} }
}
else
{
if ((cp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect
} }
cp += power * getTicksMultiplier(); cp += power * getTicksMultiplier();
if (_power > 0)
{
cp = Math.min(cp, maxcp); cp = Math.min(cp, maxcp);
}
else
{
cp = Math.max(cp, 1);
}
effected.setCurrentCp(cp, false); effected.setCurrentCp(cp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return true; return true;

View File

@@ -50,10 +50,20 @@ public class HealOverTime extends AbstractEffect
final double maxhp = effected.getMaxRecoverableHp(); final double maxhp = effected.getMaxRecoverableHp();
// Not needed to set the HP and send update packet if player is already at max HP // Not needed to set the HP and send update packet if player is already at max HP
if (_power > 0)
{
if (hp >= maxhp) if (hp >= maxhp)
{ {
return false; return false;
} }
}
else
{
if ((hp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect
} }
hp += power * getTicksMultiplier(); hp += power * getTicksMultiplier();
if (_power > 0)
{
hp = Math.min(hp, maxhp); hp = Math.min(hp, maxhp);
}
else
{
hp = Math.max(hp, 1);
}
effected.setCurrentHp(hp, false); effected.setCurrentHp(hp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class ManaHealOverTime extends AbstractEffect
final double maxmp = effected.getMaxRecoverableMp(); final double maxmp = effected.getMaxRecoverableMp();
// Not needed to set the MP and send update packet if player is already at max MP // Not needed to set the MP and send update packet if player is already at max MP
if (_power > 0)
{
if (mp >= maxmp) if (mp >= maxmp)
{ {
return true; return true;
} }
}
else
{
if ((mp - _power) <= 0)
{
return true;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect
} }
mp += power * getTicksMultiplier(); mp += power * getTicksMultiplier();
if (_power > 0)
{
mp = Math.min(mp, maxmp); mp = Math.min(mp, maxmp);
}
else
{
mp = Math.max(mp, 1);
}
effected.setCurrentMp(mp, false); effected.setCurrentMp(mp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class CpHealOverTime extends AbstractEffect
final double maxcp = effected.getMaxRecoverableCp(); final double maxcp = effected.getMaxRecoverableCp();
// Not needed to set the CP and send update packet if player is already at max CP // Not needed to set the CP and send update packet if player is already at max CP
if (_power > 0)
{
if (cp >= maxcp) if (cp >= maxcp)
{ {
return false; return false;
} }
}
else
{
if ((cp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect
} }
cp += power * getTicksMultiplier(); cp += power * getTicksMultiplier();
if (_power > 0)
{
cp = Math.min(cp, maxcp); cp = Math.min(cp, maxcp);
}
else
{
cp = Math.max(cp, 1);
}
effected.setCurrentCp(cp, false); effected.setCurrentCp(cp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return true; return true;

View File

@@ -50,10 +50,20 @@ public class HealOverTime extends AbstractEffect
final double maxhp = effected.getMaxRecoverableHp(); final double maxhp = effected.getMaxRecoverableHp();
// Not needed to set the HP and send update packet if player is already at max HP // Not needed to set the HP and send update packet if player is already at max HP
if (_power > 0)
{
if (hp >= maxhp) if (hp >= maxhp)
{ {
return false; return false;
} }
}
else
{
if ((hp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect
} }
hp += power * getTicksMultiplier(); hp += power * getTicksMultiplier();
if (_power > 0)
{
hp = Math.min(hp, maxhp); hp = Math.min(hp, maxhp);
}
else
{
hp = Math.max(hp, 1);
}
effected.setCurrentHp(hp, false); effected.setCurrentHp(hp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class ManaHealOverTime extends AbstractEffect
final double maxmp = effected.getMaxRecoverableMp(); final double maxmp = effected.getMaxRecoverableMp();
// Not needed to set the MP and send update packet if player is already at max MP // Not needed to set the MP and send update packet if player is already at max MP
if (_power > 0)
{
if (mp >= maxmp) if (mp >= maxmp)
{ {
return true; return true;
} }
}
else
{
if ((mp - _power) <= 0)
{
return true;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect
} }
mp += power * getTicksMultiplier(); mp += power * getTicksMultiplier();
if (_power > 0)
{
mp = Math.min(mp, maxmp); mp = Math.min(mp, maxmp);
}
else
{
mp = Math.max(mp, 1);
}
effected.setCurrentMp(mp, false); effected.setCurrentMp(mp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class CpHealOverTime extends AbstractEffect
final double maxcp = effected.getMaxRecoverableCp(); final double maxcp = effected.getMaxRecoverableCp();
// Not needed to set the CP and send update packet if player is already at max CP // Not needed to set the CP and send update packet if player is already at max CP
if (_power > 0)
{
if (cp >= maxcp) if (cp >= maxcp)
{ {
return false; return false;
} }
}
else
{
if ((cp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect
} }
cp += power * getTicksMultiplier(); cp += power * getTicksMultiplier();
if (_power > 0)
{
cp = Math.min(cp, maxcp); cp = Math.min(cp, maxcp);
}
else
{
cp = Math.max(cp, 1);
}
effected.setCurrentCp(cp, false); effected.setCurrentCp(cp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return true; return true;

View File

@@ -50,10 +50,20 @@ public class HealOverTime extends AbstractEffect
final double maxhp = effected.getMaxRecoverableHp(); final double maxhp = effected.getMaxRecoverableHp();
// Not needed to set the HP and send update packet if player is already at max HP // Not needed to set the HP and send update packet if player is already at max HP
if (_power > 0)
{
if (hp >= maxhp) if (hp >= maxhp)
{ {
return false; return false;
} }
}
else
{
if ((hp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect
} }
hp += power * getTicksMultiplier(); hp += power * getTicksMultiplier();
if (_power > 0)
{
hp = Math.min(hp, maxhp); hp = Math.min(hp, maxhp);
}
else
{
hp = Math.max(hp, 1);
}
effected.setCurrentHp(hp, false); effected.setCurrentHp(hp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class ManaHealOverTime extends AbstractEffect
final double maxmp = effected.getMaxRecoverableMp(); final double maxmp = effected.getMaxRecoverableMp();
// Not needed to set the MP and send update packet if player is already at max MP // Not needed to set the MP and send update packet if player is already at max MP
if (_power > 0)
{
if (mp >= maxmp) if (mp >= maxmp)
{ {
return true; return true;
} }
}
else
{
if ((mp - _power) <= 0)
{
return true;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect
} }
mp += power * getTicksMultiplier(); mp += power * getTicksMultiplier();
if (_power > 0)
{
mp = Math.min(mp, maxmp); mp = Math.min(mp, maxmp);
}
else
{
mp = Math.max(mp, 1);
}
effected.setCurrentMp(mp, false); effected.setCurrentMp(mp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class CpHealOverTime extends AbstractEffect
final double maxcp = effected.getMaxRecoverableCp(); final double maxcp = effected.getMaxRecoverableCp();
// Not needed to set the CP and send update packet if player is already at max CP // Not needed to set the CP and send update packet if player is already at max CP
if (_power > 0)
{
if (cp >= maxcp) if (cp >= maxcp)
{ {
return false; return false;
} }
}
else
{
if ((cp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect
} }
cp += power * getTicksMultiplier(); cp += power * getTicksMultiplier();
if (_power > 0)
{
cp = Math.min(cp, maxcp); cp = Math.min(cp, maxcp);
}
else
{
cp = Math.max(cp, 1);
}
effected.setCurrentCp(cp, false); effected.setCurrentCp(cp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return true; return true;

View File

@@ -51,10 +51,20 @@ public class HealOverTime extends AbstractEffect
final double maxhp = effected.getMaxRecoverableHp(); final double maxhp = effected.getMaxRecoverableHp();
// Not needed to set the HP and send update packet if player is already at max HP // Not needed to set the HP and send update packet if player is already at max HP
if (_power > 0)
{
if (hp >= maxhp) if (hp >= maxhp)
{ {
return false; return false;
} }
}
else
{
if ((hp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -67,7 +77,14 @@ public class HealOverTime extends AbstractEffect
} }
hp += power * getTicksMultiplier(); hp += power * getTicksMultiplier();
if (_power > 0)
{
hp = Math.min(hp, maxhp); hp = Math.min(hp, maxhp);
}
else
{
hp = Math.max(hp, 1);
}
effected.setCurrentHp(hp, false); effected.setCurrentHp(hp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class ManaHealOverTime extends AbstractEffect
final double maxmp = effected.getMaxRecoverableMp(); final double maxmp = effected.getMaxRecoverableMp();
// Not needed to set the MP and send update packet if player is already at max MP // Not needed to set the MP and send update packet if player is already at max MP
if (_power > 0)
{
if (mp >= maxmp) if (mp >= maxmp)
{ {
return true; return true;
} }
}
else
{
if ((mp - _power) <= 0)
{
return true;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect
} }
mp += power * getTicksMultiplier(); mp += power * getTicksMultiplier();
if (_power > 0)
{
mp = Math.min(mp, maxmp); mp = Math.min(mp, maxmp);
}
else
{
mp = Math.max(mp, 1);
}
effected.setCurrentMp(mp, false); effected.setCurrentMp(mp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class CpHealOverTime extends AbstractEffect
final double maxcp = effected.getMaxRecoverableCp(); final double maxcp = effected.getMaxRecoverableCp();
// Not needed to set the CP and send update packet if player is already at max CP // Not needed to set the CP and send update packet if player is already at max CP
if (_power > 0)
{
if (cp >= maxcp) if (cp >= maxcp)
{ {
return false; return false;
} }
}
else
{
if ((cp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class CpHealOverTime extends AbstractEffect
} }
cp += power * getTicksMultiplier(); cp += power * getTicksMultiplier();
if (_power > 0)
{
cp = Math.min(cp, maxcp); cp = Math.min(cp, maxcp);
}
else
{
cp = Math.max(cp, 1);
}
effected.setCurrentCp(cp, false); effected.setCurrentCp(cp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return true; return true;

View File

@@ -50,10 +50,20 @@ public class HealOverTime extends AbstractEffect
final double maxhp = effected.getMaxRecoverableHp(); final double maxhp = effected.getMaxRecoverableHp();
// Not needed to set the HP and send update packet if player is already at max HP // Not needed to set the HP and send update packet if player is already at max HP
if (_power > 0)
{
if (hp >= maxhp) if (hp >= maxhp)
{ {
return false; return false;
} }
}
else
{
if ((hp - _power) <= 0)
{
return false;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -62,7 +72,14 @@ public class HealOverTime extends AbstractEffect
} }
hp += power * getTicksMultiplier(); hp += power * getTicksMultiplier();
if (_power > 0)
{
hp = Math.min(hp, maxhp); hp = Math.min(hp, maxhp);
}
else
{
hp = Math.max(hp, 1);
}
effected.setCurrentHp(hp, false); effected.setCurrentHp(hp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();

View File

@@ -48,10 +48,20 @@ public class ManaHealOverTime extends AbstractEffect
final double maxmp = effected.getMaxRecoverableMp(); final double maxmp = effected.getMaxRecoverableMp();
// Not needed to set the MP and send update packet if player is already at max MP // Not needed to set the MP and send update packet if player is already at max MP
if (_power > 0)
{
if (mp >= maxmp) if (mp >= maxmp)
{ {
return true; return true;
} }
}
else
{
if ((mp - _power) <= 0)
{
return true;
}
}
double power = _power; double power = _power;
if ((item != null) && (item.isPotion() || item.isElixir())) if ((item != null) && (item.isPotion() || item.isElixir()))
@@ -60,7 +70,14 @@ public class ManaHealOverTime extends AbstractEffect
} }
mp += power * getTicksMultiplier(); mp += power * getTicksMultiplier();
if (_power > 0)
{
mp = Math.min(mp, maxmp); mp = Math.min(mp, maxmp);
}
else
{
mp = Math.max(mp, 1);
}
effected.setCurrentMp(mp, false); effected.setCurrentMp(mp, false);
effected.broadcastStatusUpdate(effector); effected.broadcastStatusUpdate(effector);
return skill.isToggle(); return skill.isToggle();