Support for Resurrection effects with HP MP CP percent parameters.

This commit is contained in:
MobiusDevelopment
2020-11-28 22:05:34 +00:00
parent 5ad9a3f918
commit 36328f9d1e
94 changed files with 1081 additions and 85 deletions

View File

@@ -33,10 +33,16 @@ import org.l2jmobius.gameserver.taskmanager.DecayTaskManager;
public class Resurrection extends AbstractEffect
{
private final int _power;
private final int _hpPercent;
private final int _mpPercent;
private final int _cpPercent;
public Resurrection(StatSet params)
{
_power = params.getInt("power", 0);
_hpPercent = params.getInt("hpPercent", 0);
_mpPercent = params.getInt("mpPercent", 0);
_cpPercent = params.getInt("cpPercent", 0);
}
@Override
@@ -59,7 +65,7 @@ public class Resurrection extends AbstractEffect
final PlayerInstance player = effected.getActingPlayer();
if (!player.isResurrectionBlocked() && !player.isReviveRequested())
{
effected.getActingPlayer().reviveRequest(effector.getActingPlayer(), effected.isPet(), _power);
effected.getActingPlayer().reviveRequest(effector.getActingPlayer(), effected.isPet(), _power, _hpPercent, _mpPercent, _cpPercent);
}
}
else

View File

@@ -37,11 +37,17 @@ import org.l2jmobius.gameserver.model.skills.Skill;
public class ResurrectionSpecial extends AbstractEffect
{
private final int _power;
private final int _hpPercent;
private final int _mpPercent;
private final int _cpPercent;
private final Set<Integer> _instanceId;
public ResurrectionSpecial(StatSet params)
{
_power = params.getInt("power", 0);
_hpPercent = params.getInt("hpPercent", 0);
_mpPercent = params.getInt("mpPercent", 0);
_cpPercent = params.getInt("cpPercent", 0);
final String instanceIds = params.getString("instanceId", null);
if ((instanceIds != null) && !instanceIds.isEmpty())
@@ -87,12 +93,12 @@ public class ResurrectionSpecial extends AbstractEffect
if (effected.isPlayer())
{
effected.getActingPlayer().reviveRequest(caster, false, _power);
effected.getActingPlayer().reviveRequest(caster, false, _power, _hpPercent, _mpPercent, _cpPercent);
}
else if (effected.isPet())
{
final PetInstance pet = (PetInstance) effected;
effected.getActingPlayer().reviveRequest(pet.getActingPlayer(), true, _power);
effected.getActingPlayer().reviveRequest(pet.getActingPlayer(), true, _power, _hpPercent, _mpPercent, _cpPercent);
}
}
}