public boolean addLevel(byte value) { if (getLevel() + value > Experience.PET_MAX_LEVEL - 1) { if (getLevel() < Experience.PET_MAX_LEVEL - 1) value = (byte) (Experience.PET_MAX_LEVEL - 1 - getLevel()); else return false; }
boolean levelIncreased = (getLevel() + value > getLevel()); value += getLevel(); setLevel(value);
// Sync up exp with current level if (getExp() >= getExpForLevel(getLevel() + 1) || getExpForLevel(getLevel()) > getExp()) setExp(getExpForLevel(getLevel()));
Added: a brand-new default dashboard template.
You can now add multiple game/login server builds.
Full support for running both PTS & L2J servers simultaneously, with switching between them.
Payment systems: added OmegaPay and Pally (new PayPal-style API).
Account history now stores everything: donations, items delivered to characters, referrals, transfers between game accounts, and coin transfers to another master account.
Personal Promo Code System: you can create a promo code and assign it to a user or promoter. When donating, a player can enter this promo code to receive bonus coins, and the promo code owner also receives a bonus — all fully configurable in the admin panel.
Look demo site: demo
MoMoProxy has updated more static residential proxies for USA location, anyone interested in can view: https://momoproxy.com/static-residential-proxies
Question
GameBlonD
I am trying to make pets go up to 86 lvl in old gracia pack,
What i change: red= what i add/change
Experience.java:
11844000000L, // level 83
15472800000L, // level 84
25314105600L, //level 86
32211728640L }; //level 87
public final static byte MAX_LEVEL = 86;
public final static byte PET_MAX_LEVEL = 87;
------------------------------------------------------------------
Petstat.java:
public final boolean addLevel(byte value)
{
if (getLevel() + value > (Experience.PET_MAX_LEVEL - 1))
return false;
-------------------------------------------------------------------
PlayableStat.java
public boolean addExp(long value)
{
if ((getExp() + value) < 0 || (value > 0 && getExp() == (getExpForLevel(Experience.PET_MAX_LEVEL) - 1)))
return true;
if (getExp() + value >= getExpForLevel(Experience.PET_MAX_LEVEL))
value = getExpForLevel(Experience.PET_MAX_LEVEL) - 1 - getExp();
setExp(getExp() + value);
byte minimumLevel = 1;
if (getActiveChar() instanceof L2PetInstance)
{
// get minimum level from L2NpcTemplate
minimumLevel = ((L2PetInstance) getActiveChar()).getTemplate().level;
}
byte level = minimumLevel; // minimum level
for (byte tmp = level; tmp <= Experience.PET_MAX_LEVEL; tmp++)
{
if (getExp() >= getExpForLevel(tmp))
continue;
level = --tmp;
break;
}
if (level != getLevel() && level >= minimumLevel)
addLevel((byte) (level - getLevel()));
return true;
}
public boolean removeExp(long value)
{
if ((getExp() - value) < 0)
value = getExp() - 1;
setExp(getExp() - value);
byte minimumLevel = 1;
if (getActiveChar() instanceof L2PetInstance)
{
// get minimum level from L2NpcTemplate
minimumLevel = ((L2PetInstance) getActiveChar()).getTemplate().level;
}
byte level = minimumLevel;
for (byte tmp = level; tmp <= Experience.PET_MAX_LEVEL; tmp++)
{
if (getExp() >= getExpForLevel(tmp))
continue;
level = --tmp;
break;
}
if (level != getLevel() && level >= minimumLevel)
addLevel((byte) (level - getLevel()));
return true;
}
public boolean addLevel(byte value)
{
if (getLevel() + value > Experience.PET_MAX_LEVEL - 1)
{
if (getLevel() < Experience.PET_MAX_LEVEL - 1)
value = (byte) (Experience.PET_MAX_LEVEL - 1 - getLevel());
else
return false;
}
boolean levelIncreased = (getLevel() + value > getLevel());
value += getLevel();
setLevel(value);
// Sync up exp with current level
if (getExp() >= getExpForLevel(getLevel() + 1) || getExpForLevel(getLevel()) > getExp())
setExp(getExpForLevel(getLevel()));
if (!levelIncreased)
return false;
getActiveChar().getStatus().setCurrentHp(getActiveChar().getStat().getMaxHp());
getActiveChar().getStatus().setCurrentMp(getActiveChar().getStat().getMaxMp());
if (getActiveChar() instanceof L2PcInstance)
CommunityServerThread.getInstance().sendPacket(new WorldInfo((L2PcInstance) getActiveChar(), null, WorldInfo.TYPE_UPDATE_PLAYER_DATA));
return true;
}
The problem is after the playableStat.java changes pets can leven up up to 86 lvl but Players can too
Any ideas what to change in order to PET_MAX_LEVEL apply only to pets?
5 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now