diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java index dc35b74ab6..589996ab08 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java @@ -19,6 +19,7 @@ package com.l2jmobius.gameserver.model.zone.type; import com.l2jmobius.Config; import com.l2jmobius.gameserver.data.xml.impl.SkillData; import com.l2jmobius.gameserver.enums.MountType; +import com.l2jmobius.gameserver.enums.Race; import com.l2jmobius.gameserver.instancemanager.FortManager; import com.l2jmobius.gameserver.instancemanager.FortSiegeManager; import com.l2jmobius.gameserver.instancemanager.ZoneManager; @@ -219,6 +220,20 @@ public class SiegeZone extends ZoneType player.destroyItem("CombatFlag", player.getInventory().getItemByItemId(9819), null, true); } } + + if (player.hasServitors()) + { + player.getServitors().values().forEach(servitor -> + { + if (servitor.getRace() == Race.SIEGE_WEAPON) + { + servitor.abortAttack(); + servitor.abortCast(); + servitor.stopAllEffects(); + servitor.unSummon(player); + } + }); + } } } diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java index dc35b74ab6..589996ab08 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java @@ -19,6 +19,7 @@ package com.l2jmobius.gameserver.model.zone.type; import com.l2jmobius.Config; import com.l2jmobius.gameserver.data.xml.impl.SkillData; import com.l2jmobius.gameserver.enums.MountType; +import com.l2jmobius.gameserver.enums.Race; import com.l2jmobius.gameserver.instancemanager.FortManager; import com.l2jmobius.gameserver.instancemanager.FortSiegeManager; import com.l2jmobius.gameserver.instancemanager.ZoneManager; @@ -219,6 +220,20 @@ public class SiegeZone extends ZoneType player.destroyItem("CombatFlag", player.getInventory().getItemByItemId(9819), null, true); } } + + if (player.hasServitors()) + { + player.getServitors().values().forEach(servitor -> + { + if (servitor.getRace() == Race.SIEGE_WEAPON) + { + servitor.abortAttack(); + servitor.abortCast(); + servitor.stopAllEffects(); + servitor.unSummon(player); + } + }); + } } } diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java index dc35b74ab6..589996ab08 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java @@ -19,6 +19,7 @@ package com.l2jmobius.gameserver.model.zone.type; import com.l2jmobius.Config; import com.l2jmobius.gameserver.data.xml.impl.SkillData; import com.l2jmobius.gameserver.enums.MountType; +import com.l2jmobius.gameserver.enums.Race; import com.l2jmobius.gameserver.instancemanager.FortManager; import com.l2jmobius.gameserver.instancemanager.FortSiegeManager; import com.l2jmobius.gameserver.instancemanager.ZoneManager; @@ -219,6 +220,20 @@ public class SiegeZone extends ZoneType player.destroyItem("CombatFlag", player.getInventory().getItemByItemId(9819), null, true); } } + + if (player.hasServitors()) + { + player.getServitors().values().forEach(servitor -> + { + if (servitor.getRace() == Race.SIEGE_WEAPON) + { + servitor.abortAttack(); + servitor.abortCast(); + servitor.stopAllEffects(); + servitor.unSummon(player); + } + }); + } } } diff --git a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java index dc35b74ab6..589996ab08 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java @@ -19,6 +19,7 @@ package com.l2jmobius.gameserver.model.zone.type; import com.l2jmobius.Config; import com.l2jmobius.gameserver.data.xml.impl.SkillData; import com.l2jmobius.gameserver.enums.MountType; +import com.l2jmobius.gameserver.enums.Race; import com.l2jmobius.gameserver.instancemanager.FortManager; import com.l2jmobius.gameserver.instancemanager.FortSiegeManager; import com.l2jmobius.gameserver.instancemanager.ZoneManager; @@ -219,6 +220,20 @@ public class SiegeZone extends ZoneType player.destroyItem("CombatFlag", player.getInventory().getItemByItemId(9819), null, true); } } + + if (player.hasServitors()) + { + player.getServitors().values().forEach(servitor -> + { + if (servitor.getRace() == Race.SIEGE_WEAPON) + { + servitor.abortAttack(); + servitor.abortCast(); + servitor.stopAllEffects(); + servitor.unSummon(player); + } + }); + } } } diff --git a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java index ed2f855bd7..567ae1c787 100644 --- a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java +++ b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java @@ -19,6 +19,7 @@ package com.l2jmobius.gameserver.model.zone.type; import com.l2jmobius.Config; import com.l2jmobius.gameserver.data.xml.impl.SkillData; import com.l2jmobius.gameserver.enums.MountType; +import com.l2jmobius.gameserver.enums.Race; import com.l2jmobius.gameserver.instancemanager.FortManager; import com.l2jmobius.gameserver.instancemanager.FortSiegeManager; import com.l2jmobius.gameserver.instancemanager.ZoneManager; @@ -219,6 +220,20 @@ public class SiegeZone extends ZoneType player.destroyItem("CombatFlag", player.getInventory().getItemByItemId(9819), null, true); } } + + if (player.hasServitors()) + { + player.getServitors().values().forEach(servitor -> + { + if (servitor.getRace() == Race.SIEGE_WEAPON) + { + servitor.abortAttack(); + servitor.abortCast(); + servitor.stopAllEffects(); + servitor.unSummon(player); + } + }); + } } } diff --git a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java index ed2f855bd7..567ae1c787 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java +++ b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java @@ -19,6 +19,7 @@ package com.l2jmobius.gameserver.model.zone.type; import com.l2jmobius.Config; import com.l2jmobius.gameserver.data.xml.impl.SkillData; import com.l2jmobius.gameserver.enums.MountType; +import com.l2jmobius.gameserver.enums.Race; import com.l2jmobius.gameserver.instancemanager.FortManager; import com.l2jmobius.gameserver.instancemanager.FortSiegeManager; import com.l2jmobius.gameserver.instancemanager.ZoneManager; @@ -219,6 +220,20 @@ public class SiegeZone extends ZoneType player.destroyItem("CombatFlag", player.getInventory().getItemByItemId(9819), null, true); } } + + if (player.hasServitors()) + { + player.getServitors().values().forEach(servitor -> + { + if (servitor.getRace() == Race.SIEGE_WEAPON) + { + servitor.abortAttack(); + servitor.abortCast(); + servitor.stopAllEffects(); + servitor.unSummon(player); + } + }); + } } } diff --git a/L2J_Mobius_6.0_Fafurion/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java b/L2J_Mobius_6.0_Fafurion/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java index ed2f855bd7..567ae1c787 100644 --- a/L2J_Mobius_6.0_Fafurion/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java +++ b/L2J_Mobius_6.0_Fafurion/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java @@ -19,6 +19,7 @@ package com.l2jmobius.gameserver.model.zone.type; import com.l2jmobius.Config; import com.l2jmobius.gameserver.data.xml.impl.SkillData; import com.l2jmobius.gameserver.enums.MountType; +import com.l2jmobius.gameserver.enums.Race; import com.l2jmobius.gameserver.instancemanager.FortManager; import com.l2jmobius.gameserver.instancemanager.FortSiegeManager; import com.l2jmobius.gameserver.instancemanager.ZoneManager; @@ -219,6 +220,20 @@ public class SiegeZone extends ZoneType player.destroyItem("CombatFlag", player.getInventory().getItemByItemId(9819), null, true); } } + + if (player.hasServitors()) + { + player.getServitors().values().forEach(servitor -> + { + if (servitor.getRace() == Race.SIEGE_WEAPON) + { + servitor.abortAttack(); + servitor.abortCast(); + servitor.stopAllEffects(); + servitor.unSummon(player); + } + }); + } } } diff --git a/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java b/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java index 67f5de869f..c3a64d6b5c 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java @@ -25,6 +25,7 @@ import com.l2jmobius.gameserver.instancemanager.FortSiegeManager; import com.l2jmobius.gameserver.instancemanager.ZoneManager; import com.l2jmobius.gameserver.model.TeleportWhereType; import com.l2jmobius.gameserver.model.actor.Creature; +import com.l2jmobius.gameserver.model.actor.Summon; import com.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import com.l2jmobius.gameserver.model.entity.Fort; import com.l2jmobius.gameserver.model.entity.FortSiege; @@ -238,6 +239,15 @@ public class SiegeZone extends ZoneType player.getInventory().unEquipItemInBodySlot(slot); player.destroyItem("CombatFlag", player.getInventory().getItemByItemId(9819), null, true); } + + final Summon summon = player.getSummon(); + if (summon != null) + { + summon.abortAttack(); + summon.abortCast(); + summon.stopAllEffects(); + summon.unSummon(player); + } } @Override diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java index dc35b74ab6..589996ab08 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java @@ -19,6 +19,7 @@ package com.l2jmobius.gameserver.model.zone.type; import com.l2jmobius.Config; import com.l2jmobius.gameserver.data.xml.impl.SkillData; import com.l2jmobius.gameserver.enums.MountType; +import com.l2jmobius.gameserver.enums.Race; import com.l2jmobius.gameserver.instancemanager.FortManager; import com.l2jmobius.gameserver.instancemanager.FortSiegeManager; import com.l2jmobius.gameserver.instancemanager.ZoneManager; @@ -219,6 +220,20 @@ public class SiegeZone extends ZoneType player.destroyItem("CombatFlag", player.getInventory().getItemByItemId(9819), null, true); } } + + if (player.hasServitors()) + { + player.getServitors().values().forEach(servitor -> + { + if (servitor.getRace() == Race.SIEGE_WEAPON) + { + servitor.abortAttack(); + servitor.abortCast(); + servitor.stopAllEffects(); + servitor.unSummon(player); + } + }); + } } } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java index dc35b74ab6..589996ab08 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java @@ -19,6 +19,7 @@ package com.l2jmobius.gameserver.model.zone.type; import com.l2jmobius.Config; import com.l2jmobius.gameserver.data.xml.impl.SkillData; import com.l2jmobius.gameserver.enums.MountType; +import com.l2jmobius.gameserver.enums.Race; import com.l2jmobius.gameserver.instancemanager.FortManager; import com.l2jmobius.gameserver.instancemanager.FortSiegeManager; import com.l2jmobius.gameserver.instancemanager.ZoneManager; @@ -219,6 +220,20 @@ public class SiegeZone extends ZoneType player.destroyItem("CombatFlag", player.getInventory().getItemByItemId(9819), null, true); } } + + if (player.hasServitors()) + { + player.getServitors().values().forEach(servitor -> + { + if (servitor.getRace() == Race.SIEGE_WEAPON) + { + servitor.abortAttack(); + servitor.abortCast(); + servitor.stopAllEffects(); + servitor.unSummon(player); + } + }); + } } } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java index ed2f855bd7..567ae1c787 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java @@ -19,6 +19,7 @@ package com.l2jmobius.gameserver.model.zone.type; import com.l2jmobius.Config; import com.l2jmobius.gameserver.data.xml.impl.SkillData; import com.l2jmobius.gameserver.enums.MountType; +import com.l2jmobius.gameserver.enums.Race; import com.l2jmobius.gameserver.instancemanager.FortManager; import com.l2jmobius.gameserver.instancemanager.FortSiegeManager; import com.l2jmobius.gameserver.instancemanager.ZoneManager; @@ -219,6 +220,20 @@ public class SiegeZone extends ZoneType player.destroyItem("CombatFlag", player.getInventory().getItemByItemId(9819), null, true); } } + + if (player.hasServitors()) + { + player.getServitors().values().forEach(servitor -> + { + if (servitor.getRace() == Race.SIEGE_WEAPON) + { + servitor.abortAttack(); + servitor.abortCast(); + servitor.stopAllEffects(); + servitor.unSummon(player); + } + }); + } } } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java index ed2f855bd7..567ae1c787 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/model/zone/type/SiegeZone.java @@ -19,6 +19,7 @@ package com.l2jmobius.gameserver.model.zone.type; import com.l2jmobius.Config; import com.l2jmobius.gameserver.data.xml.impl.SkillData; import com.l2jmobius.gameserver.enums.MountType; +import com.l2jmobius.gameserver.enums.Race; import com.l2jmobius.gameserver.instancemanager.FortManager; import com.l2jmobius.gameserver.instancemanager.FortSiegeManager; import com.l2jmobius.gameserver.instancemanager.ZoneManager; @@ -219,6 +220,20 @@ public class SiegeZone extends ZoneType player.destroyItem("CombatFlag", player.getInventory().getItemByItemId(9819), null, true); } } + + if (player.hasServitors()) + { + player.getServitors().values().forEach(servitor -> + { + if (servitor.getRace() == Race.SIEGE_WEAPON) + { + servitor.abortAttack(); + servitor.abortCast(); + servitor.stopAllEffects(); + servitor.unSummon(player); + } + }); + } } }