diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/EffectMasterHandler.java index 0c6e1644f9..dce1bb8e98 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -267,6 +267,7 @@ public final class EffectMasterHandler EffectHandler.getInstance().registerHandler("Reuse", Reuse::new); EffectHandler.getInstance().registerHandler("RewardItemOnExit", RewardItemOnExit::new); EffectHandler.getInstance().registerHandler("Root", Root::new); + EffectHandler.getInstance().registerHandler("SacrificeSummon", SacrificeSummon::new); EffectHandler.getInstance().registerHandler("SafeFallHeight", SafeFallHeight::new); EffectHandler.getInstance().registerHandler("SendSystemMessageToClan", SendSystemMessageToClan::new); EffectHandler.getInstance().registerHandler("ServitorShare", ServitorShare::new); diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/SacrificeSummon.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/SacrificeSummon.java new file mode 100644 index 0000000000..7b21d8cdfc --- /dev/null +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/SacrificeSummon.java @@ -0,0 +1,62 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package handlers.effecthandlers; + +import com.l2jmobius.gameserver.model.StatsSet; +import com.l2jmobius.gameserver.model.actor.L2Character; +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.BuffInfo; +import com.l2jmobius.gameserver.model.skills.Skill; +import com.l2jmobius.gameserver.network.SystemMessageId; + +/** + * @author Mobius + */ +public final class SacrificeSummon extends AbstractEffect +{ + public SacrificeSummon(StatsSet params) + { + } + + @Override + public boolean canStart(BuffInfo info) + { + return info.getEffected().isSummon(); + } + + @Override + public boolean isInstant() + { + return true; + } + + @Override + public void instant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) + { + for (L2Summon summon : effector.getServitors().values()) + { + summon.abortAttack(); + summon.abortCast(); + summon.stopAllEffects(); + + summon.doDie(summon); + } + effector.sendPacket(SystemMessageId.YOUR_SERVITOR_HAS_VANISHED_YOU_LL_NEED_TO_SUMMON_A_NEW_ONE); + } +} diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/11100-11199.xml b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/11100-11199.xml index 7aa8b2071b..8e7bb57668 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/11100-11199.xml +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/11100-11199.xml @@ -2622,7 +2622,7 @@ 209 1 - + diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/documentation.txt index 1fc11e3d2b..362c43e5de 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/stats/skills/documentation.txt @@ -234,6 +234,7 @@ ResurrectionSpecial: Resurrects target Player or Summon only in specified instan Reuse: Decreases skill reuse time based on its magic type. RewardItemOnExit: Reward an item when effect ends. (l2jmobius) Root: Stops movement. +SacrificeSummon: Sacrifices the players summon. (l2jmobius) SafeFallHeight: Minimum falling height for taking damage stat. SendSystemMessageToClan: Sends the specified SystemMessageId to the clan. ServitorShare: diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/EffectMasterHandler.java index 0c6e1644f9..dce1bb8e98 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -267,6 +267,7 @@ public final class EffectMasterHandler EffectHandler.getInstance().registerHandler("Reuse", Reuse::new); EffectHandler.getInstance().registerHandler("RewardItemOnExit", RewardItemOnExit::new); EffectHandler.getInstance().registerHandler("Root", Root::new); + EffectHandler.getInstance().registerHandler("SacrificeSummon", SacrificeSummon::new); EffectHandler.getInstance().registerHandler("SafeFallHeight", SafeFallHeight::new); EffectHandler.getInstance().registerHandler("SendSystemMessageToClan", SendSystemMessageToClan::new); EffectHandler.getInstance().registerHandler("ServitorShare", ServitorShare::new); diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/SacrificeSummon.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/SacrificeSummon.java new file mode 100644 index 0000000000..7b21d8cdfc --- /dev/null +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/effecthandlers/SacrificeSummon.java @@ -0,0 +1,62 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package handlers.effecthandlers; + +import com.l2jmobius.gameserver.model.StatsSet; +import com.l2jmobius.gameserver.model.actor.L2Character; +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.BuffInfo; +import com.l2jmobius.gameserver.model.skills.Skill; +import com.l2jmobius.gameserver.network.SystemMessageId; + +/** + * @author Mobius + */ +public final class SacrificeSummon extends AbstractEffect +{ + public SacrificeSummon(StatsSet params) + { + } + + @Override + public boolean canStart(BuffInfo info) + { + return info.getEffected().isSummon(); + } + + @Override + public boolean isInstant() + { + return true; + } + + @Override + public void instant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) + { + for (L2Summon summon : effector.getServitors().values()) + { + summon.abortAttack(); + summon.abortCast(); + summon.stopAllEffects(); + + summon.doDie(summon); + } + effector.sendPacket(SystemMessageId.YOUR_SERVITOR_HAS_VANISHED_YOU_LL_NEED_TO_SUMMON_A_NEW_ONE); + } +} diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/11100-11199.xml b/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/11100-11199.xml index 588ed7f3ea..ccc324e133 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/11100-11199.xml +++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/11100-11199.xml @@ -2822,7 +2822,7 @@ 209 1 - + diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/documentation.txt index 1fc11e3d2b..362c43e5de 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_2.5_Underground/dist/game/data/stats/skills/documentation.txt @@ -234,6 +234,7 @@ ResurrectionSpecial: Resurrects target Player or Summon only in specified instan Reuse: Decreases skill reuse time based on its magic type. RewardItemOnExit: Reward an item when effect ends. (l2jmobius) Root: Stops movement. +SacrificeSummon: Sacrifices the players summon. (l2jmobius) SafeFallHeight: Minimum falling height for taking damage stat. SendSystemMessageToClan: Sends the specified SystemMessageId to the clan. ServitorShare: diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/EffectMasterHandler.java index 0c6e1644f9..dce1bb8e98 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -267,6 +267,7 @@ public final class EffectMasterHandler EffectHandler.getInstance().registerHandler("Reuse", Reuse::new); EffectHandler.getInstance().registerHandler("RewardItemOnExit", RewardItemOnExit::new); EffectHandler.getInstance().registerHandler("Root", Root::new); + EffectHandler.getInstance().registerHandler("SacrificeSummon", SacrificeSummon::new); EffectHandler.getInstance().registerHandler("SafeFallHeight", SafeFallHeight::new); EffectHandler.getInstance().registerHandler("SendSystemMessageToClan", SendSystemMessageToClan::new); EffectHandler.getInstance().registerHandler("ServitorShare", ServitorShare::new); diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/SacrificeSummon.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/SacrificeSummon.java new file mode 100644 index 0000000000..19244792d5 --- /dev/null +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/effecthandlers/SacrificeSummon.java @@ -0,0 +1,62 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package handlers.effecthandlers; + +import com.l2jmobius.gameserver.model.StatsSet; +import com.l2jmobius.gameserver.model.actor.L2Character; +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.BuffInfo; +import com.l2jmobius.gameserver.model.skills.Skill; +import com.l2jmobius.gameserver.network.SystemMessageId; + +/** + * @author Mobius + */ +public final class SacrificeSummon extends AbstractEffect +{ + public SacrificeSummon(StatsSet params) + { + } + + @Override + public boolean canStart(BuffInfo info) + { + return info.getEffected().isSummon() && !info.getEffected().isAlikeDead(); + } + + @Override + public boolean isInstant() + { + return true; + } + + @Override + public void instant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) + { + for (L2Summon summon : effector.getServitors().values()) + { + summon.abortAttack(); + summon.abortCast(); + summon.stopAllEffects(); + + summon.doDie(summon); + } + effector.sendPacket(SystemMessageId.YOUR_SERVITOR_HAS_VANISHED_YOU_LL_NEED_TO_SUMMON_A_NEW_ONE); + } +} diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/11100-11199.xml b/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/11100-11199.xml index ba1bf31eaf..3a71a2af75 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/11100-11199.xml +++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/11100-11199.xml @@ -2822,7 +2822,7 @@ 209 1 - + diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/documentation.txt index 1fc11e3d2b..362c43e5de 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_3.0_Helios/dist/game/data/stats/skills/documentation.txt @@ -234,6 +234,7 @@ ResurrectionSpecial: Resurrects target Player or Summon only in specified instan Reuse: Decreases skill reuse time based on its magic type. RewardItemOnExit: Reward an item when effect ends. (l2jmobius) Root: Stops movement. +SacrificeSummon: Sacrifices the players summon. (l2jmobius) SafeFallHeight: Minimum falling height for taking damage stat. SendSystemMessageToClan: Sends the specified SystemMessageId to the clan. ServitorShare: diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/EffectMasterHandler.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/EffectMasterHandler.java index 0c6e1644f9..dce1bb8e98 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -267,6 +267,7 @@ public final class EffectMasterHandler EffectHandler.getInstance().registerHandler("Reuse", Reuse::new); EffectHandler.getInstance().registerHandler("RewardItemOnExit", RewardItemOnExit::new); EffectHandler.getInstance().registerHandler("Root", Root::new); + EffectHandler.getInstance().registerHandler("SacrificeSummon", SacrificeSummon::new); EffectHandler.getInstance().registerHandler("SafeFallHeight", SafeFallHeight::new); EffectHandler.getInstance().registerHandler("SendSystemMessageToClan", SendSystemMessageToClan::new); EffectHandler.getInstance().registerHandler("ServitorShare", ServitorShare::new); diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/SacrificeSummon.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/SacrificeSummon.java new file mode 100644 index 0000000000..7b21d8cdfc --- /dev/null +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/SacrificeSummon.java @@ -0,0 +1,62 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package handlers.effecthandlers; + +import com.l2jmobius.gameserver.model.StatsSet; +import com.l2jmobius.gameserver.model.actor.L2Character; +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.BuffInfo; +import com.l2jmobius.gameserver.model.skills.Skill; +import com.l2jmobius.gameserver.network.SystemMessageId; + +/** + * @author Mobius + */ +public final class SacrificeSummon extends AbstractEffect +{ + public SacrificeSummon(StatsSet params) + { + } + + @Override + public boolean canStart(BuffInfo info) + { + return info.getEffected().isSummon(); + } + + @Override + public boolean isInstant() + { + return true; + } + + @Override + public void instant(L2Character effector, L2Character effected, Skill skill, L2ItemInstance item) + { + for (L2Summon summon : effector.getServitors().values()) + { + summon.abortAttack(); + summon.abortCast(); + summon.stopAllEffects(); + + summon.doDie(summon); + } + effector.sendPacket(SystemMessageId.YOUR_SERVITOR_HAS_VANISHED_YOU_LL_NEED_TO_SUMMON_A_NEW_ONE); + } +} diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/stats/skills/documentation.txt b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/stats/skills/documentation.txt index 1fc11e3d2b..362c43e5de 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/stats/skills/documentation.txt +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/stats/skills/documentation.txt @@ -234,6 +234,7 @@ ResurrectionSpecial: Resurrects target Player or Summon only in specified instan Reuse: Decreases skill reuse time based on its magic type. RewardItemOnExit: Reward an item when effect ends. (l2jmobius) Root: Stops movement. +SacrificeSummon: Sacrifices the players summon. (l2jmobius) SafeFallHeight: Minimum falling height for taking damage stat. SendSystemMessageToClan: Sends the specified SystemMessageId to the clan. ServitorShare: