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; import org.l2jmobius.gameserver.network.serverpackets.ExUserBoostStat;
/** /**
* @author Sdw, Mobius * @author Mobius
*/ */
public class ExpModify extends AbstractStatAddEffect public class ExpModify extends AbstractStatAddEffect
{ {
@@ -38,28 +38,24 @@ public class ExpModify extends AbstractStatAddEffect
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
effected.getStat().mergeAdd(Stat.BONUS_EXP, _amount); effected.getStat().mergeAdd(Stat.BONUS_EXP, _amount);
if (skill.isActive())
if (skill != null)
{ {
if (skill.isActive()) effected.getStat().mergeAdd(Stat.ACTIVE_BONUS_EXP, _amount);
{ effected.getStat().mergeAdd(Stat.BONUS_EXP_BUFFS, 1);
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));
}
}
} }
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) public void pump(Creature effected, Skill skill)
{ {
effected.getStat().mergeMul(Stat.VITALITY_EXP_RATE, (_amount / 100) + 1); effected.getStat().mergeMul(Stat.VITALITY_EXP_RATE, (_amount / 100) + 1);
effected.getStat().mergeAdd(Stat.VITALITY_SKILLS, 1);
if (skill != null) final PlayerInstance player = effected.getActingPlayer();
if (player == null)
{ {
effected.getStat().mergeAdd(Stat.VITALITY_SKILLS, 1); return;
final PlayerInstance player = effected.getActingPlayer();
if (player != null)
{
player.sendPacket(new ExUserBoostStat(player, BonusExpType.VITALITY));
}
} }
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.Config;
import org.l2jmobius.commons.network.PacketReader; import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.data.xml.SkillData; import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.enums.BonusExpType;
import org.l2jmobius.gameserver.enums.SkillFinishType; import org.l2jmobius.gameserver.enums.SkillFinishType;
import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.skills.AbnormalType; import org.l2jmobius.gameserver.model.skills.AbnormalType;
import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.serverpackets.ExUserBoostStat;
/** /**
* @author KenM * @author KenM
@@ -80,8 +78,6 @@ public class RequestDispel implements IClientIncomingPacket
if (player.getObjectId() == _objectId) if (player.getObjectId() == _objectId)
{ {
player.stopSkillEffects(SkillFinishType.REMOVED, _skillId); player.stopSkillEffects(SkillFinishType.REMOVED, _skillId);
player.sendPacket(new ExUserBoostStat(player, BonusExpType.VITALITY));
player.sendPacket(new ExUserBoostStat(player, skill.isActive() ? BonusExpType.BUFFS : BonusExpType.PASSIVE));
} }
else else
{ {

View File

@@ -25,7 +25,7 @@ import org.l2jmobius.gameserver.model.stats.Stat;
import org.l2jmobius.gameserver.network.serverpackets.ExUserBoostStat; import org.l2jmobius.gameserver.network.serverpackets.ExUserBoostStat;
/** /**
* @author Sdw, Mobius * @author Mobius
*/ */
public class ExpModify extends AbstractStatAddEffect public class ExpModify extends AbstractStatAddEffect
{ {
@@ -38,28 +38,24 @@ public class ExpModify extends AbstractStatAddEffect
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
effected.getStat().mergeAdd(Stat.BONUS_EXP, _amount); effected.getStat().mergeAdd(Stat.BONUS_EXP, _amount);
if (skill.isActive())
if (skill != null)
{ {
if (skill.isActive()) effected.getStat().mergeAdd(Stat.ACTIVE_BONUS_EXP, _amount);
{ effected.getStat().mergeAdd(Stat.BONUS_EXP_BUFFS, 1);
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));
}
}
} }
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) public void pump(Creature effected, Skill skill)
{ {
effected.getStat().mergeMul(Stat.VITALITY_EXP_RATE, (_amount / 100) + 1); effected.getStat().mergeMul(Stat.VITALITY_EXP_RATE, (_amount / 100) + 1);
effected.getStat().mergeAdd(Stat.VITALITY_SKILLS, 1);
if (skill != null) final PlayerInstance player = effected.getActingPlayer();
if (player == null)
{ {
effected.getStat().mergeAdd(Stat.VITALITY_SKILLS, 1); return;
final PlayerInstance player = effected.getActingPlayer();
if (player != null)
{
player.sendPacket(new ExUserBoostStat(player, BonusExpType.VITALITY));
}
} }
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.Config;
import org.l2jmobius.commons.network.PacketReader; import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.data.xml.SkillData; import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.enums.BonusExpType;
import org.l2jmobius.gameserver.enums.SkillFinishType; import org.l2jmobius.gameserver.enums.SkillFinishType;
import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.skills.AbnormalType; import org.l2jmobius.gameserver.model.skills.AbnormalType;
import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.serverpackets.ExUserBoostStat;
/** /**
* @author KenM * @author KenM
@@ -80,8 +78,6 @@ public class RequestDispel implements IClientIncomingPacket
if (player.getObjectId() == _objectId) if (player.getObjectId() == _objectId)
{ {
player.stopSkillEffects(SkillFinishType.REMOVED, _skillId); player.stopSkillEffects(SkillFinishType.REMOVED, _skillId);
player.sendPacket(new ExUserBoostStat(player, BonusExpType.VITALITY));
player.sendPacket(new ExUserBoostStat(player, skill.isActive() ? BonusExpType.BUFFS : BonusExpType.PASSIVE));
} }
else else
{ {

View File

@@ -25,7 +25,7 @@ import org.l2jmobius.gameserver.model.stats.Stat;
import org.l2jmobius.gameserver.network.serverpackets.ExUserBoostStat; import org.l2jmobius.gameserver.network.serverpackets.ExUserBoostStat;
/** /**
* @author Sdw, Mobius * @author Mobius
*/ */
public class ExpModify extends AbstractStatAddEffect public class ExpModify extends AbstractStatAddEffect
{ {
@@ -38,28 +38,24 @@ public class ExpModify extends AbstractStatAddEffect
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
effected.getStat().mergeAdd(Stat.BONUS_EXP, _amount); effected.getStat().mergeAdd(Stat.BONUS_EXP, _amount);
if (skill.isActive())
if (skill != null)
{ {
if (skill.isActive()) effected.getStat().mergeAdd(Stat.ACTIVE_BONUS_EXP, _amount);
{ effected.getStat().mergeAdd(Stat.BONUS_EXP_BUFFS, 1);
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));
}
}
} }
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) public void pump(Creature effected, Skill skill)
{ {
effected.getStat().mergeMul(Stat.VITALITY_EXP_RATE, (_amount / 100) + 1); effected.getStat().mergeMul(Stat.VITALITY_EXP_RATE, (_amount / 100) + 1);
effected.getStat().mergeAdd(Stat.VITALITY_SKILLS, 1);
if (skill != null) final PlayerInstance player = effected.getActingPlayer();
if (player == null)
{ {
effected.getStat().mergeAdd(Stat.VITALITY_SKILLS, 1); return;
final PlayerInstance player = effected.getActingPlayer();
if (player != null)
{
player.sendPacket(new ExUserBoostStat(player, BonusExpType.VITALITY));
}
} }
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.Config;
import org.l2jmobius.commons.network.PacketReader; import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.data.xml.SkillData; import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.enums.BonusExpType;
import org.l2jmobius.gameserver.enums.SkillFinishType; import org.l2jmobius.gameserver.enums.SkillFinishType;
import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.skills.AbnormalType; import org.l2jmobius.gameserver.model.skills.AbnormalType;
import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.serverpackets.ExUserBoostStat;
/** /**
* @author KenM * @author KenM
@@ -80,8 +78,6 @@ public class RequestDispel implements IClientIncomingPacket
if (player.getObjectId() == _objectId) if (player.getObjectId() == _objectId)
{ {
player.stopSkillEffects(SkillFinishType.REMOVED, _skillId); player.stopSkillEffects(SkillFinishType.REMOVED, _skillId);
player.sendPacket(new ExUserBoostStat(player, BonusExpType.VITALITY));
player.sendPacket(new ExUserBoostStat(player, skill.isActive() ? BonusExpType.BUFFS : BonusExpType.PASSIVE));
} }
else else
{ {

View File

@@ -25,7 +25,7 @@ import org.l2jmobius.gameserver.model.stats.Stat;
import org.l2jmobius.gameserver.network.serverpackets.ExUserBoostStat; import org.l2jmobius.gameserver.network.serverpackets.ExUserBoostStat;
/** /**
* @author Sdw, Mobius * @author Mobius
*/ */
public class ExpModify extends AbstractStatAddEffect public class ExpModify extends AbstractStatAddEffect
{ {
@@ -38,28 +38,24 @@ public class ExpModify extends AbstractStatAddEffect
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
effected.getStat().mergeAdd(Stat.BONUS_EXP, _amount); effected.getStat().mergeAdd(Stat.BONUS_EXP, _amount);
if (skill.isActive())
if (skill != null)
{ {
if (skill.isActive()) effected.getStat().mergeAdd(Stat.ACTIVE_BONUS_EXP, _amount);
{ effected.getStat().mergeAdd(Stat.BONUS_EXP_BUFFS, 1);
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));
}
}
} }
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) public void pump(Creature effected, Skill skill)
{ {
effected.getStat().mergeMul(Stat.VITALITY_EXP_RATE, (_amount / 100) + 1); effected.getStat().mergeMul(Stat.VITALITY_EXP_RATE, (_amount / 100) + 1);
effected.getStat().mergeAdd(Stat.VITALITY_SKILLS, 1);
if (skill != null) final PlayerInstance player = effected.getActingPlayer();
if (player == null)
{ {
effected.getStat().mergeAdd(Stat.VITALITY_SKILLS, 1); return;
final PlayerInstance player = effected.getActingPlayer();
if (player != null)
{
player.sendPacket(new ExUserBoostStat(player, BonusExpType.VITALITY));
}
} }
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.Config;
import org.l2jmobius.commons.network.PacketReader; import org.l2jmobius.commons.network.PacketReader;
import org.l2jmobius.gameserver.data.xml.SkillData; import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.enums.BonusExpType;
import org.l2jmobius.gameserver.enums.SkillFinishType; import org.l2jmobius.gameserver.enums.SkillFinishType;
import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.skills.AbnormalType; import org.l2jmobius.gameserver.model.skills.AbnormalType;
import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.network.GameClient; import org.l2jmobius.gameserver.network.GameClient;
import org.l2jmobius.gameserver.network.serverpackets.ExUserBoostStat;
/** /**
* @author KenM * @author KenM
@@ -80,8 +78,6 @@ public class RequestDispel implements IClientIncomingPacket
if (player.getObjectId() == _objectId) if (player.getObjectId() == _objectId)
{ {
player.stopSkillEffects(SkillFinishType.REMOVED, _skillId); player.stopSkillEffects(SkillFinishType.REMOVED, _skillId);
player.sendPacket(new ExUserBoostStat(player, BonusExpType.VITALITY));
player.sendPacket(new ExUserBoostStat(player, skill.isActive() ? BonusExpType.BUFFS : BonusExpType.PASSIVE));
} }
else else
{ {