Proper remove or store servitor.

This commit is contained in:
MobiusDevelopment 2019-05-14 21:41:23 +00:00
parent e5bc00862c
commit 1b4a4bc697
24 changed files with 144 additions and 48 deletions

View File

@ -22,6 +22,7 @@ import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.ai.CreatureAI;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.ai.SummonAI;
import org.l2jmobius.gameserver.data.sql.impl.CharSummonTable;
import org.l2jmobius.gameserver.data.xml.impl.ExperienceData;
import org.l2jmobius.gameserver.datatables.ItemTable;
import org.l2jmobius.gameserver.enums.InstanceType;
@ -404,6 +405,8 @@ public abstract class Summon extends Playable
getInventory().destroyAllItems("pet deleted", _owner, this);
}
decayMe();
CharSummonTable.getInstance().removeServitor(_owner, getObjectId());
}
public void unSummon(PlayerInstance owner)

View File

@ -188,9 +188,7 @@ public class ServitorInstance extends Summon implements Runnable
_summonLifeTask.cancel(false);
}
CharSummonTable.getInstance().removeServitor(getOwner(), getObjectId());
return true;
}
/**
@ -258,14 +256,21 @@ public class ServitorInstance extends Summon implements Runnable
@Override
public void storeMe()
{
if ((_referenceSkill == 0) || isDead())
if (_referenceSkill == 0)
{
return;
}
if (Config.RESTORE_SERVITOR_ON_RECONNECT)
{
CharSummonTable.getInstance().saveSummon(this);
if (isDead())
{
CharSummonTable.getInstance().removeServitor(getOwner(), getObjectId());
}
else
{
CharSummonTable.getInstance().saveSummon(this);
}
}
}

View File

@ -22,6 +22,7 @@ import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.ai.CreatureAI;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.ai.SummonAI;
import org.l2jmobius.gameserver.data.sql.impl.CharSummonTable;
import org.l2jmobius.gameserver.data.xml.impl.ExperienceData;
import org.l2jmobius.gameserver.datatables.ItemTable;
import org.l2jmobius.gameserver.enums.InstanceType;
@ -404,6 +405,8 @@ public abstract class Summon extends Playable
getInventory().destroyAllItems("pet deleted", _owner, this);
}
decayMe();
CharSummonTable.getInstance().removeServitor(_owner, getObjectId());
}
public void unSummon(PlayerInstance owner)

View File

@ -188,9 +188,7 @@ public class ServitorInstance extends Summon implements Runnable
_summonLifeTask.cancel(false);
}
CharSummonTable.getInstance().removeServitor(getOwner(), getObjectId());
return true;
}
/**
@ -258,14 +256,21 @@ public class ServitorInstance extends Summon implements Runnable
@Override
public void storeMe()
{
if ((_referenceSkill == 0) || isDead())
if (_referenceSkill == 0)
{
return;
}
if (Config.RESTORE_SERVITOR_ON_RECONNECT)
{
CharSummonTable.getInstance().saveSummon(this);
if (isDead())
{
CharSummonTable.getInstance().removeServitor(getOwner(), getObjectId());
}
else
{
CharSummonTable.getInstance().saveSummon(this);
}
}
}

View File

@ -22,6 +22,7 @@ import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.ai.CreatureAI;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.ai.SummonAI;
import org.l2jmobius.gameserver.data.sql.impl.CharSummonTable;
import org.l2jmobius.gameserver.data.xml.impl.ExperienceData;
import org.l2jmobius.gameserver.datatables.ItemTable;
import org.l2jmobius.gameserver.enums.InstanceType;
@ -404,6 +405,8 @@ public abstract class Summon extends Playable
getInventory().destroyAllItems("pet deleted", _owner, this);
}
decayMe();
CharSummonTable.getInstance().removeServitor(_owner, getObjectId());
}
public void unSummon(PlayerInstance owner)

View File

@ -188,9 +188,7 @@ public class ServitorInstance extends Summon implements Runnable
_summonLifeTask.cancel(false);
}
CharSummonTable.getInstance().removeServitor(getOwner(), getObjectId());
return true;
}
/**
@ -258,14 +256,21 @@ public class ServitorInstance extends Summon implements Runnable
@Override
public void storeMe()
{
if ((_referenceSkill == 0) || isDead())
if (_referenceSkill == 0)
{
return;
}
if (Config.RESTORE_SERVITOR_ON_RECONNECT)
{
CharSummonTable.getInstance().saveSummon(this);
if (isDead())
{
CharSummonTable.getInstance().removeServitor(getOwner(), getObjectId());
}
else
{
CharSummonTable.getInstance().saveSummon(this);
}
}
}

View File

@ -22,6 +22,7 @@ import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.ai.CreatureAI;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.ai.SummonAI;
import org.l2jmobius.gameserver.data.sql.impl.CharSummonTable;
import org.l2jmobius.gameserver.data.xml.impl.ExperienceData;
import org.l2jmobius.gameserver.datatables.ItemTable;
import org.l2jmobius.gameserver.enums.InstanceType;
@ -404,6 +405,8 @@ public abstract class Summon extends Playable
getInventory().destroyAllItems("pet deleted", _owner, this);
}
decayMe();
CharSummonTable.getInstance().removeServitor(_owner, getObjectId());
}
public void unSummon(PlayerInstance owner)

View File

@ -188,9 +188,7 @@ public class ServitorInstance extends Summon implements Runnable
_summonLifeTask.cancel(false);
}
CharSummonTable.getInstance().removeServitor(getOwner(), getObjectId());
return true;
}
/**
@ -258,14 +256,21 @@ public class ServitorInstance extends Summon implements Runnable
@Override
public void storeMe()
{
if ((_referenceSkill == 0) || isDead())
if (_referenceSkill == 0)
{
return;
}
if (Config.RESTORE_SERVITOR_ON_RECONNECT)
{
CharSummonTable.getInstance().saveSummon(this);
if (isDead())
{
CharSummonTable.getInstance().removeServitor(getOwner(), getObjectId());
}
else
{
CharSummonTable.getInstance().saveSummon(this);
}
}
}

View File

@ -22,6 +22,7 @@ import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.ai.CreatureAI;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.ai.SummonAI;
import org.l2jmobius.gameserver.data.sql.impl.CharSummonTable;
import org.l2jmobius.gameserver.data.xml.impl.ExperienceData;
import org.l2jmobius.gameserver.datatables.ItemTable;
import org.l2jmobius.gameserver.enums.InstanceType;
@ -404,6 +405,8 @@ public abstract class Summon extends Playable
getInventory().destroyAllItems("pet deleted", _owner, this);
}
decayMe();
CharSummonTable.getInstance().removeServitor(_owner, getObjectId());
}
public void unSummon(PlayerInstance owner)

View File

@ -188,9 +188,7 @@ public class ServitorInstance extends Summon implements Runnable
_summonLifeTask.cancel(false);
}
CharSummonTable.getInstance().removeServitor(getOwner(), getObjectId());
return true;
}
/**
@ -258,14 +256,21 @@ public class ServitorInstance extends Summon implements Runnable
@Override
public void storeMe()
{
if ((_referenceSkill == 0) || isDead())
if (_referenceSkill == 0)
{
return;
}
if (Config.RESTORE_SERVITOR_ON_RECONNECT)
{
CharSummonTable.getInstance().saveSummon(this);
if (isDead())
{
CharSummonTable.getInstance().removeServitor(getOwner(), getObjectId());
}
else
{
CharSummonTable.getInstance().saveSummon(this);
}
}
}

View File

@ -22,6 +22,7 @@ import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.ai.CreatureAI;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.ai.SummonAI;
import org.l2jmobius.gameserver.data.sql.impl.CharSummonTable;
import org.l2jmobius.gameserver.data.xml.impl.ExperienceData;
import org.l2jmobius.gameserver.datatables.ItemTable;
import org.l2jmobius.gameserver.enums.InstanceType;
@ -404,6 +405,8 @@ public abstract class Summon extends Playable
getInventory().destroyAllItems("pet deleted", _owner, this);
}
decayMe();
CharSummonTable.getInstance().removeServitor(_owner, getObjectId());
}
public void unSummon(PlayerInstance owner)

View File

@ -188,9 +188,7 @@ public class ServitorInstance extends Summon implements Runnable
_summonLifeTask.cancel(false);
}
CharSummonTable.getInstance().removeServitor(getOwner(), getObjectId());
return true;
}
/**
@ -258,14 +256,21 @@ public class ServitorInstance extends Summon implements Runnable
@Override
public void storeMe()
{
if ((_referenceSkill == 0) || isDead())
if (_referenceSkill == 0)
{
return;
}
if (Config.RESTORE_SERVITOR_ON_RECONNECT)
{
CharSummonTable.getInstance().saveSummon(this);
if (isDead())
{
CharSummonTable.getInstance().removeServitor(getOwner(), getObjectId());
}
else
{
CharSummonTable.getInstance().saveSummon(this);
}
}
}

View File

@ -22,6 +22,7 @@ import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.ai.CreatureAI;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.ai.SummonAI;
import org.l2jmobius.gameserver.data.sql.impl.CharSummonTable;
import org.l2jmobius.gameserver.data.xml.impl.ExperienceData;
import org.l2jmobius.gameserver.datatables.ItemTable;
import org.l2jmobius.gameserver.enums.InstanceType;
@ -404,6 +405,8 @@ public abstract class Summon extends Playable
getInventory().destroyAllItems("pet deleted", _owner, this);
}
decayMe();
CharSummonTable.getInstance().removeServitor(_owner, getObjectId());
}
public void unSummon(PlayerInstance owner)

View File

@ -188,9 +188,7 @@ public class ServitorInstance extends Summon implements Runnable
_summonLifeTask.cancel(false);
}
CharSummonTable.getInstance().removeServitor(getOwner(), getObjectId());
return true;
}
/**
@ -258,14 +256,21 @@ public class ServitorInstance extends Summon implements Runnable
@Override
public void storeMe()
{
if ((_referenceSkill == 0) || isDead())
if (_referenceSkill == 0)
{
return;
}
if (Config.RESTORE_SERVITOR_ON_RECONNECT)
{
CharSummonTable.getInstance().saveSummon(this);
if (isDead())
{
CharSummonTable.getInstance().removeServitor(getOwner(), getObjectId());
}
else
{
CharSummonTable.getInstance().saveSummon(this);
}
}
}

View File

@ -22,6 +22,7 @@ import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.ai.CreatureAI;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.ai.SummonAI;
import org.l2jmobius.gameserver.data.sql.impl.CharSummonTable;
import org.l2jmobius.gameserver.data.xml.impl.ExperienceData;
import org.l2jmobius.gameserver.datatables.ItemTable;
import org.l2jmobius.gameserver.enums.InstanceType;
@ -404,6 +405,8 @@ public abstract class Summon extends Playable
getInventory().destroyAllItems("pet deleted", _owner, this);
}
decayMe();
CharSummonTable.getInstance().removeServitor(_owner, getObjectId());
}
public void unSummon(PlayerInstance owner)

View File

@ -188,9 +188,7 @@ public class ServitorInstance extends Summon implements Runnable
_summonLifeTask.cancel(false);
}
CharSummonTable.getInstance().removeServitor(getOwner(), getObjectId());
return true;
}
/**
@ -258,14 +256,21 @@ public class ServitorInstance extends Summon implements Runnable
@Override
public void storeMe()
{
if ((_referenceSkill == 0) || isDead())
if (_referenceSkill == 0)
{
return;
}
if (Config.RESTORE_SERVITOR_ON_RECONNECT)
{
CharSummonTable.getInstance().saveSummon(this);
if (isDead())
{
CharSummonTable.getInstance().removeServitor(getOwner(), getObjectId());
}
else
{
CharSummonTable.getInstance().saveSummon(this);
}
}
}

View File

@ -22,6 +22,7 @@ import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.ai.CreatureAI;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.ai.SummonAI;
import org.l2jmobius.gameserver.data.sql.impl.CharSummonTable;
import org.l2jmobius.gameserver.data.xml.impl.ExperienceData;
import org.l2jmobius.gameserver.datatables.ItemTable;
import org.l2jmobius.gameserver.enums.InstanceType;
@ -404,6 +405,8 @@ public abstract class Summon extends Playable
getInventory().destroyAllItems("pet deleted", _owner, this);
}
decayMe();
CharSummonTable.getInstance().removeServitor(_owner, getObjectId());
}
public void unSummon(PlayerInstance owner)

View File

@ -188,9 +188,7 @@ public class ServitorInstance extends Summon implements Runnable
_summonLifeTask.cancel(false);
}
CharSummonTable.getInstance().removeServitor(getOwner(), getObjectId());
return true;
}
/**
@ -258,14 +256,21 @@ public class ServitorInstance extends Summon implements Runnable
@Override
public void storeMe()
{
if ((_referenceSkill == 0) || isDead())
if (_referenceSkill == 0)
{
return;
}
if (Config.RESTORE_SERVITOR_ON_RECONNECT)
{
CharSummonTable.getInstance().saveSummon(this);
if (isDead())
{
CharSummonTable.getInstance().removeServitor(getOwner(), getObjectId());
}
else
{
CharSummonTable.getInstance().saveSummon(this);
}
}
}

View File

@ -22,6 +22,7 @@ import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.ai.CreatureAI;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.ai.SummonAI;
import org.l2jmobius.gameserver.data.sql.impl.CharSummonTable;
import org.l2jmobius.gameserver.data.xml.impl.ExperienceData;
import org.l2jmobius.gameserver.datatables.ItemTable;
import org.l2jmobius.gameserver.enums.InstanceType;
@ -404,6 +405,8 @@ public abstract class Summon extends Playable
getInventory().destroyAllItems("pet deleted", _owner, this);
}
decayMe();
CharSummonTable.getInstance().removeServitor(_owner, getObjectId());
}
public void unSummon(PlayerInstance owner)

View File

@ -188,9 +188,7 @@ public class ServitorInstance extends Summon implements Runnable
_summonLifeTask.cancel(false);
}
CharSummonTable.getInstance().removeServitor(getOwner(), getObjectId());
return true;
}
/**
@ -258,14 +256,21 @@ public class ServitorInstance extends Summon implements Runnable
@Override
public void storeMe()
{
if ((_referenceSkill == 0) || isDead())
if (_referenceSkill == 0)
{
return;
}
if (Config.RESTORE_SERVITOR_ON_RECONNECT)
{
CharSummonTable.getInstance().saveSummon(this);
if (isDead())
{
CharSummonTable.getInstance().removeServitor(getOwner(), getObjectId());
}
else
{
CharSummonTable.getInstance().saveSummon(this);
}
}
}

View File

@ -22,6 +22,7 @@ import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.ai.CreatureAI;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.ai.SummonAI;
import org.l2jmobius.gameserver.data.sql.impl.CharSummonTable;
import org.l2jmobius.gameserver.data.xml.impl.ExperienceData;
import org.l2jmobius.gameserver.datatables.ItemTable;
import org.l2jmobius.gameserver.enums.InstanceType;
@ -404,6 +405,8 @@ public abstract class Summon extends Playable
getInventory().destroyAllItems("pet deleted", _owner, this);
}
decayMe();
CharSummonTable.getInstance().removeServitor(_owner, getObjectId());
}
public void unSummon(PlayerInstance owner)

View File

@ -188,9 +188,7 @@ public class ServitorInstance extends Summon implements Runnable
_summonLifeTask.cancel(false);
}
CharSummonTable.getInstance().removeServitor(getOwner(), getObjectId());
return true;
}
/**
@ -258,14 +256,21 @@ public class ServitorInstance extends Summon implements Runnable
@Override
public void storeMe()
{
if ((_referenceSkill == 0) || isDead())
if (_referenceSkill == 0)
{
return;
}
if (Config.RESTORE_SERVITOR_ON_RECONNECT)
{
CharSummonTable.getInstance().saveSummon(this);
if (isDead())
{
CharSummonTable.getInstance().removeServitor(getOwner(), getObjectId());
}
else
{
CharSummonTable.getInstance().saveSummon(this);
}
}
}

View File

@ -22,6 +22,7 @@ import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.ai.CreatureAI;
import org.l2jmobius.gameserver.ai.CtrlIntention;
import org.l2jmobius.gameserver.ai.SummonAI;
import org.l2jmobius.gameserver.data.sql.impl.CharSummonTable;
import org.l2jmobius.gameserver.data.xml.impl.ExperienceData;
import org.l2jmobius.gameserver.datatables.ItemTable;
import org.l2jmobius.gameserver.enums.InstanceType;
@ -404,6 +405,8 @@ public abstract class Summon extends Playable
getInventory().destroyAllItems("pet deleted", _owner, this);
}
decayMe();
CharSummonTable.getInstance().removeServitor(_owner, getObjectId());
}
public void unSummon(PlayerInstance owner)

View File

@ -188,9 +188,7 @@ public class ServitorInstance extends Summon implements Runnable
_summonLifeTask.cancel(false);
}
CharSummonTable.getInstance().removeServitor(getOwner(), getObjectId());
return true;
}
/**
@ -258,14 +256,21 @@ public class ServitorInstance extends Summon implements Runnable
@Override
public void storeMe()
{
if ((_referenceSkill == 0) || isDead())
if (_referenceSkill == 0)
{
return;
}
if (Config.RESTORE_SERVITOR_ON_RECONNECT)
{
CharSummonTable.getInstance().saveSummon(this);
if (isDead())
{
CharSummonTable.getInstance().removeServitor(getOwner(), getObjectId());
}
else
{
CharSummonTable.getInstance().saveSummon(this);
}
}
}