Various item and skill improvements.
Contributed by gamelike85.
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
*/
|
||||
package handlers.skillconditionhandlers;
|
||||
|
||||
import com.l2jmobius.gameserver.enums.SkillConditionAffectType;
|
||||
import com.l2jmobius.gameserver.model.L2Object;
|
||||
import com.l2jmobius.gameserver.model.StatsSet;
|
||||
import com.l2jmobius.gameserver.model.actor.L2Character;
|
||||
@@ -31,21 +32,32 @@ public class OpCheckAbnormalSkillCondition implements ISkillCondition
|
||||
private final AbnormalType _type;
|
||||
private final int _level;
|
||||
private final boolean _hasAbnormal;
|
||||
private final SkillConditionAffectType _affectType;
|
||||
|
||||
public OpCheckAbnormalSkillCondition(StatsSet params)
|
||||
{
|
||||
_type = params.getEnum("type", AbnormalType.class);
|
||||
_level = params.getInt("level");
|
||||
_hasAbnormal = params.getBoolean("hasAbnormal");
|
||||
_affectType = params.getEnum("affectType", SkillConditionAffectType.class, SkillConditionAffectType.TARGET);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canUse(L2Character caster, Skill skill, L2Object target)
|
||||
{
|
||||
if (target.isCharacter())
|
||||
switch (_affectType)
|
||||
{
|
||||
final boolean hasAbnormal = ((L2Character) target).getEffectList().hasAbnormalType(_type, info -> (info.getSkill().getAbnormalLvl() >= _level));
|
||||
return _hasAbnormal ? hasAbnormal : !hasAbnormal;
|
||||
case CASTER:
|
||||
{
|
||||
return caster.getEffectList().hasAbnormalType(_type, info -> (info.getSkill().getAbnormalLvl() >= _level)) == _hasAbnormal;
|
||||
}
|
||||
case TARGET:
|
||||
{
|
||||
if (target.isCharacter())
|
||||
{
|
||||
return ((L2Character) target).getEffectList().hasAbnormalType(_type, info -> (info.getSkill().getAbnormalLvl() >= _level)) == _hasAbnormal;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -580,7 +580,7 @@
|
||||
<skills>
|
||||
<skill id="18715" level="1" /> <!-- Greater Ruby -->
|
||||
<skill id="18716" level="1" /> <!-- Greater Ruby -->
|
||||
<skill id="18717" level="1" /> <!-- Greater Ruby -->
|
||||
<skill id="18717" level="6" /> <!-- Ruby -->
|
||||
</skills>
|
||||
</item>
|
||||
<item id="47689" name="Greater Sapphire" type="Armor">
|
||||
@@ -594,7 +594,7 @@
|
||||
<skills>
|
||||
<skill id="18718" level="1" /> <!-- Greater Sapphire -->
|
||||
<skill id="18718" level="2" /> <!-- Greater Sapphire -->
|
||||
<skill id="18719" level="1" /> <!-- Greater Sapphire -->
|
||||
<skill id="18719" level="6" /> <!-- Sapphire -->
|
||||
</skills>
|
||||
</item>
|
||||
<item id="47690" name="Greater Obsidian" type="Armor">
|
||||
|
||||
@@ -1100,24 +1100,9 @@
|
||||
<value level="11">-722</value>
|
||||
</effectPoint>
|
||||
<reuseDelay>7000</reuseDelay>
|
||||
<affectLimit>5-12</affectLimit>
|
||||
<fanRange>
|
||||
<value level="1">0;0;900;50</value>
|
||||
<value level="2">0;0;700;50</value>
|
||||
<value level="3">0;0;700;50</value>
|
||||
<value level="4">0;0;700;50</value>
|
||||
<value level="5">0;0;700;50</value>
|
||||
<value level="6">0;0;700;50</value>
|
||||
<value level="7">0;0;700;50</value>
|
||||
<value level="8">0;0;700;50</value>
|
||||
<value level="9">0;0;700;50</value>
|
||||
<value level="10">0;0;700;50</value>
|
||||
<value level="11">0;0;700;50</value>
|
||||
</fanRange>
|
||||
<rideState>NONE</rideState>
|
||||
<targetType>ENEMY</targetType>
|
||||
<affectScope>SQUARE</affectScope>
|
||||
<affectObject>NOT_FRIEND</affectObject>
|
||||
<affectScope>SINGLE</affectScope>
|
||||
<conditions>
|
||||
<condition name="EquipWeapon">
|
||||
<weaponType>
|
||||
|
||||
Reference in New Issue
Block a user