Support for Resurrection effects with HP MP CP percent parameters.
This commit is contained in:
		@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -1050,6 +1050,9 @@
 | 
			
		||||
		<effects>
 | 
			
		||||
			<effect name="ResurrectionSpecial">
 | 
			
		||||
				<power>100</power>
 | 
			
		||||
				<hpPercent>100</hpPercent>
 | 
			
		||||
				<mpPercent>100</mpPercent>
 | 
			
		||||
				<cpPercent>100</cpPercent>
 | 
			
		||||
			</effect>
 | 
			
		||||
		</effects>
 | 
			
		||||
	</skill>
 | 
			
		||||
 
 | 
			
		||||
@@ -1017,6 +1017,8 @@
 | 
			
		||||
															<xs:element name="pAccuracyAmount" type="xs:decimal" />
 | 
			
		||||
															<xs:element name="pAccuracyMode" type="xs:string" />
 | 
			
		||||
															<xs:element name="hpPercent" type="xs:unsignedByte" />
 | 
			
		||||
															<xs:element name="mpPercent" type="xs:unsignedByte" />
 | 
			
		||||
															<xs:element name="cpPercent" type="xs:unsignedByte" />
 | 
			
		||||
															<xs:element name="attribute" type="xs:string" />
 | 
			
		||||
															<xs:element name="attackerType" type="xs:string" />
 | 
			
		||||
															<xs:element name="minAttackerLevel" type="xs:unsignedByte" />
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user