HpCpHeal effect should also use additional potion CP stat.
Thanks to petryxa.
This commit is contained in:
@@ -34,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
/**
|
||||
* HpCpHeal effect implementation.
|
||||
* @author Sdw
|
||||
* @author Sdw, Mobius
|
||||
*/
|
||||
public class HpCpHeal extends AbstractEffect
|
||||
{
|
||||
@@ -122,9 +122,14 @@ public class HpCpHeal extends AbstractEffect
|
||||
|
||||
// Additional potion HP.
|
||||
double additionalHp = 0;
|
||||
|
||||
// Additional potion CP.
|
||||
double additionalCp = 0;
|
||||
|
||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||
{
|
||||
additionalHp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||
additionalCp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||
}
|
||||
|
||||
// Prevents overheal and negative amount
|
||||
@@ -137,10 +142,7 @@ public class HpCpHeal extends AbstractEffect
|
||||
additionalHp = Math.max(effected.getMaxRecoverableHp() - newHp, 0);
|
||||
}
|
||||
effected.setCurrentHp(newHp + additionalHp, false);
|
||||
}
|
||||
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1);
|
||||
@@ -154,28 +156,37 @@ public class HpCpHeal extends AbstractEffect
|
||||
sm.addInt((int) (healAmount + additionalHp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// CP recovery.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
amount = Math.max(Math.min(amount - healAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp()), 0);
|
||||
if (amount != 0)
|
||||
{
|
||||
final double newCp = amount + effected.getCurrentCp();
|
||||
effected.setCurrentCp(newCp, false);
|
||||
}
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
if ((newCp + additionalCp) > effected.getMaxRecoverableCp())
|
||||
{
|
||||
additionalCp = Math.max(effected.getMaxRecoverableCp() - newCp, 0);
|
||||
}
|
||||
effected.setCurrentCp(newCp + additionalCp, false);
|
||||
|
||||
if (effector != effected)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
effected.broadcastStatusUpdate(effector);
|
||||
}
|
||||
}
|
||||
|
@@ -34,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
/**
|
||||
* HpCpHeal effect implementation.
|
||||
* @author Sdw
|
||||
* @author Sdw, Mobius
|
||||
*/
|
||||
public class HpCpHeal extends AbstractEffect
|
||||
{
|
||||
@@ -122,9 +122,14 @@ public class HpCpHeal extends AbstractEffect
|
||||
|
||||
// Additional potion HP.
|
||||
double additionalHp = 0;
|
||||
|
||||
// Additional potion CP.
|
||||
double additionalCp = 0;
|
||||
|
||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||
{
|
||||
additionalHp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||
additionalCp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||
}
|
||||
|
||||
// Prevents overheal and negative amount
|
||||
@@ -137,10 +142,7 @@ public class HpCpHeal extends AbstractEffect
|
||||
additionalHp = Math.max(effected.getMaxRecoverableHp() - newHp, 0);
|
||||
}
|
||||
effected.setCurrentHp(newHp + additionalHp, false);
|
||||
}
|
||||
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1);
|
||||
@@ -154,28 +156,37 @@ public class HpCpHeal extends AbstractEffect
|
||||
sm.addInt((int) (healAmount + additionalHp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// CP recovery.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
amount = Math.max(Math.min(amount - healAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp()), 0);
|
||||
if (amount != 0)
|
||||
{
|
||||
final double newCp = amount + effected.getCurrentCp();
|
||||
effected.setCurrentCp(newCp, false);
|
||||
}
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
if ((newCp + additionalCp) > effected.getMaxRecoverableCp())
|
||||
{
|
||||
additionalCp = Math.max(effected.getMaxRecoverableCp() - newCp, 0);
|
||||
}
|
||||
effected.setCurrentCp(newCp + additionalCp, false);
|
||||
|
||||
if (effector != effected)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
effected.broadcastStatusUpdate(effector);
|
||||
}
|
||||
}
|
||||
|
@@ -34,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
/**
|
||||
* HpCpHeal effect implementation.
|
||||
* @author Sdw
|
||||
* @author Sdw, Mobius
|
||||
*/
|
||||
public class HpCpHeal extends AbstractEffect
|
||||
{
|
||||
@@ -122,9 +122,14 @@ public class HpCpHeal extends AbstractEffect
|
||||
|
||||
// Additional potion HP.
|
||||
double additionalHp = 0;
|
||||
|
||||
// Additional potion CP.
|
||||
double additionalCp = 0;
|
||||
|
||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||
{
|
||||
additionalHp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||
additionalCp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||
}
|
||||
|
||||
// Prevents overheal and negative amount
|
||||
@@ -137,10 +142,7 @@ public class HpCpHeal extends AbstractEffect
|
||||
additionalHp = Math.max(effected.getMaxRecoverableHp() - newHp, 0);
|
||||
}
|
||||
effected.setCurrentHp(newHp + additionalHp, false);
|
||||
}
|
||||
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1);
|
||||
@@ -154,28 +156,37 @@ public class HpCpHeal extends AbstractEffect
|
||||
sm.addInt((int) (healAmount + additionalHp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// CP recovery.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
amount = Math.max(Math.min(amount - healAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp()), 0);
|
||||
if (amount != 0)
|
||||
{
|
||||
final double newCp = amount + effected.getCurrentCp();
|
||||
effected.setCurrentCp(newCp, false);
|
||||
}
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
if ((newCp + additionalCp) > effected.getMaxRecoverableCp())
|
||||
{
|
||||
additionalCp = Math.max(effected.getMaxRecoverableCp() - newCp, 0);
|
||||
}
|
||||
effected.setCurrentCp(newCp + additionalCp, false);
|
||||
|
||||
if (effector != effected)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
effected.broadcastStatusUpdate(effector);
|
||||
}
|
||||
}
|
||||
|
@@ -34,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
/**
|
||||
* HpCpHeal effect implementation.
|
||||
* @author Sdw
|
||||
* @author Sdw, Mobius
|
||||
*/
|
||||
public class HpCpHeal extends AbstractEffect
|
||||
{
|
||||
@@ -122,9 +122,14 @@ public class HpCpHeal extends AbstractEffect
|
||||
|
||||
// Additional potion HP.
|
||||
double additionalHp = 0;
|
||||
|
||||
// Additional potion CP.
|
||||
double additionalCp = 0;
|
||||
|
||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||
{
|
||||
additionalHp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||
additionalCp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||
}
|
||||
|
||||
// Prevents overheal and negative amount
|
||||
@@ -137,10 +142,7 @@ public class HpCpHeal extends AbstractEffect
|
||||
additionalHp = Math.max(effected.getMaxRecoverableHp() - newHp, 0);
|
||||
}
|
||||
effected.setCurrentHp(newHp + additionalHp, false);
|
||||
}
|
||||
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1);
|
||||
@@ -154,28 +156,37 @@ public class HpCpHeal extends AbstractEffect
|
||||
sm.addInt((int) (healAmount + additionalHp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// CP recovery.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
amount = Math.max(Math.min(amount - healAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp()), 0);
|
||||
if (amount != 0)
|
||||
{
|
||||
final double newCp = amount + effected.getCurrentCp();
|
||||
effected.setCurrentCp(newCp, false);
|
||||
}
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
if ((newCp + additionalCp) > effected.getMaxRecoverableCp())
|
||||
{
|
||||
additionalCp = Math.max(effected.getMaxRecoverableCp() - newCp, 0);
|
||||
}
|
||||
effected.setCurrentCp(newCp + additionalCp, false);
|
||||
|
||||
if (effector != effected)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
effected.broadcastStatusUpdate(effector);
|
||||
}
|
||||
}
|
||||
|
@@ -34,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
/**
|
||||
* HpCpHeal effect implementation.
|
||||
* @author Sdw
|
||||
* @author Sdw, Mobius
|
||||
*/
|
||||
public class HpCpHeal extends AbstractEffect
|
||||
{
|
||||
@@ -122,9 +122,14 @@ public class HpCpHeal extends AbstractEffect
|
||||
|
||||
// Additional potion HP.
|
||||
double additionalHp = 0;
|
||||
|
||||
// Additional potion CP.
|
||||
double additionalCp = 0;
|
||||
|
||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||
{
|
||||
additionalHp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||
additionalCp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||
}
|
||||
|
||||
// Prevents overheal and negative amount
|
||||
@@ -137,10 +142,7 @@ public class HpCpHeal extends AbstractEffect
|
||||
additionalHp = Math.max(effected.getMaxRecoverableHp() - newHp, 0);
|
||||
}
|
||||
effected.setCurrentHp(newHp + additionalHp, false);
|
||||
}
|
||||
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1);
|
||||
@@ -154,28 +156,37 @@ public class HpCpHeal extends AbstractEffect
|
||||
sm.addInt((int) (healAmount + additionalHp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// CP recovery.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
amount = Math.max(Math.min(amount - healAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp()), 0);
|
||||
if (amount != 0)
|
||||
{
|
||||
final double newCp = amount + effected.getCurrentCp();
|
||||
effected.setCurrentCp(newCp, false);
|
||||
}
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
if ((newCp + additionalCp) > effected.getMaxRecoverableCp())
|
||||
{
|
||||
additionalCp = Math.max(effected.getMaxRecoverableCp() - newCp, 0);
|
||||
}
|
||||
effected.setCurrentCp(newCp + additionalCp, false);
|
||||
|
||||
if (effector != effected)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
effected.broadcastStatusUpdate(effector);
|
||||
}
|
||||
}
|
||||
|
@@ -34,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
/**
|
||||
* HpCpHeal effect implementation.
|
||||
* @author Sdw
|
||||
* @author Sdw, Mobius
|
||||
*/
|
||||
public class HpCpHeal extends AbstractEffect
|
||||
{
|
||||
@@ -122,9 +122,14 @@ public class HpCpHeal extends AbstractEffect
|
||||
|
||||
// Additional potion HP.
|
||||
double additionalHp = 0;
|
||||
|
||||
// Additional potion CP.
|
||||
double additionalCp = 0;
|
||||
|
||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||
{
|
||||
additionalHp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||
additionalCp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||
}
|
||||
|
||||
// Prevents overheal and negative amount
|
||||
@@ -137,10 +142,7 @@ public class HpCpHeal extends AbstractEffect
|
||||
additionalHp = Math.max(effected.getMaxRecoverableHp() - newHp, 0);
|
||||
}
|
||||
effected.setCurrentHp(newHp + additionalHp, false);
|
||||
}
|
||||
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1);
|
||||
@@ -154,28 +156,37 @@ public class HpCpHeal extends AbstractEffect
|
||||
sm.addInt((int) (healAmount + additionalHp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// CP recovery.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
amount = Math.max(Math.min(amount - healAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp()), 0);
|
||||
if (amount != 0)
|
||||
{
|
||||
final double newCp = amount + effected.getCurrentCp();
|
||||
effected.setCurrentCp(newCp, false);
|
||||
}
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
if ((newCp + additionalCp) > effected.getMaxRecoverableCp())
|
||||
{
|
||||
additionalCp = Math.max(effected.getMaxRecoverableCp() - newCp, 0);
|
||||
}
|
||||
effected.setCurrentCp(newCp + additionalCp, false);
|
||||
|
||||
if (effector != effected)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
effected.broadcastStatusUpdate(effector);
|
||||
}
|
||||
}
|
||||
|
@@ -34,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
/**
|
||||
* HpCpHeal effect implementation.
|
||||
* @author Sdw
|
||||
* @author Sdw, Mobius
|
||||
*/
|
||||
public class HpCpHeal extends AbstractEffect
|
||||
{
|
||||
@@ -122,9 +122,14 @@ public class HpCpHeal extends AbstractEffect
|
||||
|
||||
// Additional potion HP.
|
||||
double additionalHp = 0;
|
||||
|
||||
// Additional potion CP.
|
||||
double additionalCp = 0;
|
||||
|
||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||
{
|
||||
additionalHp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||
additionalCp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||
}
|
||||
|
||||
// Prevents overheal and negative amount
|
||||
@@ -137,10 +142,7 @@ public class HpCpHeal extends AbstractEffect
|
||||
additionalHp = Math.max(effected.getMaxRecoverableHp() - newHp, 0);
|
||||
}
|
||||
effected.setCurrentHp(newHp + additionalHp, false);
|
||||
}
|
||||
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1);
|
||||
@@ -154,28 +156,37 @@ public class HpCpHeal extends AbstractEffect
|
||||
sm.addInt((int) (healAmount + additionalHp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// CP recovery.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
amount = Math.max(Math.min(amount - healAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp()), 0);
|
||||
if (amount != 0)
|
||||
{
|
||||
final double newCp = amount + effected.getCurrentCp();
|
||||
effected.setCurrentCp(newCp, false);
|
||||
}
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
if ((newCp + additionalCp) > effected.getMaxRecoverableCp())
|
||||
{
|
||||
additionalCp = Math.max(effected.getMaxRecoverableCp() - newCp, 0);
|
||||
}
|
||||
effected.setCurrentCp(newCp + additionalCp, false);
|
||||
|
||||
if (effector != effected)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
effected.broadcastStatusUpdate(effector);
|
||||
}
|
||||
}
|
||||
|
@@ -34,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
/**
|
||||
* HpCpHeal effect implementation.
|
||||
* @author Sdw
|
||||
* @author Sdw, Mobius
|
||||
*/
|
||||
public class HpCpHeal extends AbstractEffect
|
||||
{
|
||||
@@ -122,9 +122,14 @@ public class HpCpHeal extends AbstractEffect
|
||||
|
||||
// Additional potion HP.
|
||||
double additionalHp = 0;
|
||||
|
||||
// Additional potion CP.
|
||||
double additionalCp = 0;
|
||||
|
||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||
{
|
||||
additionalHp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||
additionalCp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||
}
|
||||
|
||||
// Prevents overheal and negative amount
|
||||
@@ -137,10 +142,7 @@ public class HpCpHeal extends AbstractEffect
|
||||
additionalHp = Math.max(effected.getMaxRecoverableHp() - newHp, 0);
|
||||
}
|
||||
effected.setCurrentHp(newHp + additionalHp, false);
|
||||
}
|
||||
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1);
|
||||
@@ -154,28 +156,37 @@ public class HpCpHeal extends AbstractEffect
|
||||
sm.addInt((int) (healAmount + additionalHp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// CP recovery.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
amount = Math.max(Math.min(amount - healAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp()), 0);
|
||||
if (amount != 0)
|
||||
{
|
||||
final double newCp = amount + effected.getCurrentCp();
|
||||
effected.setCurrentCp(newCp, false);
|
||||
}
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
if ((newCp + additionalCp) > effected.getMaxRecoverableCp())
|
||||
{
|
||||
additionalCp = Math.max(effected.getMaxRecoverableCp() - newCp, 0);
|
||||
}
|
||||
effected.setCurrentCp(newCp + additionalCp, false);
|
||||
|
||||
if (effector != effected)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
effected.broadcastStatusUpdate(effector);
|
||||
}
|
||||
}
|
||||
|
@@ -34,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
/**
|
||||
* HpCpHeal effect implementation.
|
||||
* @author Sdw
|
||||
* @author Sdw, Mobius
|
||||
*/
|
||||
public class HpCpHeal extends AbstractEffect
|
||||
{
|
||||
@@ -122,9 +122,14 @@ public class HpCpHeal extends AbstractEffect
|
||||
|
||||
// Additional potion HP.
|
||||
double additionalHp = 0;
|
||||
|
||||
// Additional potion CP.
|
||||
double additionalCp = 0;
|
||||
|
||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||
{
|
||||
additionalHp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||
additionalCp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||
}
|
||||
|
||||
// Prevents overheal and negative amount
|
||||
@@ -137,10 +142,7 @@ public class HpCpHeal extends AbstractEffect
|
||||
additionalHp = Math.max(effected.getMaxRecoverableHp() - newHp, 0);
|
||||
}
|
||||
effected.setCurrentHp(newHp + additionalHp, false);
|
||||
}
|
||||
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1);
|
||||
@@ -154,28 +156,37 @@ public class HpCpHeal extends AbstractEffect
|
||||
sm.addInt((int) (healAmount + additionalHp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// CP recovery.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
amount = Math.max(Math.min(amount - healAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp()), 0);
|
||||
if (amount != 0)
|
||||
{
|
||||
final double newCp = amount + effected.getCurrentCp();
|
||||
effected.setCurrentCp(newCp, false);
|
||||
}
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
if ((newCp + additionalCp) > effected.getMaxRecoverableCp())
|
||||
{
|
||||
additionalCp = Math.max(effected.getMaxRecoverableCp() - newCp, 0);
|
||||
}
|
||||
effected.setCurrentCp(newCp + additionalCp, false);
|
||||
|
||||
if (effector != effected)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
effected.broadcastStatusUpdate(effector);
|
||||
}
|
||||
}
|
||||
|
@@ -34,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
/**
|
||||
* HpCpHeal effect implementation.
|
||||
* @author Sdw
|
||||
* @author Sdw, Mobius
|
||||
*/
|
||||
public class HpCpHeal extends AbstractEffect
|
||||
{
|
||||
@@ -122,9 +122,14 @@ public class HpCpHeal extends AbstractEffect
|
||||
|
||||
// Additional potion HP.
|
||||
double additionalHp = 0;
|
||||
|
||||
// Additional potion CP.
|
||||
double additionalCp = 0;
|
||||
|
||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||
{
|
||||
additionalHp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||
additionalCp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||
}
|
||||
|
||||
// Prevents overheal and negative amount
|
||||
@@ -137,10 +142,7 @@ public class HpCpHeal extends AbstractEffect
|
||||
additionalHp = Math.max(effected.getMaxRecoverableHp() - newHp, 0);
|
||||
}
|
||||
effected.setCurrentHp(newHp + additionalHp, false);
|
||||
}
|
||||
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1);
|
||||
@@ -154,28 +156,37 @@ public class HpCpHeal extends AbstractEffect
|
||||
sm.addInt((int) (healAmount + additionalHp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// CP recovery.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
amount = Math.max(Math.min(amount - healAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp()), 0);
|
||||
if (amount != 0)
|
||||
{
|
||||
final double newCp = amount + effected.getCurrentCp();
|
||||
effected.setCurrentCp(newCp, false);
|
||||
}
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
if ((newCp + additionalCp) > effected.getMaxRecoverableCp())
|
||||
{
|
||||
additionalCp = Math.max(effected.getMaxRecoverableCp() - newCp, 0);
|
||||
}
|
||||
effected.setCurrentCp(newCp + additionalCp, false);
|
||||
|
||||
if (effector != effected)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
effected.broadcastStatusUpdate(effector);
|
||||
}
|
||||
}
|
||||
|
@@ -34,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
/**
|
||||
* HpCpHeal effect implementation.
|
||||
* @author Sdw
|
||||
* @author Sdw, Mobius
|
||||
*/
|
||||
public class HpCpHeal extends AbstractEffect
|
||||
{
|
||||
@@ -122,9 +122,14 @@ public class HpCpHeal extends AbstractEffect
|
||||
|
||||
// Additional potion HP.
|
||||
double additionalHp = 0;
|
||||
|
||||
// Additional potion CP.
|
||||
double additionalCp = 0;
|
||||
|
||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||
{
|
||||
additionalHp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||
additionalCp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||
}
|
||||
|
||||
// Prevents overheal and negative amount
|
||||
@@ -137,10 +142,7 @@ public class HpCpHeal extends AbstractEffect
|
||||
additionalHp = Math.max(effected.getMaxRecoverableHp() - newHp, 0);
|
||||
}
|
||||
effected.setCurrentHp(newHp + additionalHp, false);
|
||||
}
|
||||
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1);
|
||||
@@ -154,28 +156,37 @@ public class HpCpHeal extends AbstractEffect
|
||||
sm.addInt((int) (healAmount + additionalHp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// CP recovery.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
amount = Math.max(Math.min(amount - healAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp()), 0);
|
||||
if (amount != 0)
|
||||
{
|
||||
final double newCp = amount + effected.getCurrentCp();
|
||||
effected.setCurrentCp(newCp, false);
|
||||
}
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_RECOVER_S1_CP);
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
if ((newCp + additionalCp) > effected.getMaxRecoverableCp())
|
||||
{
|
||||
additionalCp = Math.max(effected.getMaxRecoverableCp() - newCp, 0);
|
||||
}
|
||||
effected.setCurrentCp(newCp + additionalCp, false);
|
||||
|
||||
if (effector != effected)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_RECOVER_S1_CP);
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
effected.broadcastStatusUpdate(effector);
|
||||
}
|
||||
}
|
||||
|
@@ -34,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
/**
|
||||
* HpCpHeal effect implementation.
|
||||
* @author Sdw
|
||||
* @author Sdw, Mobius
|
||||
*/
|
||||
public class HpCpHeal extends AbstractEffect
|
||||
{
|
||||
@@ -122,9 +122,14 @@ public class HpCpHeal extends AbstractEffect
|
||||
|
||||
// Additional potion HP.
|
||||
double additionalHp = 0;
|
||||
|
||||
// Additional potion CP.
|
||||
double additionalCp = 0;
|
||||
|
||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||
{
|
||||
additionalHp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||
additionalCp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||
}
|
||||
|
||||
// Prevents overheal and negative amount
|
||||
@@ -137,10 +142,7 @@ public class HpCpHeal extends AbstractEffect
|
||||
additionalHp = Math.max(effected.getMaxRecoverableHp() - newHp, 0);
|
||||
}
|
||||
effected.setCurrentHp(newHp + additionalHp, false);
|
||||
}
|
||||
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1);
|
||||
@@ -154,28 +156,37 @@ public class HpCpHeal extends AbstractEffect
|
||||
sm.addInt((int) (healAmount + additionalHp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// CP recovery.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
amount = Math.max(Math.min(amount - healAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp()), 0);
|
||||
if (amount != 0)
|
||||
{
|
||||
final double newCp = amount + effected.getCurrentCp();
|
||||
effected.setCurrentCp(newCp, false);
|
||||
}
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_RECOVER_S1_CP);
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
if ((newCp + additionalCp) > effected.getMaxRecoverableCp())
|
||||
{
|
||||
additionalCp = Math.max(effected.getMaxRecoverableCp() - newCp, 0);
|
||||
}
|
||||
effected.setCurrentCp(newCp + additionalCp, false);
|
||||
|
||||
if (effector != effected)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_RECOVER_S1_CP);
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
effected.broadcastStatusUpdate(effector);
|
||||
}
|
||||
}
|
||||
|
@@ -34,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
/**
|
||||
* HpCpHeal effect implementation.
|
||||
* @author Sdw
|
||||
* @author Sdw, Mobius
|
||||
*/
|
||||
public class HpCpHeal extends AbstractEffect
|
||||
{
|
||||
@@ -122,9 +122,14 @@ public class HpCpHeal extends AbstractEffect
|
||||
|
||||
// Additional potion HP.
|
||||
double additionalHp = 0;
|
||||
|
||||
// Additional potion CP.
|
||||
double additionalCp = 0;
|
||||
|
||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||
{
|
||||
additionalHp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||
additionalCp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||
}
|
||||
|
||||
// Prevents overheal and negative amount
|
||||
@@ -137,10 +142,7 @@ public class HpCpHeal extends AbstractEffect
|
||||
additionalHp = Math.max(effected.getMaxRecoverableHp() - newHp, 0);
|
||||
}
|
||||
effected.setCurrentHp(newHp + additionalHp, false);
|
||||
}
|
||||
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1);
|
||||
@@ -154,28 +156,37 @@ public class HpCpHeal extends AbstractEffect
|
||||
sm.addInt((int) (healAmount + additionalHp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// CP recovery.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
amount = Math.max(Math.min(amount - healAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp()), 0);
|
||||
if (amount != 0)
|
||||
{
|
||||
final double newCp = amount + effected.getCurrentCp();
|
||||
effected.setCurrentCp(newCp, false);
|
||||
}
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
if ((newCp + additionalCp) > effected.getMaxRecoverableCp())
|
||||
{
|
||||
additionalCp = Math.max(effected.getMaxRecoverableCp() - newCp, 0);
|
||||
}
|
||||
effected.setCurrentCp(newCp + additionalCp, false);
|
||||
|
||||
if (effector != effected)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
effected.broadcastStatusUpdate(effector);
|
||||
}
|
||||
}
|
||||
|
@@ -34,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
/**
|
||||
* HpCpHeal effect implementation.
|
||||
* @author Sdw
|
||||
* @author Sdw, Mobius
|
||||
*/
|
||||
public class HpCpHeal extends AbstractEffect
|
||||
{
|
||||
@@ -122,9 +122,14 @@ public class HpCpHeal extends AbstractEffect
|
||||
|
||||
// Additional potion HP.
|
||||
double additionalHp = 0;
|
||||
|
||||
// Additional potion CP.
|
||||
double additionalCp = 0;
|
||||
|
||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||
{
|
||||
additionalHp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||
additionalCp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||
}
|
||||
|
||||
// Prevents overheal and negative amount
|
||||
@@ -137,10 +142,7 @@ public class HpCpHeal extends AbstractEffect
|
||||
additionalHp = Math.max(effected.getMaxRecoverableHp() - newHp, 0);
|
||||
}
|
||||
effected.setCurrentHp(newHp + additionalHp, false);
|
||||
}
|
||||
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1);
|
||||
@@ -154,28 +156,37 @@ public class HpCpHeal extends AbstractEffect
|
||||
sm.addInt((int) (healAmount + additionalHp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// CP recovery.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
amount = Math.max(Math.min(amount - healAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp()), 0);
|
||||
if (amount != 0)
|
||||
{
|
||||
final double newCp = amount + effected.getCurrentCp();
|
||||
effected.setCurrentCp(newCp, false);
|
||||
}
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
if ((newCp + additionalCp) > effected.getMaxRecoverableCp())
|
||||
{
|
||||
additionalCp = Math.max(effected.getMaxRecoverableCp() - newCp, 0);
|
||||
}
|
||||
effected.setCurrentCp(newCp + additionalCp, false);
|
||||
|
||||
if (effector != effected)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
effected.broadcastStatusUpdate(effector);
|
||||
}
|
||||
}
|
||||
|
@@ -34,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
/**
|
||||
* HpCpHeal effect implementation.
|
||||
* @author Sdw
|
||||
* @author Sdw, Mobius
|
||||
*/
|
||||
public class HpCpHeal extends AbstractEffect
|
||||
{
|
||||
@@ -122,9 +122,14 @@ public class HpCpHeal extends AbstractEffect
|
||||
|
||||
// Additional potion HP.
|
||||
double additionalHp = 0;
|
||||
|
||||
// Additional potion CP.
|
||||
double additionalCp = 0;
|
||||
|
||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||
{
|
||||
additionalHp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||
additionalCp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||
}
|
||||
|
||||
// Prevents overheal and negative amount
|
||||
@@ -137,10 +142,7 @@ public class HpCpHeal extends AbstractEffect
|
||||
additionalHp = Math.max(effected.getMaxRecoverableHp() - newHp, 0);
|
||||
}
|
||||
effected.setCurrentHp(newHp + additionalHp, false);
|
||||
}
|
||||
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1);
|
||||
@@ -154,28 +156,37 @@ public class HpCpHeal extends AbstractEffect
|
||||
sm.addInt((int) (healAmount + additionalHp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// CP recovery.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
amount = Math.max(Math.min(amount - healAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp()), 0);
|
||||
if (amount != 0)
|
||||
{
|
||||
final double newCp = amount + effected.getCurrentCp();
|
||||
effected.setCurrentCp(newCp, false);
|
||||
}
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
if ((newCp + additionalCp) > effected.getMaxRecoverableCp())
|
||||
{
|
||||
additionalCp = Math.max(effected.getMaxRecoverableCp() - newCp, 0);
|
||||
}
|
||||
effected.setCurrentCp(newCp + additionalCp, false);
|
||||
|
||||
if (effector != effected)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
effected.broadcastStatusUpdate(effector);
|
||||
}
|
||||
}
|
||||
|
@@ -34,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
/**
|
||||
* HpCpHeal effect implementation.
|
||||
* @author Sdw
|
||||
* @author Sdw, Mobius
|
||||
*/
|
||||
public class HpCpHeal extends AbstractEffect
|
||||
{
|
||||
@@ -122,9 +122,14 @@ public class HpCpHeal extends AbstractEffect
|
||||
|
||||
// Additional potion HP.
|
||||
double additionalHp = 0;
|
||||
|
||||
// Additional potion CP.
|
||||
double additionalCp = 0;
|
||||
|
||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||
{
|
||||
additionalHp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||
additionalCp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||
}
|
||||
|
||||
// Prevents overheal and negative amount
|
||||
@@ -137,10 +142,7 @@ public class HpCpHeal extends AbstractEffect
|
||||
additionalHp = Math.max(effected.getMaxRecoverableHp() - newHp, 0);
|
||||
}
|
||||
effected.setCurrentHp(newHp + additionalHp, false);
|
||||
}
|
||||
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1);
|
||||
@@ -154,28 +156,37 @@ public class HpCpHeal extends AbstractEffect
|
||||
sm.addInt((int) (healAmount + additionalHp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// CP recovery.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
amount = Math.max(Math.min(amount - healAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp()), 0);
|
||||
if (amount != 0)
|
||||
{
|
||||
final double newCp = amount + effected.getCurrentCp();
|
||||
effected.setCurrentCp(newCp, false);
|
||||
}
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
if ((newCp + additionalCp) > effected.getMaxRecoverableCp())
|
||||
{
|
||||
additionalCp = Math.max(effected.getMaxRecoverableCp() - newCp, 0);
|
||||
}
|
||||
effected.setCurrentCp(newCp + additionalCp, false);
|
||||
|
||||
if (effector != effected)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
effected.broadcastStatusUpdate(effector);
|
||||
}
|
||||
}
|
||||
|
@@ -34,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
/**
|
||||
* HpCpHeal effect implementation.
|
||||
* @author Sdw
|
||||
* @author Sdw, Mobius
|
||||
*/
|
||||
public class HpCpHeal extends AbstractEffect
|
||||
{
|
||||
@@ -122,9 +122,14 @@ public class HpCpHeal extends AbstractEffect
|
||||
|
||||
// Additional potion HP.
|
||||
double additionalHp = 0;
|
||||
|
||||
// Additional potion CP.
|
||||
double additionalCp = 0;
|
||||
|
||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||
{
|
||||
additionalHp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||
additionalCp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||
}
|
||||
|
||||
// Prevents overheal and negative amount
|
||||
@@ -137,10 +142,7 @@ public class HpCpHeal extends AbstractEffect
|
||||
additionalHp = Math.max(effected.getMaxRecoverableHp() - newHp, 0);
|
||||
}
|
||||
effected.setCurrentHp(newHp + additionalHp, false);
|
||||
}
|
||||
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1);
|
||||
@@ -154,28 +156,37 @@ public class HpCpHeal extends AbstractEffect
|
||||
sm.addInt((int) (healAmount + additionalHp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// CP recovery.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
amount = Math.max(Math.min(amount - healAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp()), 0);
|
||||
if (amount != 0)
|
||||
{
|
||||
final double newCp = amount + effected.getCurrentCp();
|
||||
effected.setCurrentCp(newCp, false);
|
||||
}
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
if ((newCp + additionalCp) > effected.getMaxRecoverableCp())
|
||||
{
|
||||
additionalCp = Math.max(effected.getMaxRecoverableCp() - newCp, 0);
|
||||
}
|
||||
effected.setCurrentCp(newCp + additionalCp, false);
|
||||
|
||||
if (effector != effected)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
effected.broadcastStatusUpdate(effector);
|
||||
}
|
||||
}
|
||||
|
@@ -34,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
/**
|
||||
* HpCpHeal effect implementation.
|
||||
* @author Sdw
|
||||
* @author Sdw, Mobius
|
||||
*/
|
||||
public class HpCpHeal extends AbstractEffect
|
||||
{
|
||||
@@ -122,9 +122,14 @@ public class HpCpHeal extends AbstractEffect
|
||||
|
||||
// Additional potion HP.
|
||||
double additionalHp = 0;
|
||||
|
||||
// Additional potion CP.
|
||||
double additionalCp = 0;
|
||||
|
||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||
{
|
||||
additionalHp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||
additionalCp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||
}
|
||||
|
||||
// Prevents overheal and negative amount
|
||||
@@ -137,10 +142,7 @@ public class HpCpHeal extends AbstractEffect
|
||||
additionalHp = Math.max(effected.getMaxRecoverableHp() - newHp, 0);
|
||||
}
|
||||
effected.setCurrentHp(newHp + additionalHp, false);
|
||||
}
|
||||
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1);
|
||||
@@ -154,28 +156,37 @@ public class HpCpHeal extends AbstractEffect
|
||||
sm.addInt((int) (healAmount + additionalHp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// CP recovery.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
amount = Math.max(Math.min(amount - healAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp()), 0);
|
||||
if (amount != 0)
|
||||
{
|
||||
final double newCp = amount + effected.getCurrentCp();
|
||||
effected.setCurrentCp(newCp, false);
|
||||
}
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
if ((newCp + additionalCp) > effected.getMaxRecoverableCp())
|
||||
{
|
||||
additionalCp = Math.max(effected.getMaxRecoverableCp() - newCp, 0);
|
||||
}
|
||||
effected.setCurrentCp(newCp + additionalCp, false);
|
||||
|
||||
if (effector != effected)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
effected.broadcastStatusUpdate(effector);
|
||||
}
|
||||
}
|
||||
|
@@ -34,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
/**
|
||||
* HpCpHeal effect implementation.
|
||||
* @author Sdw
|
||||
* @author Sdw, Mobius
|
||||
*/
|
||||
public class HpCpHeal extends AbstractEffect
|
||||
{
|
||||
@@ -122,9 +122,14 @@ public class HpCpHeal extends AbstractEffect
|
||||
|
||||
// Additional potion HP.
|
||||
double additionalHp = 0;
|
||||
|
||||
// Additional potion CP.
|
||||
double additionalCp = 0;
|
||||
|
||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||
{
|
||||
additionalHp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||
additionalCp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||
}
|
||||
|
||||
// Prevents overheal and negative amount
|
||||
@@ -137,10 +142,7 @@ public class HpCpHeal extends AbstractEffect
|
||||
additionalHp = Math.max(effected.getMaxRecoverableHp() - newHp, 0);
|
||||
}
|
||||
effected.setCurrentHp(newHp + additionalHp, false);
|
||||
}
|
||||
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1);
|
||||
@@ -154,28 +156,37 @@ public class HpCpHeal extends AbstractEffect
|
||||
sm.addInt((int) (healAmount + additionalHp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// CP recovery.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
amount = Math.max(Math.min(amount - healAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp()), 0);
|
||||
if (amount != 0)
|
||||
{
|
||||
final double newCp = amount + effected.getCurrentCp();
|
||||
effected.setCurrentCp(newCp, false);
|
||||
}
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
if ((newCp + additionalCp) > effected.getMaxRecoverableCp())
|
||||
{
|
||||
additionalCp = Math.max(effected.getMaxRecoverableCp() - newCp, 0);
|
||||
}
|
||||
effected.setCurrentCp(newCp + additionalCp, false);
|
||||
|
||||
if (effector != effected)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
effected.broadcastStatusUpdate(effector);
|
||||
}
|
||||
}
|
||||
|
@@ -58,8 +58,7 @@ public enum CommonSkill
|
||||
ALCHEMY_CUBE(17943, 1),
|
||||
ALCHEMY_CUBE_RANDOM_SUCCESS(17966, 1),
|
||||
PET_SWITCH_STANCE(6054, 1),
|
||||
WEIGHT_PENALTY(4270, 1),
|
||||
POTION_MASTERY(45184, 1);
|
||||
WEIGHT_PENALTY(4270, 1);
|
||||
|
||||
private final SkillHolder _holder;
|
||||
|
||||
|
@@ -34,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
/**
|
||||
* HpCpHeal effect implementation.
|
||||
* @author Sdw
|
||||
* @author Sdw, Mobius
|
||||
*/
|
||||
public class HpCpHeal extends AbstractEffect
|
||||
{
|
||||
@@ -122,9 +122,14 @@ public class HpCpHeal extends AbstractEffect
|
||||
|
||||
// Additional potion HP.
|
||||
double additionalHp = 0;
|
||||
|
||||
// Additional potion CP.
|
||||
double additionalCp = 0;
|
||||
|
||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||
{
|
||||
additionalHp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||
additionalCp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||
}
|
||||
|
||||
// Prevents overheal and negative amount
|
||||
@@ -137,10 +142,7 @@ public class HpCpHeal extends AbstractEffect
|
||||
additionalHp = Math.max(effected.getMaxRecoverableHp() - newHp, 0);
|
||||
}
|
||||
effected.setCurrentHp(newHp + additionalHp, false);
|
||||
}
|
||||
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1);
|
||||
@@ -154,28 +156,37 @@ public class HpCpHeal extends AbstractEffect
|
||||
sm.addInt((int) (healAmount + additionalHp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// CP recovery.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
amount = Math.max(Math.min(amount - healAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp()), 0);
|
||||
if (amount != 0)
|
||||
{
|
||||
final double newCp = amount + effected.getCurrentCp();
|
||||
effected.setCurrentCp(newCp, false);
|
||||
}
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
if ((newCp + additionalCp) > effected.getMaxRecoverableCp())
|
||||
{
|
||||
additionalCp = Math.max(effected.getMaxRecoverableCp() - newCp, 0);
|
||||
}
|
||||
effected.setCurrentCp(newCp + additionalCp, false);
|
||||
|
||||
if (effector != effected)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
effected.broadcastStatusUpdate(effector);
|
||||
}
|
||||
}
|
||||
|
@@ -35,7 +35,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
/**
|
||||
* HpCpHeal effect implementation.
|
||||
* @author Sdw
|
||||
* @author Sdw, Mobius
|
||||
*/
|
||||
public class HpCpHeal extends AbstractEffect
|
||||
{
|
||||
@@ -123,9 +123,14 @@ public class HpCpHeal extends AbstractEffect
|
||||
|
||||
// Additional potion HP.
|
||||
double additionalHp = 0;
|
||||
|
||||
// Additional potion CP.
|
||||
double additionalCp = 0;
|
||||
|
||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||
{
|
||||
additionalHp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||
additionalCp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||
|
||||
// Classic Potion Mastery
|
||||
// TODO: Create an effect if more mastery skills are added.
|
||||
@@ -142,10 +147,7 @@ public class HpCpHeal extends AbstractEffect
|
||||
additionalHp = Math.max(effected.getMaxRecoverableHp() - newHp, 0);
|
||||
}
|
||||
effected.setCurrentHp(newHp + additionalHp, false);
|
||||
}
|
||||
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1);
|
||||
@@ -159,28 +161,37 @@ public class HpCpHeal extends AbstractEffect
|
||||
sm.addInt((int) (healAmount + additionalHp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// CP recovery.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
amount = Math.max(Math.min(amount - healAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp()), 0);
|
||||
if (amount != 0)
|
||||
{
|
||||
final double newCp = amount + effected.getCurrentCp();
|
||||
effected.setCurrentCp(newCp, false);
|
||||
}
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
if ((newCp + additionalCp) > effected.getMaxRecoverableCp())
|
||||
{
|
||||
additionalCp = Math.max(effected.getMaxRecoverableCp() - newCp, 0);
|
||||
}
|
||||
effected.setCurrentCp(newCp + additionalCp, false);
|
||||
|
||||
if (effector != effected)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
effected.broadcastStatusUpdate(effector);
|
||||
}
|
||||
}
|
||||
|
@@ -34,7 +34,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
/**
|
||||
* HpCpHeal effect implementation.
|
||||
* @author Sdw
|
||||
* @author Sdw, Mobius
|
||||
*/
|
||||
public class HpCpHeal extends AbstractEffect
|
||||
{
|
||||
@@ -122,9 +122,14 @@ public class HpCpHeal extends AbstractEffect
|
||||
|
||||
// Additional potion HP.
|
||||
double additionalHp = 0;
|
||||
|
||||
// Additional potion CP.
|
||||
double additionalCp = 0;
|
||||
|
||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||
{
|
||||
additionalHp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||
additionalCp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||
}
|
||||
|
||||
// Prevents overheal and negative amount
|
||||
@@ -137,10 +142,7 @@ public class HpCpHeal extends AbstractEffect
|
||||
additionalHp = Math.max(effected.getMaxRecoverableHp() - newHp, 0);
|
||||
}
|
||||
effected.setCurrentHp(newHp + additionalHp, false);
|
||||
}
|
||||
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1);
|
||||
@@ -154,28 +156,37 @@ public class HpCpHeal extends AbstractEffect
|
||||
sm.addInt((int) (healAmount + additionalHp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// CP recovery.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
amount = Math.max(Math.min(amount - healAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp()), 0);
|
||||
if (amount != 0)
|
||||
{
|
||||
final double newCp = amount + effected.getCurrentCp();
|
||||
effected.setCurrentCp(newCp, false);
|
||||
}
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
if ((newCp + additionalCp) > effected.getMaxRecoverableCp())
|
||||
{
|
||||
additionalCp = Math.max(effected.getMaxRecoverableCp() - newCp, 0);
|
||||
}
|
||||
effected.setCurrentCp(newCp + additionalCp, false);
|
||||
|
||||
if (effector != effected)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
effected.broadcastStatusUpdate(effector);
|
||||
}
|
||||
}
|
||||
|
@@ -35,7 +35,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
/**
|
||||
* HpCpHeal effect implementation.
|
||||
* @author Sdw
|
||||
* @author Sdw, Mobius
|
||||
*/
|
||||
public class HpCpHeal extends AbstractEffect
|
||||
{
|
||||
@@ -123,9 +123,14 @@ public class HpCpHeal extends AbstractEffect
|
||||
|
||||
// Additional potion HP.
|
||||
double additionalHp = 0;
|
||||
|
||||
// Additional potion CP.
|
||||
double additionalCp = 0;
|
||||
|
||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||
{
|
||||
additionalHp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||
additionalCp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||
|
||||
// Classic Potion Mastery
|
||||
// TODO: Create an effect if more mastery skills are added.
|
||||
@@ -142,10 +147,7 @@ public class HpCpHeal extends AbstractEffect
|
||||
additionalHp = Math.max(effected.getMaxRecoverableHp() - newHp, 0);
|
||||
}
|
||||
effected.setCurrentHp(newHp + additionalHp, false);
|
||||
}
|
||||
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1);
|
||||
@@ -159,28 +161,37 @@ public class HpCpHeal extends AbstractEffect
|
||||
sm.addInt((int) (healAmount + additionalHp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// CP recovery.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
amount = Math.max(Math.min(amount - healAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp()), 0);
|
||||
if (amount != 0)
|
||||
{
|
||||
final double newCp = amount + effected.getCurrentCp();
|
||||
effected.setCurrentCp(newCp, false);
|
||||
}
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
if ((newCp + additionalCp) > effected.getMaxRecoverableCp())
|
||||
{
|
||||
additionalCp = Math.max(effected.getMaxRecoverableCp() - newCp, 0);
|
||||
}
|
||||
effected.setCurrentCp(newCp + additionalCp, false);
|
||||
|
||||
if (effector != effected)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
effected.broadcastStatusUpdate(effector);
|
||||
}
|
||||
}
|
||||
|
@@ -35,7 +35,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
/**
|
||||
* HpCpHeal effect implementation.
|
||||
* @author Sdw
|
||||
* @author Sdw, Mobius
|
||||
*/
|
||||
public class HpCpHeal extends AbstractEffect
|
||||
{
|
||||
@@ -123,9 +123,14 @@ public class HpCpHeal extends AbstractEffect
|
||||
|
||||
// Additional potion HP.
|
||||
double additionalHp = 0;
|
||||
|
||||
// Additional potion CP.
|
||||
double additionalCp = 0;
|
||||
|
||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||
{
|
||||
additionalHp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||
additionalCp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||
|
||||
// Classic Potion Mastery
|
||||
// TODO: Create an effect if more mastery skills are added.
|
||||
@@ -142,10 +147,7 @@ public class HpCpHeal extends AbstractEffect
|
||||
additionalHp = Math.max(effected.getMaxRecoverableHp() - newHp, 0);
|
||||
}
|
||||
effected.setCurrentHp(newHp + additionalHp, false);
|
||||
}
|
||||
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1);
|
||||
@@ -159,28 +161,37 @@ public class HpCpHeal extends AbstractEffect
|
||||
sm.addInt((int) (healAmount + additionalHp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// CP recovery.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
amount = Math.max(Math.min(amount - healAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp()), 0);
|
||||
if (amount != 0)
|
||||
{
|
||||
final double newCp = amount + effected.getCurrentCp();
|
||||
effected.setCurrentCp(newCp, false);
|
||||
}
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
if ((newCp + additionalCp) > effected.getMaxRecoverableCp())
|
||||
{
|
||||
additionalCp = Math.max(effected.getMaxRecoverableCp() - newCp, 0);
|
||||
}
|
||||
effected.setCurrentCp(newCp + additionalCp, false);
|
||||
|
||||
if (effector != effected)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S1_CP_HAS_BEEN_RESTORED);
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
effected.broadcastStatusUpdate(effector);
|
||||
}
|
||||
}
|
||||
|
@@ -35,7 +35,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
/**
|
||||
* HpCpHeal effect implementation.
|
||||
* @author Sdw
|
||||
* @author Sdw, Mobius
|
||||
*/
|
||||
public class HpCpHeal extends AbstractEffect
|
||||
{
|
||||
@@ -123,9 +123,14 @@ public class HpCpHeal extends AbstractEffect
|
||||
|
||||
// Additional potion HP.
|
||||
double additionalHp = 0;
|
||||
|
||||
// Additional potion CP.
|
||||
double additionalCp = 0;
|
||||
|
||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||
{
|
||||
additionalHp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||
additionalCp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||
|
||||
// Classic Potion Mastery
|
||||
// TODO: Create an effect if more mastery skills are added.
|
||||
@@ -142,10 +147,7 @@ public class HpCpHeal extends AbstractEffect
|
||||
additionalHp = Math.max(effected.getMaxRecoverableHp() - newHp, 0);
|
||||
}
|
||||
effected.setCurrentHp(newHp + additionalHp, false);
|
||||
}
|
||||
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1);
|
||||
@@ -159,28 +161,37 @@ public class HpCpHeal extends AbstractEffect
|
||||
sm.addInt((int) (healAmount + additionalHp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// CP recovery.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
amount = Math.max(Math.min(amount - healAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp()), 0);
|
||||
if (amount != 0)
|
||||
{
|
||||
final double newCp = amount + effected.getCurrentCp();
|
||||
effected.setCurrentCp(newCp, false);
|
||||
}
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_RECOVER_S1_CP);
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
if ((newCp + additionalCp) > effected.getMaxRecoverableCp())
|
||||
{
|
||||
additionalCp = Math.max(effected.getMaxRecoverableCp() - newCp, 0);
|
||||
}
|
||||
effected.setCurrentCp(newCp + additionalCp, false);
|
||||
|
||||
if (effector != effected)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_RECOVER_S1_CP);
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
effected.broadcastStatusUpdate(effector);
|
||||
}
|
||||
}
|
||||
}
|
@@ -35,7 +35,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
|
||||
/**
|
||||
* HpCpHeal effect implementation.
|
||||
* @author Sdw
|
||||
* @author Sdw, Mobius
|
||||
*/
|
||||
public class HpCpHeal extends AbstractEffect
|
||||
{
|
||||
@@ -123,9 +123,14 @@ public class HpCpHeal extends AbstractEffect
|
||||
|
||||
// Additional potion HP.
|
||||
double additionalHp = 0;
|
||||
|
||||
// Additional potion CP.
|
||||
double additionalCp = 0;
|
||||
|
||||
if ((item != null) && (item.isPotion() || item.isElixir()))
|
||||
{
|
||||
additionalHp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_HP, 0);
|
||||
additionalCp = effected.getStat().getValue(Stat.ADDITIONAL_POTION_CP, 0);
|
||||
|
||||
// Classic Potion Mastery
|
||||
// TODO: Create an effect if more mastery skills are added.
|
||||
@@ -142,10 +147,7 @@ public class HpCpHeal extends AbstractEffect
|
||||
additionalHp = Math.max(effected.getMaxRecoverableHp() - newHp, 0);
|
||||
}
|
||||
effected.setCurrentHp(newHp + additionalHp, false);
|
||||
}
|
||||
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_HP_HAS_BEEN_RESTORED_BY_C1);
|
||||
@@ -159,28 +161,37 @@ public class HpCpHeal extends AbstractEffect
|
||||
sm.addInt((int) (healAmount + additionalHp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// CP recovery.
|
||||
if (effected.isPlayer())
|
||||
{
|
||||
amount = Math.max(Math.min(amount - healAmount, effected.getMaxRecoverableCp() - effected.getCurrentCp()), 0);
|
||||
if (amount != 0)
|
||||
{
|
||||
final double newCp = amount + effected.getCurrentCp();
|
||||
effected.setCurrentCp(newCp, false);
|
||||
}
|
||||
|
||||
if (effector.isPlayer() && (effector != effected))
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_RECOVER_S1_CP);
|
||||
sm.addInt((int) amount);
|
||||
effected.sendPacket(sm);
|
||||
if ((newCp + additionalCp) > effected.getMaxRecoverableCp())
|
||||
{
|
||||
additionalCp = Math.max(effected.getMaxRecoverableCp() - newCp, 0);
|
||||
}
|
||||
effected.setCurrentCp(newCp + additionalCp, false);
|
||||
|
||||
if (effector != effected)
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.S2_CP_HAS_BEEN_RESTORED_BY_C1);
|
||||
sm.addString(effector.getName());
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
else
|
||||
{
|
||||
final SystemMessage sm = new SystemMessage(SystemMessageId.YOU_RECOVER_S1_CP);
|
||||
sm.addInt((int) (amount + additionalCp));
|
||||
effected.sendPacket(sm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
effected.broadcastStatusUpdate(effector);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user