Teleport summons with player revive.

This commit is contained in:
MobiusDevelopment
2020-09-14 09:37:19 +00:00
parent 1469df4779
commit a0c5478aaf
19 changed files with 321 additions and 0 deletions
@@ -10089,10 +10089,29 @@ public class PlayerInstance extends Playable
public void doRevive() public void doRevive()
{ {
super.doRevive(); super.doRevive();
sendPacket(new EtcStatusUpdate(this)); sendPacket(new EtcStatusUpdate(this));
_revivePet = false; _revivePet = false;
_reviveRequested = 0; _reviveRequested = 0;
_revivePower = 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()) if (isMounted())
{ {
startFeed(_mountNpcId); startFeed(_mountNpcId);
@@ -10096,10 +10096,29 @@ public class PlayerInstance extends Playable
public void doRevive() public void doRevive()
{ {
super.doRevive(); super.doRevive();
sendPacket(new EtcStatusUpdate(this)); sendPacket(new EtcStatusUpdate(this));
_revivePet = false; _revivePet = false;
_reviveRequested = 0; _reviveRequested = 0;
_revivePower = 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()) if (isMounted())
{ {
startFeed(_mountNpcId); startFeed(_mountNpcId);
@@ -10098,10 +10098,29 @@ public class PlayerInstance extends Playable
public void doRevive() public void doRevive()
{ {
super.doRevive(); super.doRevive();
sendPacket(new EtcStatusUpdate(this)); sendPacket(new EtcStatusUpdate(this));
_revivePet = false; _revivePet = false;
_reviveRequested = 0; _reviveRequested = 0;
_revivePower = 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()) if (isMounted())
{ {
startFeed(_mountNpcId); startFeed(_mountNpcId);
@@ -10089,10 +10089,29 @@ public class PlayerInstance extends Playable
public void doRevive() public void doRevive()
{ {
super.doRevive(); super.doRevive();
sendPacket(new EtcStatusUpdate(this)); sendPacket(new EtcStatusUpdate(this));
_revivePet = false; _revivePet = false;
_reviveRequested = 0; _reviveRequested = 0;
_revivePower = 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()) if (isMounted())
{ {
startFeed(_mountNpcId); startFeed(_mountNpcId);
@@ -10076,10 +10076,29 @@ public class PlayerInstance extends Playable
public void doRevive() public void doRevive()
{ {
super.doRevive(); super.doRevive();
sendPacket(new EtcStatusUpdate(this)); sendPacket(new EtcStatusUpdate(this));
_revivePet = false; _revivePet = false;
_reviveRequested = 0; _reviveRequested = 0;
_revivePower = 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()) if (isMounted())
{ {
startFeed(_mountNpcId); startFeed(_mountNpcId);
@@ -10076,10 +10076,29 @@ public class PlayerInstance extends Playable
public void doRevive() public void doRevive()
{ {
super.doRevive(); super.doRevive();
sendPacket(new EtcStatusUpdate(this)); sendPacket(new EtcStatusUpdate(this));
_revivePet = false; _revivePet = false;
_reviveRequested = 0; _reviveRequested = 0;
_revivePower = 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()) if (isMounted())
{ {
startFeed(_mountNpcId); startFeed(_mountNpcId);
@@ -10082,10 +10082,29 @@ public class PlayerInstance extends Playable
public void doRevive() public void doRevive()
{ {
super.doRevive(); super.doRevive();
sendPacket(new EtcStatusUpdate(this)); sendPacket(new EtcStatusUpdate(this));
_revivePet = false; _revivePet = false;
_reviveRequested = 0; _reviveRequested = 0;
_revivePower = 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()) if (isMounted())
{ {
startFeed(_mountNpcId); startFeed(_mountNpcId);
@@ -10097,10 +10097,29 @@ public class PlayerInstance extends Playable
public void doRevive() public void doRevive()
{ {
super.doRevive(); super.doRevive();
sendPacket(new EtcStatusUpdate(this)); sendPacket(new EtcStatusUpdate(this));
_revivePet = false; _revivePet = false;
_reviveRequested = 0; _reviveRequested = 0;
_revivePower = 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()) if (isMounted())
{ {
startFeed(_mountNpcId); startFeed(_mountNpcId);
@@ -12437,9 +12437,17 @@ public class PlayerInstance extends Playable
public void doRevive() public void doRevive()
{ {
super.doRevive(); super.doRevive();
updateEffectIcons(); updateEffectIcons();
_reviveRequested = 0; _reviveRequested = 0;
_revivePower = 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())) if (isInParty() && getParty().isInDimensionalRift() && !DimensionalRiftManager.getInstance().checkIfInPeaceZone(getX(), getY(), getZ()))
{ {
getParty().getDimensionalRift().memberRessurected(this); getParty().getDimensionalRift().memberRessurected(this);
@@ -12746,10 +12746,18 @@ public class PlayerInstance extends Playable
public void doRevive() public void doRevive()
{ {
super.doRevive(); super.doRevive();
updateEffectIcons(); updateEffectIcons();
sendPacket(new EtcStatusUpdate(this)); sendPacket(new EtcStatusUpdate(this));
_reviveRequested = 0; _reviveRequested = 0;
_revivePower = 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())) if (isInParty() && getParty().isInDimensionalRift() && !DimensionalRiftManager.getInstance().checkIfInPeaceZone(getX(), getY(), getZ()))
{ {
getParty().getDimensionalRift().memberRessurected(this); getParty().getDimensionalRift().memberRessurected(this);
@@ -10627,19 +10627,29 @@ public class PlayerInstance extends Playable
public void doRevive() public void doRevive()
{ {
super.doRevive(); super.doRevive();
updateEffectIcons(); updateEffectIcons();
sendPacket(new EtcStatusUpdate(this)); sendPacket(new EtcStatusUpdate(this));
_revivePet = false; _revivePet = false;
_reviveRequested = 0; _reviveRequested = 0;
_revivePower = 0; _revivePower = 0;
// Teleport summon to player.
if (isInsideZone(ZoneId.PEACE) && (_summon != null) && !_summon.isInsideZone(ZoneId.SIEGE))
{
_summon.teleToLocation(getLocation(), true);
}
if (isMounted()) if (isMounted())
{ {
startFeed(_mountNpcId); startFeed(_mountNpcId);
} }
if (isInParty() && _party.isInDimensionalRift() && !DimensionalRiftManager.getInstance().checkIfInPeaceZone(getX(), getY(), getZ())) if (isInParty() && _party.isInDimensionalRift() && !DimensionalRiftManager.getInstance().checkIfInPeaceZone(getX(), getY(), getZ()))
{ {
_party.getDimensionalRift().memberRessurected(this); _party.getDimensionalRift().memberRessurected(this);
} }
if (getInstanceId() > 0) if (getInstanceId() > 0)
{ {
final Instance instance = InstanceManager.getInstance().getInstance(getInstanceId()); final Instance instance = InstanceManager.getInstance().getInstance(getInstanceId());
@@ -10510,19 +10510,29 @@ public class PlayerInstance extends Playable
public void doRevive() public void doRevive()
{ {
super.doRevive(); super.doRevive();
updateEffectIcons(); updateEffectIcons();
sendPacket(new EtcStatusUpdate(this)); sendPacket(new EtcStatusUpdate(this));
_revivePet = false; _revivePet = false;
_reviveRequested = 0; _reviveRequested = 0;
_revivePower = 0; _revivePower = 0;
// Teleport summon to player.
if (isInsideZone(ZoneId.PEACE) && (_summon != null) && !_summon.isInsideZone(ZoneId.SIEGE))
{
_summon.teleToLocation(getLocation(), true);
}
if (isMounted()) if (isMounted())
{ {
startFeed(_mountNpcId); startFeed(_mountNpcId);
} }
if (isInParty() && _party.isInDimensionalRift() && !DimensionalRiftManager.getInstance().checkIfInPeaceZone(getX(), getY(), getZ())) if (isInParty() && _party.isInDimensionalRift() && !DimensionalRiftManager.getInstance().checkIfInPeaceZone(getX(), getY(), getZ()))
{ {
_party.getDimensionalRift().memberRessurected(this); _party.getDimensionalRift().memberRessurected(this);
} }
if (getInstanceId() > 0) if (getInstanceId() > 0)
{ {
final Instance instance = InstanceManager.getInstance().getInstance(getInstanceId()); final Instance instance = InstanceManager.getInstance().getInstance(getInstanceId());
@@ -10030,10 +10030,29 @@ public class PlayerInstance extends Playable
public void doRevive() public void doRevive()
{ {
super.doRevive(); super.doRevive();
sendPacket(new EtcStatusUpdate(this)); sendPacket(new EtcStatusUpdate(this));
_revivePet = false; _revivePet = false;
_reviveRequested = 0; _reviveRequested = 0;
_revivePower = 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()) if (isMounted())
{ {
startFeed(_mountNpcId); startFeed(_mountNpcId);
@@ -10030,10 +10030,29 @@ public class PlayerInstance extends Playable
public void doRevive() public void doRevive()
{ {
super.doRevive(); super.doRevive();
sendPacket(new EtcStatusUpdate(this)); sendPacket(new EtcStatusUpdate(this));
_revivePet = false; _revivePet = false;
_reviveRequested = 0; _reviveRequested = 0;
_revivePower = 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()) if (isMounted())
{ {
startFeed(_mountNpcId); startFeed(_mountNpcId);
@@ -10016,10 +10016,29 @@ public class PlayerInstance extends Playable
public void doRevive() public void doRevive()
{ {
super.doRevive(); super.doRevive();
sendPacket(new EtcStatusUpdate(this)); sendPacket(new EtcStatusUpdate(this));
_revivePet = false; _revivePet = false;
_reviveRequested = 0; _reviveRequested = 0;
_revivePower = 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()) if (isMounted())
{ {
startFeed(_mountNpcId); startFeed(_mountNpcId);
@@ -10043,10 +10043,29 @@ public class PlayerInstance extends Playable
public void doRevive() public void doRevive()
{ {
super.doRevive(); super.doRevive();
sendPacket(new EtcStatusUpdate(this)); sendPacket(new EtcStatusUpdate(this));
_revivePet = false; _revivePet = false;
_reviveRequested = 0; _reviveRequested = 0;
_revivePower = 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()) if (isMounted())
{ {
startFeed(_mountNpcId); startFeed(_mountNpcId);
@@ -10043,10 +10043,29 @@ public class PlayerInstance extends Playable
public void doRevive() public void doRevive()
{ {
super.doRevive(); super.doRevive();
sendPacket(new EtcStatusUpdate(this)); sendPacket(new EtcStatusUpdate(this));
_revivePet = false; _revivePet = false;
_reviveRequested = 0; _reviveRequested = 0;
_revivePower = 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()) if (isMounted())
{ {
startFeed(_mountNpcId); startFeed(_mountNpcId);
@@ -9989,10 +9989,29 @@ public class PlayerInstance extends Playable
public void doRevive() public void doRevive()
{ {
super.doRevive(); super.doRevive();
sendPacket(new EtcStatusUpdate(this)); sendPacket(new EtcStatusUpdate(this));
_revivePet = false; _revivePet = false;
_reviveRequested = 0; _reviveRequested = 0;
_revivePower = 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()) if (isMounted())
{ {
startFeed(_mountNpcId); startFeed(_mountNpcId);
@@ -10042,10 +10042,29 @@ public class PlayerInstance extends Playable
public void doRevive() public void doRevive()
{ {
super.doRevive(); super.doRevive();
sendPacket(new EtcStatusUpdate(this)); sendPacket(new EtcStatusUpdate(this));
_revivePet = false; _revivePet = false;
_reviveRequested = 0; _reviveRequested = 0;
_revivePower = 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()) if (isMounted())
{ {
startFeed(_mountNpcId); startFeed(_mountNpcId);