Addition of removedOnUnequipWeapon skill parameter.
This commit is contained in:
parent
25678c3f9c
commit
eb9d737495
@ -2358,6 +2358,7 @@
|
||||
<xs:element name="channelingStart" type="xs:decimal" />
|
||||
<xs:element name="channelingTickInterval" type="xs:decimal" />
|
||||
<xs:element name="removedOnDamage" type="xs:boolean" />
|
||||
<xs:element name="removedOnUnequipWeapon" type="xs:boolean" />
|
||||
<xs:element name="removedOnAnyActionExceptMove" type="xs:boolean" />
|
||||
<xs:element name="itemConsumeSteps" type="xs:unsignedByte" />
|
||||
<xs:element name="effect">
|
||||
|
@ -394,10 +394,11 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
});
|
||||
}
|
||||
// Must check for toggle skill item conditions.
|
||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||
for (Skill skill : player.getAllSkills())
|
||||
{
|
||||
if (skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player))
|
||||
if ((skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player)) //
|
||||
|| (it.isWeapon() && skill.isRemovedOnUnequipWeapon()))
|
||||
{
|
||||
player.stopSkillEffects(true, skill.getId());
|
||||
update.compareAndSet(false, true);
|
||||
|
@ -151,6 +151,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
private final boolean _removedOnAnyActionExceptMove;
|
||||
private final boolean _removedOnDamage;
|
||||
private final boolean _removedOnUnequipWeapon;
|
||||
|
||||
private final boolean _blockedInOlympiad;
|
||||
|
||||
@ -345,6 +346,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
_removedOnAnyActionExceptMove = set.getBoolean("removedOnAnyActionExceptMove", false);
|
||||
_removedOnDamage = set.getBoolean("removedOnDamage", false);
|
||||
_removedOnUnequipWeapon = set.getBoolean("removedOnUnequipWeapon", false);
|
||||
|
||||
_blockedInOlympiad = set.getBoolean("blockedInOlympiad", false);
|
||||
|
||||
@ -587,6 +589,14 @@ public class Skill implements IIdentifiable
|
||||
return _removedOnDamage;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill effects should be removed on unequip weapon
|
||||
*/
|
||||
public boolean isRemovedOnUnequipWeapon()
|
||||
{
|
||||
return _removedOnUnequipWeapon;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill can not be used in olympiad.
|
||||
*/
|
||||
|
@ -2453,6 +2453,7 @@
|
||||
<xs:element name="channelingStart" type="xs:decimal" />
|
||||
<xs:element name="channelingTickInterval" type="xs:decimal" />
|
||||
<xs:element name="removedOnDamage" type="xs:boolean" />
|
||||
<xs:element name="removedOnUnequipWeapon" type="xs:boolean" />
|
||||
<xs:element name="removedOnAnyActionExceptMove" type="xs:boolean" />
|
||||
<xs:element name="itemConsumeSteps" type="xs:unsignedByte" />
|
||||
<xs:element name="effect">
|
||||
|
@ -397,10 +397,11 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
});
|
||||
}
|
||||
// Must check for toggle skill item conditions.
|
||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||
for (Skill skill : player.getAllSkills())
|
||||
{
|
||||
if (skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player))
|
||||
if ((skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player)) //
|
||||
|| (it.isWeapon() && skill.isRemovedOnUnequipWeapon()))
|
||||
{
|
||||
player.stopSkillEffects(true, skill.getId());
|
||||
update.compareAndSet(false, true);
|
||||
|
@ -151,6 +151,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
private final boolean _removedOnAnyActionExceptMove;
|
||||
private final boolean _removedOnDamage;
|
||||
private final boolean _removedOnUnequipWeapon;
|
||||
|
||||
private final boolean _blockedInOlympiad;
|
||||
|
||||
@ -345,6 +346,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
_removedOnAnyActionExceptMove = set.getBoolean("removedOnAnyActionExceptMove", false);
|
||||
_removedOnDamage = set.getBoolean("removedOnDamage", false);
|
||||
_removedOnUnequipWeapon = set.getBoolean("removedOnUnequipWeapon", false);
|
||||
|
||||
_blockedInOlympiad = set.getBoolean("blockedInOlympiad", false);
|
||||
|
||||
@ -587,6 +589,14 @@ public class Skill implements IIdentifiable
|
||||
return _removedOnDamage;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill effects should be removed on unequip weapon
|
||||
*/
|
||||
public boolean isRemovedOnUnequipWeapon()
|
||||
{
|
||||
return _removedOnUnequipWeapon;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill can not be used in olympiad.
|
||||
*/
|
||||
|
@ -2485,6 +2485,7 @@
|
||||
<xs:element name="channelingStart" type="xs:decimal" />
|
||||
<xs:element name="channelingTickInterval" type="xs:decimal" />
|
||||
<xs:element name="removedOnDamage" type="xs:boolean" />
|
||||
<xs:element name="removedOnUnequipWeapon" type="xs:boolean" />
|
||||
<xs:element name="removedOnAnyActionExceptMove" type="xs:boolean" />
|
||||
<xs:element name="itemConsumeSteps" type="xs:unsignedByte" />
|
||||
<xs:element name="effect">
|
||||
|
@ -397,10 +397,11 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
});
|
||||
}
|
||||
// Must check for toggle skill item conditions.
|
||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||
for (Skill skill : player.getAllSkills())
|
||||
{
|
||||
if (skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player))
|
||||
if ((skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player)) //
|
||||
|| (it.isWeapon() && skill.isRemovedOnUnequipWeapon()))
|
||||
{
|
||||
player.stopSkillEffects(true, skill.getId());
|
||||
update.compareAndSet(false, true);
|
||||
|
@ -151,6 +151,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
private final boolean _removedOnAnyActionExceptMove;
|
||||
private final boolean _removedOnDamage;
|
||||
private final boolean _removedOnUnequipWeapon;
|
||||
|
||||
private final boolean _blockedInOlympiad;
|
||||
|
||||
@ -345,6 +346,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
_removedOnAnyActionExceptMove = set.getBoolean("removedOnAnyActionExceptMove", false);
|
||||
_removedOnDamage = set.getBoolean("removedOnDamage", false);
|
||||
_removedOnUnequipWeapon = set.getBoolean("removedOnUnequipWeapon", false);
|
||||
|
||||
_blockedInOlympiad = set.getBoolean("blockedInOlympiad", false);
|
||||
|
||||
@ -587,6 +589,14 @@ public class Skill implements IIdentifiable
|
||||
return _removedOnDamage;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill effects should be removed on unequip weapon
|
||||
*/
|
||||
public boolean isRemovedOnUnequipWeapon()
|
||||
{
|
||||
return _removedOnUnequipWeapon;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill can not be used in olympiad.
|
||||
*/
|
||||
|
@ -2497,6 +2497,7 @@
|
||||
<xs:element name="channelingStart" type="xs:decimal" />
|
||||
<xs:element name="channelingTickInterval" type="xs:decimal" />
|
||||
<xs:element name="removedOnDamage" type="xs:boolean" />
|
||||
<xs:element name="removedOnUnequipWeapon" type="xs:boolean" />
|
||||
<xs:element name="removedOnAnyActionExceptMove" type="xs:boolean" />
|
||||
<xs:element name="itemConsumeSteps" type="xs:unsignedByte" />
|
||||
<xs:element name="effect">
|
||||
|
@ -397,10 +397,11 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
});
|
||||
}
|
||||
// Must check for toggle skill item conditions.
|
||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||
for (Skill skill : player.getAllSkills())
|
||||
{
|
||||
if (skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player))
|
||||
if ((skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player)) //
|
||||
|| (it.isWeapon() && skill.isRemovedOnUnequipWeapon()))
|
||||
{
|
||||
player.stopSkillEffects(true, skill.getId());
|
||||
update.compareAndSet(false, true);
|
||||
|
@ -151,6 +151,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
private final boolean _removedOnAnyActionExceptMove;
|
||||
private final boolean _removedOnDamage;
|
||||
private final boolean _removedOnUnequipWeapon;
|
||||
|
||||
private final boolean _blockedInOlympiad;
|
||||
|
||||
@ -345,6 +346,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
_removedOnAnyActionExceptMove = set.getBoolean("removedOnAnyActionExceptMove", false);
|
||||
_removedOnDamage = set.getBoolean("removedOnDamage", false);
|
||||
_removedOnUnequipWeapon = set.getBoolean("removedOnUnequipWeapon", false);
|
||||
|
||||
_blockedInOlympiad = set.getBoolean("blockedInOlympiad", false);
|
||||
|
||||
@ -587,6 +589,14 @@ public class Skill implements IIdentifiable
|
||||
return _removedOnDamage;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill effects should be removed on unequip weapon
|
||||
*/
|
||||
public boolean isRemovedOnUnequipWeapon()
|
||||
{
|
||||
return _removedOnUnequipWeapon;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill can not be used in olympiad.
|
||||
*/
|
||||
|
@ -2501,6 +2501,7 @@
|
||||
<xs:element name="channelingStart" type="xs:decimal" />
|
||||
<xs:element name="channelingTickInterval" type="xs:decimal" />
|
||||
<xs:element name="removedOnDamage" type="xs:boolean" />
|
||||
<xs:element name="removedOnUnequipWeapon" type="xs:boolean" />
|
||||
<xs:element name="removedOnAnyActionExceptMove" type="xs:boolean" />
|
||||
<xs:element name="itemConsumeSteps" type="xs:unsignedByte" />
|
||||
<xs:element name="effect">
|
||||
|
@ -402,10 +402,11 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
});
|
||||
}
|
||||
// Must check for toggle skill item conditions.
|
||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||
for (Skill skill : player.getAllSkills())
|
||||
{
|
||||
if (skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player))
|
||||
if ((skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player)) //
|
||||
|| (it.isWeapon() && skill.isRemovedOnUnequipWeapon()))
|
||||
{
|
||||
player.stopSkillEffects(true, skill.getId());
|
||||
update.compareAndSet(false, true);
|
||||
|
@ -151,6 +151,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
private final boolean _removedOnAnyActionExceptMove;
|
||||
private final boolean _removedOnDamage;
|
||||
private final boolean _removedOnUnequipWeapon;
|
||||
|
||||
private final boolean _blockedInOlympiad;
|
||||
|
||||
@ -345,6 +346,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
_removedOnAnyActionExceptMove = set.getBoolean("removedOnAnyActionExceptMove", false);
|
||||
_removedOnDamage = set.getBoolean("removedOnDamage", false);
|
||||
_removedOnUnequipWeapon = set.getBoolean("removedOnUnequipWeapon", false);
|
||||
|
||||
_blockedInOlympiad = set.getBoolean("blockedInOlympiad", false);
|
||||
|
||||
@ -587,6 +589,14 @@ public class Skill implements IIdentifiable
|
||||
return _removedOnDamage;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill effects should be removed on unequip weapon
|
||||
*/
|
||||
public boolean isRemovedOnUnequipWeapon()
|
||||
{
|
||||
return _removedOnUnequipWeapon;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill can not be used in olympiad.
|
||||
*/
|
||||
|
@ -2501,6 +2501,7 @@
|
||||
<xs:element name="channelingStart" type="xs:decimal" />
|
||||
<xs:element name="channelingTickInterval" type="xs:decimal" />
|
||||
<xs:element name="removedOnDamage" type="xs:boolean" />
|
||||
<xs:element name="removedOnUnequipWeapon" type="xs:boolean" />
|
||||
<xs:element name="removedOnAnyActionExceptMove" type="xs:boolean" />
|
||||
<xs:element name="itemConsumeSteps" type="xs:unsignedByte" />
|
||||
<xs:element name="effect">
|
||||
|
@ -425,10 +425,11 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
});
|
||||
}
|
||||
// Must check for toggle skill item conditions.
|
||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||
for (Skill skill : player.getAllSkills())
|
||||
{
|
||||
if (skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player))
|
||||
if ((skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player)) //
|
||||
|| (it.isWeapon() && skill.isRemovedOnUnequipWeapon()))
|
||||
{
|
||||
player.stopSkillEffects(true, skill.getId());
|
||||
update.compareAndSet(false, true);
|
||||
|
@ -151,6 +151,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
private final boolean _removedOnAnyActionExceptMove;
|
||||
private final boolean _removedOnDamage;
|
||||
private final boolean _removedOnUnequipWeapon;
|
||||
|
||||
private final boolean _blockedInOlympiad;
|
||||
|
||||
@ -345,6 +346,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
_removedOnAnyActionExceptMove = set.getBoolean("removedOnAnyActionExceptMove", false);
|
||||
_removedOnDamage = set.getBoolean("removedOnDamage", false);
|
||||
_removedOnUnequipWeapon = set.getBoolean("removedOnUnequipWeapon", false);
|
||||
|
||||
_blockedInOlympiad = set.getBoolean("blockedInOlympiad", false);
|
||||
|
||||
@ -587,6 +589,14 @@ public class Skill implements IIdentifiable
|
||||
return _removedOnDamage;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill effects should be removed on unequip weapon
|
||||
*/
|
||||
public boolean isRemovedOnUnequipWeapon()
|
||||
{
|
||||
return _removedOnUnequipWeapon;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill can not be used in olympiad.
|
||||
*/
|
||||
|
@ -2501,6 +2501,7 @@
|
||||
<xs:element name="channelingStart" type="xs:decimal" />
|
||||
<xs:element name="channelingTickInterval" type="xs:decimal" />
|
||||
<xs:element name="removedOnDamage" type="xs:boolean" />
|
||||
<xs:element name="removedOnUnequipWeapon" type="xs:boolean" />
|
||||
<xs:element name="removedOnAnyActionExceptMove" type="xs:boolean" />
|
||||
<xs:element name="itemConsumeSteps" type="xs:unsignedByte" />
|
||||
<xs:element name="effect">
|
||||
|
@ -425,10 +425,11 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
});
|
||||
}
|
||||
// Must check for toggle skill item conditions.
|
||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||
for (Skill skill : player.getAllSkills())
|
||||
{
|
||||
if (skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player))
|
||||
if ((skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player)) //
|
||||
|| (it.isWeapon() && skill.isRemovedOnUnequipWeapon()))
|
||||
{
|
||||
player.stopSkillEffects(true, skill.getId());
|
||||
update.compareAndSet(false, true);
|
||||
|
@ -151,6 +151,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
private final boolean _removedOnAnyActionExceptMove;
|
||||
private final boolean _removedOnDamage;
|
||||
private final boolean _removedOnUnequipWeapon;
|
||||
|
||||
private final boolean _blockedInOlympiad;
|
||||
|
||||
@ -345,6 +346,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
_removedOnAnyActionExceptMove = set.getBoolean("removedOnAnyActionExceptMove", false);
|
||||
_removedOnDamage = set.getBoolean("removedOnDamage", false);
|
||||
_removedOnUnequipWeapon = set.getBoolean("removedOnUnequipWeapon", false);
|
||||
|
||||
_blockedInOlympiad = set.getBoolean("blockedInOlympiad", false);
|
||||
|
||||
@ -587,6 +589,14 @@ public class Skill implements IIdentifiable
|
||||
return _removedOnDamage;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill effects should be removed on unequip weapon
|
||||
*/
|
||||
public boolean isRemovedOnUnequipWeapon()
|
||||
{
|
||||
return _removedOnUnequipWeapon;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill can not be used in olympiad.
|
||||
*/
|
||||
|
@ -2501,6 +2501,7 @@
|
||||
<xs:element name="channelingStart" type="xs:decimal" />
|
||||
<xs:element name="channelingTickInterval" type="xs:decimal" />
|
||||
<xs:element name="removedOnDamage" type="xs:boolean" />
|
||||
<xs:element name="removedOnUnequipWeapon" type="xs:boolean" />
|
||||
<xs:element name="removedOnAnyActionExceptMove" type="xs:boolean" />
|
||||
<xs:element name="itemConsumeSteps" type="xs:unsignedByte" />
|
||||
<xs:element name="effect">
|
||||
|
@ -425,10 +425,11 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
});
|
||||
}
|
||||
// Must check for toggle skill item conditions.
|
||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||
for (Skill skill : player.getAllSkills())
|
||||
{
|
||||
if (skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player))
|
||||
if ((skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player)) //
|
||||
|| (it.isWeapon() && skill.isRemovedOnUnequipWeapon()))
|
||||
{
|
||||
player.stopSkillEffects(true, skill.getId());
|
||||
update.compareAndSet(false, true);
|
||||
|
@ -151,6 +151,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
private final boolean _removedOnAnyActionExceptMove;
|
||||
private final boolean _removedOnDamage;
|
||||
private final boolean _removedOnUnequipWeapon;
|
||||
|
||||
private final boolean _blockedInOlympiad;
|
||||
|
||||
@ -345,6 +346,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
_removedOnAnyActionExceptMove = set.getBoolean("removedOnAnyActionExceptMove", false);
|
||||
_removedOnDamage = set.getBoolean("removedOnDamage", false);
|
||||
_removedOnUnequipWeapon = set.getBoolean("removedOnUnequipWeapon", false);
|
||||
|
||||
_blockedInOlympiad = set.getBoolean("blockedInOlympiad", false);
|
||||
|
||||
@ -587,6 +589,14 @@ public class Skill implements IIdentifiable
|
||||
return _removedOnDamage;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill effects should be removed on unequip weapon
|
||||
*/
|
||||
public boolean isRemovedOnUnequipWeapon()
|
||||
{
|
||||
return _removedOnUnequipWeapon;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill can not be used in olympiad.
|
||||
*/
|
||||
|
@ -1768,6 +1768,7 @@
|
||||
<xs:element name="channelingStart" type="xs:decimal" />
|
||||
<xs:element name="channelingTickInterval" type="xs:unsignedByte" />
|
||||
<xs:element name="removedOnDamage" type="xs:boolean" />
|
||||
<xs:element name="removedOnUnequipWeapon" type="xs:boolean" />
|
||||
<xs:element name="removedOnAnyActionExceptMove" type="xs:boolean" />
|
||||
<xs:element name="itemConsumeSteps" type="xs:unsignedByte" />
|
||||
<xs:element name="soulMaxConsumeCount" type="xs:unsignedByte" />
|
||||
|
@ -397,10 +397,11 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
});
|
||||
}
|
||||
// Must check for toggle skill item conditions.
|
||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||
for (Skill skill : player.getAllSkills())
|
||||
{
|
||||
if (skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player))
|
||||
if ((skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player)) //
|
||||
|| (it.isWeapon() && skill.isRemovedOnUnequipWeapon()))
|
||||
{
|
||||
player.stopSkillEffects(true, skill.getId());
|
||||
update.compareAndSet(false, true);
|
||||
|
@ -151,6 +151,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
private final boolean _removedOnAnyActionExceptMove;
|
||||
private final boolean _removedOnDamage;
|
||||
private final boolean _removedOnUnequipWeapon;
|
||||
|
||||
private final boolean _blockedInOlympiad;
|
||||
|
||||
@ -345,6 +346,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
_removedOnAnyActionExceptMove = set.getBoolean("removedOnAnyActionExceptMove", false);
|
||||
_removedOnDamage = set.getBoolean("removedOnDamage", false);
|
||||
_removedOnUnequipWeapon = set.getBoolean("removedOnUnequipWeapon", false);
|
||||
|
||||
_blockedInOlympiad = set.getBoolean("blockedInOlympiad", false);
|
||||
|
||||
@ -587,6 +589,14 @@ public class Skill implements IIdentifiable
|
||||
return _removedOnDamage;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill effects should be removed on unequip weapon
|
||||
*/
|
||||
public boolean isRemovedOnUnequipWeapon()
|
||||
{
|
||||
return _removedOnUnequipWeapon;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill can not be used in olympiad.
|
||||
*/
|
||||
|
@ -1768,6 +1768,7 @@
|
||||
<xs:element name="channelingStart" type="xs:decimal" />
|
||||
<xs:element name="channelingTickInterval" type="xs:unsignedByte" />
|
||||
<xs:element name="removedOnDamage" type="xs:boolean" />
|
||||
<xs:element name="removedOnUnequipWeapon" type="xs:boolean" />
|
||||
<xs:element name="removedOnAnyActionExceptMove" type="xs:boolean" />
|
||||
<xs:element name="itemConsumeSteps" type="xs:unsignedByte" />
|
||||
<xs:element name="soulMaxConsumeCount" type="xs:unsignedByte" />
|
||||
|
@ -397,10 +397,11 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
});
|
||||
}
|
||||
// Must check for toggle skill item conditions.
|
||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||
for (Skill skill : player.getAllSkills())
|
||||
{
|
||||
if (skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player))
|
||||
if ((skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player)) //
|
||||
|| (it.isWeapon() && skill.isRemovedOnUnequipWeapon()))
|
||||
{
|
||||
player.stopSkillEffects(true, skill.getId());
|
||||
update.compareAndSet(false, true);
|
||||
|
@ -151,6 +151,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
private final boolean _removedOnAnyActionExceptMove;
|
||||
private final boolean _removedOnDamage;
|
||||
private final boolean _removedOnUnequipWeapon;
|
||||
|
||||
private final boolean _blockedInOlympiad;
|
||||
|
||||
@ -345,6 +346,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
_removedOnAnyActionExceptMove = set.getBoolean("removedOnAnyActionExceptMove", false);
|
||||
_removedOnDamage = set.getBoolean("removedOnDamage", false);
|
||||
_removedOnUnequipWeapon = set.getBoolean("removedOnUnequipWeapon", false);
|
||||
|
||||
_blockedInOlympiad = set.getBoolean("blockedInOlympiad", false);
|
||||
|
||||
@ -587,6 +589,14 @@ public class Skill implements IIdentifiable
|
||||
return _removedOnDamage;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill effects should be removed on unequip weapon
|
||||
*/
|
||||
public boolean isRemovedOnUnequipWeapon()
|
||||
{
|
||||
return _removedOnUnequipWeapon;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill can not be used in olympiad.
|
||||
*/
|
||||
|
@ -1768,6 +1768,7 @@
|
||||
<xs:element name="channelingStart" type="xs:decimal" />
|
||||
<xs:element name="channelingTickInterval" type="xs:unsignedByte" />
|
||||
<xs:element name="removedOnDamage" type="xs:boolean" />
|
||||
<xs:element name="removedOnUnequipWeapon" type="xs:boolean" />
|
||||
<xs:element name="removedOnAnyActionExceptMove" type="xs:boolean" />
|
||||
<xs:element name="itemConsumeSteps" type="xs:unsignedByte" />
|
||||
<xs:element name="soulMaxConsumeCount" type="xs:unsignedByte" />
|
||||
|
@ -402,10 +402,11 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
});
|
||||
}
|
||||
// Must check for toggle skill item conditions.
|
||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||
for (Skill skill : player.getAllSkills())
|
||||
{
|
||||
if (skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player))
|
||||
if ((skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player)) //
|
||||
|| (it.isWeapon() && skill.isRemovedOnUnequipWeapon()))
|
||||
{
|
||||
player.stopSkillEffects(true, skill.getId());
|
||||
update.compareAndSet(false, true);
|
||||
|
@ -151,6 +151,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
private final boolean _removedOnAnyActionExceptMove;
|
||||
private final boolean _removedOnDamage;
|
||||
private final boolean _removedOnUnequipWeapon;
|
||||
|
||||
private final boolean _blockedInOlympiad;
|
||||
|
||||
@ -345,6 +346,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
_removedOnAnyActionExceptMove = set.getBoolean("removedOnAnyActionExceptMove", false);
|
||||
_removedOnDamage = set.getBoolean("removedOnDamage", false);
|
||||
_removedOnUnequipWeapon = set.getBoolean("removedOnUnequipWeapon", false);
|
||||
|
||||
_blockedInOlympiad = set.getBoolean("blockedInOlympiad", false);
|
||||
|
||||
@ -587,6 +589,14 @@ public class Skill implements IIdentifiable
|
||||
return _removedOnDamage;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill effects should be removed on unequip weapon
|
||||
*/
|
||||
public boolean isRemovedOnUnequipWeapon()
|
||||
{
|
||||
return _removedOnUnequipWeapon;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill can not be used in olympiad.
|
||||
*/
|
||||
|
@ -1768,6 +1768,7 @@
|
||||
<xs:element name="channelingStart" type="xs:decimal" />
|
||||
<xs:element name="channelingTickInterval" type="xs:unsignedByte" />
|
||||
<xs:element name="removedOnDamage" type="xs:boolean" />
|
||||
<xs:element name="removedOnUnequipWeapon" type="xs:boolean" />
|
||||
<xs:element name="removedOnAnyActionExceptMove" type="xs:boolean" />
|
||||
<xs:element name="itemConsumeSteps" type="xs:unsignedByte" />
|
||||
<xs:element name="soulMaxConsumeCount" type="xs:unsignedByte" />
|
||||
|
@ -425,10 +425,11 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
});
|
||||
}
|
||||
// Must check for toggle skill item conditions.
|
||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||
for (Skill skill : player.getAllSkills())
|
||||
{
|
||||
if (skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player))
|
||||
if ((skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player)) //
|
||||
|| (it.isWeapon() && skill.isRemovedOnUnequipWeapon()))
|
||||
{
|
||||
player.stopSkillEffects(true, skill.getId());
|
||||
update.compareAndSet(false, true);
|
||||
|
@ -151,6 +151,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
private final boolean _removedOnAnyActionExceptMove;
|
||||
private final boolean _removedOnDamage;
|
||||
private final boolean _removedOnUnequipWeapon;
|
||||
|
||||
private final boolean _blockedInOlympiad;
|
||||
|
||||
@ -345,6 +346,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
_removedOnAnyActionExceptMove = set.getBoolean("removedOnAnyActionExceptMove", false);
|
||||
_removedOnDamage = set.getBoolean("removedOnDamage", false);
|
||||
_removedOnUnequipWeapon = set.getBoolean("removedOnUnequipWeapon", false);
|
||||
|
||||
_blockedInOlympiad = set.getBoolean("blockedInOlympiad", false);
|
||||
|
||||
@ -587,6 +589,14 @@ public class Skill implements IIdentifiable
|
||||
return _removedOnDamage;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill effects should be removed on unequip weapon
|
||||
*/
|
||||
public boolean isRemovedOnUnequipWeapon()
|
||||
{
|
||||
return _removedOnUnequipWeapon;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill can not be used in olympiad.
|
||||
*/
|
||||
|
@ -1768,6 +1768,7 @@
|
||||
<xs:element name="channelingStart" type="xs:decimal" />
|
||||
<xs:element name="channelingTickInterval" type="xs:unsignedByte" />
|
||||
<xs:element name="removedOnDamage" type="xs:boolean" />
|
||||
<xs:element name="removedOnUnequipWeapon" type="xs:boolean" />
|
||||
<xs:element name="removedOnAnyActionExceptMove" type="xs:boolean" />
|
||||
<xs:element name="itemConsumeSteps" type="xs:unsignedByte" />
|
||||
<xs:element name="soulMaxConsumeCount" type="xs:unsignedByte" />
|
||||
|
@ -425,10 +425,11 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
});
|
||||
}
|
||||
// Must check for toggle skill item conditions.
|
||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||
for (Skill skill : player.getAllSkills())
|
||||
{
|
||||
if (skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player))
|
||||
if ((skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player)) //
|
||||
|| (it.isWeapon() && skill.isRemovedOnUnequipWeapon()))
|
||||
{
|
||||
player.stopSkillEffects(true, skill.getId());
|
||||
update.compareAndSet(false, true);
|
||||
|
@ -151,6 +151,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
private final boolean _removedOnAnyActionExceptMove;
|
||||
private final boolean _removedOnDamage;
|
||||
private final boolean _removedOnUnequipWeapon;
|
||||
|
||||
private final boolean _blockedInOlympiad;
|
||||
|
||||
@ -345,6 +346,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
_removedOnAnyActionExceptMove = set.getBoolean("removedOnAnyActionExceptMove", false);
|
||||
_removedOnDamage = set.getBoolean("removedOnDamage", false);
|
||||
_removedOnUnequipWeapon = set.getBoolean("removedOnUnequipWeapon", false);
|
||||
|
||||
_blockedInOlympiad = set.getBoolean("blockedInOlympiad", false);
|
||||
|
||||
@ -587,6 +589,14 @@ public class Skill implements IIdentifiable
|
||||
return _removedOnDamage;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill effects should be removed on unequip weapon
|
||||
*/
|
||||
public boolean isRemovedOnUnequipWeapon()
|
||||
{
|
||||
return _removedOnUnequipWeapon;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill can not be used in olympiad.
|
||||
*/
|
||||
|
@ -1768,6 +1768,7 @@
|
||||
<xs:element name="channelingStart" type="xs:decimal" />
|
||||
<xs:element name="channelingTickInterval" type="xs:unsignedByte" />
|
||||
<xs:element name="removedOnDamage" type="xs:boolean" />
|
||||
<xs:element name="removedOnUnequipWeapon" type="xs:boolean" />
|
||||
<xs:element name="removedOnAnyActionExceptMove" type="xs:boolean" />
|
||||
<xs:element name="itemConsumeSteps" type="xs:unsignedByte" />
|
||||
<xs:element name="soulMaxConsumeCount" type="xs:unsignedByte" />
|
||||
|
@ -425,10 +425,11 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
});
|
||||
}
|
||||
// Must check for toggle skill item conditions.
|
||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||
for (Skill skill : player.getAllSkills())
|
||||
{
|
||||
if (skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player))
|
||||
if ((skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player)) //
|
||||
|| (it.isWeapon() && skill.isRemovedOnUnequipWeapon()))
|
||||
{
|
||||
player.stopSkillEffects(true, skill.getId());
|
||||
update.compareAndSet(false, true);
|
||||
|
@ -151,6 +151,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
private final boolean _removedOnAnyActionExceptMove;
|
||||
private final boolean _removedOnDamage;
|
||||
private final boolean _removedOnUnequipWeapon;
|
||||
|
||||
private final boolean _blockedInOlympiad;
|
||||
|
||||
@ -345,6 +346,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
_removedOnAnyActionExceptMove = set.getBoolean("removedOnAnyActionExceptMove", false);
|
||||
_removedOnDamage = set.getBoolean("removedOnDamage", false);
|
||||
_removedOnUnequipWeapon = set.getBoolean("removedOnUnequipWeapon", false);
|
||||
|
||||
_blockedInOlympiad = set.getBoolean("blockedInOlympiad", false);
|
||||
|
||||
@ -587,6 +589,14 @@ public class Skill implements IIdentifiable
|
||||
return _removedOnDamage;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill effects should be removed on unequip weapon
|
||||
*/
|
||||
public boolean isRemovedOnUnequipWeapon()
|
||||
{
|
||||
return _removedOnUnequipWeapon;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill can not be used in olympiad.
|
||||
*/
|
||||
|
@ -2483,6 +2483,7 @@
|
||||
<xs:element name="channelingStart" type="xs:decimal" />
|
||||
<xs:element name="channelingTickInterval" type="xs:decimal" />
|
||||
<xs:element name="removedOnDamage" type="xs:boolean" />
|
||||
<xs:element name="removedOnUnequipWeapon" type="xs:boolean" />
|
||||
<xs:element name="removedOnAnyActionExceptMove" type="xs:boolean" />
|
||||
<xs:element name="itemConsumeSteps" type="xs:unsignedByte" />
|
||||
<xs:element name="effect">
|
||||
|
@ -397,10 +397,11 @@ public abstract class Inventory extends ItemContainer
|
||||
}
|
||||
});
|
||||
}
|
||||
// Must check for toggle skill item conditions.
|
||||
// Must check for toggle and isRemovedOnUnequipWeapon skill item conditions.
|
||||
for (Skill skill : player.getAllSkills())
|
||||
{
|
||||
if (skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player))
|
||||
if ((skill.isToggle() && player.isAffectedBySkill(skill.getId()) && !skill.checkConditions(SkillConditionScope.GENERAL, player, player)) //
|
||||
|| (it.isWeapon() && skill.isRemovedOnUnequipWeapon()))
|
||||
{
|
||||
player.stopSkillEffects(true, skill.getId());
|
||||
update.compareAndSet(false, true);
|
||||
|
@ -151,6 +151,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
private final boolean _removedOnAnyActionExceptMove;
|
||||
private final boolean _removedOnDamage;
|
||||
private final boolean _removedOnUnequipWeapon;
|
||||
|
||||
private final boolean _blockedInOlympiad;
|
||||
|
||||
@ -345,6 +346,7 @@ public class Skill implements IIdentifiable
|
||||
|
||||
_removedOnAnyActionExceptMove = set.getBoolean("removedOnAnyActionExceptMove", false);
|
||||
_removedOnDamage = set.getBoolean("removedOnDamage", false);
|
||||
_removedOnUnequipWeapon = set.getBoolean("removedOnUnequipWeapon", false);
|
||||
|
||||
_blockedInOlympiad = set.getBoolean("blockedInOlympiad", false);
|
||||
|
||||
@ -587,6 +589,14 @@ public class Skill implements IIdentifiable
|
||||
return _removedOnDamage;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill effects should be removed on unequip weapon
|
||||
*/
|
||||
public boolean isRemovedOnUnequipWeapon()
|
||||
{
|
||||
return _removedOnUnequipWeapon;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return {@code true} if skill can not be used in olympiad.
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user