Fixed buff with herb stacking exploit.

This commit is contained in:
MobiusDevelopment
2020-07-20 04:27:33 +00:00
parent 30eb70d951
commit cf38303ace
2 changed files with 24 additions and 46 deletions

View File

@@ -604,8 +604,7 @@ public class EffectList
{
_hiddenBuffs.decrementAndGet();
}
// Removes the buff from the stack.
else
else // Removes the buff from the stack.
{
_stackedEffects.remove(info.getSkill().getAbnormalType());
}
@@ -1426,8 +1425,7 @@ public class EffectList
{
stopSkillEffects(false, skill);
}
// Verify stacked skills.
else
else // Verify stacked skills.
{
synchronized (this)
{
@@ -1437,34 +1435,25 @@ public class EffectList
// Skills are only replaced if the incoming buff has greater or equal abnormal level.
if ((stackedInfo != null) && (skill.getAbnormalLvl() >= stackedInfo.getSkill().getAbnormalLvl()))
{
stopSkillEffects(false, skill.getAbnormalType());
// If it is an herb, set as not in use the lesser buff.
// Effect will be present in the effect list.
// Effects stats are removed and onActionTime() is not called.
// But finish task continues to run, and ticks as well.
if (skill.isAbnormalInstant())
if (stackedInfo.getSkill().isAbnormalInstant())
{
if (stackedInfo.getSkill().isAbnormalInstant())
{
stopSkillEffects(false, skill.getAbnormalType());
stackedInfo = _stackedEffects.get(skill.getAbnormalType());
}
if (stackedInfo != null)
{
stackedInfo.setInUse(false);
// Remove stats
stackedInfo.removeStats();
_hiddenBuffs.incrementAndGet();
}
stackedInfo = _stackedEffects.get(skill.getAbnormalType());
}
// Remove buff that will stack with the abnormal type.
else
if (stackedInfo != null)
{
stopSkillEffects(false, skill.getAbnormalType());
stackedInfo.setInUse(false);
stackedInfo.removeStats();
_hiddenBuffs.incrementAndGet();
}
}
// If the new buff is a lesser buff, then don't add it.
else
else // If the new buff is a lesser buff, then don't add it.
{
return;
}