From 7445e373d7797b17b34ac0dc7c87ef469411c47c Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Sat, 6 Jun 2020 06:00:57 +0000 Subject: [PATCH] Single target unsummon servitor action. --- .../handlers/playeractions/UnsummonServitor.java | 11 ++++++++++- .../handlers/playeractions/UnsummonServitor.java | 11 ++++++++++- .../handlers/playeractions/UnsummonServitor.java | 11 ++++++++++- .../handlers/playeractions/UnsummonServitor.java | 11 ++++++++++- .../handlers/playeractions/UnsummonServitor.java | 11 ++++++++++- .../handlers/playeractions/UnsummonServitor.java | 11 ++++++++++- .../handlers/playeractions/UnsummonServitor.java | 11 ++++++++++- .../handlers/playeractions/UnsummonServitor.java | 11 ++++++++++- .../handlers/playeractions/UnsummonServitor.java | 11 ++++++++++- .../handlers/playeractions/UnsummonServitor.java | 11 ++++++++++- .../handlers/playeractions/UnsummonServitor.java | 11 ++++++++++- .../handlers/playeractions/UnsummonServitor.java | 11 ++++++++++- .../handlers/playeractions/UnsummonServitor.java | 11 ++++++++++- .../handlers/playeractions/UnsummonServitor.java | 11 ++++++++++- .../handlers/playeractions/UnsummonServitor.java | 11 ++++++++++- 15 files changed, 150 insertions(+), 15 deletions(-) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java index bfe5c7263e..7c861cd99f 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java @@ -18,6 +18,7 @@ package handlers.playeractions; import org.l2jmobius.gameserver.handler.IPlayerActionHandler; import org.l2jmobius.gameserver.model.ActionDataHolder; +import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.network.SystemMessageId; @@ -52,7 +53,15 @@ public class UnsummonServitor implements IPlayerActionHandler if (canUnsummon) { - player.getServitors().values().forEach(s -> s.unSummon(player)); + final WorldObject target = player.getTarget(); + if ((target != null) && target.isSummon() && (((Summon) target).getOwner() == player)) + { + ((Summon) target).unSummon(player); + } + else + { + player.getServitors().values().forEach(s -> s.unSummon(player)); + } } } else diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java index bfe5c7263e..7c861cd99f 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java @@ -18,6 +18,7 @@ package handlers.playeractions; import org.l2jmobius.gameserver.handler.IPlayerActionHandler; import org.l2jmobius.gameserver.model.ActionDataHolder; +import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.network.SystemMessageId; @@ -52,7 +53,15 @@ public class UnsummonServitor implements IPlayerActionHandler if (canUnsummon) { - player.getServitors().values().forEach(s -> s.unSummon(player)); + final WorldObject target = player.getTarget(); + if ((target != null) && target.isSummon() && (((Summon) target).getOwner() == player)) + { + ((Summon) target).unSummon(player); + } + else + { + player.getServitors().values().forEach(s -> s.unSummon(player)); + } } } else diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java index bfe5c7263e..7c861cd99f 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java @@ -18,6 +18,7 @@ package handlers.playeractions; import org.l2jmobius.gameserver.handler.IPlayerActionHandler; import org.l2jmobius.gameserver.model.ActionDataHolder; +import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.network.SystemMessageId; @@ -52,7 +53,15 @@ public class UnsummonServitor implements IPlayerActionHandler if (canUnsummon) { - player.getServitors().values().forEach(s -> s.unSummon(player)); + final WorldObject target = player.getTarget(); + if ((target != null) && target.isSummon() && (((Summon) target).getOwner() == player)) + { + ((Summon) target).unSummon(player); + } + else + { + player.getServitors().values().forEach(s -> s.unSummon(player)); + } } } else diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java index bfe5c7263e..7c861cd99f 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java @@ -18,6 +18,7 @@ package handlers.playeractions; import org.l2jmobius.gameserver.handler.IPlayerActionHandler; import org.l2jmobius.gameserver.model.ActionDataHolder; +import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.network.SystemMessageId; @@ -52,7 +53,15 @@ public class UnsummonServitor implements IPlayerActionHandler if (canUnsummon) { - player.getServitors().values().forEach(s -> s.unSummon(player)); + final WorldObject target = player.getTarget(); + if ((target != null) && target.isSummon() && (((Summon) target).getOwner() == player)) + { + ((Summon) target).unSummon(player); + } + else + { + player.getServitors().values().forEach(s -> s.unSummon(player)); + } } } else diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java index bfe5c7263e..7c861cd99f 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java @@ -18,6 +18,7 @@ package handlers.playeractions; import org.l2jmobius.gameserver.handler.IPlayerActionHandler; import org.l2jmobius.gameserver.model.ActionDataHolder; +import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.network.SystemMessageId; @@ -52,7 +53,15 @@ public class UnsummonServitor implements IPlayerActionHandler if (canUnsummon) { - player.getServitors().values().forEach(s -> s.unSummon(player)); + final WorldObject target = player.getTarget(); + if ((target != null) && target.isSummon() && (((Summon) target).getOwner() == player)) + { + ((Summon) target).unSummon(player); + } + else + { + player.getServitors().values().forEach(s -> s.unSummon(player)); + } } } else diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java index bfe5c7263e..7c861cd99f 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java @@ -18,6 +18,7 @@ package handlers.playeractions; import org.l2jmobius.gameserver.handler.IPlayerActionHandler; import org.l2jmobius.gameserver.model.ActionDataHolder; +import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.network.SystemMessageId; @@ -52,7 +53,15 @@ public class UnsummonServitor implements IPlayerActionHandler if (canUnsummon) { - player.getServitors().values().forEach(s -> s.unSummon(player)); + final WorldObject target = player.getTarget(); + if ((target != null) && target.isSummon() && (((Summon) target).getOwner() == player)) + { + ((Summon) target).unSummon(player); + } + else + { + player.getServitors().values().forEach(s -> s.unSummon(player)); + } } } else diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java index bfe5c7263e..7c861cd99f 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java @@ -18,6 +18,7 @@ package handlers.playeractions; import org.l2jmobius.gameserver.handler.IPlayerActionHandler; import org.l2jmobius.gameserver.model.ActionDataHolder; +import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.network.SystemMessageId; @@ -52,7 +53,15 @@ public class UnsummonServitor implements IPlayerActionHandler if (canUnsummon) { - player.getServitors().values().forEach(s -> s.unSummon(player)); + final WorldObject target = player.getTarget(); + if ((target != null) && target.isSummon() && (((Summon) target).getOwner() == player)) + { + ((Summon) target).unSummon(player); + } + else + { + player.getServitors().values().forEach(s -> s.unSummon(player)); + } } } else diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java index bfe5c7263e..7c861cd99f 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java @@ -18,6 +18,7 @@ package handlers.playeractions; import org.l2jmobius.gameserver.handler.IPlayerActionHandler; import org.l2jmobius.gameserver.model.ActionDataHolder; +import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.network.SystemMessageId; @@ -52,7 +53,15 @@ public class UnsummonServitor implements IPlayerActionHandler if (canUnsummon) { - player.getServitors().values().forEach(s -> s.unSummon(player)); + final WorldObject target = player.getTarget(); + if ((target != null) && target.isSummon() && (((Summon) target).getOwner() == player)) + { + ((Summon) target).unSummon(player); + } + else + { + player.getServitors().values().forEach(s -> s.unSummon(player)); + } } } else diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java index c6bbc4e543..ef2e7a0875 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java @@ -18,6 +18,7 @@ package handlers.playeractions; import org.l2jmobius.gameserver.handler.IPlayerActionHandler; import org.l2jmobius.gameserver.model.ActionDataHolder; +import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.network.SystemMessageId; @@ -52,7 +53,15 @@ public class UnsummonServitor implements IPlayerActionHandler if (canUnsummon) { - player.getServitors().values().forEach(s -> s.unSummon(player)); + final WorldObject target = player.getTarget(); + if ((target != null) && target.isSummon() && (((Summon) target).getOwner() == player)) + { + ((Summon) target).unSummon(player); + } + else + { + player.getServitors().values().forEach(s -> s.unSummon(player)); + } } } else diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java index c6bbc4e543..ef2e7a0875 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java @@ -18,6 +18,7 @@ package handlers.playeractions; import org.l2jmobius.gameserver.handler.IPlayerActionHandler; import org.l2jmobius.gameserver.model.ActionDataHolder; +import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.network.SystemMessageId; @@ -52,7 +53,15 @@ public class UnsummonServitor implements IPlayerActionHandler if (canUnsummon) { - player.getServitors().values().forEach(s -> s.unSummon(player)); + final WorldObject target = player.getTarget(); + if ((target != null) && target.isSummon() && (((Summon) target).getOwner() == player)) + { + ((Summon) target).unSummon(player); + } + else + { + player.getServitors().values().forEach(s -> s.unSummon(player)); + } } } else diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java index c6bbc4e543..ef2e7a0875 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java @@ -18,6 +18,7 @@ package handlers.playeractions; import org.l2jmobius.gameserver.handler.IPlayerActionHandler; import org.l2jmobius.gameserver.model.ActionDataHolder; +import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.network.SystemMessageId; @@ -52,7 +53,15 @@ public class UnsummonServitor implements IPlayerActionHandler if (canUnsummon) { - player.getServitors().values().forEach(s -> s.unSummon(player)); + final WorldObject target = player.getTarget(); + if ((target != null) && target.isSummon() && (((Summon) target).getOwner() == player)) + { + ((Summon) target).unSummon(player); + } + else + { + player.getServitors().values().forEach(s -> s.unSummon(player)); + } } } else diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java index c6bbc4e543..ef2e7a0875 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java @@ -18,6 +18,7 @@ package handlers.playeractions; import org.l2jmobius.gameserver.handler.IPlayerActionHandler; import org.l2jmobius.gameserver.model.ActionDataHolder; +import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.network.SystemMessageId; @@ -52,7 +53,15 @@ public class UnsummonServitor implements IPlayerActionHandler if (canUnsummon) { - player.getServitors().values().forEach(s -> s.unSummon(player)); + final WorldObject target = player.getTarget(); + if ((target != null) && target.isSummon() && (((Summon) target).getOwner() == player)) + { + ((Summon) target).unSummon(player); + } + else + { + player.getServitors().values().forEach(s -> s.unSummon(player)); + } } } else diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java index c6bbc4e543..ef2e7a0875 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java @@ -18,6 +18,7 @@ package handlers.playeractions; import org.l2jmobius.gameserver.handler.IPlayerActionHandler; import org.l2jmobius.gameserver.model.ActionDataHolder; +import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.network.SystemMessageId; @@ -52,7 +53,15 @@ public class UnsummonServitor implements IPlayerActionHandler if (canUnsummon) { - player.getServitors().values().forEach(s -> s.unSummon(player)); + final WorldObject target = player.getTarget(); + if ((target != null) && target.isSummon() && (((Summon) target).getOwner() == player)) + { + ((Summon) target).unSummon(player); + } + else + { + player.getServitors().values().forEach(s -> s.unSummon(player)); + } } } else diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java index c6bbc4e543..ef2e7a0875 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java @@ -18,6 +18,7 @@ package handlers.playeractions; import org.l2jmobius.gameserver.handler.IPlayerActionHandler; import org.l2jmobius.gameserver.model.ActionDataHolder; +import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.network.SystemMessageId; @@ -52,7 +53,15 @@ public class UnsummonServitor implements IPlayerActionHandler if (canUnsummon) { - player.getServitors().values().forEach(s -> s.unSummon(player)); + final WorldObject target = player.getTarget(); + if ((target != null) && target.isSummon() && (((Summon) target).getOwner() == player)) + { + ((Summon) target).unSummon(player); + } + else + { + player.getServitors().values().forEach(s -> s.unSummon(player)); + } } } else diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java index c6bbc4e543..ef2e7a0875 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/playeractions/UnsummonServitor.java @@ -18,6 +18,7 @@ package handlers.playeractions; import org.l2jmobius.gameserver.handler.IPlayerActionHandler; import org.l2jmobius.gameserver.model.ActionDataHolder; +import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.network.SystemMessageId; @@ -52,7 +53,15 @@ public class UnsummonServitor implements IPlayerActionHandler if (canUnsummon) { - player.getServitors().values().forEach(s -> s.unSummon(player)); + final WorldObject target = player.getTarget(); + if ((target != null) && target.isSummon() && (((Summon) target).getOwner() == player)) + { + ((Summon) target).unSummon(player); + } + else + { + player.getServitors().values().forEach(s -> s.unSummon(player)); + } } } else