Fixed getVitalityExpBonus always returning 1.

This commit is contained in:
MobiusDevelopment 2021-10-17 20:45:55 +00:00
parent 4de00e10c4
commit 0a1539c9cd
4 changed files with 18 additions and 24 deletions

View File

@ -477,12 +477,15 @@ public class PlayerStat extends PlayableStat
public double getVitalityExpBonus()
{
final double bonus = (getVitalityPoints() > 0) ? getMul(Stat.VITALITY_EXP_RATE, Config.RATE_VITALITY_EXP_MULTIPLIER) : 1;
if ((bonus == 1) && (getActiveChar().getLimitedSayhaGraceEndTime() > Chronos.currentTimeMillis()))
if (getVitalityPoints() > 0)
{
return getValue(Stat.VITALITY_EXP_RATE, Config.RATE_VITALITY_EXP_MULTIPLIER);
}
if (getActiveChar().getLimitedSayhaGraceEndTime() > Chronos.currentTimeMillis())
{
return Config.RATE_LIMITED_SAYHA_GRACE_EXP_MULTIPLIER;
}
return bonus;
return 1;
}
public void setVitalityPoints(int value)

View File

@ -16,7 +16,6 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.enums.BonusExpType;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -48,16 +47,11 @@ public class ExUserBoostStat implements IClientOutgoingPacket
{
case VITALITY:
{
if (_player.getStat().getVitalityPoints() > 0)
final int vitalityBonus = (int) (_player.getStat().getVitalityExpBonus() * 100);
if (vitalityBonus > 0)
{
count = 1;
bonus = (int) (Config.RATE_VITALITY_EXP_MULTIPLIER * 100);
}
if (bonus > 0)
{
count += (int) _player.getStat().getValue(Stat.VITALITY_SKILLS, 0);
bonus += (int) ((_player.getStat().getMul(Stat.VITALITY_EXP_RATE, 1) - 1) * 100);
bonus = vitalityBonus;
}
break;
}

View File

@ -477,12 +477,15 @@ public class PlayerStat extends PlayableStat
public double getVitalityExpBonus()
{
final double bonus = (getVitalityPoints() > 0) ? getMul(Stat.VITALITY_EXP_RATE, Config.RATE_VITALITY_EXP_MULTIPLIER) : 1;
if ((bonus == 1) && (getActiveChar().getLimitedSayhaGraceEndTime() > Chronos.currentTimeMillis()))
if (getVitalityPoints() > 0)
{
return getValue(Stat.VITALITY_EXP_RATE, Config.RATE_VITALITY_EXP_MULTIPLIER);
}
if (getActiveChar().getLimitedSayhaGraceEndTime() > Chronos.currentTimeMillis())
{
return Config.RATE_LIMITED_SAYHA_GRACE_EXP_MULTIPLIER;
}
return bonus;
return 1;
}
public void setVitalityPoints(int value)

View File

@ -16,7 +16,6 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.enums.BonusExpType;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -48,16 +47,11 @@ public class ExUserBoostStat implements IClientOutgoingPacket
{
case VITALITY:
{
if (_player.getStat().getVitalityPoints() > 0)
final int vitalityBonus = (int) (_player.getStat().getVitalityExpBonus() * 100);
if (vitalityBonus > 0)
{
count = 1;
bonus = (int) (Config.RATE_VITALITY_EXP_MULTIPLIER * 100);
}
if (bonus > 0)
{
count += (int) _player.getStat().getValue(Stat.VITALITY_SKILLS, 0);
bonus += (int) ((_player.getStat().getMul(Stat.VITALITY_EXP_RATE, 1) - 1) * 100);
bonus = vitalityBonus;
}
break;
}