Addition of EffectZone removeEffectsOnExit parameter.
Thanks to CostyKiller and nasseka.
This commit is contained in:
parent
ff1525bcc3
commit
987629ea69
@ -42,6 +42,7 @@
|
||||
<xs:enumeration value="restartAllowedTime" />
|
||||
<xs:enumeration value="restartTime" />
|
||||
<xs:enumeration value="reuse" />
|
||||
<xs:enumeration value="removeEffectsOnExit" />
|
||||
<xs:enumeration value="showDangerIcon" />
|
||||
<xs:enumeration value="skillIdLvl" />
|
||||
<xs:enumeration value="spawnMaxX" />
|
||||
|
@ -25,6 +25,7 @@ import org.l2jmobius.commons.threads.ThreadPool;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.InstanceType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
@ -42,6 +43,7 @@ public class EffectZone extends ZoneType
|
||||
private int _reuse;
|
||||
protected boolean _bypassConditions;
|
||||
private boolean _isShowDangerIcon;
|
||||
private boolean _removeEffectsOnExit;
|
||||
protected Map<Integer, Integer> _skills;
|
||||
protected volatile Future<?> _task;
|
||||
|
||||
@ -54,6 +56,7 @@ public class EffectZone extends ZoneType
|
||||
setTargetType(InstanceType.Playable); // default only playable
|
||||
_bypassConditions = false;
|
||||
_isShowDangerIcon = true;
|
||||
_removeEffectsOnExit = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -119,6 +122,11 @@ public class EffectZone extends ZoneType
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "removeEffectsOnExit":
|
||||
{
|
||||
_removeEffectsOnExit = Boolean.parseBoolean(value);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
super.setParameter(name, value);
|
||||
@ -170,6 +178,17 @@ public class EffectZone extends ZoneType
|
||||
creature.sendPacket(new EtcStatusUpdate(creature.getActingPlayer()));
|
||||
}
|
||||
}
|
||||
if (_removeEffectsOnExit && (_skills != null))
|
||||
{
|
||||
for (Entry<Integer, Integer> e : _skills.entrySet())
|
||||
{
|
||||
final Skill skill = SkillData.getInstance().getSkill(e.getKey().intValue(), e.getValue().intValue());
|
||||
if ((skill != null) && creature.isAffectedBySkill(skill.getId()))
|
||||
{
|
||||
creature.stopSkillEffects(SkillFinishType.REMOVED, skill.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (getCharactersInside().isEmpty() && (_task != null))
|
||||
|
@ -42,6 +42,7 @@
|
||||
<xs:enumeration value="restartAllowedTime" />
|
||||
<xs:enumeration value="restartTime" />
|
||||
<xs:enumeration value="reuse" />
|
||||
<xs:enumeration value="removeEffectsOnExit" />
|
||||
<xs:enumeration value="showDangerIcon" />
|
||||
<xs:enumeration value="skillIdLvl" />
|
||||
<xs:enumeration value="spawnMaxX" />
|
||||
|
@ -25,6 +25,7 @@ import org.l2jmobius.commons.threads.ThreadPool;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.InstanceType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
@ -42,6 +43,7 @@ public class EffectZone extends ZoneType
|
||||
private int _reuse;
|
||||
protected boolean _bypassConditions;
|
||||
private boolean _isShowDangerIcon;
|
||||
private boolean _removeEffectsOnExit;
|
||||
protected Map<Integer, Integer> _skills;
|
||||
protected volatile Future<?> _task;
|
||||
|
||||
@ -54,6 +56,7 @@ public class EffectZone extends ZoneType
|
||||
setTargetType(InstanceType.Playable); // default only playable
|
||||
_bypassConditions = false;
|
||||
_isShowDangerIcon = true;
|
||||
_removeEffectsOnExit = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -119,6 +122,11 @@ public class EffectZone extends ZoneType
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "removeEffectsOnExit":
|
||||
{
|
||||
_removeEffectsOnExit = Boolean.parseBoolean(value);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
super.setParameter(name, value);
|
||||
@ -170,6 +178,17 @@ public class EffectZone extends ZoneType
|
||||
creature.sendPacket(new EtcStatusUpdate(creature.getActingPlayer()));
|
||||
}
|
||||
}
|
||||
if (_removeEffectsOnExit && (_skills != null))
|
||||
{
|
||||
for (Entry<Integer, Integer> e : _skills.entrySet())
|
||||
{
|
||||
final Skill skill = SkillData.getInstance().getSkill(e.getKey().intValue(), e.getValue().intValue());
|
||||
if ((skill != null) && creature.isAffectedBySkill(skill.getId()))
|
||||
{
|
||||
creature.stopSkillEffects(SkillFinishType.REMOVED, skill.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (getCharactersInside().isEmpty() && (_task != null))
|
||||
|
@ -42,6 +42,7 @@
|
||||
<xs:enumeration value="restartAllowedTime" />
|
||||
<xs:enumeration value="restartTime" />
|
||||
<xs:enumeration value="reuse" />
|
||||
<xs:enumeration value="removeEffectsOnExit" />
|
||||
<xs:enumeration value="showDangerIcon" />
|
||||
<xs:enumeration value="skillIdLvl" />
|
||||
<xs:enumeration value="spawnMaxX" />
|
||||
|
@ -2298,7 +2298,43 @@
|
||||
<stat name="showDangerIcon" val="true" />
|
||||
<stat name="initialDelay" val="3000" />
|
||||
<!-- <stat name="unitTick" val="20" /> -->
|
||||
<stat name="skillIdLvl" val="16734-1;" /> <!-- eaking Magic - Eradication -->
|
||||
<stat name="skillIdLvl" val="16734-1;" /> <!-- Leaking Magic - Eradication -->
|
||||
<node X="78023" Y="172262" />
|
||||
</zone>
|
||||
<!-- Primordial River - Elf Memory -->
|
||||
<zone name="primordial_river_elf" type="EffectZone" shape="NPoly" minZ="-3880" maxZ="-4125">
|
||||
<stat name="chance" val="100" />
|
||||
<stat name="default_enabled" val="true" />
|
||||
<stat name="showDangerIcon" val="false" />
|
||||
<stat name="skillIdLvl" val="2994-1;" /> <!-- Aqua Elf Transformation -->
|
||||
<stat name="removeEffectsOnExit" val="true" />
|
||||
<node X="-8947" Y="-188486" />
|
||||
<node X="-8946" Y="-188116" />
|
||||
<node X="-13481" Y="-188135" />
|
||||
<node X="-13502" Y="-188485" />
|
||||
</zone>
|
||||
<!-- Primordial River - Dark Elf - Kamael Memory -->
|
||||
<zone name="primordial_river_delf_kamael" type="EffectZone" shape="NPoly" minZ="-4921" maxZ="-3950">
|
||||
<stat name="chance" val="100" />
|
||||
<stat name="default_enabled" val="true" />
|
||||
<stat name="showDangerIcon" val="false" />
|
||||
<stat name="skillIdLvl" val="2994-1;" /> <!-- Aqua Elf Transformation -->
|
||||
<stat name="removeEffectsOnExit" val="true" />
|
||||
<node X="-14270" Y="-185558" />
|
||||
<node X="-13989" Y="-185944" />
|
||||
<node X="-10107" Y="-183203" />
|
||||
<node X="-10383" Y="-182826" />
|
||||
</zone>
|
||||
<!-- Primordial River - Dwarf - Human - Orc Memory -->
|
||||
<zone name="primordial_river_delf_human_orc" type="EffectZone" shape="NPoly" minZ="-4000" maxZ="-2420">
|
||||
<stat name="chance" val="100" />
|
||||
<stat name="default_enabled" val="true" />
|
||||
<stat name="showDangerIcon" val="false" />
|
||||
<stat name="skillIdLvl" val="2994-1;" /> <!-- Aqua Elf Transformation -->
|
||||
<stat name="removeEffectsOnExit" val="true" />
|
||||
<node X="-16228" Y="-180440" />
|
||||
<node X="-16589" Y="-180386" />
|
||||
<node X="-16542" Y="-184948" />
|
||||
<node X="-16241" Y="-184940" />
|
||||
</zone>
|
||||
</list>
|
@ -25,6 +25,7 @@ import org.l2jmobius.commons.threads.ThreadPool;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.InstanceType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
@ -42,6 +43,7 @@ public class EffectZone extends ZoneType
|
||||
private int _reuse;
|
||||
protected boolean _bypassConditions;
|
||||
private boolean _isShowDangerIcon;
|
||||
private boolean _removeEffectsOnExit;
|
||||
protected Map<Integer, Integer> _skills;
|
||||
protected volatile Future<?> _task;
|
||||
|
||||
@ -54,6 +56,7 @@ public class EffectZone extends ZoneType
|
||||
setTargetType(InstanceType.Playable); // default only playable
|
||||
_bypassConditions = false;
|
||||
_isShowDangerIcon = true;
|
||||
_removeEffectsOnExit = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -119,6 +122,11 @@ public class EffectZone extends ZoneType
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "removeEffectsOnExit":
|
||||
{
|
||||
_removeEffectsOnExit = Boolean.parseBoolean(value);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
super.setParameter(name, value);
|
||||
@ -170,6 +178,17 @@ public class EffectZone extends ZoneType
|
||||
creature.sendPacket(new EtcStatusUpdate(creature.getActingPlayer()));
|
||||
}
|
||||
}
|
||||
if (_removeEffectsOnExit && (_skills != null))
|
||||
{
|
||||
for (Entry<Integer, Integer> e : _skills.entrySet())
|
||||
{
|
||||
final Skill skill = SkillData.getInstance().getSkill(e.getKey().intValue(), e.getValue().intValue());
|
||||
if ((skill != null) && creature.isAffectedBySkill(skill.getId()))
|
||||
{
|
||||
creature.stopSkillEffects(SkillFinishType.REMOVED, skill.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (getCharactersInside().isEmpty() && (_task != null))
|
||||
|
@ -42,6 +42,7 @@
|
||||
<xs:enumeration value="restartAllowedTime" />
|
||||
<xs:enumeration value="restartTime" />
|
||||
<xs:enumeration value="reuse" />
|
||||
<xs:enumeration value="removeEffectsOnExit" />
|
||||
<xs:enumeration value="showDangerIcon" />
|
||||
<xs:enumeration value="skillIdLvl" />
|
||||
<xs:enumeration value="spawnMaxX" />
|
||||
|
@ -2298,7 +2298,43 @@
|
||||
<stat name="showDangerIcon" val="true" />
|
||||
<stat name="initialDelay" val="3000" />
|
||||
<!-- <stat name="unitTick" val="20" /> -->
|
||||
<stat name="skillIdLvl" val="16734-1;" /> <!-- eaking Magic - Eradication -->
|
||||
<stat name="skillIdLvl" val="16734-1;" /> <!-- Leaking Magic - Eradication -->
|
||||
<node X="78023" Y="172262" />
|
||||
</zone>
|
||||
<!-- Primordial River - Elf Memory -->
|
||||
<zone name="primordial_river_elf" type="EffectZone" shape="NPoly" minZ="-3880" maxZ="-4125">
|
||||
<stat name="chance" val="100" />
|
||||
<stat name="default_enabled" val="true" />
|
||||
<stat name="showDangerIcon" val="false" />
|
||||
<stat name="skillIdLvl" val="2994-1;" /> <!-- Aqua Elf Transformation -->
|
||||
<stat name="removeEffectsOnExit" val="true" />
|
||||
<node X="-8947" Y="-188486" />
|
||||
<node X="-8946" Y="-188116" />
|
||||
<node X="-13481" Y="-188135" />
|
||||
<node X="-13502" Y="-188485" />
|
||||
</zone>
|
||||
<!-- Primordial River - Dark Elf - Kamael Memory -->
|
||||
<zone name="primordial_river_delf_kamael" type="EffectZone" shape="NPoly" minZ="-4921" maxZ="-3950">
|
||||
<stat name="chance" val="100" />
|
||||
<stat name="default_enabled" val="true" />
|
||||
<stat name="showDangerIcon" val="false" />
|
||||
<stat name="skillIdLvl" val="2994-1;" /> <!-- Aqua Elf Transformation -->
|
||||
<stat name="removeEffectsOnExit" val="true" />
|
||||
<node X="-14270" Y="-185558" />
|
||||
<node X="-13989" Y="-185944" />
|
||||
<node X="-10107" Y="-183203" />
|
||||
<node X="-10383" Y="-182826" />
|
||||
</zone>
|
||||
<!-- Primordial River - Dwarf - Human - Orc Memory -->
|
||||
<zone name="primordial_river_delf_human_orc" type="EffectZone" shape="NPoly" minZ="-4000" maxZ="-2420">
|
||||
<stat name="chance" val="100" />
|
||||
<stat name="default_enabled" val="true" />
|
||||
<stat name="showDangerIcon" val="false" />
|
||||
<stat name="skillIdLvl" val="2994-1;" /> <!-- Aqua Elf Transformation -->
|
||||
<stat name="removeEffectsOnExit" val="true" />
|
||||
<node X="-16228" Y="-180440" />
|
||||
<node X="-16589" Y="-180386" />
|
||||
<node X="-16542" Y="-184948" />
|
||||
<node X="-16241" Y="-184940" />
|
||||
</zone>
|
||||
</list>
|
@ -25,6 +25,7 @@ import org.l2jmobius.commons.threads.ThreadPool;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.InstanceType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
@ -42,6 +43,7 @@ public class EffectZone extends ZoneType
|
||||
private int _reuse;
|
||||
protected boolean _bypassConditions;
|
||||
private boolean _isShowDangerIcon;
|
||||
private boolean _removeEffectsOnExit;
|
||||
protected Map<Integer, Integer> _skills;
|
||||
protected volatile Future<?> _task;
|
||||
|
||||
@ -54,6 +56,7 @@ public class EffectZone extends ZoneType
|
||||
setTargetType(InstanceType.Playable); // default only playable
|
||||
_bypassConditions = false;
|
||||
_isShowDangerIcon = true;
|
||||
_removeEffectsOnExit = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -119,6 +122,11 @@ public class EffectZone extends ZoneType
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "removeEffectsOnExit":
|
||||
{
|
||||
_removeEffectsOnExit = Boolean.parseBoolean(value);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
super.setParameter(name, value);
|
||||
@ -170,6 +178,17 @@ public class EffectZone extends ZoneType
|
||||
creature.sendPacket(new EtcStatusUpdate(creature.getActingPlayer()));
|
||||
}
|
||||
}
|
||||
if (_removeEffectsOnExit && (_skills != null))
|
||||
{
|
||||
for (Entry<Integer, Integer> e : _skills.entrySet())
|
||||
{
|
||||
final Skill skill = SkillData.getInstance().getSkill(e.getKey().intValue(), e.getValue().intValue());
|
||||
if ((skill != null) && creature.isAffectedBySkill(skill.getId()))
|
||||
{
|
||||
creature.stopSkillEffects(SkillFinishType.REMOVED, skill.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (getCharactersInside().isEmpty() && (_task != null))
|
||||
|
@ -42,6 +42,7 @@
|
||||
<xs:enumeration value="restartAllowedTime" />
|
||||
<xs:enumeration value="restartTime" />
|
||||
<xs:enumeration value="reuse" />
|
||||
<xs:enumeration value="removeEffectsOnExit" />
|
||||
<xs:enumeration value="showDangerIcon" />
|
||||
<xs:enumeration value="skillIdLvl" />
|
||||
<xs:enumeration value="spawnMaxX" />
|
||||
|
@ -2298,7 +2298,43 @@
|
||||
<stat name="showDangerIcon" val="true" />
|
||||
<stat name="initialDelay" val="3000" />
|
||||
<!-- <stat name="unitTick" val="20" /> -->
|
||||
<stat name="skillIdLvl" val="16734-1;" /> <!-- eaking Magic - Eradication -->
|
||||
<stat name="skillIdLvl" val="16734-1;" /> <!-- Leaking Magic - Eradication -->
|
||||
<node X="78023" Y="172262" />
|
||||
</zone>
|
||||
<!-- Primordial River - Elf Memory -->
|
||||
<zone name="primordial_river_elf" type="EffectZone" shape="NPoly" minZ="-3880" maxZ="-4125">
|
||||
<stat name="chance" val="100" />
|
||||
<stat name="default_enabled" val="true" />
|
||||
<stat name="showDangerIcon" val="false" />
|
||||
<stat name="skillIdLvl" val="2994-1;" /> <!-- Aqua Elf Transformation -->
|
||||
<stat name="removeEffectsOnExit" val="true" />
|
||||
<node X="-8947" Y="-188486" />
|
||||
<node X="-8946" Y="-188116" />
|
||||
<node X="-13481" Y="-188135" />
|
||||
<node X="-13502" Y="-188485" />
|
||||
</zone>
|
||||
<!-- Primordial River - Dark Elf - Kamael Memory -->
|
||||
<zone name="primordial_river_delf_kamael" type="EffectZone" shape="NPoly" minZ="-4921" maxZ="-3950">
|
||||
<stat name="chance" val="100" />
|
||||
<stat name="default_enabled" val="true" />
|
||||
<stat name="showDangerIcon" val="false" />
|
||||
<stat name="skillIdLvl" val="2994-1;" /> <!-- Aqua Elf Transformation -->
|
||||
<stat name="removeEffectsOnExit" val="true" />
|
||||
<node X="-14270" Y="-185558" />
|
||||
<node X="-13989" Y="-185944" />
|
||||
<node X="-10107" Y="-183203" />
|
||||
<node X="-10383" Y="-182826" />
|
||||
</zone>
|
||||
<!-- Primordial River - Dwarf - Human - Orc Memory -->
|
||||
<zone name="primordial_river_delf_human_orc" type="EffectZone" shape="NPoly" minZ="-4000" maxZ="-2420">
|
||||
<stat name="chance" val="100" />
|
||||
<stat name="default_enabled" val="true" />
|
||||
<stat name="showDangerIcon" val="false" />
|
||||
<stat name="skillIdLvl" val="2994-1;" /> <!-- Aqua Elf Transformation -->
|
||||
<stat name="removeEffectsOnExit" val="true" />
|
||||
<node X="-16228" Y="-180440" />
|
||||
<node X="-16589" Y="-180386" />
|
||||
<node X="-16542" Y="-184948" />
|
||||
<node X="-16241" Y="-184940" />
|
||||
</zone>
|
||||
</list>
|
@ -25,6 +25,7 @@ import org.l2jmobius.commons.threads.ThreadPool;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.InstanceType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
@ -42,6 +43,7 @@ public class EffectZone extends ZoneType
|
||||
private int _reuse;
|
||||
protected boolean _bypassConditions;
|
||||
private boolean _isShowDangerIcon;
|
||||
private boolean _removeEffectsOnExit;
|
||||
protected Map<Integer, Integer> _skills;
|
||||
protected volatile Future<?> _task;
|
||||
|
||||
@ -54,6 +56,7 @@ public class EffectZone extends ZoneType
|
||||
setTargetType(InstanceType.Playable); // default only playable
|
||||
_bypassConditions = false;
|
||||
_isShowDangerIcon = true;
|
||||
_removeEffectsOnExit = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -119,6 +122,11 @@ public class EffectZone extends ZoneType
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "removeEffectsOnExit":
|
||||
{
|
||||
_removeEffectsOnExit = Boolean.parseBoolean(value);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
super.setParameter(name, value);
|
||||
@ -170,6 +178,17 @@ public class EffectZone extends ZoneType
|
||||
creature.sendPacket(new EtcStatusUpdate(creature.getActingPlayer()));
|
||||
}
|
||||
}
|
||||
if (_removeEffectsOnExit && (_skills != null))
|
||||
{
|
||||
for (Entry<Integer, Integer> e : _skills.entrySet())
|
||||
{
|
||||
final Skill skill = SkillData.getInstance().getSkill(e.getKey().intValue(), e.getValue().intValue());
|
||||
if ((skill != null) && creature.isAffectedBySkill(skill.getId()))
|
||||
{
|
||||
creature.stopSkillEffects(SkillFinishType.REMOVED, skill.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (getCharactersInside().isEmpty() && (_task != null))
|
||||
|
@ -42,6 +42,7 @@
|
||||
<xs:enumeration value="restartAllowedTime" />
|
||||
<xs:enumeration value="restartTime" />
|
||||
<xs:enumeration value="reuse" />
|
||||
<xs:enumeration value="removeEffectsOnExit" />
|
||||
<xs:enumeration value="showDangerIcon" />
|
||||
<xs:enumeration value="skillIdLvl" />
|
||||
<xs:enumeration value="spawnMaxX" />
|
||||
|
@ -2298,7 +2298,43 @@
|
||||
<stat name="showDangerIcon" val="true" />
|
||||
<stat name="initialDelay" val="3000" />
|
||||
<!-- <stat name="unitTick" val="20" /> -->
|
||||
<stat name="skillIdLvl" val="16734-1;" /> <!-- eaking Magic - Eradication -->
|
||||
<stat name="skillIdLvl" val="16734-1;" /> <!-- Leaking Magic - Eradication -->
|
||||
<node X="78023" Y="172262" />
|
||||
</zone>
|
||||
<!-- Primordial River - Elf Memory -->
|
||||
<zone name="primordial_river_elf" type="EffectZone" shape="NPoly" minZ="-3880" maxZ="-4125">
|
||||
<stat name="chance" val="100" />
|
||||
<stat name="default_enabled" val="true" />
|
||||
<stat name="showDangerIcon" val="false" />
|
||||
<stat name="skillIdLvl" val="2994-1;" /> <!-- Aqua Elf Transformation -->
|
||||
<stat name="removeEffectsOnExit" val="true" />
|
||||
<node X="-8947" Y="-188486" />
|
||||
<node X="-8946" Y="-188116" />
|
||||
<node X="-13481" Y="-188135" />
|
||||
<node X="-13502" Y="-188485" />
|
||||
</zone>
|
||||
<!-- Primordial River - Dark Elf - Kamael Memory -->
|
||||
<zone name="primordial_river_delf_kamael" type="EffectZone" shape="NPoly" minZ="-4921" maxZ="-3950">
|
||||
<stat name="chance" val="100" />
|
||||
<stat name="default_enabled" val="true" />
|
||||
<stat name="showDangerIcon" val="false" />
|
||||
<stat name="skillIdLvl" val="2994-1;" /> <!-- Aqua Elf Transformation -->
|
||||
<stat name="removeEffectsOnExit" val="true" />
|
||||
<node X="-14270" Y="-185558" />
|
||||
<node X="-13989" Y="-185944" />
|
||||
<node X="-10107" Y="-183203" />
|
||||
<node X="-10383" Y="-182826" />
|
||||
</zone>
|
||||
<!-- Primordial River - Dwarf - Human - Orc Memory -->
|
||||
<zone name="primordial_river_delf_human_orc" type="EffectZone" shape="NPoly" minZ="-4000" maxZ="-2420">
|
||||
<stat name="chance" val="100" />
|
||||
<stat name="default_enabled" val="true" />
|
||||
<stat name="showDangerIcon" val="false" />
|
||||
<stat name="skillIdLvl" val="2994-1;" /> <!-- Aqua Elf Transformation -->
|
||||
<stat name="removeEffectsOnExit" val="true" />
|
||||
<node X="-16228" Y="-180440" />
|
||||
<node X="-16589" Y="-180386" />
|
||||
<node X="-16542" Y="-184948" />
|
||||
<node X="-16241" Y="-184940" />
|
||||
</zone>
|
||||
</list>
|
@ -25,6 +25,7 @@ import org.l2jmobius.commons.threads.ThreadPool;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.InstanceType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
@ -42,6 +43,7 @@ public class EffectZone extends ZoneType
|
||||
private int _reuse;
|
||||
protected boolean _bypassConditions;
|
||||
private boolean _isShowDangerIcon;
|
||||
private boolean _removeEffectsOnExit;
|
||||
protected Map<Integer, Integer> _skills;
|
||||
protected volatile Future<?> _task;
|
||||
|
||||
@ -54,6 +56,7 @@ public class EffectZone extends ZoneType
|
||||
setTargetType(InstanceType.Playable); // default only playable
|
||||
_bypassConditions = false;
|
||||
_isShowDangerIcon = true;
|
||||
_removeEffectsOnExit = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -119,6 +122,11 @@ public class EffectZone extends ZoneType
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "removeEffectsOnExit":
|
||||
{
|
||||
_removeEffectsOnExit = Boolean.parseBoolean(value);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
super.setParameter(name, value);
|
||||
@ -170,6 +178,17 @@ public class EffectZone extends ZoneType
|
||||
creature.sendPacket(new EtcStatusUpdate(creature.getActingPlayer()));
|
||||
}
|
||||
}
|
||||
if (_removeEffectsOnExit && (_skills != null))
|
||||
{
|
||||
for (Entry<Integer, Integer> e : _skills.entrySet())
|
||||
{
|
||||
final Skill skill = SkillData.getInstance().getSkill(e.getKey().intValue(), e.getValue().intValue());
|
||||
if ((skill != null) && creature.isAffectedBySkill(skill.getId()))
|
||||
{
|
||||
creature.stopSkillEffects(SkillFinishType.REMOVED, skill.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (getCharactersInside().isEmpty() && (_task != null))
|
||||
|
@ -42,6 +42,7 @@
|
||||
<xs:enumeration value="restartAllowedTime" />
|
||||
<xs:enumeration value="restartTime" />
|
||||
<xs:enumeration value="reuse" />
|
||||
<xs:enumeration value="removeEffectsOnExit" />
|
||||
<xs:enumeration value="showDangerIcon" />
|
||||
<xs:enumeration value="skillIdLvl" />
|
||||
<xs:enumeration value="spawnMaxX" />
|
||||
|
@ -2298,7 +2298,43 @@
|
||||
<stat name="showDangerIcon" val="true" />
|
||||
<stat name="initialDelay" val="3000" />
|
||||
<!-- <stat name="unitTick" val="20" /> -->
|
||||
<stat name="skillIdLvl" val="16734-1;" /> <!-- eaking Magic - Eradication -->
|
||||
<stat name="skillIdLvl" val="16734-1;" /> <!-- Leaking Magic - Eradication -->
|
||||
<node X="78023" Y="172262" />
|
||||
</zone>
|
||||
<!-- Primordial River - Elf Memory -->
|
||||
<zone name="primordial_river_elf" type="EffectZone" shape="NPoly" minZ="-3880" maxZ="-4125">
|
||||
<stat name="chance" val="100" />
|
||||
<stat name="default_enabled" val="true" />
|
||||
<stat name="showDangerIcon" val="false" />
|
||||
<stat name="skillIdLvl" val="2994-1;" /> <!-- Aqua Elf Transformation -->
|
||||
<stat name="removeEffectsOnExit" val="true" />
|
||||
<node X="-8947" Y="-188486" />
|
||||
<node X="-8946" Y="-188116" />
|
||||
<node X="-13481" Y="-188135" />
|
||||
<node X="-13502" Y="-188485" />
|
||||
</zone>
|
||||
<!-- Primordial River - Dark Elf - Kamael Memory -->
|
||||
<zone name="primordial_river_delf_kamael" type="EffectZone" shape="NPoly" minZ="-4921" maxZ="-3950">
|
||||
<stat name="chance" val="100" />
|
||||
<stat name="default_enabled" val="true" />
|
||||
<stat name="showDangerIcon" val="false" />
|
||||
<stat name="skillIdLvl" val="2994-1;" /> <!-- Aqua Elf Transformation -->
|
||||
<stat name="removeEffectsOnExit" val="true" />
|
||||
<node X="-14270" Y="-185558" />
|
||||
<node X="-13989" Y="-185944" />
|
||||
<node X="-10107" Y="-183203" />
|
||||
<node X="-10383" Y="-182826" />
|
||||
</zone>
|
||||
<!-- Primordial River - Dwarf - Human - Orc Memory -->
|
||||
<zone name="primordial_river_delf_human_orc" type="EffectZone" shape="NPoly" minZ="-4000" maxZ="-2420">
|
||||
<stat name="chance" val="100" />
|
||||
<stat name="default_enabled" val="true" />
|
||||
<stat name="showDangerIcon" val="false" />
|
||||
<stat name="skillIdLvl" val="2994-1;" /> <!-- Aqua Elf Transformation -->
|
||||
<stat name="removeEffectsOnExit" val="true" />
|
||||
<node X="-16228" Y="-180440" />
|
||||
<node X="-16589" Y="-180386" />
|
||||
<node X="-16542" Y="-184948" />
|
||||
<node X="-16241" Y="-184940" />
|
||||
</zone>
|
||||
</list>
|
@ -25,6 +25,7 @@ import org.l2jmobius.commons.threads.ThreadPool;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.InstanceType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
@ -42,6 +43,7 @@ public class EffectZone extends ZoneType
|
||||
private int _reuse;
|
||||
protected boolean _bypassConditions;
|
||||
private boolean _isShowDangerIcon;
|
||||
private boolean _removeEffectsOnExit;
|
||||
protected Map<Integer, Integer> _skills;
|
||||
protected volatile Future<?> _task;
|
||||
|
||||
@ -54,6 +56,7 @@ public class EffectZone extends ZoneType
|
||||
setTargetType(InstanceType.Playable); // default only playable
|
||||
_bypassConditions = false;
|
||||
_isShowDangerIcon = true;
|
||||
_removeEffectsOnExit = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -119,6 +122,11 @@ public class EffectZone extends ZoneType
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "removeEffectsOnExit":
|
||||
{
|
||||
_removeEffectsOnExit = Boolean.parseBoolean(value);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
super.setParameter(name, value);
|
||||
@ -170,6 +178,17 @@ public class EffectZone extends ZoneType
|
||||
creature.sendPacket(new EtcStatusUpdate(creature.getActingPlayer()));
|
||||
}
|
||||
}
|
||||
if (_removeEffectsOnExit && (_skills != null))
|
||||
{
|
||||
for (Entry<Integer, Integer> e : _skills.entrySet())
|
||||
{
|
||||
final Skill skill = SkillData.getInstance().getSkill(e.getKey().intValue(), e.getValue().intValue());
|
||||
if ((skill != null) && creature.isAffectedBySkill(skill.getId()))
|
||||
{
|
||||
creature.stopSkillEffects(SkillFinishType.REMOVED, skill.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (getCharactersInside().isEmpty() && (_task != null))
|
||||
|
@ -42,6 +42,7 @@
|
||||
<xs:enumeration value="restartAllowedTime" />
|
||||
<xs:enumeration value="restartTime" />
|
||||
<xs:enumeration value="reuse" />
|
||||
<xs:enumeration value="removeEffectsOnExit" />
|
||||
<xs:enumeration value="showDangerIcon" />
|
||||
<xs:enumeration value="skillIdLvl" />
|
||||
<xs:enumeration value="spawnMaxX" />
|
||||
|
@ -2298,7 +2298,43 @@
|
||||
<stat name="showDangerIcon" val="true" />
|
||||
<stat name="initialDelay" val="3000" />
|
||||
<!-- <stat name="unitTick" val="20" /> -->
|
||||
<stat name="skillIdLvl" val="16734-1;" /> <!-- eaking Magic - Eradication -->
|
||||
<stat name="skillIdLvl" val="16734-1;" /> <!-- Leaking Magic - Eradication -->
|
||||
<node X="78023" Y="172262" />
|
||||
</zone>
|
||||
<!-- Primordial River - Elf Memory -->
|
||||
<zone name="primordial_river_elf" type="EffectZone" shape="NPoly" minZ="-3880" maxZ="-4125">
|
||||
<stat name="chance" val="100" />
|
||||
<stat name="default_enabled" val="true" />
|
||||
<stat name="showDangerIcon" val="false" />
|
||||
<stat name="skillIdLvl" val="2994-1;" /> <!-- Aqua Elf Transformation -->
|
||||
<stat name="removeEffectsOnExit" val="true" />
|
||||
<node X="-8947" Y="-188486" />
|
||||
<node X="-8946" Y="-188116" />
|
||||
<node X="-13481" Y="-188135" />
|
||||
<node X="-13502" Y="-188485" />
|
||||
</zone>
|
||||
<!-- Primordial River - Dark Elf - Kamael Memory -->
|
||||
<zone name="primordial_river_delf_kamael" type="EffectZone" shape="NPoly" minZ="-4921" maxZ="-3950">
|
||||
<stat name="chance" val="100" />
|
||||
<stat name="default_enabled" val="true" />
|
||||
<stat name="showDangerIcon" val="false" />
|
||||
<stat name="skillIdLvl" val="2994-1;" /> <!-- Aqua Elf Transformation -->
|
||||
<stat name="removeEffectsOnExit" val="true" />
|
||||
<node X="-14270" Y="-185558" />
|
||||
<node X="-13989" Y="-185944" />
|
||||
<node X="-10107" Y="-183203" />
|
||||
<node X="-10383" Y="-182826" />
|
||||
</zone>
|
||||
<!-- Primordial River - Dwarf - Human - Orc Memory -->
|
||||
<zone name="primordial_river_delf_human_orc" type="EffectZone" shape="NPoly" minZ="-4000" maxZ="-2420">
|
||||
<stat name="chance" val="100" />
|
||||
<stat name="default_enabled" val="true" />
|
||||
<stat name="showDangerIcon" val="false" />
|
||||
<stat name="skillIdLvl" val="2994-1;" /> <!-- Aqua Elf Transformation -->
|
||||
<stat name="removeEffectsOnExit" val="true" />
|
||||
<node X="-16228" Y="-180440" />
|
||||
<node X="-16589" Y="-180386" />
|
||||
<node X="-16542" Y="-184948" />
|
||||
<node X="-16241" Y="-184940" />
|
||||
</zone>
|
||||
</list>
|
@ -25,6 +25,7 @@ import org.l2jmobius.commons.threads.ThreadPool;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.InstanceType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
@ -42,6 +43,7 @@ public class EffectZone extends ZoneType
|
||||
private int _reuse;
|
||||
protected boolean _bypassConditions;
|
||||
private boolean _isShowDangerIcon;
|
||||
private boolean _removeEffectsOnExit;
|
||||
protected Map<Integer, Integer> _skills;
|
||||
protected volatile Future<?> _task;
|
||||
|
||||
@ -54,6 +56,7 @@ public class EffectZone extends ZoneType
|
||||
setTargetType(InstanceType.Playable); // default only playable
|
||||
_bypassConditions = false;
|
||||
_isShowDangerIcon = true;
|
||||
_removeEffectsOnExit = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -119,6 +122,11 @@ public class EffectZone extends ZoneType
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "removeEffectsOnExit":
|
||||
{
|
||||
_removeEffectsOnExit = Boolean.parseBoolean(value);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
super.setParameter(name, value);
|
||||
@ -170,6 +178,17 @@ public class EffectZone extends ZoneType
|
||||
creature.sendPacket(new EtcStatusUpdate(creature.getActingPlayer()));
|
||||
}
|
||||
}
|
||||
if (_removeEffectsOnExit && (_skills != null))
|
||||
{
|
||||
for (Entry<Integer, Integer> e : _skills.entrySet())
|
||||
{
|
||||
final Skill skill = SkillData.getInstance().getSkill(e.getKey().intValue(), e.getValue().intValue());
|
||||
if ((skill != null) && creature.isAffectedBySkill(skill.getId()))
|
||||
{
|
||||
creature.stopSkillEffects(SkillFinishType.REMOVED, skill.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (getCharactersInside().isEmpty() && (_task != null))
|
||||
|
@ -42,6 +42,7 @@
|
||||
<xs:enumeration value="restartAllowedTime" />
|
||||
<xs:enumeration value="restartTime" />
|
||||
<xs:enumeration value="reuse" />
|
||||
<xs:enumeration value="removeEffectsOnExit" />
|
||||
<xs:enumeration value="showDangerIcon" />
|
||||
<xs:enumeration value="skillIdLvl" />
|
||||
<xs:enumeration value="spawnMaxX" />
|
||||
|
@ -2298,7 +2298,7 @@
|
||||
<stat name="showDangerIcon" val="true" />
|
||||
<stat name="initialDelay" val="3000" />
|
||||
<!-- <stat name="unitTick" val="20" /> -->
|
||||
<stat name="skillIdLvl" val="16734-1;" /> <!-- eaking Magic - Eradication -->
|
||||
<stat name="skillIdLvl" val="16734-1;" /> <!-- Leaking Magic - Eradication -->
|
||||
<node X="78023" Y="172262" />
|
||||
</zone>
|
||||
<zone name="gm_punish" id="100100" type="EffectZone" shape="Cylinder" minZ="-10610" maxZ="10150" rad="600">
|
||||
@ -2309,4 +2309,40 @@
|
||||
<stat name="skillIdLvl" val="55031-1;" /> <!-- GM Punish -->
|
||||
<node X="-113088" Y="-251088" />
|
||||
</zone>
|
||||
<!-- Primordial River - Elf Memory -->
|
||||
<zone name="primordial_river_elf" type="EffectZone" shape="NPoly" minZ="-3880" maxZ="-4125">
|
||||
<stat name="chance" val="100" />
|
||||
<stat name="default_enabled" val="true" />
|
||||
<stat name="showDangerIcon" val="false" />
|
||||
<stat name="skillIdLvl" val="2994-1;" /> <!-- Aqua Elf Transformation -->
|
||||
<stat name="removeEffectsOnExit" val="true" />
|
||||
<node X="-8947" Y="-188486" />
|
||||
<node X="-8946" Y="-188116" />
|
||||
<node X="-13481" Y="-188135" />
|
||||
<node X="-13502" Y="-188485" />
|
||||
</zone>
|
||||
<!-- Primordial River - Dark Elf - Kamael Memory -->
|
||||
<zone name="primordial_river_delf_kamael" type="EffectZone" shape="NPoly" minZ="-4921" maxZ="-3950">
|
||||
<stat name="chance" val="100" />
|
||||
<stat name="default_enabled" val="true" />
|
||||
<stat name="showDangerIcon" val="false" />
|
||||
<stat name="skillIdLvl" val="2994-1;" /> <!-- Aqua Elf Transformation -->
|
||||
<stat name="removeEffectsOnExit" val="true" />
|
||||
<node X="-14270" Y="-185558" />
|
||||
<node X="-13989" Y="-185944" />
|
||||
<node X="-10107" Y="-183203" />
|
||||
<node X="-10383" Y="-182826" />
|
||||
</zone>
|
||||
<!-- Primordial River - Dwarf - Human - Orc Memory -->
|
||||
<zone name="primordial_river_delf_human_orc" type="EffectZone" shape="NPoly" minZ="-4000" maxZ="-2420">
|
||||
<stat name="chance" val="100" />
|
||||
<stat name="default_enabled" val="true" />
|
||||
<stat name="showDangerIcon" val="false" />
|
||||
<stat name="skillIdLvl" val="2994-1;" /> <!-- Aqua Elf Transformation -->
|
||||
<stat name="removeEffectsOnExit" val="true" />
|
||||
<node X="-16228" Y="-180440" />
|
||||
<node X="-16589" Y="-180386" />
|
||||
<node X="-16542" Y="-184948" />
|
||||
<node X="-16241" Y="-184940" />
|
||||
</zone>
|
||||
</list>
|
@ -25,6 +25,7 @@ import org.l2jmobius.commons.threads.ThreadPool;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.InstanceType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
@ -42,6 +43,7 @@ public class EffectZone extends ZoneType
|
||||
private int _reuse;
|
||||
protected boolean _bypassConditions;
|
||||
private boolean _isShowDangerIcon;
|
||||
private boolean _removeEffectsOnExit;
|
||||
protected Map<Integer, Integer> _skills;
|
||||
protected volatile Future<?> _task;
|
||||
|
||||
@ -54,6 +56,7 @@ public class EffectZone extends ZoneType
|
||||
setTargetType(InstanceType.Playable); // default only playable
|
||||
_bypassConditions = false;
|
||||
_isShowDangerIcon = true;
|
||||
_removeEffectsOnExit = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -119,6 +122,11 @@ public class EffectZone extends ZoneType
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "removeEffectsOnExit":
|
||||
{
|
||||
_removeEffectsOnExit = Boolean.parseBoolean(value);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
super.setParameter(name, value);
|
||||
@ -170,6 +178,17 @@ public class EffectZone extends ZoneType
|
||||
creature.sendPacket(new EtcStatusUpdate(creature.getActingPlayer()));
|
||||
}
|
||||
}
|
||||
if (_removeEffectsOnExit && (_skills != null))
|
||||
{
|
||||
for (Entry<Integer, Integer> e : _skills.entrySet())
|
||||
{
|
||||
final Skill skill = SkillData.getInstance().getSkill(e.getKey().intValue(), e.getValue().intValue());
|
||||
if ((skill != null) && creature.isAffectedBySkill(skill.getId()))
|
||||
{
|
||||
creature.stopSkillEffects(SkillFinishType.REMOVED, skill.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (getCharactersInside().isEmpty() && (_task != null))
|
||||
|
@ -42,6 +42,7 @@
|
||||
<xs:enumeration value="restartAllowedTime" />
|
||||
<xs:enumeration value="restartTime" />
|
||||
<xs:enumeration value="reuse" />
|
||||
<xs:enumeration value="removeEffectsOnExit" />
|
||||
<xs:enumeration value="showDangerIcon" />
|
||||
<xs:enumeration value="skillIdLvl" />
|
||||
<xs:enumeration value="spawnMaxX" />
|
||||
|
@ -2298,7 +2298,7 @@
|
||||
<stat name="showDangerIcon" val="true" />
|
||||
<stat name="initialDelay" val="3000" />
|
||||
<!-- <stat name="unitTick" val="20" /> -->
|
||||
<stat name="skillIdLvl" val="16734-1;" /> <!-- eaking Magic - Eradication -->
|
||||
<stat name="skillIdLvl" val="16734-1;" /> <!-- Leaking Magic - Eradication -->
|
||||
<node X="78023" Y="172262" />
|
||||
</zone>
|
||||
<zone name="gm_punish" id="100100" type="EffectZone" shape="Cylinder" minZ="-10610" maxZ="10150" rad="600">
|
||||
@ -2322,4 +2322,40 @@
|
||||
<node X="-130285" Y="27143" />
|
||||
<node X="-127035" Y="94029" />
|
||||
</zone>
|
||||
<!-- Primordial River - Elf Memory -->
|
||||
<zone name="primordial_river_elf" type="EffectZone" shape="NPoly" minZ="-3880" maxZ="-4125">
|
||||
<stat name="chance" val="100" />
|
||||
<stat name="default_enabled" val="true" />
|
||||
<stat name="showDangerIcon" val="false" />
|
||||
<stat name="skillIdLvl" val="2994-1;" /> <!-- Aqua Elf Transformation -->
|
||||
<stat name="removeEffectsOnExit" val="true" />
|
||||
<node X="-8947" Y="-188486" />
|
||||
<node X="-8946" Y="-188116" />
|
||||
<node X="-13481" Y="-188135" />
|
||||
<node X="-13502" Y="-188485" />
|
||||
</zone>
|
||||
<!-- Primordial River - Dark Elf - Kamael Memory -->
|
||||
<zone name="primordial_river_delf_kamael" type="EffectZone" shape="NPoly" minZ="-4921" maxZ="-3950">
|
||||
<stat name="chance" val="100" />
|
||||
<stat name="default_enabled" val="true" />
|
||||
<stat name="showDangerIcon" val="false" />
|
||||
<stat name="skillIdLvl" val="2994-1;" /> <!-- Aqua Elf Transformation -->
|
||||
<stat name="removeEffectsOnExit" val="true" />
|
||||
<node X="-14270" Y="-185558" />
|
||||
<node X="-13989" Y="-185944" />
|
||||
<node X="-10107" Y="-183203" />
|
||||
<node X="-10383" Y="-182826" />
|
||||
</zone>
|
||||
<!-- Primordial River - Dwarf - Human - Orc Memory -->
|
||||
<zone name="primordial_river_delf_human_orc" type="EffectZone" shape="NPoly" minZ="-4000" maxZ="-2420">
|
||||
<stat name="chance" val="100" />
|
||||
<stat name="default_enabled" val="true" />
|
||||
<stat name="showDangerIcon" val="false" />
|
||||
<stat name="skillIdLvl" val="2994-1;" /> <!-- Aqua Elf Transformation -->
|
||||
<stat name="removeEffectsOnExit" val="true" />
|
||||
<node X="-16228" Y="-180440" />
|
||||
<node X="-16589" Y="-180386" />
|
||||
<node X="-16542" Y="-184948" />
|
||||
<node X="-16241" Y="-184940" />
|
||||
</zone>
|
||||
</list>
|
@ -25,6 +25,7 @@ import org.l2jmobius.commons.threads.ThreadPool;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.InstanceType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
@ -42,6 +43,7 @@ public class EffectZone extends ZoneType
|
||||
private int _reuse;
|
||||
protected boolean _bypassConditions;
|
||||
private boolean _isShowDangerIcon;
|
||||
private boolean _removeEffectsOnExit;
|
||||
protected Map<Integer, Integer> _skills;
|
||||
protected volatile Future<?> _task;
|
||||
|
||||
@ -54,6 +56,7 @@ public class EffectZone extends ZoneType
|
||||
setTargetType(InstanceType.Playable); // default only playable
|
||||
_bypassConditions = false;
|
||||
_isShowDangerIcon = true;
|
||||
_removeEffectsOnExit = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -119,6 +122,11 @@ public class EffectZone extends ZoneType
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "removeEffectsOnExit":
|
||||
{
|
||||
_removeEffectsOnExit = Boolean.parseBoolean(value);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
super.setParameter(name, value);
|
||||
@ -170,6 +178,17 @@ public class EffectZone extends ZoneType
|
||||
creature.sendPacket(new EtcStatusUpdate(creature.getActingPlayer()));
|
||||
}
|
||||
}
|
||||
if (_removeEffectsOnExit && (_skills != null))
|
||||
{
|
||||
for (Entry<Integer, Integer> e : _skills.entrySet())
|
||||
{
|
||||
final Skill skill = SkillData.getInstance().getSkill(e.getKey().intValue(), e.getValue().intValue());
|
||||
if ((skill != null) && creature.isAffectedBySkill(skill.getId()))
|
||||
{
|
||||
creature.stopSkillEffects(SkillFinishType.REMOVED, skill.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (getCharactersInside().isEmpty() && (_task != null))
|
||||
|
@ -42,6 +42,7 @@
|
||||
<xs:enumeration value="restartAllowedTime" />
|
||||
<xs:enumeration value="restartTime" />
|
||||
<xs:enumeration value="reuse" />
|
||||
<xs:enumeration value="removeEffectsOnExit" />
|
||||
<xs:enumeration value="showDangerIcon" />
|
||||
<xs:enumeration value="skillIdLvl" />
|
||||
<xs:enumeration value="spawnMaxX" />
|
||||
|
@ -2298,7 +2298,7 @@
|
||||
<stat name="showDangerIcon" val="true" />
|
||||
<stat name="initialDelay" val="3000" />
|
||||
<!-- <stat name="unitTick" val="20" /> -->
|
||||
<stat name="skillIdLvl" val="16734-1;" /> <!-- eaking Magic - Eradication -->
|
||||
<stat name="skillIdLvl" val="16734-1;" /> <!-- Leaking Magic - Eradication -->
|
||||
<node X="78023" Y="172262" />
|
||||
</zone>
|
||||
<zone name="gm_punish" id="100100" type="EffectZone" shape="Cylinder" minZ="-10610" maxZ="10150" rad="600">
|
||||
@ -2322,4 +2322,40 @@
|
||||
<node X="-130285" Y="27143" />
|
||||
<node X="-127035" Y="94029" />
|
||||
</zone>
|
||||
<!-- Primordial River - Elf Memory -->
|
||||
<zone name="primordial_river_elf" type="EffectZone" shape="NPoly" minZ="-3880" maxZ="-4125">
|
||||
<stat name="chance" val="100" />
|
||||
<stat name="default_enabled" val="true" />
|
||||
<stat name="showDangerIcon" val="false" />
|
||||
<stat name="skillIdLvl" val="2994-1;" /> <!-- Aqua Elf Transformation -->
|
||||
<stat name="removeEffectsOnExit" val="true" />
|
||||
<node X="-8947" Y="-188486" />
|
||||
<node X="-8946" Y="-188116" />
|
||||
<node X="-13481" Y="-188135" />
|
||||
<node X="-13502" Y="-188485" />
|
||||
</zone>
|
||||
<!-- Primordial River - Dark Elf - Kamael Memory -->
|
||||
<zone name="primordial_river_delf_kamael" type="EffectZone" shape="NPoly" minZ="-4921" maxZ="-3950">
|
||||
<stat name="chance" val="100" />
|
||||
<stat name="default_enabled" val="true" />
|
||||
<stat name="showDangerIcon" val="false" />
|
||||
<stat name="skillIdLvl" val="2994-1;" /> <!-- Aqua Elf Transformation -->
|
||||
<stat name="removeEffectsOnExit" val="true" />
|
||||
<node X="-14270" Y="-185558" />
|
||||
<node X="-13989" Y="-185944" />
|
||||
<node X="-10107" Y="-183203" />
|
||||
<node X="-10383" Y="-182826" />
|
||||
</zone>
|
||||
<!-- Primordial River - Dwarf - Human - Orc Memory -->
|
||||
<zone name="primordial_river_delf_human_orc" type="EffectZone" shape="NPoly" minZ="-4000" maxZ="-2420">
|
||||
<stat name="chance" val="100" />
|
||||
<stat name="default_enabled" val="true" />
|
||||
<stat name="showDangerIcon" val="false" />
|
||||
<stat name="skillIdLvl" val="2994-1;" /> <!-- Aqua Elf Transformation -->
|
||||
<stat name="removeEffectsOnExit" val="true" />
|
||||
<node X="-16228" Y="-180440" />
|
||||
<node X="-16589" Y="-180386" />
|
||||
<node X="-16542" Y="-184948" />
|
||||
<node X="-16241" Y="-184940" />
|
||||
</zone>
|
||||
</list>
|
@ -25,6 +25,7 @@ import org.l2jmobius.commons.threads.ThreadPool;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.InstanceType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
@ -42,6 +43,7 @@ public class EffectZone extends ZoneType
|
||||
private int _reuse;
|
||||
protected boolean _bypassConditions;
|
||||
private boolean _isShowDangerIcon;
|
||||
private boolean _removeEffectsOnExit;
|
||||
protected Map<Integer, Integer> _skills;
|
||||
protected volatile Future<?> _task;
|
||||
|
||||
@ -54,6 +56,7 @@ public class EffectZone extends ZoneType
|
||||
setTargetType(InstanceType.Playable); // default only playable
|
||||
_bypassConditions = false;
|
||||
_isShowDangerIcon = true;
|
||||
_removeEffectsOnExit = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -119,6 +122,11 @@ public class EffectZone extends ZoneType
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "removeEffectsOnExit":
|
||||
{
|
||||
_removeEffectsOnExit = Boolean.parseBoolean(value);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
super.setParameter(name, value);
|
||||
@ -170,6 +178,17 @@ public class EffectZone extends ZoneType
|
||||
creature.sendPacket(new EtcStatusUpdate(creature.getActingPlayer()));
|
||||
}
|
||||
}
|
||||
if (_removeEffectsOnExit && (_skills != null))
|
||||
{
|
||||
for (Entry<Integer, Integer> e : _skills.entrySet())
|
||||
{
|
||||
final Skill skill = SkillData.getInstance().getSkill(e.getKey().intValue(), e.getValue().intValue());
|
||||
if ((skill != null) && creature.isAffectedBySkill(skill.getId()))
|
||||
{
|
||||
creature.stopSkillEffects(SkillFinishType.REMOVED, skill.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (getCharactersInside().isEmpty() && (_task != null))
|
||||
|
@ -43,6 +43,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;
|
||||
|
||||
@ -54,6 +55,7 @@ public class EffectZone extends ZoneType
|
||||
_reuse = 30000;
|
||||
_enabled = true;
|
||||
_isShowDangerIcon = true;
|
||||
_removeEffectsOnExit = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -114,6 +116,11 @@ public class EffectZone extends ZoneType
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "removeEffectsOnExit":
|
||||
{
|
||||
_removeEffectsOnExit = Boolean.parseBoolean(value);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
super.setParameter(name, value);
|
||||
@ -154,6 +161,18 @@ public class EffectZone extends ZoneType
|
||||
creature.setInsideZone(ZoneId.DANGER_AREA, false);
|
||||
}
|
||||
|
||||
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);
|
||||
|
@ -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);
|
||||
|
@ -41,6 +41,7 @@
|
||||
<xs:enumeration value="restartAllowedTime" />
|
||||
<xs:enumeration value="restartTime" />
|
||||
<xs:enumeration value="reuse" />
|
||||
<xs:enumeration value="removeEffectsOnExit" />
|
||||
<xs:enumeration value="showDangerIcon" />
|
||||
<xs:enumeration value="skillIdLvl" />
|
||||
<xs:enumeration value="spawnMaxX" />
|
||||
|
@ -25,6 +25,7 @@ import org.l2jmobius.commons.threads.ThreadPool;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.InstanceType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
@ -42,6 +43,7 @@ public class EffectZone extends ZoneType
|
||||
private int _reuse;
|
||||
protected boolean _bypassConditions;
|
||||
private boolean _isShowDangerIcon;
|
||||
private boolean _removeEffectsOnExit;
|
||||
protected Map<Integer, Integer> _skills;
|
||||
protected volatile Future<?> _task;
|
||||
|
||||
@ -54,6 +56,7 @@ public class EffectZone extends ZoneType
|
||||
setTargetType(InstanceType.Playable); // default only playable
|
||||
_bypassConditions = false;
|
||||
_isShowDangerIcon = true;
|
||||
_removeEffectsOnExit = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -119,6 +122,11 @@ public class EffectZone extends ZoneType
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "removeEffectsOnExit":
|
||||
{
|
||||
_removeEffectsOnExit = Boolean.parseBoolean(value);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
super.setParameter(name, value);
|
||||
@ -170,6 +178,17 @@ public class EffectZone extends ZoneType
|
||||
creature.sendPacket(new EtcStatusUpdate(creature.getActingPlayer()));
|
||||
}
|
||||
}
|
||||
if (_removeEffectsOnExit && (_skills != null))
|
||||
{
|
||||
for (Entry<Integer, Integer> e : _skills.entrySet())
|
||||
{
|
||||
final Skill skill = SkillData.getInstance().getSkill(e.getKey().intValue(), e.getValue().intValue());
|
||||
if ((skill != null) && creature.isAffectedBySkill(skill.getId()))
|
||||
{
|
||||
creature.stopSkillEffects(SkillFinishType.REMOVED, skill.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (getCharactersInside().isEmpty() && (_task != null))
|
||||
|
@ -41,6 +41,7 @@
|
||||
<xs:enumeration value="restartAllowedTime" />
|
||||
<xs:enumeration value="restartTime" />
|
||||
<xs:enumeration value="reuse" />
|
||||
<xs:enumeration value="removeEffectsOnExit" />
|
||||
<xs:enumeration value="showDangerIcon" />
|
||||
<xs:enumeration value="skillIdLvl" />
|
||||
<xs:enumeration value="spawnMaxX" />
|
||||
|
@ -25,6 +25,7 @@ import org.l2jmobius.commons.threads.ThreadPool;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.InstanceType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
@ -42,6 +43,7 @@ public class EffectZone extends ZoneType
|
||||
private int _reuse;
|
||||
protected boolean _bypassConditions;
|
||||
private boolean _isShowDangerIcon;
|
||||
private boolean _removeEffectsOnExit;
|
||||
protected Map<Integer, Integer> _skills;
|
||||
protected volatile Future<?> _task;
|
||||
|
||||
@ -54,6 +56,7 @@ public class EffectZone extends ZoneType
|
||||
setTargetType(InstanceType.Playable); // default only playable
|
||||
_bypassConditions = false;
|
||||
_isShowDangerIcon = true;
|
||||
_removeEffectsOnExit = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -119,6 +122,11 @@ public class EffectZone extends ZoneType
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "removeEffectsOnExit":
|
||||
{
|
||||
_removeEffectsOnExit = Boolean.parseBoolean(value);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
super.setParameter(name, value);
|
||||
@ -170,6 +178,17 @@ public class EffectZone extends ZoneType
|
||||
creature.sendPacket(new EtcStatusUpdate(creature.getActingPlayer()));
|
||||
}
|
||||
}
|
||||
if (_removeEffectsOnExit && (_skills != null))
|
||||
{
|
||||
for (Entry<Integer, Integer> e : _skills.entrySet())
|
||||
{
|
||||
final Skill skill = SkillData.getInstance().getSkill(e.getKey().intValue(), e.getValue().intValue());
|
||||
if ((skill != null) && creature.isAffectedBySkill(skill.getId()))
|
||||
{
|
||||
creature.stopSkillEffects(SkillFinishType.REMOVED, skill.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (getCharactersInside().isEmpty() && (_task != null))
|
||||
|
@ -42,6 +42,7 @@
|
||||
<xs:enumeration value="restartAllowedTime" />
|
||||
<xs:enumeration value="restartTime" />
|
||||
<xs:enumeration value="reuse" />
|
||||
<xs:enumeration value="removeEffectsOnExit" />
|
||||
<xs:enumeration value="showDangerIcon" />
|
||||
<xs:enumeration value="skillIdLvl" />
|
||||
<xs:enumeration value="spawnMaxX" />
|
||||
|
@ -25,6 +25,7 @@ import org.l2jmobius.commons.threads.ThreadPool;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.InstanceType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
@ -42,6 +43,7 @@ public class EffectZone extends ZoneType
|
||||
private int _reuse;
|
||||
protected boolean _bypassConditions;
|
||||
private boolean _isShowDangerIcon;
|
||||
private boolean _removeEffectsOnExit;
|
||||
protected Map<Integer, Integer> _skills;
|
||||
protected volatile Future<?> _task;
|
||||
|
||||
@ -54,6 +56,7 @@ public class EffectZone extends ZoneType
|
||||
setTargetType(InstanceType.Playable); // default only playable
|
||||
_bypassConditions = false;
|
||||
_isShowDangerIcon = true;
|
||||
_removeEffectsOnExit = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -119,6 +122,11 @@ public class EffectZone extends ZoneType
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "removeEffectsOnExit":
|
||||
{
|
||||
_removeEffectsOnExit = Boolean.parseBoolean(value);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
super.setParameter(name, value);
|
||||
@ -170,6 +178,17 @@ public class EffectZone extends ZoneType
|
||||
creature.sendPacket(new EtcStatusUpdate(creature.getActingPlayer()));
|
||||
}
|
||||
}
|
||||
if (_removeEffectsOnExit && (_skills != null))
|
||||
{
|
||||
for (Entry<Integer, Integer> e : _skills.entrySet())
|
||||
{
|
||||
final Skill skill = SkillData.getInstance().getSkill(e.getKey().intValue(), e.getValue().intValue());
|
||||
if ((skill != null) && creature.isAffectedBySkill(skill.getId()))
|
||||
{
|
||||
creature.stopSkillEffects(SkillFinishType.REMOVED, skill.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (getCharactersInside().isEmpty() && (_task != null))
|
||||
|
@ -42,6 +42,7 @@
|
||||
<xs:enumeration value="restartAllowedTime" />
|
||||
<xs:enumeration value="restartTime" />
|
||||
<xs:enumeration value="reuse" />
|
||||
<xs:enumeration value="removeEffectsOnExit" />
|
||||
<xs:enumeration value="showDangerIcon" />
|
||||
<xs:enumeration value="skillIdLvl" />
|
||||
<xs:enumeration value="spawnMaxX" />
|
||||
|
@ -25,6 +25,7 @@ import org.l2jmobius.commons.threads.ThreadPool;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.InstanceType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
@ -42,6 +43,7 @@ public class EffectZone extends ZoneType
|
||||
private int _reuse;
|
||||
protected boolean _bypassConditions;
|
||||
private boolean _isShowDangerIcon;
|
||||
private boolean _removeEffectsOnExit;
|
||||
protected Map<Integer, Integer> _skills;
|
||||
protected volatile Future<?> _task;
|
||||
|
||||
@ -54,6 +56,7 @@ public class EffectZone extends ZoneType
|
||||
setTargetType(InstanceType.Playable); // default only playable
|
||||
_bypassConditions = false;
|
||||
_isShowDangerIcon = true;
|
||||
_removeEffectsOnExit = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -119,6 +122,11 @@ public class EffectZone extends ZoneType
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "removeEffectsOnExit":
|
||||
{
|
||||
_removeEffectsOnExit = Boolean.parseBoolean(value);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
super.setParameter(name, value);
|
||||
@ -170,6 +178,17 @@ public class EffectZone extends ZoneType
|
||||
creature.sendPacket(new EtcStatusUpdate(creature.getActingPlayer()));
|
||||
}
|
||||
}
|
||||
if (_removeEffectsOnExit && (_skills != null))
|
||||
{
|
||||
for (Entry<Integer, Integer> e : _skills.entrySet())
|
||||
{
|
||||
final Skill skill = SkillData.getInstance().getSkill(e.getKey().intValue(), e.getValue().intValue());
|
||||
if ((skill != null) && creature.isAffectedBySkill(skill.getId()))
|
||||
{
|
||||
creature.stopSkillEffects(SkillFinishType.REMOVED, skill.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (getCharactersInside().isEmpty() && (_task != null))
|
||||
|
@ -42,6 +42,7 @@
|
||||
<xs:enumeration value="restartAllowedTime" />
|
||||
<xs:enumeration value="restartTime" />
|
||||
<xs:enumeration value="reuse" />
|
||||
<xs:enumeration value="removeEffectsOnExit" />
|
||||
<xs:enumeration value="showDangerIcon" />
|
||||
<xs:enumeration value="skillIdLvl" />
|
||||
<xs:enumeration value="spawnMaxX" />
|
||||
|
@ -25,6 +25,7 @@ import org.l2jmobius.commons.threads.ThreadPool;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.InstanceType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
@ -42,6 +43,7 @@ public class EffectZone extends ZoneType
|
||||
private int _reuse;
|
||||
protected boolean _bypassConditions;
|
||||
private boolean _isShowDangerIcon;
|
||||
private boolean _removeEffectsOnExit;
|
||||
protected Map<Integer, Integer> _skills;
|
||||
protected volatile Future<?> _task;
|
||||
|
||||
@ -54,6 +56,7 @@ public class EffectZone extends ZoneType
|
||||
setTargetType(InstanceType.Playable); // default only playable
|
||||
_bypassConditions = false;
|
||||
_isShowDangerIcon = true;
|
||||
_removeEffectsOnExit = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -119,6 +122,11 @@ public class EffectZone extends ZoneType
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "removeEffectsOnExit":
|
||||
{
|
||||
_removeEffectsOnExit = Boolean.parseBoolean(value);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
super.setParameter(name, value);
|
||||
@ -170,6 +178,17 @@ public class EffectZone extends ZoneType
|
||||
creature.sendPacket(new EtcStatusUpdate(creature.getActingPlayer()));
|
||||
}
|
||||
}
|
||||
if (_removeEffectsOnExit && (_skills != null))
|
||||
{
|
||||
for (Entry<Integer, Integer> e : _skills.entrySet())
|
||||
{
|
||||
final Skill skill = SkillData.getInstance().getSkill(e.getKey().intValue(), e.getValue().intValue());
|
||||
if ((skill != null) && creature.isAffectedBySkill(skill.getId()))
|
||||
{
|
||||
creature.stopSkillEffects(SkillFinishType.REMOVED, skill.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (getCharactersInside().isEmpty() && (_task != null))
|
||||
|
@ -42,6 +42,7 @@
|
||||
<xs:enumeration value="restartAllowedTime" />
|
||||
<xs:enumeration value="restartTime" />
|
||||
<xs:enumeration value="reuse" />
|
||||
<xs:enumeration value="removeEffectsOnExit" />
|
||||
<xs:enumeration value="showDangerIcon" />
|
||||
<xs:enumeration value="skillIdLvl" />
|
||||
<xs:enumeration value="spawnMaxX" />
|
||||
|
@ -25,6 +25,7 @@ import org.l2jmobius.commons.threads.ThreadPool;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.InstanceType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
@ -42,6 +43,7 @@ public class EffectZone extends ZoneType
|
||||
private int _reuse;
|
||||
protected boolean _bypassConditions;
|
||||
private boolean _isShowDangerIcon;
|
||||
private boolean _removeEffectsOnExit;
|
||||
protected Map<Integer, Integer> _skills;
|
||||
protected volatile Future<?> _task;
|
||||
|
||||
@ -54,6 +56,7 @@ public class EffectZone extends ZoneType
|
||||
setTargetType(InstanceType.Playable); // default only playable
|
||||
_bypassConditions = false;
|
||||
_isShowDangerIcon = true;
|
||||
_removeEffectsOnExit = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -119,6 +122,11 @@ public class EffectZone extends ZoneType
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "removeEffectsOnExit":
|
||||
{
|
||||
_removeEffectsOnExit = Boolean.parseBoolean(value);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
super.setParameter(name, value);
|
||||
@ -170,6 +178,17 @@ public class EffectZone extends ZoneType
|
||||
creature.sendPacket(new EtcStatusUpdate(creature.getActingPlayer()));
|
||||
}
|
||||
}
|
||||
if (_removeEffectsOnExit && (_skills != null))
|
||||
{
|
||||
for (Entry<Integer, Integer> e : _skills.entrySet())
|
||||
{
|
||||
final Skill skill = SkillData.getInstance().getSkill(e.getKey().intValue(), e.getValue().intValue());
|
||||
if ((skill != null) && creature.isAffectedBySkill(skill.getId()))
|
||||
{
|
||||
creature.stopSkillEffects(SkillFinishType.REMOVED, skill.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (getCharactersInside().isEmpty() && (_task != null))
|
||||
|
@ -42,6 +42,7 @@
|
||||
<xs:enumeration value="restartAllowedTime" />
|
||||
<xs:enumeration value="restartTime" />
|
||||
<xs:enumeration value="reuse" />
|
||||
<xs:enumeration value="removeEffectsOnExit" />
|
||||
<xs:enumeration value="showDangerIcon" />
|
||||
<xs:enumeration value="skillIdLvl" />
|
||||
<xs:enumeration value="spawnMaxX" />
|
||||
|
@ -25,6 +25,7 @@ import org.l2jmobius.commons.threads.ThreadPool;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.InstanceType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
@ -42,6 +43,7 @@ public class EffectZone extends ZoneType
|
||||
private int _reuse;
|
||||
protected boolean _bypassConditions;
|
||||
private boolean _isShowDangerIcon;
|
||||
private boolean _removeEffectsOnExit;
|
||||
protected Map<Integer, Integer> _skills;
|
||||
protected volatile Future<?> _task;
|
||||
|
||||
@ -54,6 +56,7 @@ public class EffectZone extends ZoneType
|
||||
setTargetType(InstanceType.Playable); // default only playable
|
||||
_bypassConditions = false;
|
||||
_isShowDangerIcon = true;
|
||||
_removeEffectsOnExit = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -119,6 +122,11 @@ public class EffectZone extends ZoneType
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "removeEffectsOnExit":
|
||||
{
|
||||
_removeEffectsOnExit = Boolean.parseBoolean(value);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
super.setParameter(name, value);
|
||||
@ -170,6 +178,17 @@ public class EffectZone extends ZoneType
|
||||
creature.sendPacket(new EtcStatusUpdate(creature.getActingPlayer()));
|
||||
}
|
||||
}
|
||||
if (_removeEffectsOnExit && (_skills != null))
|
||||
{
|
||||
for (Entry<Integer, Integer> e : _skills.entrySet())
|
||||
{
|
||||
final Skill skill = SkillData.getInstance().getSkill(e.getKey().intValue(), e.getValue().intValue());
|
||||
if ((skill != null) && creature.isAffectedBySkill(skill.getId()))
|
||||
{
|
||||
creature.stopSkillEffects(SkillFinishType.REMOVED, skill.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (getCharactersInside().isEmpty() && (_task != null))
|
||||
|
@ -42,6 +42,7 @@
|
||||
<xs:enumeration value="restartAllowedTime" />
|
||||
<xs:enumeration value="restartTime" />
|
||||
<xs:enumeration value="reuse" />
|
||||
<xs:enumeration value="removeEffectsOnExit" />
|
||||
<xs:enumeration value="showDangerIcon" />
|
||||
<xs:enumeration value="skillIdLvl" />
|
||||
<xs:enumeration value="spawnMaxX" />
|
||||
|
@ -25,6 +25,7 @@ import org.l2jmobius.commons.threads.ThreadPool;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.InstanceType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
@ -42,6 +43,7 @@ public class EffectZone extends ZoneType
|
||||
private int _reuse;
|
||||
protected boolean _bypassConditions;
|
||||
private boolean _isShowDangerIcon;
|
||||
private boolean _removeEffectsOnExit;
|
||||
protected Map<Integer, Integer> _skills;
|
||||
protected volatile Future<?> _task;
|
||||
|
||||
@ -54,6 +56,7 @@ public class EffectZone extends ZoneType
|
||||
setTargetType(InstanceType.Playable); // default only playable
|
||||
_bypassConditions = false;
|
||||
_isShowDangerIcon = true;
|
||||
_removeEffectsOnExit = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -119,6 +122,11 @@ public class EffectZone extends ZoneType
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "removeEffectsOnExit":
|
||||
{
|
||||
_removeEffectsOnExit = Boolean.parseBoolean(value);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
super.setParameter(name, value);
|
||||
@ -170,6 +178,17 @@ public class EffectZone extends ZoneType
|
||||
creature.sendPacket(new EtcStatusUpdate(creature.getActingPlayer()));
|
||||
}
|
||||
}
|
||||
if (_removeEffectsOnExit && (_skills != null))
|
||||
{
|
||||
for (Entry<Integer, Integer> e : _skills.entrySet())
|
||||
{
|
||||
final Skill skill = SkillData.getInstance().getSkill(e.getKey().intValue(), e.getValue().intValue());
|
||||
if ((skill != null) && creature.isAffectedBySkill(skill.getId()))
|
||||
{
|
||||
creature.stopSkillEffects(SkillFinishType.REMOVED, skill.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (getCharactersInside().isEmpty() && (_task != null))
|
||||
|
@ -42,6 +42,7 @@
|
||||
<xs:enumeration value="restartAllowedTime" />
|
||||
<xs:enumeration value="restartTime" />
|
||||
<xs:enumeration value="reuse" />
|
||||
<xs:enumeration value="removeEffectsOnExit" />
|
||||
<xs:enumeration value="showDangerIcon" />
|
||||
<xs:enumeration value="skillIdLvl" />
|
||||
<xs:enumeration value="spawnMaxX" />
|
||||
|
@ -25,6 +25,7 @@ import org.l2jmobius.commons.threads.ThreadPool;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.InstanceType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
@ -42,6 +43,7 @@ public class EffectZone extends ZoneType
|
||||
private int _reuse;
|
||||
protected boolean _bypassConditions;
|
||||
private boolean _isShowDangerIcon;
|
||||
private boolean _removeEffectsOnExit;
|
||||
protected Map<Integer, Integer> _skills;
|
||||
protected volatile Future<?> _task;
|
||||
|
||||
@ -54,6 +56,7 @@ public class EffectZone extends ZoneType
|
||||
setTargetType(InstanceType.Playable); // default only playable
|
||||
_bypassConditions = false;
|
||||
_isShowDangerIcon = true;
|
||||
_removeEffectsOnExit = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -119,6 +122,11 @@ public class EffectZone extends ZoneType
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "removeEffectsOnExit":
|
||||
{
|
||||
_removeEffectsOnExit = Boolean.parseBoolean(value);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
super.setParameter(name, value);
|
||||
@ -170,6 +178,17 @@ public class EffectZone extends ZoneType
|
||||
creature.sendPacket(new EtcStatusUpdate(creature.getActingPlayer()));
|
||||
}
|
||||
}
|
||||
if (_removeEffectsOnExit && (_skills != null))
|
||||
{
|
||||
for (Entry<Integer, Integer> e : _skills.entrySet())
|
||||
{
|
||||
final Skill skill = SkillData.getInstance().getSkill(e.getKey().intValue(), e.getValue().intValue());
|
||||
if ((skill != null) && creature.isAffectedBySkill(skill.getId()))
|
||||
{
|
||||
creature.stopSkillEffects(SkillFinishType.REMOVED, skill.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (getCharactersInside().isEmpty() && (_task != null))
|
||||
|
@ -42,6 +42,7 @@
|
||||
<xs:enumeration value="restartAllowedTime" />
|
||||
<xs:enumeration value="restartTime" />
|
||||
<xs:enumeration value="reuse" />
|
||||
<xs:enumeration value="removeEffectsOnExit" />
|
||||
<xs:enumeration value="showDangerIcon" />
|
||||
<xs:enumeration value="skillIdLvl" />
|
||||
<xs:enumeration value="spawnMaxX" />
|
||||
|
@ -25,6 +25,7 @@ import org.l2jmobius.commons.threads.ThreadPool;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.InstanceType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
@ -42,6 +43,7 @@ public class EffectZone extends ZoneType
|
||||
private int _reuse;
|
||||
protected boolean _bypassConditions;
|
||||
private boolean _isShowDangerIcon;
|
||||
private boolean _removeEffectsOnExit;
|
||||
protected Map<Integer, Integer> _skills;
|
||||
protected volatile Future<?> _task;
|
||||
|
||||
@ -54,6 +56,7 @@ public class EffectZone extends ZoneType
|
||||
setTargetType(InstanceType.Playable); // default only playable
|
||||
_bypassConditions = false;
|
||||
_isShowDangerIcon = true;
|
||||
_removeEffectsOnExit = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -119,6 +122,11 @@ public class EffectZone extends ZoneType
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "removeEffectsOnExit":
|
||||
{
|
||||
_removeEffectsOnExit = Boolean.parseBoolean(value);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
super.setParameter(name, value);
|
||||
@ -170,6 +178,17 @@ public class EffectZone extends ZoneType
|
||||
creature.sendPacket(new EtcStatusUpdate(creature.getActingPlayer()));
|
||||
}
|
||||
}
|
||||
if (_removeEffectsOnExit && (_skills != null))
|
||||
{
|
||||
for (Entry<Integer, Integer> e : _skills.entrySet())
|
||||
{
|
||||
final Skill skill = SkillData.getInstance().getSkill(e.getKey().intValue(), e.getValue().intValue());
|
||||
if ((skill != null) && creature.isAffectedBySkill(skill.getId()))
|
||||
{
|
||||
creature.stopSkillEffects(SkillFinishType.REMOVED, skill.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (getCharactersInside().isEmpty() && (_task != null))
|
||||
|
@ -42,6 +42,7 @@
|
||||
<xs:enumeration value="restartAllowedTime" />
|
||||
<xs:enumeration value="restartTime" />
|
||||
<xs:enumeration value="reuse" />
|
||||
<xs:enumeration value="removeEffectsOnExit" />
|
||||
<xs:enumeration value="showDangerIcon" />
|
||||
<xs:enumeration value="skillIdLvl" />
|
||||
<xs:enumeration value="spawnMaxX" />
|
||||
|
@ -25,6 +25,7 @@ import org.l2jmobius.commons.threads.ThreadPool;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.InstanceType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
@ -42,6 +43,7 @@ public class EffectZone extends ZoneType
|
||||
private int _reuse;
|
||||
protected boolean _bypassConditions;
|
||||
private boolean _isShowDangerIcon;
|
||||
private boolean _removeEffectsOnExit;
|
||||
protected Map<Integer, Integer> _skills;
|
||||
protected volatile Future<?> _task;
|
||||
|
||||
@ -54,6 +56,7 @@ public class EffectZone extends ZoneType
|
||||
setTargetType(InstanceType.Playable); // default only playable
|
||||
_bypassConditions = false;
|
||||
_isShowDangerIcon = true;
|
||||
_removeEffectsOnExit = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -119,6 +122,11 @@ public class EffectZone extends ZoneType
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "removeEffectsOnExit":
|
||||
{
|
||||
_removeEffectsOnExit = Boolean.parseBoolean(value);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
super.setParameter(name, value);
|
||||
@ -170,6 +178,17 @@ public class EffectZone extends ZoneType
|
||||
creature.sendPacket(new EtcStatusUpdate(creature.getActingPlayer()));
|
||||
}
|
||||
}
|
||||
if (_removeEffectsOnExit && (_skills != null))
|
||||
{
|
||||
for (Entry<Integer, Integer> e : _skills.entrySet())
|
||||
{
|
||||
final Skill skill = SkillData.getInstance().getSkill(e.getKey().intValue(), e.getValue().intValue());
|
||||
if ((skill != null) && creature.isAffectedBySkill(skill.getId()))
|
||||
{
|
||||
creature.stopSkillEffects(SkillFinishType.REMOVED, skill.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (getCharactersInside().isEmpty() && (_task != null))
|
||||
|
@ -42,6 +42,7 @@
|
||||
<xs:enumeration value="restartAllowedTime" />
|
||||
<xs:enumeration value="restartTime" />
|
||||
<xs:enumeration value="reuse" />
|
||||
<xs:enumeration value="removeEffectsOnExit" />
|
||||
<xs:enumeration value="showDangerIcon" />
|
||||
<xs:enumeration value="skillIdLvl" />
|
||||
<xs:enumeration value="spawnMaxX" />
|
||||
|
@ -25,6 +25,7 @@ import org.l2jmobius.commons.threads.ThreadPool;
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.InstanceType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.zone.ZoneId;
|
||||
@ -42,6 +43,7 @@ public class EffectZone extends ZoneType
|
||||
private int _reuse;
|
||||
protected boolean _bypassConditions;
|
||||
private boolean _isShowDangerIcon;
|
||||
private boolean _removeEffectsOnExit;
|
||||
protected Map<Integer, Integer> _skills;
|
||||
protected volatile Future<?> _task;
|
||||
|
||||
@ -54,6 +56,7 @@ public class EffectZone extends ZoneType
|
||||
setTargetType(InstanceType.Playable); // default only playable
|
||||
_bypassConditions = false;
|
||||
_isShowDangerIcon = true;
|
||||
_removeEffectsOnExit = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -119,6 +122,11 @@ public class EffectZone extends ZoneType
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "removeEffectsOnExit":
|
||||
{
|
||||
_removeEffectsOnExit = Boolean.parseBoolean(value);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
super.setParameter(name, value);
|
||||
@ -170,6 +178,17 @@ public class EffectZone extends ZoneType
|
||||
creature.sendPacket(new EtcStatusUpdate(creature.getActingPlayer()));
|
||||
}
|
||||
}
|
||||
if (_removeEffectsOnExit && (_skills != null))
|
||||
{
|
||||
for (Entry<Integer, Integer> e : _skills.entrySet())
|
||||
{
|
||||
final Skill skill = SkillData.getInstance().getSkill(e.getKey().intValue(), e.getValue().intValue());
|
||||
if ((skill != null) && creature.isAffectedBySkill(skill.getId()))
|
||||
{
|
||||
creature.stopSkillEffects(SkillFinishType.REMOVED, skill.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (getCharactersInside().isEmpty() && (_task != null))
|
||||
|
Loading…
Reference in New Issue
Block a user