diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 5606f1d897..4a30463da8 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -10089,10 +10089,29 @@ public class PlayerInstance extends Playable public void doRevive() { super.doRevive(); + sendPacket(new EtcStatusUpdate(this)); _revivePet = false; _reviveRequested = 0; _revivePower = 0; + + // Teleport summons to player. + if (isInsideZone(ZoneId.PEACE) && hasSummon()) + { + final PetInstance pet = getPet(); + if (pet != null) + { + pet.teleToLocation(this, true); + } + for (Summon summon : getServitors().values()) + { + if (!summon.isInsideZone(ZoneId.SIEGE)) + { + summon.teleToLocation(this, true); + } + } + } + if (isMounted()) { startFeed(_mountNpcId); diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 2d940fefef..51e9effc97 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -10096,10 +10096,29 @@ public class PlayerInstance extends Playable public void doRevive() { super.doRevive(); + sendPacket(new EtcStatusUpdate(this)); _revivePet = false; _reviveRequested = 0; _revivePower = 0; + + // Teleport summons to player. + if (isInsideZone(ZoneId.PEACE) && hasSummon()) + { + final PetInstance pet = getPet(); + if (pet != null) + { + pet.teleToLocation(this, true); + } + for (Summon summon : getServitors().values()) + { + if (!summon.isInsideZone(ZoneId.SIEGE)) + { + summon.teleToLocation(this, true); + } + } + } + if (isMounted()) { startFeed(_mountNpcId); diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 47312e978a..85d12b0c05 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -10098,10 +10098,29 @@ public class PlayerInstance extends Playable public void doRevive() { super.doRevive(); + sendPacket(new EtcStatusUpdate(this)); _revivePet = false; _reviveRequested = 0; _revivePower = 0; + + // Teleport summons to player. + if (isInsideZone(ZoneId.PEACE) && hasSummon()) + { + final PetInstance pet = getPet(); + if (pet != null) + { + pet.teleToLocation(this, true); + } + for (Summon summon : getServitors().values()) + { + if (!summon.isInsideZone(ZoneId.SIEGE)) + { + summon.teleToLocation(this, true); + } + } + } + if (isMounted()) { startFeed(_mountNpcId); diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index c47778797e..7fd0c50931 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -10089,10 +10089,29 @@ public class PlayerInstance extends Playable public void doRevive() { super.doRevive(); + sendPacket(new EtcStatusUpdate(this)); _revivePet = false; _reviveRequested = 0; _revivePower = 0; + + // Teleport summons to player. + if (isInsideZone(ZoneId.PEACE) && hasSummon()) + { + final PetInstance pet = getPet(); + if (pet != null) + { + pet.teleToLocation(this, true); + } + for (Summon summon : getServitors().values()) + { + if (!summon.isInsideZone(ZoneId.SIEGE)) + { + summon.teleToLocation(this, true); + } + } + } + if (isMounted()) { startFeed(_mountNpcId); diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 018a6f9089..b27f7845b2 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -10076,10 +10076,29 @@ public class PlayerInstance extends Playable public void doRevive() { super.doRevive(); + sendPacket(new EtcStatusUpdate(this)); _revivePet = false; _reviveRequested = 0; _revivePower = 0; + + // Teleport summons to player. + if (isInsideZone(ZoneId.PEACE) && hasSummon()) + { + final PetInstance pet = getPet(); + if (pet != null) + { + pet.teleToLocation(this, true); + } + for (Summon summon : getServitors().values()) + { + if (!summon.isInsideZone(ZoneId.SIEGE)) + { + summon.teleToLocation(this, true); + } + } + } + if (isMounted()) { startFeed(_mountNpcId); diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index fd7dba90f1..59d997d640 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -10076,10 +10076,29 @@ public class PlayerInstance extends Playable public void doRevive() { super.doRevive(); + sendPacket(new EtcStatusUpdate(this)); _revivePet = false; _reviveRequested = 0; _revivePower = 0; + + // Teleport summons to player. + if (isInsideZone(ZoneId.PEACE) && hasSummon()) + { + final PetInstance pet = getPet(); + if (pet != null) + { + pet.teleToLocation(this, true); + } + for (Summon summon : getServitors().values()) + { + if (!summon.isInsideZone(ZoneId.SIEGE)) + { + summon.teleToLocation(this, true); + } + } + } + if (isMounted()) { startFeed(_mountNpcId); diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 51e7aff3f5..d1b5e03954 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -10082,10 +10082,29 @@ public class PlayerInstance extends Playable public void doRevive() { super.doRevive(); + sendPacket(new EtcStatusUpdate(this)); _revivePet = false; _reviveRequested = 0; _revivePower = 0; + + // Teleport summons to player. + if (isInsideZone(ZoneId.PEACE) && hasSummon()) + { + final PetInstance pet = getPet(); + if (pet != null) + { + pet.teleToLocation(this, true); + } + for (Summon summon : getServitors().values()) + { + if (!summon.isInsideZone(ZoneId.SIEGE)) + { + summon.teleToLocation(this, true); + } + } + } + if (isMounted()) { startFeed(_mountNpcId); diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 4586dedd3e..d74b5ff5ed 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -10097,10 +10097,29 @@ public class PlayerInstance extends Playable public void doRevive() { super.doRevive(); + sendPacket(new EtcStatusUpdate(this)); _revivePet = false; _reviveRequested = 0; _revivePower = 0; + + // Teleport summons to player. + if (isInsideZone(ZoneId.PEACE) && hasSummon()) + { + final PetInstance pet = getPet(); + if (pet != null) + { + pet.teleToLocation(this, true); + } + for (Summon summon : getServitors().values()) + { + if (!summon.isInsideZone(ZoneId.SIEGE)) + { + summon.teleToLocation(this, true); + } + } + } + if (isMounted()) { startFeed(_mountNpcId); diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 5fbb5d5488..f658e1dc16 100644 --- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -12437,9 +12437,17 @@ public class PlayerInstance extends Playable public void doRevive() { super.doRevive(); + updateEffectIcons(); _reviveRequested = 0; _revivePower = 0; + + // Teleport summon to player. + if (isInsideZone(ZoneId.PEACE) && (_summon != null) && !_summon.isInsideZone(ZoneId.SIEGE)) + { + _summon.teleToLocation(getLocation(), true); + } + if (isInParty() && getParty().isInDimensionalRift() && !DimensionalRiftManager.getInstance().checkIfInPeaceZone(getX(), getY(), getZ())) { getParty().getDimensionalRift().memberRessurected(this); diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index d58e0cc24e..fe04cd32b6 100644 --- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -12746,10 +12746,18 @@ public class PlayerInstance extends Playable public void doRevive() { super.doRevive(); + updateEffectIcons(); sendPacket(new EtcStatusUpdate(this)); _reviveRequested = 0; _revivePower = 0; + + // Teleport summon to player. + if (isInsideZone(ZoneId.PEACE) && (_summon != null) && !_summon.isInsideZone(ZoneId.SIEGE)) + { + _summon.teleToLocation(getLocation(), true); + } + if (isInParty() && getParty().isInDimensionalRift() && !DimensionalRiftManager.getInstance().checkIfInPeaceZone(getX(), getY(), getZ())) { getParty().getDimensionalRift().memberRessurected(this); diff --git a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 68a2984f9b..608a520e51 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -10627,19 +10627,29 @@ public class PlayerInstance extends Playable public void doRevive() { super.doRevive(); + updateEffectIcons(); sendPacket(new EtcStatusUpdate(this)); _revivePet = false; _reviveRequested = 0; _revivePower = 0; + + // Teleport summon to player. + if (isInsideZone(ZoneId.PEACE) && (_summon != null) && !_summon.isInsideZone(ZoneId.SIEGE)) + { + _summon.teleToLocation(getLocation(), true); + } + if (isMounted()) { startFeed(_mountNpcId); } + if (isInParty() && _party.isInDimensionalRift() && !DimensionalRiftManager.getInstance().checkIfInPeaceZone(getX(), getY(), getZ())) { _party.getDimensionalRift().memberRessurected(this); } + if (getInstanceId() > 0) { final Instance instance = InstanceManager.getInstance().getInstance(getInstanceId()); diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 79abdf2006..2ac7c172df 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -10510,19 +10510,29 @@ public class PlayerInstance extends Playable public void doRevive() { super.doRevive(); + updateEffectIcons(); sendPacket(new EtcStatusUpdate(this)); _revivePet = false; _reviveRequested = 0; _revivePower = 0; + + // Teleport summon to player. + if (isInsideZone(ZoneId.PEACE) && (_summon != null) && !_summon.isInsideZone(ZoneId.SIEGE)) + { + _summon.teleToLocation(getLocation(), true); + } + if (isMounted()) { startFeed(_mountNpcId); } + if (isInParty() && _party.isInDimensionalRift() && !DimensionalRiftManager.getInstance().checkIfInPeaceZone(getX(), getY(), getZ())) { _party.getDimensionalRift().memberRessurected(this); } + if (getInstanceId() > 0) { final Instance instance = InstanceManager.getInstance().getInstance(getInstanceId()); diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 9951020fdb..c19bd17e17 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -10030,10 +10030,29 @@ public class PlayerInstance extends Playable public void doRevive() { super.doRevive(); + sendPacket(new EtcStatusUpdate(this)); _revivePet = false; _reviveRequested = 0; _revivePower = 0; + + // Teleport summons to player. + if (isInsideZone(ZoneId.PEACE) && hasSummon()) + { + final PetInstance pet = getPet(); + if (pet != null) + { + pet.teleToLocation(this, true); + } + for (Summon summon : getServitors().values()) + { + if (!summon.isInsideZone(ZoneId.SIEGE)) + { + summon.teleToLocation(this, true); + } + } + } + if (isMounted()) { startFeed(_mountNpcId); diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 4d53a0e436..bde25216f3 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -10030,10 +10030,29 @@ public class PlayerInstance extends Playable public void doRevive() { super.doRevive(); + sendPacket(new EtcStatusUpdate(this)); _revivePet = false; _reviveRequested = 0; _revivePower = 0; + + // Teleport summons to player. + if (isInsideZone(ZoneId.PEACE) && hasSummon()) + { + final PetInstance pet = getPet(); + if (pet != null) + { + pet.teleToLocation(this, true); + } + for (Summon summon : getServitors().values()) + { + if (!summon.isInsideZone(ZoneId.SIEGE)) + { + summon.teleToLocation(this, true); + } + } + } + if (isMounted()) { startFeed(_mountNpcId); diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index d7bf140f25..d66fd4cb0c 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -10016,10 +10016,29 @@ public class PlayerInstance extends Playable public void doRevive() { super.doRevive(); + sendPacket(new EtcStatusUpdate(this)); _revivePet = false; _reviveRequested = 0; _revivePower = 0; + + // Teleport summons to player. + if (isInsideZone(ZoneId.PEACE) && hasSummon()) + { + final PetInstance pet = getPet(); + if (pet != null) + { + pet.teleToLocation(this, true); + } + for (Summon summon : getServitors().values()) + { + if (!summon.isInsideZone(ZoneId.SIEGE)) + { + summon.teleToLocation(this, true); + } + } + } + if (isMounted()) { startFeed(_mountNpcId); diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 635ca58db8..9f55fa80c5 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -10043,10 +10043,29 @@ public class PlayerInstance extends Playable public void doRevive() { super.doRevive(); + sendPacket(new EtcStatusUpdate(this)); _revivePet = false; _reviveRequested = 0; _revivePower = 0; + + // Teleport summons to player. + if (isInsideZone(ZoneId.PEACE) && hasSummon()) + { + final PetInstance pet = getPet(); + if (pet != null) + { + pet.teleToLocation(this, true); + } + for (Summon summon : getServitors().values()) + { + if (!summon.isInsideZone(ZoneId.SIEGE)) + { + summon.teleToLocation(this, true); + } + } + } + if (isMounted()) { startFeed(_mountNpcId); diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index 1729fa5931..e6f0083a07 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -10043,10 +10043,29 @@ public class PlayerInstance extends Playable public void doRevive() { super.doRevive(); + sendPacket(new EtcStatusUpdate(this)); _revivePet = false; _reviveRequested = 0; _revivePower = 0; + + // Teleport summons to player. + if (isInsideZone(ZoneId.PEACE) && hasSummon()) + { + final PetInstance pet = getPet(); + if (pet != null) + { + pet.teleToLocation(this, true); + } + for (Summon summon : getServitors().values()) + { + if (!summon.isInsideZone(ZoneId.SIEGE)) + { + summon.teleToLocation(this, true); + } + } + } + if (isMounted()) { startFeed(_mountNpcId); diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index b1ace408e4..d447cba572 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -9989,10 +9989,29 @@ public class PlayerInstance extends Playable public void doRevive() { super.doRevive(); + sendPacket(new EtcStatusUpdate(this)); _revivePet = false; _reviveRequested = 0; _revivePower = 0; + + // Teleport summons to player. + if (isInsideZone(ZoneId.PEACE) && hasSummon()) + { + final PetInstance pet = getPet(); + if (pet != null) + { + pet.teleToLocation(this, true); + } + for (Summon summon : getServitors().values()) + { + if (!summon.isInsideZone(ZoneId.SIEGE)) + { + summon.teleToLocation(this, true); + } + } + } + if (isMounted()) { startFeed(_mountNpcId); diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java index c312e02ba2..2b3d0e32e5 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/actor/instance/PlayerInstance.java @@ -10042,10 +10042,29 @@ public class PlayerInstance extends Playable public void doRevive() { super.doRevive(); + sendPacket(new EtcStatusUpdate(this)); _revivePet = false; _reviveRequested = 0; _revivePower = 0; + + // Teleport summons to player. + if (isInsideZone(ZoneId.PEACE) && hasSummon()) + { + final PetInstance pet = getPet(); + if (pet != null) + { + pet.teleToLocation(this, true); + } + for (Summon summon : getServitors().values()) + { + if (!summon.isInsideZone(ZoneId.SIEGE)) + { + summon.teleToLocation(this, true); + } + } + } + if (isMounted()) { startFeed(_mountNpcId);