ConsumeBody effect related changes.
This commit is contained in:
		@@ -19,13 +19,14 @@ package handlers.effecthandlers;
 | 
			
		||||
import com.l2jmobius.gameserver.model.StatsSet;
 | 
			
		||||
import com.l2jmobius.gameserver.model.actor.L2Character;
 | 
			
		||||
import com.l2jmobius.gameserver.model.actor.L2Npc;
 | 
			
		||||
import com.l2jmobius.gameserver.model.actor.L2Summon;
 | 
			
		||||
import com.l2jmobius.gameserver.model.effects.AbstractEffect;
 | 
			
		||||
import com.l2jmobius.gameserver.model.items.instance.L2ItemInstance;
 | 
			
		||||
import com.l2jmobius.gameserver.model.skills.Skill;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Consume Body effect implementation.
 | 
			
		||||
 * @author Zoey76
 | 
			
		||||
 * @author Mobius
 | 
			
		||||
 */
 | 
			
		||||
public final class ConsumeBody extends AbstractEffect
 | 
			
		||||
{
 | 
			
		||||
@@ -42,11 +43,18 @@ public final class ConsumeBody extends AbstractEffect
 | 
			
		||||
	@Override
 | 
			
		||||
	public void instant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item)
 | 
			
		||||
	{
 | 
			
		||||
		if (!effected.isNpc() || !effected.isDead())
 | 
			
		||||
		if (!effected.isDead() || (!effected.isNpc() && !effected.isSummon()))
 | 
			
		||||
		{
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		((L2Npc) effected).endDecayTask();
 | 
			
		||||
		if (effected.isNpc())
 | 
			
		||||
		{
 | 
			
		||||
			((L2Npc) effected).endDecayTask();
 | 
			
		||||
		}
 | 
			
		||||
		else
 | 
			
		||||
		{
 | 
			
		||||
			((L2Summon) effected).deleteMe();
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -46,6 +46,7 @@ public class Range implements IAffectScopeHandler
 | 
			
		||||
		final int affectLimit = skill.getAffectLimit();
 | 
			
		||||
		
 | 
			
		||||
		// Target checks.
 | 
			
		||||
		final TargetType targetType = skill.getTargetType();
 | 
			
		||||
		final AtomicInteger affected = new AtomicInteger(0);
 | 
			
		||||
		final Predicate<L2Character> filter = c ->
 | 
			
		||||
		{
 | 
			
		||||
@@ -53,7 +54,7 @@ public class Range implements IAffectScopeHandler
 | 
			
		||||
			{
 | 
			
		||||
				return false;
 | 
			
		||||
			}
 | 
			
		||||
			if (c.isDead())
 | 
			
		||||
			if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
 | 
			
		||||
			{
 | 
			
		||||
				return false;
 | 
			
		||||
			}
 | 
			
		||||
@@ -75,7 +76,7 @@ public class Range implements IAffectScopeHandler
 | 
			
		||||
		};
 | 
			
		||||
		
 | 
			
		||||
		// Check and add targets.
 | 
			
		||||
		if (skill.getTargetType() == TargetType.GROUND)
 | 
			
		||||
		if (targetType == TargetType.GROUND)
 | 
			
		||||
		{
 | 
			
		||||
			if (activeChar.isPlayable())
 | 
			
		||||
			{
 | 
			
		||||
 
 | 
			
		||||
@@ -314,6 +314,7 @@
 | 
			
		||||
					<value level="6">364</value>
 | 
			
		||||
				</power>
 | 
			
		||||
			</effect>
 | 
			
		||||
			<effect name="ConsumeBody" />
 | 
			
		||||
		</pveEffects>
 | 
			
		||||
		<pvpEffects>
 | 
			
		||||
			<effect name="MagicalAttack">
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user