Improved AttackAttribute and DefenceAttribute logic.

This commit is contained in:
MobiusDevelopment 2023-01-09 22:44:33 +00:00
parent 9cba6a7a3a
commit 4b27ff44de
76 changed files with 1580 additions and 1744 deletions

View File

@ -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);
}
}

View File

@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
switch (maxAttribute)
{
case FIRE:
{
stat = Stat.FIRE_POWER;
break;
}
case WATER:
{
stat = Stat.WATER_POWER;

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
switch (maxAttribute)
{
case FIRE:
{
stat = Stat.FIRE_POWER;
break;
}
case WATER:
{
stat = Stat.WATER_POWER;

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
switch (maxAttribute)
{
case FIRE:
{
stat = Stat.FIRE_POWER;
break;
}
case WATER:
{
stat = Stat.WATER_POWER;

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
switch (maxAttribute)
{
case FIRE:
{
stat = Stat.FIRE_POWER;
break;
}
case WATER:
{
stat = Stat.WATER_POWER;

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
switch (maxAttribute)
{
case FIRE:
{
stat = Stat.FIRE_POWER;
break;
}
case WATER:
{
stat = Stat.WATER_POWER;

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
switch (maxAttribute)
{
case FIRE:
{
stat = Stat.FIRE_POWER;
break;
}
case WATER:
{
stat = Stat.WATER_POWER;

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
switch (maxAttribute)
{
case FIRE:
{
stat = Stat.FIRE_POWER;
break;
}
case WATER:
{
stat = Stat.WATER_POWER;

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
switch (maxAttribute)
{
case FIRE:
{
stat = Stat.FIRE_POWER;
break;
}
case WATER:
{
stat = Stat.WATER_POWER;

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
switch (maxAttribute)
{
case FIRE:
{
stat = Stat.FIRE_POWER;
break;
}
case WATER:
{
stat = Stat.WATER_POWER;

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
switch (maxAttribute)
{
case FIRE:
{
stat = Stat.FIRE_POWER;
break;
}
case WATER:
{
stat = Stat.WATER_POWER;

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
switch (maxAttribute)
{
case FIRE:
{
stat = Stat.FIRE_POWER;
break;
}
case WATER:
{
stat = Stat.WATER_POWER;

View File

@ -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);
}
}

View File

@ -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);
}
}
}

View File

@ -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);
}
}
}

View File

@ -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);
}
}

View File

@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
switch (maxAttribute)
{
case FIRE:
{
stat = Stat.FIRE_POWER;
break;
}
case WATER:
{
stat = Stat.WATER_POWER;

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
switch (maxAttribute)
{
case FIRE:
{
stat = Stat.FIRE_POWER;
break;
}
case WATER:
{
stat = Stat.WATER_POWER;

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
switch (maxAttribute)
{
case FIRE:
{
stat = Stat.FIRE_POWER;
break;
}
case WATER:
{
stat = Stat.WATER_POWER;

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
switch (maxAttribute)
{
case FIRE:
{
stat = Stat.FIRE_POWER;
break;
}
case WATER:
{
stat = Stat.WATER_POWER;

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
switch (maxAttribute)
{
case FIRE:
{
stat = Stat.FIRE_POWER;
break;
}
case WATER:
{
stat = Stat.WATER_POWER;

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
switch (maxAttribute)
{
case FIRE:
{
stat = Stat.FIRE_POWER;
break;
}
case WATER:
{
stat = Stat.WATER_POWER;

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
switch (maxAttribute)
{
case FIRE:
{
stat = Stat.FIRE_POWER;
break;
}
case WATER:
{
stat = Stat.WATER_POWER;

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
switch (maxAttribute)
{
case FIRE:
{
stat = Stat.FIRE_POWER;
break;
}
case WATER:
{
stat = Stat.WATER_POWER;

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
switch (maxAttribute)
{
case FIRE:
{
stat = Stat.FIRE_POWER;
break;
}
case WATER:
{
stat = Stat.WATER_POWER;

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
switch (maxAttribute)
{
case FIRE:
{
stat = Stat.FIRE_POWER;
break;
}
case WATER:
{
stat = Stat.WATER_POWER;

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
switch (maxAttribute)
{
case FIRE:
{
stat = Stat.FIRE_POWER;
break;
}
case WATER:
{
stat = Stat.WATER_POWER;

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
switch (maxAttribute)
{
case FIRE:
{
stat = Stat.FIRE_POWER;
break;
}
case WATER:
{
stat = Stat.WATER_POWER;

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -54,6 +54,11 @@ public class AttackAttributeAdd extends AbstractEffect
switch (maxAttribute)
{
case FIRE:
{
stat = Stat.FIRE_POWER;
break;
}
case WATER:
{
stat = Stat.WATER_POWER;

View File

@ -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);
}
}

View File

@ -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);
}
}
}

View File

@ -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);
}
}
}