Pet max level differs from player max level.
This commit is contained in:
parent
3b2b617dd2
commit
2b141cb81a
@ -38,6 +38,7 @@ public class L2PetData
|
||||
private int _load = 20000;
|
||||
private int _hungryLimit = 1;
|
||||
private int _minlvl = Byte.MAX_VALUE;
|
||||
private int _maxlvl = 0;
|
||||
private boolean _syncLevel = false;
|
||||
private final List<Integer> _food = new ArrayList<>();
|
||||
|
||||
@ -73,6 +74,10 @@ public class L2PetData
|
||||
{
|
||||
_minlvl = level;
|
||||
}
|
||||
if (_maxlvl < (level - 1))
|
||||
{
|
||||
_maxlvl = level - 1;
|
||||
}
|
||||
_levelStats.put(level, data);
|
||||
}
|
||||
|
||||
@ -117,6 +122,14 @@ public class L2PetData
|
||||
return _minlvl;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the pet's maximum level.
|
||||
*/
|
||||
public int getMaxLevel()
|
||||
{
|
||||
return _maxlvl;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the pet's food list.
|
||||
*/
|
||||
|
@ -229,8 +229,9 @@ public class L2PetInstance extends L2Summon
|
||||
pet.setTitle(owner.getName());
|
||||
if (data.isSynchLevel() && (pet.getLevel() != owner.getLevel()))
|
||||
{
|
||||
pet.getStat().setLevel((byte) owner.getLevel());
|
||||
pet.getStat().setExp(pet.getStat().getExpForLevel(owner.getLevel()));
|
||||
final byte availableLevel = (byte) Math.min(data.getMaxLevel(), owner.getLevel());
|
||||
pet.getStat().setLevel(availableLevel);
|
||||
pet.getStat().setExp(pet.getStat().getExpForLevel(availableLevel));
|
||||
}
|
||||
L2World.getInstance().addPet(owner.getObjectId(), pet);
|
||||
}
|
||||
|
@ -249,8 +249,9 @@ public class PcStat extends PlayableStat
|
||||
final L2PetInstance pet = (L2PetInstance) sPet;
|
||||
if (pet.getPetData().isSynchLevel() && (pet.getLevel() != getLevel()))
|
||||
{
|
||||
pet.getStat().setLevel(getLevel());
|
||||
pet.getStat().getExpForLevel(getActiveChar().getLevel());
|
||||
final byte availableLevel = (byte) Math.min(pet.getPetData().getMaxLevel(), getLevel());
|
||||
pet.getStat().setLevel(availableLevel);
|
||||
pet.getStat().getExpForLevel(availableLevel);
|
||||
pet.setCurrentHp(pet.getMaxHp());
|
||||
pet.setCurrentMp(pet.getMaxMp());
|
||||
pet.broadcastPacket(new SocialAction(getActiveChar().getObjectId(), SocialAction.LEVEL_UP));
|
||||
|
Loading…
Reference in New Issue
Block a user