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