Send all ExUserBoostStat on effect pump.

This commit is contained in:
MobiusDevelopment
2021-10-17 22:53:19 +00:00
parent 1a6536260a
commit 01b2eac98a
12 changed files with 108 additions and 136 deletions

View File

@@ -25,7 +25,7 @@ import org.l2jmobius.gameserver.model.stats.Stat;
import org.l2jmobius.gameserver.network.serverpackets.ExUserBoostStat;
/**
* @author Sdw, Mobius
* @author Mobius
*/
public class ExpModify extends AbstractStatAddEffect
{
@@ -38,28 +38,24 @@ public class ExpModify extends AbstractStatAddEffect
public void pump(Creature effected, Skill skill)
{
effected.getStat().mergeAdd(Stat.BONUS_EXP, _amount);
if (skill != null)
if (skill.isActive())
{
if (skill.isActive())
{
effected.getStat().mergeAdd(Stat.ACTIVE_BONUS_EXP, _amount);
effected.getStat().mergeAdd(Stat.BONUS_EXP_BUFFS, 1);
final PlayerInstance player = effected.getActingPlayer();
if (player != null)
{
player.sendPacket(new ExUserBoostStat(player, BonusExpType.BUFFS));
}
}
else
{
effected.getStat().mergeAdd(Stat.BONUS_EXP_PASSIVES, 1);
final PlayerInstance player = effected.getActingPlayer();
if (player != null)
{
player.sendPacket(new ExUserBoostStat(player, BonusExpType.PASSIVE));
}
}
effected.getStat().mergeAdd(Stat.ACTIVE_BONUS_EXP, _amount);
effected.getStat().mergeAdd(Stat.BONUS_EXP_BUFFS, 1);
}
else
{
effected.getStat().mergeAdd(Stat.BONUS_EXP_PASSIVES, 1);
}
final PlayerInstance player = effected.getActingPlayer();
if (player == null)
{
return;
}
player.sendPacket(new ExUserBoostStat(player, BonusExpType.VITALITY));
player.sendPacket(new ExUserBoostStat(player, BonusExpType.BUFFS));
player.sendPacket(new ExUserBoostStat(player, BonusExpType.PASSIVE));
}
}

View File

@@ -38,15 +38,16 @@ public class VitalityExpRate extends AbstractStatPercentEffect
public void pump(Creature effected, Skill skill)
{
effected.getStat().mergeMul(Stat.VITALITY_EXP_RATE, (_amount / 100) + 1);
if (skill != null)
effected.getStat().mergeAdd(Stat.VITALITY_SKILLS, 1);
final PlayerInstance player = effected.getActingPlayer();
if (player == null)
{
effected.getStat().mergeAdd(Stat.VITALITY_SKILLS, 1);
final PlayerInstance player = effected.getActingPlayer();
if (player != null)
{
player.sendPacket(new ExUserBoostStat(player, BonusExpType.VITALITY));
}
return;
}
player.sendPacket(new ExUserBoostStat(player, BonusExpType.VITALITY));
player.sendPacket(new ExUserBoostStat(player, BonusExpType.BUFFS));
player.sendPacket(new ExUserBoostStat(player, BonusExpType.PASSIVE));
}
}