diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java index bf0b04e951..42e743e466 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java @@ -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(); + } } } diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java index 4482d3ce9c..efcb4a43b4 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java @@ -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 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()) { diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/00900-00999.xml b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/00900-00999.xml index 941bf46170..f62bd3227d 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/00900-00999.xml +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/00900-00999.xml @@ -314,6 +314,7 @@ 364 + diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java index bf0b04e951..42e743e466 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java @@ -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(); + } } } diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java index 4482d3ce9c..efcb4a43b4 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java @@ -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 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()) { diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/00900-00999.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/00900-00999.xml index 205bd9f12d..7c8150cda5 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/00900-00999.xml +++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/00900-00999.xml @@ -314,6 +314,7 @@ 364 + diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java index bf0b04e951..42e743e466 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java @@ -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(); + } } } diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java index 4482d3ce9c..efcb4a43b4 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java @@ -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 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()) { diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/00900-00999.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/00900-00999.xml index dc936597dd..a3908370c2 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/00900-00999.xml +++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/00900-00999.xml @@ -314,6 +314,7 @@ 364 + diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java index bf0b04e951..42e743e466 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java @@ -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(); + } } } diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java index 4482d3ce9c..efcb4a43b4 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java @@ -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 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()) { diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/00900-00999.xml b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/00900-00999.xml index dc936597dd..a3908370c2 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/00900-00999.xml +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/stats/skills/00900-00999.xml @@ -314,6 +314,7 @@ 364 + diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java index bf0b04e951..42e743e466 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java @@ -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(); + } } } diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java index 4482d3ce9c..efcb4a43b4 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java @@ -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 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()) { diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/00900-00999.xml b/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/00900-00999.xml index dc936597dd..a3908370c2 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/00900-00999.xml +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/stats/skills/00900-00999.xml @@ -314,6 +314,7 @@ 364 + diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java index bf0b04e951..42e743e466 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java @@ -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(); + } } } diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java index 4482d3ce9c..efcb4a43b4 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java @@ -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 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()) { diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/00900-00999.xml b/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/00900-00999.xml index dc936597dd..a3908370c2 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/00900-00999.xml +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/stats/skills/00900-00999.xml @@ -314,6 +314,7 @@ 364 + diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java index bf0b04e951..42e743e466 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java @@ -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(); + } } } diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java index 4482d3ce9c..efcb4a43b4 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java @@ -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 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()) { diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/stats/skills/00900-00999.xml b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/stats/skills/00900-00999.xml index 2b8dc62852..a2fce007dd 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/stats/skills/00900-00999.xml +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/stats/skills/00900-00999.xml @@ -314,6 +314,7 @@ 364 + diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java index bf0b04e951..42e743e466 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java @@ -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(); + } } } diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java index 4482d3ce9c..efcb4a43b4 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java @@ -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 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()) { diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/stats/skills/00900-00999.xml b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/stats/skills/00900-00999.xml index 33f48772df..143e74b74b 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/stats/skills/00900-00999.xml +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/stats/skills/00900-00999.xml @@ -314,6 +314,7 @@ 364 + diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java index bf0b04e951..42e743e466 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java @@ -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(); + } } } diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java index 4482d3ce9c..efcb4a43b4 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java @@ -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 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()) { diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/stats/skills/00900-00999.xml b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/stats/skills/00900-00999.xml index 6150df61b5..405f5543d2 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/stats/skills/00900-00999.xml +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/stats/skills/00900-00999.xml @@ -314,6 +314,7 @@ 364 + diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java index bf0b04e951..42e743e466 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/ConsumeBody.java @@ -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(); + } } } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java index 4482d3ce9c..efcb4a43b4 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/targethandlers/affectscope/Range.java @@ -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 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()) { diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/stats/skills/00900-00999.xml b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/stats/skills/00900-00999.xml index 6150df61b5..405f5543d2 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/stats/skills/00900-00999.xml +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/stats/skills/00900-00999.xml @@ -314,6 +314,7 @@ 364 +