Improved AttackAttribute and DefenceAttribute logic.
This commit is contained in:
parent
9cba6a7a3a
commit
4b27ff44de
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class AttackAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public AttackAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_POWER"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_POWER");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_POWER;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_POWER;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_POWER;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_POWER;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_POWER;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
|
||||
|
||||
switch (maxAttribute)
|
||||
{
|
||||
case FIRE:
|
||||
{
|
||||
stat = Stat.FIRE_POWER;
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class DefenceAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public DefenceAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_RES"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_RES");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_RES;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_RES;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_RES;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_RES;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_RES;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_RES;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class AttackAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public AttackAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_POWER"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_POWER");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_POWER;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_POWER;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_POWER;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_POWER;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_POWER;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
|
||||
|
||||
switch (maxAttribute)
|
||||
{
|
||||
case FIRE:
|
||||
{
|
||||
stat = Stat.FIRE_POWER;
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class DefenceAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public DefenceAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_RES"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_RES");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_RES;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_RES;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_RES;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_RES;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_RES;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_RES;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class AttackAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public AttackAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_POWER"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_POWER");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_POWER;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_POWER;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_POWER;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_POWER;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_POWER;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
|
||||
|
||||
switch (maxAttribute)
|
||||
{
|
||||
case FIRE:
|
||||
{
|
||||
stat = Stat.FIRE_POWER;
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class DefenceAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public DefenceAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_RES"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_RES");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_RES;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_RES;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_RES;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_RES;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_RES;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_RES;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class AttackAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public AttackAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_POWER"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_POWER");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_POWER;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_POWER;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_POWER;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_POWER;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_POWER;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
|
||||
|
||||
switch (maxAttribute)
|
||||
{
|
||||
case FIRE:
|
||||
{
|
||||
stat = Stat.FIRE_POWER;
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class DefenceAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public DefenceAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_RES"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_RES");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_RES;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_RES;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_RES;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_RES;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_RES;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_RES;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class AttackAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public AttackAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_POWER"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_POWER");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_POWER;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_POWER;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_POWER;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_POWER;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_POWER;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
|
||||
|
||||
switch (maxAttribute)
|
||||
{
|
||||
case FIRE:
|
||||
{
|
||||
stat = Stat.FIRE_POWER;
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class DefenceAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public DefenceAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_RES"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_RES");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_RES;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_RES;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_RES;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_RES;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_RES;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_RES;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class AttackAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public AttackAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_POWER"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_POWER");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_POWER;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_POWER;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_POWER;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_POWER;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_POWER;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
|
||||
|
||||
switch (maxAttribute)
|
||||
{
|
||||
case FIRE:
|
||||
{
|
||||
stat = Stat.FIRE_POWER;
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class DefenceAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public DefenceAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_RES"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_RES");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_RES;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_RES;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_RES;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_RES;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_RES;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_RES;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class AttackAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public AttackAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_POWER"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_POWER");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_POWER;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_POWER;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_POWER;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_POWER;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_POWER;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
|
||||
|
||||
switch (maxAttribute)
|
||||
{
|
||||
case FIRE:
|
||||
{
|
||||
stat = Stat.FIRE_POWER;
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class DefenceAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public DefenceAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_RES"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_RES");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_RES;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_RES;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_RES;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_RES;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_RES;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_RES;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class AttackAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public AttackAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_POWER"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_POWER");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_POWER;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_POWER;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_POWER;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_POWER;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_POWER;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
|
||||
|
||||
switch (maxAttribute)
|
||||
{
|
||||
case FIRE:
|
||||
{
|
||||
stat = Stat.FIRE_POWER;
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class DefenceAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public DefenceAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_RES"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_RES");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_RES;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_RES;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_RES;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_RES;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_RES;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_RES;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class AttackAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public AttackAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_POWER"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_POWER");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_POWER;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_POWER;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_POWER;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_POWER;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_POWER;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
|
||||
|
||||
switch (maxAttribute)
|
||||
{
|
||||
case FIRE:
|
||||
{
|
||||
stat = Stat.FIRE_POWER;
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class DefenceAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public DefenceAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_RES"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_RES");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_RES;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_RES;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_RES;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_RES;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_RES;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_RES;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class AttackAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public AttackAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_POWER"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_POWER");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_POWER;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_POWER;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_POWER;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_POWER;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_POWER;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
|
||||
|
||||
switch (maxAttribute)
|
||||
{
|
||||
case FIRE:
|
||||
{
|
||||
stat = Stat.FIRE_POWER;
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class DefenceAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public DefenceAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_RES"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_RES");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_RES;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_RES;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_RES;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_RES;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_RES;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_RES;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class AttackAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public AttackAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_POWER"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_POWER");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_POWER;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_POWER;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_POWER;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_POWER;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_POWER;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
|
||||
|
||||
switch (maxAttribute)
|
||||
{
|
||||
case FIRE:
|
||||
{
|
||||
stat = Stat.FIRE_POWER;
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class DefenceAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public DefenceAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_RES"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_RES");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_RES;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_RES;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_RES;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_RES;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_RES;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_RES;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -16,10 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -27,12 +26,13 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class AttackAttribute extends AbstractEffect
|
||||
{
|
||||
private final Set<AttributeType> _attributes = new HashSet<>();
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public AttackAttribute(StatSet params)
|
||||
{
|
||||
@ -40,55 +40,32 @@ public class AttackAttribute extends AbstractEffect
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_attributes.add(AttributeType.findByName(attribute.trim()));
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_POWER"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_attributes.add(AttributeType.findByName(attributes));
|
||||
_singleStat = Stat.valueOf(attributes + "_POWER");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
for (AttributeType attribute : _attributes)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
switch (attribute)
|
||||
{
|
||||
case FIRE:
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.FIRE_POWER, _amount);
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.WATER_POWER, _amount);
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.WIND_POWER, _amount);
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.EARTH_POWER, _amount);
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.HOLY_POWER, _amount);
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.DARK_POWER, _amount);
|
||||
break;
|
||||
}
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -16,10 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -27,12 +26,13 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class DefenceAttribute extends AbstractEffect
|
||||
{
|
||||
private final Set<AttributeType> _attributes = new HashSet<>();
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public DefenceAttribute(StatSet params)
|
||||
{
|
||||
@ -40,55 +40,32 @@ public class DefenceAttribute extends AbstractEffect
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_attributes.add(AttributeType.findByName(attribute.trim()));
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_RES"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_attributes.add(AttributeType.findByName(attributes));
|
||||
_singleStat = Stat.valueOf(attributes + "_RES");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
for (AttributeType attribute : _attributes)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
switch (attribute)
|
||||
{
|
||||
case FIRE:
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.FIRE_RES, _amount);
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.WATER_RES, _amount);
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.WIND_RES, _amount);
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.EARTH_RES, _amount);
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.HOLY_RES, _amount);
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.DARK_RES, _amount);
|
||||
break;
|
||||
}
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class AttackAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public AttackAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_POWER"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_POWER");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_POWER;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_POWER;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_POWER;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_POWER;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_POWER;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
|
||||
|
||||
switch (maxAttribute)
|
||||
{
|
||||
case FIRE:
|
||||
{
|
||||
stat = Stat.FIRE_POWER;
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class DefenceAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public DefenceAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_RES"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_RES");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_RES;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_RES;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_RES;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_RES;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_RES;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_RES;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class AttackAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public AttackAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_POWER"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_POWER");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_POWER;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_POWER;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_POWER;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_POWER;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_POWER;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
|
||||
|
||||
switch (maxAttribute)
|
||||
{
|
||||
case FIRE:
|
||||
{
|
||||
stat = Stat.FIRE_POWER;
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class DefenceAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public DefenceAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_RES"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_RES");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_RES;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_RES;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_RES;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_RES;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_RES;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_RES;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class AttackAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public AttackAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_POWER"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_POWER");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_POWER;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_POWER;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_POWER;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_POWER;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_POWER;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
|
||||
|
||||
switch (maxAttribute)
|
||||
{
|
||||
case FIRE:
|
||||
{
|
||||
stat = Stat.FIRE_POWER;
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class DefenceAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public DefenceAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_RES"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_RES");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_RES;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_RES;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_RES;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_RES;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_RES;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_RES;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class AttackAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public AttackAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_POWER"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_POWER");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_POWER;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_POWER;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_POWER;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_POWER;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_POWER;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
|
||||
|
||||
switch (maxAttribute)
|
||||
{
|
||||
case FIRE:
|
||||
{
|
||||
stat = Stat.FIRE_POWER;
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class DefenceAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public DefenceAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_RES"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_RES");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_RES;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_RES;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_RES;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_RES;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_RES;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_RES;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class AttackAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public AttackAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_POWER"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_POWER");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_POWER;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_POWER;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_POWER;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_POWER;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_POWER;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
|
||||
|
||||
switch (maxAttribute)
|
||||
{
|
||||
case FIRE:
|
||||
{
|
||||
stat = Stat.FIRE_POWER;
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class DefenceAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public DefenceAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_RES"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_RES");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_RES;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_RES;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_RES;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_RES;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_RES;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_RES;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class AttackAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public AttackAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_POWER"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_POWER");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_POWER;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_POWER;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_POWER;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_POWER;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_POWER;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
|
||||
|
||||
switch (maxAttribute)
|
||||
{
|
||||
case FIRE:
|
||||
{
|
||||
stat = Stat.FIRE_POWER;
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class DefenceAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public DefenceAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_RES"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_RES");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_RES;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_RES;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_RES;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_RES;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_RES;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_RES;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class AttackAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public AttackAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_POWER"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_POWER");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_POWER;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_POWER;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_POWER;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_POWER;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_POWER;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
|
||||
|
||||
switch (maxAttribute)
|
||||
{
|
||||
case FIRE:
|
||||
{
|
||||
stat = Stat.FIRE_POWER;
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class DefenceAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public DefenceAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_RES"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_RES");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_RES;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_RES;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_RES;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_RES;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_RES;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_RES;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class AttackAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public AttackAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_POWER"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_POWER");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_POWER;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_POWER;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_POWER;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_POWER;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_POWER;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
|
||||
|
||||
switch (maxAttribute)
|
||||
{
|
||||
case FIRE:
|
||||
{
|
||||
stat = Stat.FIRE_POWER;
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class DefenceAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public DefenceAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_RES"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_RES");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_RES;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_RES;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_RES;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_RES;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_RES;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_RES;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class AttackAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public AttackAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_POWER"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_POWER");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_POWER;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_POWER;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_POWER;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_POWER;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_POWER;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
|
||||
|
||||
switch (maxAttribute)
|
||||
{
|
||||
case FIRE:
|
||||
{
|
||||
stat = Stat.FIRE_POWER;
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class DefenceAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public DefenceAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_RES"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_RES");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_RES;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_RES;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_RES;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_RES;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_RES;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_RES;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class AttackAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public AttackAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_POWER"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_POWER");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_POWER;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_POWER;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_POWER;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_POWER;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_POWER;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
|
||||
|
||||
switch (maxAttribute)
|
||||
{
|
||||
case FIRE:
|
||||
{
|
||||
stat = Stat.FIRE_POWER;
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class DefenceAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public DefenceAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_RES"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_RES");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_RES;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_RES;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_RES;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_RES;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_RES;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_RES;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class AttackAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public AttackAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_POWER"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_POWER");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_POWER;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_POWER;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_POWER;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_POWER;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_POWER;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
|
||||
|
||||
switch (maxAttribute)
|
||||
{
|
||||
case FIRE:
|
||||
{
|
||||
stat = Stat.FIRE_POWER;
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class DefenceAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public DefenceAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_RES"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_RES");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_RES;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_RES;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_RES;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_RES;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_RES;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_RES;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class AttackAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public AttackAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_POWER"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_POWER");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_POWER;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_POWER;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_POWER;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_POWER;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_POWER;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
|
||||
|
||||
switch (maxAttribute)
|
||||
{
|
||||
case FIRE:
|
||||
{
|
||||
stat = Stat.FIRE_POWER;
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class DefenceAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public DefenceAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_RES"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_RES");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_RES;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_RES;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_RES;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_RES;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_RES;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_RES;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class AttackAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public AttackAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_POWER"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_POWER");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_POWER;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_POWER;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_POWER;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_POWER;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_POWER;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
|
||||
|
||||
switch (maxAttribute)
|
||||
{
|
||||
case FIRE:
|
||||
{
|
||||
stat = Stat.FIRE_POWER;
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_POWER;
|
||||
|
@ -16,7 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -24,52 +26,46 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class DefenceAttribute extends AbstractEffect
|
||||
{
|
||||
private final AttributeType _attribute;
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public DefenceAttribute(StatSet params)
|
||||
{
|
||||
_amount = params.getDouble("amount", 0);
|
||||
_attribute = params.getEnum("attribute", AttributeType.class, AttributeType.FIRE);
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_RES"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_singleStat = Stat.valueOf(attributes + "_RES");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
Stat stat = Stat.FIRE_RES;
|
||||
|
||||
switch (_attribute)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
case WATER:
|
||||
{
|
||||
stat = Stat.WATER_RES;
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
stat = Stat.WIND_RES;
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
stat = Stat.EARTH_RES;
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
stat = Stat.HOLY_RES;
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
stat = Stat.DARK_RES;
|
||||
break;
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
|
@ -16,10 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -27,12 +26,13 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class AttackAttribute extends AbstractEffect
|
||||
{
|
||||
private final Set<AttributeType> _attributes = new HashSet<>();
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public AttackAttribute(StatSet params)
|
||||
{
|
||||
@ -40,55 +40,32 @@ public class AttackAttribute extends AbstractEffect
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_attributes.add(AttributeType.findByName(attribute.trim()));
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_POWER"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_attributes.add(AttributeType.findByName(attributes));
|
||||
_singleStat = Stat.valueOf(attributes + "_POWER");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
for (AttributeType attribute : _attributes)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
switch (attribute)
|
||||
{
|
||||
case FIRE:
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.FIRE_POWER, _amount);
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.WATER_POWER, _amount);
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.WIND_POWER, _amount);
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.EARTH_POWER, _amount);
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.HOLY_POWER, _amount);
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.DARK_POWER, _amount);
|
||||
break;
|
||||
}
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -16,10 +16,9 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.AttributeType;
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@ -27,12 +26,13 @@ import org.l2jmobius.gameserver.model.skill.Skill;
|
||||
import org.l2jmobius.gameserver.model.stats.Stat;
|
||||
|
||||
/**
|
||||
* @author Sdw
|
||||
* @author Mobius
|
||||
*/
|
||||
public class DefenceAttribute extends AbstractEffect
|
||||
{
|
||||
private final Set<AttributeType> _attributes = new HashSet<>();
|
||||
private final double _amount;
|
||||
private final Stat _singleStat;
|
||||
private final Set<Stat> _multipleStats;
|
||||
|
||||
public DefenceAttribute(StatSet params)
|
||||
{
|
||||
@ -40,55 +40,32 @@ public class DefenceAttribute extends AbstractEffect
|
||||
final String attributes = params.getString("attribute", "FIRE");
|
||||
if (attributes.contains(","))
|
||||
{
|
||||
_singleStat = null;
|
||||
_multipleStats = EnumSet.noneOf(Stat.class);
|
||||
for (String attribute : attributes.split(","))
|
||||
{
|
||||
_attributes.add(AttributeType.findByName(attribute.trim()));
|
||||
_multipleStats.add(Stat.valueOf(attribute + "_RES"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_attributes.add(AttributeType.findByName(attributes));
|
||||
_singleStat = Stat.valueOf(attributes + "_RES");
|
||||
_multipleStats = null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pump(Creature effected, Skill skill)
|
||||
{
|
||||
for (AttributeType attribute : _attributes)
|
||||
if (_singleStat != null)
|
||||
{
|
||||
switch (attribute)
|
||||
{
|
||||
case FIRE:
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.FIRE_RES, _amount);
|
||||
break;
|
||||
}
|
||||
case WATER:
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.WATER_RES, _amount);
|
||||
break;
|
||||
}
|
||||
case WIND:
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.WIND_RES, _amount);
|
||||
break;
|
||||
}
|
||||
case EARTH:
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.EARTH_RES, _amount);
|
||||
break;
|
||||
}
|
||||
case HOLY:
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.HOLY_RES, _amount);
|
||||
break;
|
||||
}
|
||||
case DARK:
|
||||
{
|
||||
effected.getStat().mergeAdd(Stat.DARK_RES, _amount);
|
||||
break;
|
||||
}
|
||||
}
|
||||
effected.getStat().mergeAdd(_singleStat, _amount);
|
||||
return;
|
||||
}
|
||||
|
||||
for (Stat stat : _multipleStats)
|
||||
{
|
||||
effected.getStat().mergeAdd(stat, _amount);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user