Pet related code corrections and improvements.
This commit is contained in:
parent
d1b8f3fe49
commit
6ebd7458e3
@ -30,7 +30,7 @@ import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.effects.EffectType;
|
||||
import org.l2jmobius.gameserver.model.holders.PetItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.PlayerPetMetadataHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.PetEvolveHolder;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
@ -86,7 +86,7 @@ public class SummonPet extends AbstractEffect
|
||||
return;
|
||||
}
|
||||
|
||||
final PlayerPetMetadataHolder evolveData = player.getPetEvolve(collar.getObjectId());
|
||||
final PetEvolveHolder evolveData = player.getPetEvolve(collar.getObjectId());
|
||||
final PetData petData = evolveData.getEvolve() == EvolveLevel.None ? PetDataTable.getInstance().getPetDataByEvolve(collar.getId(), evolveData.getEvolve()) : PetDataTable.getInstance().getPetDataByEvolve(collar.getId(), evolveData.getEvolve(), evolveData.getIndex());
|
||||
if ((petData == null) || (petData.getNpcId() == -1))
|
||||
{
|
||||
|
@ -37,7 +37,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PetInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ServitorInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate;
|
||||
import org.l2jmobius.gameserver.model.holders.PlayerPetMetadataHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.PetEvolveHolder;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
|
||||
@ -134,7 +134,7 @@ public class CharSummonTable
|
||||
return;
|
||||
}
|
||||
|
||||
final PlayerPetMetadataHolder evolveData = player.getPetEvolve(item.getObjectId());
|
||||
final PetEvolveHolder evolveData = player.getPetEvolve(item.getObjectId());
|
||||
final PetData petData = evolveData.getEvolve() == EvolveLevel.None ? PetDataTable.getInstance().getPetDataByEvolve(item.getId(), evolveData.getEvolve()) : PetDataTable.getInstance().getPetDataByEvolve(item.getId(), evolveData.getEvolve(), evolveData.getIndex());
|
||||
if (petData == null)
|
||||
{
|
||||
|
@ -24,7 +24,7 @@ import org.l2jmobius.commons.util.Chronos;
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import org.l2jmobius.gameserver.model.buylist.Product;
|
||||
import org.l2jmobius.gameserver.model.ensoul.EnsoulOption;
|
||||
import org.l2jmobius.gameserver.model.holders.PlayerPetMetadataHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.PetEvolveHolder;
|
||||
import org.l2jmobius.gameserver.model.items.Item;
|
||||
import org.l2jmobius.gameserver.model.items.WarehouseItem;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
@ -87,7 +87,7 @@ public class ItemInfo
|
||||
private Collection<EnsoulOption> _soulCrystalSpecialOptions;
|
||||
private int _visualId;
|
||||
private long _visualExpiration;
|
||||
private PlayerPetMetadataHolder _petData;
|
||||
private PetEvolveHolder _petData;
|
||||
|
||||
/**
|
||||
* Get all information from ItemInstance to generate ItemInfo.
|
||||
@ -419,7 +419,7 @@ public class ItemInfo
|
||||
return _isBlessed;
|
||||
}
|
||||
|
||||
public PlayerPetMetadataHolder getPetData()
|
||||
public PetEvolveHolder getPetData()
|
||||
{
|
||||
return _petData;
|
||||
}
|
||||
|
@ -59,7 +59,7 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.Summon;
|
||||
import org.l2jmobius.gameserver.model.actor.stat.PetStat;
|
||||
import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate;
|
||||
import org.l2jmobius.gameserver.model.holders.PlayerPetMetadataHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.PetEvolveHolder;
|
||||
import org.l2jmobius.gameserver.model.itemcontainer.Inventory;
|
||||
import org.l2jmobius.gameserver.model.itemcontainer.PetInventory;
|
||||
import org.l2jmobius.gameserver.model.items.Item;
|
||||
@ -88,25 +88,24 @@ public class PetInstance extends Summon
|
||||
private static final String ADD_SKILL_SAVE = "INSERT INTO character_pet_skills_save (petObjItemId,skill_id,skill_level,skill_sub_level,remaining_time,buff_index) VALUES (?,?,?,?,?,?)";
|
||||
private static final String RESTORE_SKILL_SAVE = "SELECT petObjItemId,skill_id,skill_level,skill_sub_level,remaining_time,buff_index FROM character_pet_skills_save WHERE petObjItemId=? ORDER BY buff_index ASC";
|
||||
private static final String DELETE_SKILL_SAVE = "DELETE FROM character_pet_skills_save WHERE petObjItemId=?";
|
||||
public final String selectPetSkills = "SELECT * FROM pet_skills WHERE petObjItemId=?";
|
||||
public final String insertPetSkills = "INSERT INTO pet_skills (petObjItemId, skillId, skillLevel) VALUES (?,?,?) ON DUPLICATE KEY UPDATE skillId=VALUES(skillId), skillLevel=VALUES(skillLevel), petObjItemId=VALUES(petObjItemId)";
|
||||
public final String deletePetSkills = "DELETE FROM pet_skills WHERE petObjItemId=?";
|
||||
public final String selectEvolvedPets = "SELECT * FROM pet_evolves WHERE itemObjId=?";
|
||||
public final String updateEvolvedPets = "REPLACE INTO pet_evolves (`itemObjId`, `index`, `level`) VALUES (?, ?, ?)";
|
||||
private static final String SELECT_PET_SKILLS = "SELECT * FROM pet_skills WHERE petObjItemId=?";
|
||||
private static final String INSERT_PET_SKILLS = "INSERT INTO pet_skills (petObjItemId, skillId, skillLevel) VALUES (?,?,?) ON DUPLICATE KEY UPDATE skillId=VALUES(skillId), skillLevel=VALUES(skillLevel), petObjItemId=VALUES(petObjItemId)";
|
||||
private static final String DELETE_PET_SKILLS = "DELETE FROM pet_skills WHERE petObjItemId=?";
|
||||
private static final String SELECT_EVOLVED_PETS = "SELECT * FROM pet_evolves WHERE itemObjId=?";
|
||||
private static final String UPDATE_EVOLVED_PETS = "REPLACE INTO pet_evolves (`itemObjId`, `index`, `level`) VALUES (?, ?, ?)";
|
||||
|
||||
private int _curFed;
|
||||
private final PetInventory _inventory;
|
||||
private final int _controlObjectId;
|
||||
private boolean _respawned;
|
||||
private final boolean _mountable;
|
||||
private Future<?> _feedTask;
|
||||
private final int _controlObjectId;
|
||||
private final PetInventory _inventory;
|
||||
private boolean _respawned;
|
||||
private int _curFed;
|
||||
private int _petType = 0;
|
||||
private int _curWeightPenalty = 0;
|
||||
private long _expBeforeDeath = 0;
|
||||
private PetData _data;
|
||||
private PetLevelData _leveldata;
|
||||
private EvolveLevel _evolveLevel = EvolveLevel.None;
|
||||
private int _petType = 0;
|
||||
/** The Experience before the last Death Penalty */
|
||||
private long _expBeforeDeath = 0;
|
||||
private int _curWeightPenalty = 0;
|
||||
private Future<?> _feedTask;
|
||||
|
||||
private void deletePetEvolved()
|
||||
{
|
||||
@ -125,7 +124,7 @@ public class PetInstance extends Summon
|
||||
public void restorePetEvolvesByItem()
|
||||
{
|
||||
try (Connection con = DatabaseFactory.getConnection();
|
||||
PreparedStatement ps2 = con.prepareStatement(selectEvolvedPets))
|
||||
PreparedStatement ps2 = con.prepareStatement(SELECT_EVOLVED_PETS))
|
||||
{
|
||||
ps2.setInt(1, _controlObjectId);
|
||||
try (ResultSet rset = ps2.executeQuery())
|
||||
@ -146,7 +145,7 @@ public class PetInstance extends Summon
|
||||
{
|
||||
deletePetEvolved();
|
||||
try (Connection con = DatabaseFactory.getConnection();
|
||||
PreparedStatement stmt = con.prepareStatement(updateEvolvedPets))
|
||||
PreparedStatement stmt = con.prepareStatement(UPDATE_EVOLVED_PETS))
|
||||
{
|
||||
stmt.setInt(1, controlItemObjId);
|
||||
stmt.setInt(2, index);
|
||||
@ -157,13 +156,13 @@ public class PetInstance extends Summon
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
getOwner().setPetEvolved(controlItemObjId, new PlayerPetMetadataHolder(index, evolveLevel, getName(), getLevel(), getExpForThisLevel()));
|
||||
getOwner().setPetEvolve(controlItemObjId, new PetEvolveHolder(index, evolveLevel, getName(), getLevel(), getExpForThisLevel()));
|
||||
}
|
||||
|
||||
public void storePetSkills(int skillId, int skillLevel)
|
||||
{
|
||||
try (Connection con = DatabaseFactory.getConnection();
|
||||
PreparedStatement ps2 = con.prepareStatement(insertPetSkills))
|
||||
PreparedStatement ps2 = con.prepareStatement(INSERT_PET_SKILLS))
|
||||
{
|
||||
ps2.setInt(1, _controlObjectId);
|
||||
ps2.setInt(2, skillId);
|
||||
@ -179,8 +178,8 @@ public class PetInstance extends Summon
|
||||
public void restoreSkills()
|
||||
{
|
||||
try (Connection con = DatabaseFactory.getConnection();
|
||||
PreparedStatement ps1 = con.prepareStatement(selectPetSkills);
|
||||
PreparedStatement ps2 = con.prepareStatement(deletePetSkills))
|
||||
PreparedStatement ps1 = con.prepareStatement(SELECT_PET_SKILLS);
|
||||
PreparedStatement ps2 = con.prepareStatement(DELETE_PET_SKILLS))
|
||||
{
|
||||
ps1.setInt(1, _controlObjectId);
|
||||
try (ResultSet rset = ps1.executeQuery())
|
||||
|
@ -231,8 +231,8 @@ import org.l2jmobius.gameserver.model.holders.ElementalSpiritDataHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemSkillHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.MovieHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.PetEvolveHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.PlayerEventHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.PlayerPetMetadataHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.PreparedMultisellListHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.SellBuffHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.SkillUseHolder;
|
||||
@ -902,7 +902,7 @@ public class PlayerInstance extends Playable
|
||||
|
||||
private PlayerRandomCraft _randomCraft = null;
|
||||
|
||||
private final Map<Integer, PlayerPetMetadataHolder> _petEvolves = new HashMap<>();
|
||||
private final Map<Integer, PetEvolveHolder> _petEvolves = new HashMap<>();
|
||||
|
||||
private final List<QuestTimer> _questTimers = new ArrayList<>();
|
||||
private final List<TimerHolder<?>> _timerHolders = new ArrayList<>();
|
||||
@ -14571,14 +14571,22 @@ public class PlayerInstance extends Playable
|
||||
return _randomCraft;
|
||||
}
|
||||
|
||||
public PlayerPetMetadataHolder getPetEvolve(int _controlItemId)
|
||||
public PetEvolveHolder getPetEvolve(int controlItemId)
|
||||
{
|
||||
return _petEvolves.get(_controlItemId) != null ? _petEvolves.get(_controlItemId) : new PlayerPetMetadataHolder(PetDataTable.getInstance().getPetDataByItemId(getInventory().getItemByObjectId(_controlItemId).getId()) == null ? 0 : PetDataTable.getInstance().getPetDataByItemId(getInventory().getItemByObjectId(_controlItemId).getId()).getIndex(), EvolveLevel.None.ordinal(), "", 1, 0L);
|
||||
final PetEvolveHolder evolve = _petEvolves.get(controlItemId);
|
||||
if (evolve != null)
|
||||
{
|
||||
return evolve;
|
||||
}
|
||||
|
||||
final ItemInstance item = getInventory().getItemByObjectId(controlItemId);
|
||||
final PetData petData = item == null ? null : PetDataTable.getInstance().getPetDataByItemId(item.getId());
|
||||
return new PetEvolveHolder(petData == null ? 0 : petData.getIndex(), EvolveLevel.None.ordinal(), "", 1, 0);
|
||||
}
|
||||
|
||||
public Map<Integer, PlayerPetMetadataHolder> getAllPetEvolves()
|
||||
public void setPetEvolve(int itemObjectId, PetEvolveHolder entry)
|
||||
{
|
||||
return _petEvolves;
|
||||
_petEvolves.put(itemObjectId, entry);
|
||||
}
|
||||
|
||||
public void restorePetEvolvesByItem()
|
||||
@ -14596,7 +14604,7 @@ public class PlayerInstance extends Playable
|
||||
final EvolveLevel evolve = EvolveLevel.values()[rset.getInt("evolve")];
|
||||
if (evolve != null)
|
||||
{
|
||||
_petEvolves.put(it.getObjectId(), new PlayerPetMetadataHolder(rset.getInt("index"), rset.getInt("evolve"), rset.getString("name"), rset.getInt("level"), rset.getLong("exp")));
|
||||
_petEvolves.put(it.getObjectId(), new PetEvolveHolder(rset.getInt("index"), rset.getInt("evolve"), rset.getString("name"), rset.getInt("level"), rset.getLong("exp")));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -14607,9 +14615,4 @@ public class PlayerInstance extends Playable
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void setPetEvolved(int itemObjectId, PlayerPetMetadataHolder entry)
|
||||
{
|
||||
_petEvolves.put(itemObjectId, entry);
|
||||
}
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ import org.l2jmobius.gameserver.enums.EvolveLevel;
|
||||
/**
|
||||
* Written by Berezkin Nikolay, on 16.05.2021
|
||||
*/
|
||||
public class PlayerPetMetadataHolder
|
||||
public class PetEvolveHolder
|
||||
{
|
||||
private final int _index;
|
||||
private final int _level;
|
||||
@ -29,7 +29,7 @@ public class PlayerPetMetadataHolder
|
||||
private final long _exp;
|
||||
private final String _name;
|
||||
|
||||
public PlayerPetMetadataHolder(int index, int evolve, String name, int level, long exp)
|
||||
public PetEvolveHolder(int index, int evolve, String name, int level, long exp)
|
||||
{
|
||||
_index = index;
|
||||
_evolve = EvolveLevel.values()[evolve];
|
@ -30,7 +30,7 @@ import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
import org.l2jmobius.gameserver.model.effects.EffectType;
|
||||
import org.l2jmobius.gameserver.model.holders.PetItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.PlayerPetMetadataHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.PetEvolveHolder;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
import org.l2jmobius.gameserver.network.SystemMessageId;
|
||||
@ -86,7 +86,7 @@ public class SummonPet extends AbstractEffect
|
||||
return;
|
||||
}
|
||||
|
||||
final PlayerPetMetadataHolder evolveData = player.getPetEvolve(collar.getObjectId());
|
||||
final PetEvolveHolder evolveData = player.getPetEvolve(collar.getObjectId());
|
||||
final PetData petData = evolveData.getEvolve() == EvolveLevel.None ? PetDataTable.getInstance().getPetDataByEvolve(collar.getId(), evolveData.getEvolve()) : PetDataTable.getInstance().getPetDataByEvolve(collar.getId(), evolveData.getEvolve(), evolveData.getIndex());
|
||||
if ((petData == null) || (petData.getNpcId() == -1))
|
||||
{
|
||||
|
@ -37,7 +37,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PetInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ServitorInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate;
|
||||
import org.l2jmobius.gameserver.model.holders.PlayerPetMetadataHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.PetEvolveHolder;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
|
||||
@ -134,7 +134,7 @@ public class CharSummonTable
|
||||
return;
|
||||
}
|
||||
|
||||
final PlayerPetMetadataHolder evolveData = player.getPetEvolve(item.getObjectId());
|
||||
final PetEvolveHolder evolveData = player.getPetEvolve(item.getObjectId());
|
||||
final PetData petData = evolveData.getEvolve() == EvolveLevel.None ? PetDataTable.getInstance().getPetDataByEvolve(item.getId(), evolveData.getEvolve()) : PetDataTable.getInstance().getPetDataByEvolve(item.getId(), evolveData.getEvolve(), evolveData.getIndex());
|
||||
if (petData == null)
|
||||
{
|
||||
|
@ -24,7 +24,7 @@ import org.l2jmobius.commons.util.Chronos;
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import org.l2jmobius.gameserver.model.buylist.Product;
|
||||
import org.l2jmobius.gameserver.model.ensoul.EnsoulOption;
|
||||
import org.l2jmobius.gameserver.model.holders.PlayerPetMetadataHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.PetEvolveHolder;
|
||||
import org.l2jmobius.gameserver.model.items.Item;
|
||||
import org.l2jmobius.gameserver.model.items.WarehouseItem;
|
||||
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
|
||||
@ -87,7 +87,7 @@ public class ItemInfo
|
||||
private Collection<EnsoulOption> _soulCrystalSpecialOptions;
|
||||
private int _visualId;
|
||||
private long _visualExpiration;
|
||||
private PlayerPetMetadataHolder _petData;
|
||||
private PetEvolveHolder _petData;
|
||||
|
||||
/**
|
||||
* Get all information from ItemInstance to generate ItemInfo.
|
||||
@ -419,7 +419,7 @@ public class ItemInfo
|
||||
return _isBlessed;
|
||||
}
|
||||
|
||||
public PlayerPetMetadataHolder getPetData()
|
||||
public PetEvolveHolder getPetData()
|
||||
{
|
||||
return _petData;
|
||||
}
|
||||
|
@ -59,7 +59,7 @@ import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.Summon;
|
||||
import org.l2jmobius.gameserver.model.actor.stat.PetStat;
|
||||
import org.l2jmobius.gameserver.model.actor.templates.NpcTemplate;
|
||||
import org.l2jmobius.gameserver.model.holders.PlayerPetMetadataHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.PetEvolveHolder;
|
||||
import org.l2jmobius.gameserver.model.itemcontainer.Inventory;
|
||||
import org.l2jmobius.gameserver.model.itemcontainer.PetInventory;
|
||||
import org.l2jmobius.gameserver.model.items.Item;
|
||||
@ -88,25 +88,24 @@ public class PetInstance extends Summon
|
||||
private static final String ADD_SKILL_SAVE = "INSERT INTO character_pet_skills_save (petObjItemId,skill_id,skill_level,skill_sub_level,remaining_time,buff_index) VALUES (?,?,?,?,?,?)";
|
||||
private static final String RESTORE_SKILL_SAVE = "SELECT petObjItemId,skill_id,skill_level,skill_sub_level,remaining_time,buff_index FROM character_pet_skills_save WHERE petObjItemId=? ORDER BY buff_index ASC";
|
||||
private static final String DELETE_SKILL_SAVE = "DELETE FROM character_pet_skills_save WHERE petObjItemId=?";
|
||||
public final String selectPetSkills = "SELECT * FROM pet_skills WHERE petObjItemId=?";
|
||||
public final String insertPetSkills = "INSERT INTO pet_skills (petObjItemId, skillId, skillLevel) VALUES (?,?,?) ON DUPLICATE KEY UPDATE skillId=VALUES(skillId), skillLevel=VALUES(skillLevel), petObjItemId=VALUES(petObjItemId)";
|
||||
public final String deletePetSkills = "DELETE FROM pet_skills WHERE petObjItemId=?";
|
||||
public final String selectEvolvedPets = "SELECT * FROM pet_evolves WHERE itemObjId=?";
|
||||
public final String updateEvolvedPets = "REPLACE INTO pet_evolves (`itemObjId`, `index`, `level`) VALUES (?, ?, ?)";
|
||||
private static final String SELECT_PET_SKILLS = "SELECT * FROM pet_skills WHERE petObjItemId=?";
|
||||
private static final String INSERT_PET_SKILLS = "INSERT INTO pet_skills (petObjItemId, skillId, skillLevel) VALUES (?,?,?) ON DUPLICATE KEY UPDATE skillId=VALUES(skillId), skillLevel=VALUES(skillLevel), petObjItemId=VALUES(petObjItemId)";
|
||||
private static final String DELETE_PET_SKILLS = "DELETE FROM pet_skills WHERE petObjItemId=?";
|
||||
private static final String SELECT_EVOLVED_PETS = "SELECT * FROM pet_evolves WHERE itemObjId=?";
|
||||
private static final String UPDATE_EVOLVED_PETS = "REPLACE INTO pet_evolves (`itemObjId`, `index`, `level`) VALUES (?, ?, ?)";
|
||||
|
||||
private int _curFed;
|
||||
private final PetInventory _inventory;
|
||||
private final int _controlObjectId;
|
||||
private boolean _respawned;
|
||||
private final boolean _mountable;
|
||||
private Future<?> _feedTask;
|
||||
private final int _controlObjectId;
|
||||
private final PetInventory _inventory;
|
||||
private boolean _respawned;
|
||||
private int _curFed;
|
||||
private int _petType = 0;
|
||||
private int _curWeightPenalty = 0;
|
||||
private long _expBeforeDeath = 0;
|
||||
private PetData _data;
|
||||
private PetLevelData _leveldata;
|
||||
private EvolveLevel _evolveLevel = EvolveLevel.None;
|
||||
private int _petType = 0;
|
||||
/** The Experience before the last Death Penalty */
|
||||
private long _expBeforeDeath = 0;
|
||||
private int _curWeightPenalty = 0;
|
||||
private Future<?> _feedTask;
|
||||
|
||||
private void deletePetEvolved()
|
||||
{
|
||||
@ -125,7 +124,7 @@ public class PetInstance extends Summon
|
||||
public void restorePetEvolvesByItem()
|
||||
{
|
||||
try (Connection con = DatabaseFactory.getConnection();
|
||||
PreparedStatement ps2 = con.prepareStatement(selectEvolvedPets))
|
||||
PreparedStatement ps2 = con.prepareStatement(SELECT_EVOLVED_PETS))
|
||||
{
|
||||
ps2.setInt(1, _controlObjectId);
|
||||
try (ResultSet rset = ps2.executeQuery())
|
||||
@ -146,7 +145,7 @@ public class PetInstance extends Summon
|
||||
{
|
||||
deletePetEvolved();
|
||||
try (Connection con = DatabaseFactory.getConnection();
|
||||
PreparedStatement stmt = con.prepareStatement(updateEvolvedPets))
|
||||
PreparedStatement stmt = con.prepareStatement(UPDATE_EVOLVED_PETS))
|
||||
{
|
||||
stmt.setInt(1, controlItemObjId);
|
||||
stmt.setInt(2, index);
|
||||
@ -157,13 +156,13 @@ public class PetInstance extends Summon
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
getOwner().setPetEvolved(controlItemObjId, new PlayerPetMetadataHolder(index, evolveLevel, getName(), getLevel(), getExpForThisLevel()));
|
||||
getOwner().setPetEvolve(controlItemObjId, new PetEvolveHolder(index, evolveLevel, getName(), getLevel(), getExpForThisLevel()));
|
||||
}
|
||||
|
||||
public void storePetSkills(int skillId, int skillLevel)
|
||||
{
|
||||
try (Connection con = DatabaseFactory.getConnection();
|
||||
PreparedStatement ps2 = con.prepareStatement(insertPetSkills))
|
||||
PreparedStatement ps2 = con.prepareStatement(INSERT_PET_SKILLS))
|
||||
{
|
||||
ps2.setInt(1, _controlObjectId);
|
||||
ps2.setInt(2, skillId);
|
||||
@ -179,8 +178,8 @@ public class PetInstance extends Summon
|
||||
public void restoreSkills()
|
||||
{
|
||||
try (Connection con = DatabaseFactory.getConnection();
|
||||
PreparedStatement ps1 = con.prepareStatement(selectPetSkills);
|
||||
PreparedStatement ps2 = con.prepareStatement(deletePetSkills))
|
||||
PreparedStatement ps1 = con.prepareStatement(SELECT_PET_SKILLS);
|
||||
PreparedStatement ps2 = con.prepareStatement(DELETE_PET_SKILLS))
|
||||
{
|
||||
ps1.setInt(1, _controlObjectId);
|
||||
try (ResultSet rset = ps1.executeQuery())
|
||||
|
@ -234,9 +234,9 @@ import org.l2jmobius.gameserver.model.holders.ElementalSpiritDataHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.ItemSkillHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.MovieHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.PetEvolveHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.PlayerCollectionData;
|
||||
import org.l2jmobius.gameserver.model.holders.PlayerEventHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.PlayerPetMetadataHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.PreparedMultisellListHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.PurgePlayerHolder;
|
||||
import org.l2jmobius.gameserver.model.holders.SellBuffHolder;
|
||||
@ -926,7 +926,7 @@ public class PlayerInstance extends Playable
|
||||
|
||||
private final Map<Integer, PurgePlayerHolder> _purgePoints = new HashMap<>();
|
||||
|
||||
private final Map<Integer, PlayerPetMetadataHolder> _petEvolves = new HashMap<>();
|
||||
private final Map<Integer, PetEvolveHolder> _petEvolves = new HashMap<>();
|
||||
|
||||
private final List<QuestTimer> _questTimers = new ArrayList<>();
|
||||
private final List<TimerHolder<?>> _timerHolders = new ArrayList<>();
|
||||
@ -14623,14 +14623,22 @@ public class PlayerInstance extends Playable
|
||||
return _randomCraft;
|
||||
}
|
||||
|
||||
public PlayerPetMetadataHolder getPetEvolve(int _controlItemId)
|
||||
public PetEvolveHolder getPetEvolve(int controlItemId)
|
||||
{
|
||||
return _petEvolves.get(_controlItemId) != null ? _petEvolves.get(_controlItemId) : new PlayerPetMetadataHolder(PetDataTable.getInstance().getPetDataByItemId(getInventory().getItemByObjectId(_controlItemId).getId()) == null ? 0 : PetDataTable.getInstance().getPetDataByItemId(getInventory().getItemByObjectId(_controlItemId).getId()).getIndex(), EvolveLevel.None.ordinal(), "", 1, 0L);
|
||||
final PetEvolveHolder evolve = _petEvolves.get(controlItemId);
|
||||
if (evolve != null)
|
||||
{
|
||||
return evolve;
|
||||
}
|
||||
|
||||
final ItemInstance item = getInventory().getItemByObjectId(controlItemId);
|
||||
final PetData petData = item == null ? null : PetDataTable.getInstance().getPetDataByItemId(item.getId());
|
||||
return new PetEvolveHolder(petData == null ? 0 : petData.getIndex(), EvolveLevel.None.ordinal(), "", 1, 0);
|
||||
}
|
||||
|
||||
public Map<Integer, PlayerPetMetadataHolder> getAllPetEvolves()
|
||||
public void setPetEvolve(int itemObjectId, PetEvolveHolder entry)
|
||||
{
|
||||
return _petEvolves;
|
||||
_petEvolves.put(itemObjectId, entry);
|
||||
}
|
||||
|
||||
public void restorePetEvolvesByItem()
|
||||
@ -14648,7 +14656,7 @@ public class PlayerInstance extends Playable
|
||||
final EvolveLevel evolve = EvolveLevel.values()[rset.getInt("evolve")];
|
||||
if (evolve != null)
|
||||
{
|
||||
_petEvolves.put(it.getObjectId(), new PlayerPetMetadataHolder(rset.getInt("index"), rset.getInt("evolve"), rset.getString("name"), rset.getInt("level"), rset.getLong("exp")));
|
||||
_petEvolves.put(it.getObjectId(), new PetEvolveHolder(rset.getInt("index"), rset.getInt("evolve"), rset.getString("name"), rset.getInt("level"), rset.getLong("exp")));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -14660,11 +14668,6 @@ public class PlayerInstance extends Playable
|
||||
});
|
||||
}
|
||||
|
||||
public void setPetEvolved(int itemObjectId, PlayerPetMetadataHolder entry)
|
||||
{
|
||||
_petEvolves.put(itemObjectId, entry);
|
||||
}
|
||||
|
||||
public List<PlayerCollectionData> getCollections()
|
||||
{
|
||||
return _collections;
|
||||
|
@ -21,7 +21,7 @@ import org.l2jmobius.gameserver.enums.EvolveLevel;
|
||||
/**
|
||||
* Written by Berezkin Nikolay, on 16.05.2021
|
||||
*/
|
||||
public class PlayerPetMetadataHolder
|
||||
public class PetEvolveHolder
|
||||
{
|
||||
private final int _index;
|
||||
private final int _level;
|
||||
@ -29,7 +29,7 @@ public class PlayerPetMetadataHolder
|
||||
private final long _exp;
|
||||
private final String _name;
|
||||
|
||||
public PlayerPetMetadataHolder(int index, int evolve, String name, int level, long exp)
|
||||
public PetEvolveHolder(int index, int evolve, String name, int level, long exp)
|
||||
{
|
||||
_index = index;
|
||||
_evolve = EvolveLevel.values()[evolve];
|
Loading…
Reference in New Issue
Block a user