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));
}
}

View File

@ -19,14 +19,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.enums.BonusExpType;
import org.l2jmobius.gameserver.enums.SkillFinishType;
import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.skills.AbnormalType;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.serverpackets.ExUserBoostStat;
/**
* @author KenM
@ -80,8 +78,6 @@ public class RequestDispel implements IClientIncomingPacket
if (player.getObjectId() == _objectId)
{
player.stopSkillEffects(SkillFinishType.REMOVED, _skillId);
player.sendPacket(new ExUserBoostStat(player, BonusExpType.VITALITY));
player.sendPacket(new ExUserBoostStat(player, skill.isActive() ? BonusExpType.BUFFS : BonusExpType.PASSIVE));
}
else
{

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));
}
}

View File

@ -19,14 +19,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.enums.BonusExpType;
import org.l2jmobius.gameserver.enums.SkillFinishType;
import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.skills.AbnormalType;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.serverpackets.ExUserBoostStat;
/**
* @author KenM
@ -80,8 +78,6 @@ public class RequestDispel implements IClientIncomingPacket
if (player.getObjectId() == _objectId)
{
player.stopSkillEffects(SkillFinishType.REMOVED, _skillId);
player.sendPacket(new ExUserBoostStat(player, BonusExpType.VITALITY));
player.sendPacket(new ExUserBoostStat(player, skill.isActive() ? BonusExpType.BUFFS : BonusExpType.PASSIVE));
}
else
{

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));
}
}

View File

@ -19,14 +19,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.enums.BonusExpType;
import org.l2jmobius.gameserver.enums.SkillFinishType;
import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.skills.AbnormalType;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.serverpackets.ExUserBoostStat;
/**
* @author KenM
@ -80,8 +78,6 @@ public class RequestDispel implements IClientIncomingPacket
if (player.getObjectId() == _objectId)
{
player.stopSkillEffects(SkillFinishType.REMOVED, _skillId);
player.sendPacket(new ExUserBoostStat(player, BonusExpType.VITALITY));
player.sendPacket(new ExUserBoostStat(player, skill.isActive() ? BonusExpType.BUFFS : BonusExpType.PASSIVE));
}
else
{

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));
}
}

View File

@ -19,14 +19,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.enums.BonusExpType;
import org.l2jmobius.gameserver.enums.SkillFinishType;
import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.skills.AbnormalType;
import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.serverpackets.ExUserBoostStat;
/**
* @author KenM
@ -80,8 +78,6 @@ public class RequestDispel implements IClientIncomingPacket
if (player.getObjectId() == _objectId)
{
player.stopSkillEffects(SkillFinishType.REMOVED, _skillId);
player.sendPacket(new ExUserBoostStat(player, BonusExpType.VITALITY));
player.sendPacket(new ExUserBoostStat(player, skill.isActive() ? BonusExpType.BUFFS : BonusExpType.PASSIVE));
}
else
{