Adjustments for ModifyMagicLampPoints effect handler.

This commit is contained in:
MobiusDevelopment 2021-01-14 05:34:22 +00:00
parent 023bc42c36
commit 0007463ff1
6 changed files with 8 additions and 6 deletions

View File

@ -56,6 +56,6 @@ public class ModifyMagicLampPoints extends AbstractEffect
return;
}
MagicLampData.getInstance().addLampExp(player, _amount);
MagicLampData.getInstance().addLampExp(player, _amount, false);
}
}

View File

@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.holders.GreaterMagicLampHolder;
import org.l2jmobius.gameserver.model.holders.MagicLampDataHolder;
import org.l2jmobius.gameserver.model.stats.Stat;
import org.l2jmobius.gameserver.network.serverpackets.magiclamp.ExMagicLampExpInfoUI;
/**
@ -68,11 +69,11 @@ public class MagicLampData implements IXmlReader
}));
}
public void addLampExp(PlayerInstance player, double exp)
public void addLampExp(PlayerInstance player, double exp, boolean rateModifiers)
{
if (Config.MAGIC_LAMP_ENABLE)
{
final int lampExp = (int) (exp * Config.MAGIC_LAMP_CHARGE_RATE);
final int lampExp = (int) (exp * (rateModifiers ? Config.MAGIC_LAMP_CHARGE_RATE * player.getStat().getMul(Stat.MAGIC_LAMP_EXP_RATE, 1) : 1));
int calc = lampExp + player.getLampExp();
if (calc > Config.MAGIC_LAMP_MAX_LEVEL_EXP)
{

View File

@ -896,7 +896,7 @@ public class Party extends AbstractPlayerGroup
}
member.updateVitalityPoints(target.getVitalityPoints(member.getLevel(), exp, target.isRaid()), true, false);
PcCafePointsManager.getInstance().givePcCafePoint(member, exp);
MagicLampData.getInstance().addLampExp(member, exp);
MagicLampData.getInstance().addLampExp(member, exp, true);
}
}
else

View File

@ -531,7 +531,7 @@ public class Attackable extends Npc
attacker.updateVitalityPoints(getVitalityPoints(attacker.getLevel(), exp, _isRaid), true, false);
}
PcCafePointsManager.getInstance().givePcCafePoint(attacker, exp);
MagicLampData.getInstance().addLampExp(attacker, exp);
MagicLampData.getInstance().addLampExp(attacker, exp, true);
}
}

View File

@ -3070,7 +3070,7 @@ public abstract class AbstractScript extends ManagedScript implements IEventTime
}
player.addExpAndSp((long) player.getStat().getValue(Stat.EXPSP_RATE, (exp * Config.RATE_QUEST_REWARD_XP)), (int) player.getStat().getValue(Stat.EXPSP_RATE, (sp * Config.RATE_QUEST_REWARD_SP)));
PcCafePointsManager.getInstance().givePcCafePoint(player, (long) (exp * Config.RATE_QUEST_REWARD_XP));
MagicLampData.getInstance().addLampExp(player, exp);
MagicLampData.getInstance().addLampExp(player, exp, true);
}
/**

View File

@ -227,6 +227,7 @@ public enum AbnormalType
AVE_BROOCH(-1),
BOOST_ATTACK(-1),
BOOST_DEFENCE(-1),
MAGIC_LAMP_RATE(-1),
AB_HAWK_EYE(0),
ALL_ATTACK_DOWN(1),
ALL_ATTACK_UP(2),