Addition of EffectZone removeEffectsOnExit parameter.

Thanks to CostyKiller and nasseka.
This commit is contained in:
MobiusDevelopment
2022-02-05 03:16:56 +00:00
parent ff1525bcc3
commit 987629ea69
57 changed files with 831 additions and 9 deletions

View File

@@ -44,6 +44,7 @@ public class EffectZone extends ZoneType
private int _reuse;
boolean _enabled;
private boolean _isShowDangerIcon;
private boolean _removeEffectsOnExit;
protected Map<Integer, Integer> _skills;
protected volatile Future<?> _task;
@@ -55,6 +56,7 @@ public class EffectZone extends ZoneType
_reuse = 30000;
_enabled = true;
_isShowDangerIcon = true;
_removeEffectsOnExit = false;
}
@Override
@@ -115,6 +117,11 @@ public class EffectZone extends ZoneType
}
break;
}
case "removeEffectsOnExit":
{
_removeEffectsOnExit = Boolean.parseBoolean(value);
break;
}
default:
{
super.setParameter(name, value);
@@ -160,6 +167,18 @@ public class EffectZone extends ZoneType
}
}
if (_removeEffectsOnExit && (_skills != null))
{
for (Entry<Integer, Integer> e : _skills.entrySet())
{
final Skill skill = SkillTable.getInstance().getSkill(e.getKey().intValue(), e.getValue().intValue());
if (skill != null)
{
creature.stopSkillEffects(skill.getId());
}
}
}
if (getCharactersInside().isEmpty() && (_task != null))
{
_task.cancel(true);