Adjustments for Essence pet death.
This commit is contained in:
@@ -410,14 +410,24 @@ public abstract class Summon extends Playable
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// pet will be deleted along with all his items
|
// Pet will be deleted along with all his items.
|
||||||
if (getInventory() != null)
|
if (getInventory() != null)
|
||||||
{
|
{
|
||||||
getInventory().destroyAllItems("pet deleted", _owner, this);
|
// Pet related - Removed on Essence.
|
||||||
|
// getInventory().destroyAllItems("pet deleted", _owner, this);
|
||||||
|
// Pet related - Added the following.
|
||||||
|
for (Item item : getInventory().getItems())
|
||||||
|
{
|
||||||
|
World.getInstance().removeObject(item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
decayMe();
|
decayMe();
|
||||||
|
|
||||||
CharSummonTable.getInstance().removeServitor(_owner, getObjectId());
|
if (!isPet())
|
||||||
|
{
|
||||||
|
CharSummonTable.getInstance().removeServitor(_owner, getObjectId());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void unSummon(Player owner)
|
public void unSummon(Player owner)
|
||||||
|
@@ -764,10 +764,14 @@ public class Pet extends Summon
|
|||||||
@Override
|
@Override
|
||||||
public void deleteMe(Player owner)
|
public void deleteMe(Player owner)
|
||||||
{
|
{
|
||||||
_inventory.transferItemsToOwner();
|
// Pet related - Removed on Essence.
|
||||||
|
// _inventory.transferItemsToOwner();
|
||||||
|
|
||||||
super.deleteMe(owner);
|
super.deleteMe(owner);
|
||||||
destroyControlItem(owner, false); // this should also delete the pet from the db
|
|
||||||
CharSummonTable.getInstance().getPets().remove(getOwner().getObjectId());
|
// Pet related - Removed on Essence.
|
||||||
|
// destroyControlItem(owner, false); // this should also delete the pet from the db
|
||||||
|
// CharSummonTable.getInstance().getPets().remove(getOwner().getObjectId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -783,7 +787,16 @@ public class Pet extends Summon
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
stopFeed();
|
stopFeed();
|
||||||
sendPacket(SystemMessageId.THE_PET_HAS_BEEN_KILLED_IF_YOU_DON_T_RESURRECT_IT_WITHIN_24_H_THE_PET_S_BODY_WILL_DISAPPEAR_ALONG_WITH_ALL_THE_PET_S_ITEMS);
|
|
||||||
|
// Pet related - Removed on Essence.
|
||||||
|
// sendPacket(SystemMessageId.THE_PET_HAS_BEEN_KILLED_IF_YOU_DON_T_RESURRECT_IT_WITHIN_24_H_THE_PET_S_BODY_WILL_DISAPPEAR_ALONG_WITH_ALL_THE_PET_S_ITEMS);
|
||||||
|
// Pet related - Added the following.
|
||||||
|
storeMe();
|
||||||
|
for (Skill skill : getAllSkills())
|
||||||
|
{
|
||||||
|
storePetSkills(skill.getId(), skill.getLevel());
|
||||||
|
}
|
||||||
|
|
||||||
DecayTaskManager.getInstance().add(this);
|
DecayTaskManager.getInstance().add(this);
|
||||||
if (owner != null)
|
if (owner != null)
|
||||||
{
|
{
|
||||||
@@ -1002,8 +1015,11 @@ public class Pet extends Summon
|
|||||||
pet.getStatus().setCurrentCp(pet.getMaxCp());
|
pet.getStatus().setCurrentCp(pet.getMaxCp());
|
||||||
if (rset.getDouble("curHp") < 1)
|
if (rset.getDouble("curHp") < 1)
|
||||||
{
|
{
|
||||||
pet.setDead(true);
|
// Pet related - Removed on Essence.
|
||||||
pet.stopHpMpRegeneration();
|
// pet.setDead(true);
|
||||||
|
// pet.stopHpMpRegeneration();
|
||||||
|
// Pet related - Added the following.
|
||||||
|
pet.setCurrentHpMp(pet.getMaxHp(), pet.getMaxMp());
|
||||||
}
|
}
|
||||||
pet.setEvolveLevel(pet.getPetData().getEvolveLevel());
|
pet.setEvolveLevel(pet.getPetData().getEvolveLevel());
|
||||||
pet.setCurrentFed(rset.getInt("fed"));
|
pet.setCurrentFed(rset.getInt("fed"));
|
||||||
|
@@ -75,11 +75,15 @@ public class DecayTaskManager implements Runnable
|
|||||||
}
|
}
|
||||||
|
|
||||||
long delay;
|
long delay;
|
||||||
if (creature.isPet())
|
|
||||||
{
|
// Pet related - Removed on Essence.
|
||||||
delay = 86400;
|
// if (creature.isPet())
|
||||||
}
|
// {
|
||||||
else if (creature.getTemplate() instanceof NpcTemplate)
|
// delay = 86400;
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
|
||||||
|
if (creature.getTemplate() instanceof NpcTemplate)
|
||||||
{
|
{
|
||||||
delay = ((NpcTemplate) creature.getTemplate()).getCorpseTime();
|
delay = ((NpcTemplate) creature.getTemplate()).getCorpseTime();
|
||||||
}
|
}
|
||||||
|
@@ -410,14 +410,24 @@ public abstract class Summon extends Playable
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// pet will be deleted along with all his items
|
// Pet will be deleted along with all his items.
|
||||||
if (getInventory() != null)
|
if (getInventory() != null)
|
||||||
{
|
{
|
||||||
getInventory().destroyAllItems("pet deleted", _owner, this);
|
// Pet related - Removed on Essence.
|
||||||
|
// getInventory().destroyAllItems("pet deleted", _owner, this);
|
||||||
|
// Pet related - Added the following.
|
||||||
|
for (Item item : getInventory().getItems())
|
||||||
|
{
|
||||||
|
World.getInstance().removeObject(item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
decayMe();
|
decayMe();
|
||||||
|
|
||||||
CharSummonTable.getInstance().removeServitor(_owner, getObjectId());
|
if (!isPet())
|
||||||
|
{
|
||||||
|
CharSummonTable.getInstance().removeServitor(_owner, getObjectId());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void unSummon(Player owner)
|
public void unSummon(Player owner)
|
||||||
|
@@ -764,10 +764,14 @@ public class Pet extends Summon
|
|||||||
@Override
|
@Override
|
||||||
public void deleteMe(Player owner)
|
public void deleteMe(Player owner)
|
||||||
{
|
{
|
||||||
_inventory.transferItemsToOwner();
|
// Pet related - Removed on Essence.
|
||||||
|
// _inventory.transferItemsToOwner();
|
||||||
|
|
||||||
super.deleteMe(owner);
|
super.deleteMe(owner);
|
||||||
destroyControlItem(owner, false); // this should also delete the pet from the db
|
|
||||||
CharSummonTable.getInstance().getPets().remove(getOwner().getObjectId());
|
// Pet related - Removed on Essence.
|
||||||
|
// destroyControlItem(owner, false); // this should also delete the pet from the db
|
||||||
|
// CharSummonTable.getInstance().getPets().remove(getOwner().getObjectId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -783,7 +787,16 @@ public class Pet extends Summon
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
stopFeed();
|
stopFeed();
|
||||||
sendPacket(SystemMessageId.THE_PET_HAS_BEEN_KILLED_IF_YOU_DON_T_RESURRECT_IT_WITHIN_24_H_THE_PET_S_BODY_WILL_DISAPPEAR_ALONG_WITH_ALL_THE_PET_S_ITEMS);
|
|
||||||
|
// Pet related - Removed on Essence.
|
||||||
|
// sendPacket(SystemMessageId.THE_PET_HAS_BEEN_KILLED_IF_YOU_DON_T_RESURRECT_IT_WITHIN_24_H_THE_PET_S_BODY_WILL_DISAPPEAR_ALONG_WITH_ALL_THE_PET_S_ITEMS);
|
||||||
|
// Pet related - Added the following.
|
||||||
|
storeMe();
|
||||||
|
for (Skill skill : getAllSkills())
|
||||||
|
{
|
||||||
|
storePetSkills(skill.getId(), skill.getLevel());
|
||||||
|
}
|
||||||
|
|
||||||
DecayTaskManager.getInstance().add(this);
|
DecayTaskManager.getInstance().add(this);
|
||||||
if (owner != null)
|
if (owner != null)
|
||||||
{
|
{
|
||||||
@@ -1002,8 +1015,11 @@ public class Pet extends Summon
|
|||||||
pet.getStatus().setCurrentCp(pet.getMaxCp());
|
pet.getStatus().setCurrentCp(pet.getMaxCp());
|
||||||
if (rset.getDouble("curHp") < 1)
|
if (rset.getDouble("curHp") < 1)
|
||||||
{
|
{
|
||||||
pet.setDead(true);
|
// Pet related - Removed on Essence.
|
||||||
pet.stopHpMpRegeneration();
|
// pet.setDead(true);
|
||||||
|
// pet.stopHpMpRegeneration();
|
||||||
|
// Pet related - Added the following.
|
||||||
|
pet.setCurrentHpMp(pet.getMaxHp(), pet.getMaxMp());
|
||||||
}
|
}
|
||||||
pet.setEvolveLevel(pet.getPetData().getEvolveLevel());
|
pet.setEvolveLevel(pet.getPetData().getEvolveLevel());
|
||||||
pet.setCurrentFed(rset.getInt("fed"));
|
pet.setCurrentFed(rset.getInt("fed"));
|
||||||
|
@@ -75,11 +75,15 @@ public class DecayTaskManager implements Runnable
|
|||||||
}
|
}
|
||||||
|
|
||||||
long delay;
|
long delay;
|
||||||
if (creature.isPet())
|
|
||||||
{
|
// Pet related - Removed on Essence.
|
||||||
delay = 86400;
|
// if (creature.isPet())
|
||||||
}
|
// {
|
||||||
else if (creature.getTemplate() instanceof NpcTemplate)
|
// delay = 86400;
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
|
||||||
|
if (creature.getTemplate() instanceof NpcTemplate)
|
||||||
{
|
{
|
||||||
delay = ((NpcTemplate) creature.getTemplate()).getCorpseTime();
|
delay = ((NpcTemplate) creature.getTemplate()).getCorpseTime();
|
||||||
}
|
}
|
||||||
|
@@ -410,14 +410,24 @@ public abstract class Summon extends Playable
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// pet will be deleted along with all his items
|
// Pet will be deleted along with all his items.
|
||||||
if (getInventory() != null)
|
if (getInventory() != null)
|
||||||
{
|
{
|
||||||
getInventory().destroyAllItems("pet deleted", _owner, this);
|
// Pet related - Removed on Essence.
|
||||||
|
// getInventory().destroyAllItems("pet deleted", _owner, this);
|
||||||
|
// Pet related - Added the following.
|
||||||
|
for (Item item : getInventory().getItems())
|
||||||
|
{
|
||||||
|
World.getInstance().removeObject(item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
decayMe();
|
decayMe();
|
||||||
|
|
||||||
CharSummonTable.getInstance().removeServitor(_owner, getObjectId());
|
if (!isPet())
|
||||||
|
{
|
||||||
|
CharSummonTable.getInstance().removeServitor(_owner, getObjectId());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void unSummon(Player owner)
|
public void unSummon(Player owner)
|
||||||
|
@@ -764,10 +764,14 @@ public class Pet extends Summon
|
|||||||
@Override
|
@Override
|
||||||
public void deleteMe(Player owner)
|
public void deleteMe(Player owner)
|
||||||
{
|
{
|
||||||
_inventory.transferItemsToOwner();
|
// Pet related - Removed on Essence.
|
||||||
|
// _inventory.transferItemsToOwner();
|
||||||
|
|
||||||
super.deleteMe(owner);
|
super.deleteMe(owner);
|
||||||
destroyControlItem(owner, false); // this should also delete the pet from the db
|
|
||||||
CharSummonTable.getInstance().getPets().remove(getOwner().getObjectId());
|
// Pet related - Removed on Essence.
|
||||||
|
// destroyControlItem(owner, false); // this should also delete the pet from the db
|
||||||
|
// CharSummonTable.getInstance().getPets().remove(getOwner().getObjectId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -783,7 +787,16 @@ public class Pet extends Summon
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
stopFeed();
|
stopFeed();
|
||||||
sendPacket(SystemMessageId.THE_PET_HAS_BEEN_KILLED_IF_YOU_DON_T_RESURRECT_IT_WITHIN_24_H_THE_PET_S_BODY_WILL_DISAPPEAR_ALONG_WITH_ALL_THE_PET_S_ITEMS);
|
|
||||||
|
// Pet related - Removed on Essence.
|
||||||
|
// sendPacket(SystemMessageId.THE_PET_HAS_BEEN_KILLED_IF_YOU_DON_T_RESURRECT_IT_WITHIN_24_H_THE_PET_S_BODY_WILL_DISAPPEAR_ALONG_WITH_ALL_THE_PET_S_ITEMS);
|
||||||
|
// Pet related - Added the following.
|
||||||
|
storeMe();
|
||||||
|
for (Skill skill : getAllSkills())
|
||||||
|
{
|
||||||
|
storePetSkills(skill.getId(), skill.getLevel());
|
||||||
|
}
|
||||||
|
|
||||||
DecayTaskManager.getInstance().add(this);
|
DecayTaskManager.getInstance().add(this);
|
||||||
if (owner != null)
|
if (owner != null)
|
||||||
{
|
{
|
||||||
@@ -1002,8 +1015,11 @@ public class Pet extends Summon
|
|||||||
pet.getStatus().setCurrentCp(pet.getMaxCp());
|
pet.getStatus().setCurrentCp(pet.getMaxCp());
|
||||||
if (rset.getDouble("curHp") < 1)
|
if (rset.getDouble("curHp") < 1)
|
||||||
{
|
{
|
||||||
pet.setDead(true);
|
// Pet related - Removed on Essence.
|
||||||
pet.stopHpMpRegeneration();
|
// pet.setDead(true);
|
||||||
|
// pet.stopHpMpRegeneration();
|
||||||
|
// Pet related - Added the following.
|
||||||
|
pet.setCurrentHpMp(pet.getMaxHp(), pet.getMaxMp());
|
||||||
}
|
}
|
||||||
pet.setEvolveLevel(pet.getPetData().getEvolveLevel());
|
pet.setEvolveLevel(pet.getPetData().getEvolveLevel());
|
||||||
pet.setCurrentFed(rset.getInt("fed"));
|
pet.setCurrentFed(rset.getInt("fed"));
|
||||||
|
@@ -75,11 +75,15 @@ public class DecayTaskManager implements Runnable
|
|||||||
}
|
}
|
||||||
|
|
||||||
long delay;
|
long delay;
|
||||||
if (creature.isPet())
|
|
||||||
{
|
// Pet related - Removed on Essence.
|
||||||
delay = 86400;
|
// if (creature.isPet())
|
||||||
}
|
// {
|
||||||
else if (creature.getTemplate() instanceof NpcTemplate)
|
// delay = 86400;
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
|
||||||
|
if (creature.getTemplate() instanceof NpcTemplate)
|
||||||
{
|
{
|
||||||
delay = ((NpcTemplate) creature.getTemplate()).getCorpseTime();
|
delay = ((NpcTemplate) creature.getTemplate()).getCorpseTime();
|
||||||
}
|
}
|
||||||
|
@@ -410,14 +410,24 @@ public abstract class Summon extends Playable
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// pet will be deleted along with all his items
|
// Pet will be deleted along with all his items.
|
||||||
if (getInventory() != null)
|
if (getInventory() != null)
|
||||||
{
|
{
|
||||||
getInventory().destroyAllItems("pet deleted", _owner, this);
|
// Pet related - Removed on Essence.
|
||||||
|
// getInventory().destroyAllItems("pet deleted", _owner, this);
|
||||||
|
// Pet related - Added the following.
|
||||||
|
for (Item item : getInventory().getItems())
|
||||||
|
{
|
||||||
|
World.getInstance().removeObject(item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
decayMe();
|
decayMe();
|
||||||
|
|
||||||
CharSummonTable.getInstance().removeServitor(_owner, getObjectId());
|
if (!isPet())
|
||||||
|
{
|
||||||
|
CharSummonTable.getInstance().removeServitor(_owner, getObjectId());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void unSummon(Player owner)
|
public void unSummon(Player owner)
|
||||||
|
@@ -764,10 +764,14 @@ public class Pet extends Summon
|
|||||||
@Override
|
@Override
|
||||||
public void deleteMe(Player owner)
|
public void deleteMe(Player owner)
|
||||||
{
|
{
|
||||||
_inventory.transferItemsToOwner();
|
// Pet related - Removed on Essence.
|
||||||
|
// _inventory.transferItemsToOwner();
|
||||||
|
|
||||||
super.deleteMe(owner);
|
super.deleteMe(owner);
|
||||||
destroyControlItem(owner, false); // this should also delete the pet from the db
|
|
||||||
CharSummonTable.getInstance().getPets().remove(getOwner().getObjectId());
|
// Pet related - Removed on Essence.
|
||||||
|
// destroyControlItem(owner, false); // this should also delete the pet from the db
|
||||||
|
// CharSummonTable.getInstance().getPets().remove(getOwner().getObjectId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -783,7 +787,16 @@ public class Pet extends Summon
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
stopFeed();
|
stopFeed();
|
||||||
sendPacket(SystemMessageId.THE_PET_HAS_BEEN_KILLED_IF_YOU_DON_T_RESURRECT_IT_WITHIN_24_H_THE_PET_S_BODY_WILL_DISAPPEAR_ALONG_WITH_ALL_THE_PET_S_ITEMS);
|
|
||||||
|
// Pet related - Removed on Essence.
|
||||||
|
// sendPacket(SystemMessageId.THE_PET_HAS_BEEN_KILLED_IF_YOU_DON_T_RESURRECT_IT_WITHIN_24_H_THE_PET_S_BODY_WILL_DISAPPEAR_ALONG_WITH_ALL_THE_PET_S_ITEMS);
|
||||||
|
// Pet related - Added the following.
|
||||||
|
storeMe();
|
||||||
|
for (Skill skill : getAllSkills())
|
||||||
|
{
|
||||||
|
storePetSkills(skill.getId(), skill.getLevel());
|
||||||
|
}
|
||||||
|
|
||||||
DecayTaskManager.getInstance().add(this);
|
DecayTaskManager.getInstance().add(this);
|
||||||
if (owner != null)
|
if (owner != null)
|
||||||
{
|
{
|
||||||
@@ -1002,8 +1015,11 @@ public class Pet extends Summon
|
|||||||
pet.getStatus().setCurrentCp(pet.getMaxCp());
|
pet.getStatus().setCurrentCp(pet.getMaxCp());
|
||||||
if (rset.getDouble("curHp") < 1)
|
if (rset.getDouble("curHp") < 1)
|
||||||
{
|
{
|
||||||
pet.setDead(true);
|
// Pet related - Removed on Essence.
|
||||||
pet.stopHpMpRegeneration();
|
// pet.setDead(true);
|
||||||
|
// pet.stopHpMpRegeneration();
|
||||||
|
// Pet related - Added the following.
|
||||||
|
pet.setCurrentHpMp(pet.getMaxHp(), pet.getMaxMp());
|
||||||
}
|
}
|
||||||
pet.setEvolveLevel(pet.getPetData().getEvolveLevel());
|
pet.setEvolveLevel(pet.getPetData().getEvolveLevel());
|
||||||
pet.setCurrentFed(rset.getInt("fed"));
|
pet.setCurrentFed(rset.getInt("fed"));
|
||||||
|
@@ -75,11 +75,15 @@ public class DecayTaskManager implements Runnable
|
|||||||
}
|
}
|
||||||
|
|
||||||
long delay;
|
long delay;
|
||||||
if (creature.isPet())
|
|
||||||
{
|
// Pet related - Removed on Essence.
|
||||||
delay = 86400;
|
// if (creature.isPet())
|
||||||
}
|
// {
|
||||||
else if (creature.getTemplate() instanceof NpcTemplate)
|
// delay = 86400;
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
|
||||||
|
if (creature.getTemplate() instanceof NpcTemplate)
|
||||||
{
|
{
|
||||||
delay = ((NpcTemplate) creature.getTemplate()).getCorpseTime();
|
delay = ((NpcTemplate) creature.getTemplate()).getCorpseTime();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user