StatUp support for multiple stats on same effect.

This commit is contained in:
MobiusDevelopment
2023-01-09 22:50:22 +00:00
parent 4b27ff44de
commit 23af9c9c54
26 changed files with 742 additions and 990 deletions

View File

@ -16,70 +16,56 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import java.util.EnumSet;
import java.util.Set;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.BaseStat;
import org.l2jmobius.gameserver.model.stats.Stat; import org.l2jmobius.gameserver.model.stats.Stat;
/** /**
* @author Sdw * @author Mobius
*/ */
public class StatUp extends AbstractEffect public class StatUp extends AbstractEffect
{ {
private final BaseStat _stat;
private final double _amount; private final double _amount;
private final Stat _singleStat;
private final Set<Stat> _multipleStats;
public StatUp(StatSet params) public StatUp(StatSet params)
{ {
_amount = params.getDouble("amount", 0); _amount = params.getDouble("amount", 0);
_stat = params.getEnum("stat", BaseStat.class, BaseStat.STR); final String stats = params.getString("stat", "STR");
if (stats.contains(","))
{
_singleStat = null;
_multipleStats = EnumSet.noneOf(Stat.class);
for (String stat : stats.split(","))
{
_multipleStats.add(Stat.valueOf("STAT_" + stat));
}
}
else
{
_singleStat = Stat.valueOf("STAT_" + stats);
_multipleStats = null;
}
} }
@Override @Override
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
Stat stat = Stat.STAT_STR; if (_singleStat != null)
switch (_stat)
{ {
case INT: effected.getStat().mergeAdd(_singleStat, _amount);
{ return;
stat = Stat.STAT_INT; }
break;
} for (Stat stat : _multipleStats)
case DEX: {
{ effected.getStat().mergeAdd(stat, _amount);
stat = Stat.STAT_DEX;
break;
}
case WIT:
{
stat = Stat.STAT_WIT;
break;
}
case CON:
{
stat = Stat.STAT_CON;
break;
}
case MEN:
{
stat = Stat.STAT_MEN;
break;
}
case CHA:
{
stat = Stat.STAT_CHA;
break;
}
case LUC:
{
stat = Stat.STAT_LUC;
break;
}
} }
effected.getStat().mergeAdd(stat, _amount);
} }
} }

View File

@ -16,70 +16,56 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import java.util.EnumSet;
import java.util.Set;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.BaseStat;
import org.l2jmobius.gameserver.model.stats.Stat; import org.l2jmobius.gameserver.model.stats.Stat;
/** /**
* @author Sdw * @author Mobius
*/ */
public class StatUp extends AbstractEffect public class StatUp extends AbstractEffect
{ {
private final BaseStat _stat;
private final double _amount; private final double _amount;
private final Stat _singleStat;
private final Set<Stat> _multipleStats;
public StatUp(StatSet params) public StatUp(StatSet params)
{ {
_amount = params.getDouble("amount", 0); _amount = params.getDouble("amount", 0);
_stat = params.getEnum("stat", BaseStat.class, BaseStat.STR); final String stats = params.getString("stat", "STR");
if (stats.contains(","))
{
_singleStat = null;
_multipleStats = EnumSet.noneOf(Stat.class);
for (String stat : stats.split(","))
{
_multipleStats.add(Stat.valueOf("STAT_" + stat));
}
}
else
{
_singleStat = Stat.valueOf("STAT_" + stats);
_multipleStats = null;
}
} }
@Override @Override
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
Stat stat = Stat.STAT_STR; if (_singleStat != null)
switch (_stat)
{ {
case INT: effected.getStat().mergeAdd(_singleStat, _amount);
{ return;
stat = Stat.STAT_INT; }
break;
} for (Stat stat : _multipleStats)
case DEX: {
{ effected.getStat().mergeAdd(stat, _amount);
stat = Stat.STAT_DEX;
break;
}
case WIT:
{
stat = Stat.STAT_WIT;
break;
}
case CON:
{
stat = Stat.STAT_CON;
break;
}
case MEN:
{
stat = Stat.STAT_MEN;
break;
}
case CHA:
{
stat = Stat.STAT_CHA;
break;
}
case LUC:
{
stat = Stat.STAT_LUC;
break;
}
} }
effected.getStat().mergeAdd(stat, _amount);
} }
} }

View File

@ -16,70 +16,56 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import java.util.EnumSet;
import java.util.Set;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.BaseStat;
import org.l2jmobius.gameserver.model.stats.Stat; import org.l2jmobius.gameserver.model.stats.Stat;
/** /**
* @author Sdw * @author Mobius
*/ */
public class StatUp extends AbstractEffect public class StatUp extends AbstractEffect
{ {
private final BaseStat _stat;
private final double _amount; private final double _amount;
private final Stat _singleStat;
private final Set<Stat> _multipleStats;
public StatUp(StatSet params) public StatUp(StatSet params)
{ {
_amount = params.getDouble("amount", 0); _amount = params.getDouble("amount", 0);
_stat = params.getEnum("stat", BaseStat.class, BaseStat.STR); final String stats = params.getString("stat", "STR");
if (stats.contains(","))
{
_singleStat = null;
_multipleStats = EnumSet.noneOf(Stat.class);
for (String stat : stats.split(","))
{
_multipleStats.add(Stat.valueOf("STAT_" + stat));
}
}
else
{
_singleStat = Stat.valueOf("STAT_" + stats);
_multipleStats = null;
}
} }
@Override @Override
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
Stat stat = Stat.STAT_STR; if (_singleStat != null)
switch (_stat)
{ {
case INT: effected.getStat().mergeAdd(_singleStat, _amount);
{ return;
stat = Stat.STAT_INT; }
break;
} for (Stat stat : _multipleStats)
case DEX: {
{ effected.getStat().mergeAdd(stat, _amount);
stat = Stat.STAT_DEX;
break;
}
case WIT:
{
stat = Stat.STAT_WIT;
break;
}
case CON:
{
stat = Stat.STAT_CON;
break;
}
case MEN:
{
stat = Stat.STAT_MEN;
break;
}
case CHA:
{
stat = Stat.STAT_CHA;
break;
}
case LUC:
{
stat = Stat.STAT_LUC;
break;
}
} }
effected.getStat().mergeAdd(stat, _amount);
} }
} }

View File

@ -16,70 +16,56 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import java.util.EnumSet;
import java.util.Set;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.BaseStat;
import org.l2jmobius.gameserver.model.stats.Stat; import org.l2jmobius.gameserver.model.stats.Stat;
/** /**
* @author Sdw * @author Mobius
*/ */
public class StatUp extends AbstractEffect public class StatUp extends AbstractEffect
{ {
private final BaseStat _stat;
private final double _amount; private final double _amount;
private final Stat _singleStat;
private final Set<Stat> _multipleStats;
public StatUp(StatSet params) public StatUp(StatSet params)
{ {
_amount = params.getDouble("amount", 0); _amount = params.getDouble("amount", 0);
_stat = params.getEnum("stat", BaseStat.class, BaseStat.STR); final String stats = params.getString("stat", "STR");
if (stats.contains(","))
{
_singleStat = null;
_multipleStats = EnumSet.noneOf(Stat.class);
for (String stat : stats.split(","))
{
_multipleStats.add(Stat.valueOf("STAT_" + stat));
}
}
else
{
_singleStat = Stat.valueOf("STAT_" + stats);
_multipleStats = null;
}
} }
@Override @Override
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
Stat stat = Stat.STAT_STR; if (_singleStat != null)
switch (_stat)
{ {
case INT: effected.getStat().mergeAdd(_singleStat, _amount);
{ return;
stat = Stat.STAT_INT; }
break;
} for (Stat stat : _multipleStats)
case DEX: {
{ effected.getStat().mergeAdd(stat, _amount);
stat = Stat.STAT_DEX;
break;
}
case WIT:
{
stat = Stat.STAT_WIT;
break;
}
case CON:
{
stat = Stat.STAT_CON;
break;
}
case MEN:
{
stat = Stat.STAT_MEN;
break;
}
case CHA:
{
stat = Stat.STAT_CHA;
break;
}
case LUC:
{
stat = Stat.STAT_LUC;
break;
}
} }
effected.getStat().mergeAdd(stat, _amount);
} }
} }

View File

@ -16,70 +16,56 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import java.util.EnumSet;
import java.util.Set;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.BaseStat;
import org.l2jmobius.gameserver.model.stats.Stat; import org.l2jmobius.gameserver.model.stats.Stat;
/** /**
* @author Sdw * @author Mobius
*/ */
public class StatUp extends AbstractEffect public class StatUp extends AbstractEffect
{ {
private final BaseStat _stat;
private final double _amount; private final double _amount;
private final Stat _singleStat;
private final Set<Stat> _multipleStats;
public StatUp(StatSet params) public StatUp(StatSet params)
{ {
_amount = params.getDouble("amount", 0); _amount = params.getDouble("amount", 0);
_stat = params.getEnum("stat", BaseStat.class, BaseStat.STR); final String stats = params.getString("stat", "STR");
if (stats.contains(","))
{
_singleStat = null;
_multipleStats = EnumSet.noneOf(Stat.class);
for (String stat : stats.split(","))
{
_multipleStats.add(Stat.valueOf("STAT_" + stat));
}
}
else
{
_singleStat = Stat.valueOf("STAT_" + stats);
_multipleStats = null;
}
} }
@Override @Override
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
Stat stat = Stat.STAT_STR; if (_singleStat != null)
switch (_stat)
{ {
case INT: effected.getStat().mergeAdd(_singleStat, _amount);
{ return;
stat = Stat.STAT_INT; }
break;
} for (Stat stat : _multipleStats)
case DEX: {
{ effected.getStat().mergeAdd(stat, _amount);
stat = Stat.STAT_DEX;
break;
}
case WIT:
{
stat = Stat.STAT_WIT;
break;
}
case CON:
{
stat = Stat.STAT_CON;
break;
}
case MEN:
{
stat = Stat.STAT_MEN;
break;
}
case CHA:
{
stat = Stat.STAT_CHA;
break;
}
case LUC:
{
stat = Stat.STAT_LUC;
break;
}
} }
effected.getStat().mergeAdd(stat, _amount);
} }
} }

View File

@ -16,70 +16,56 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import java.util.EnumSet;
import java.util.Set;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.BaseStat;
import org.l2jmobius.gameserver.model.stats.Stat; import org.l2jmobius.gameserver.model.stats.Stat;
/** /**
* @author Sdw * @author Mobius
*/ */
public class StatUp extends AbstractEffect public class StatUp extends AbstractEffect
{ {
private final BaseStat _stat;
private final double _amount; private final double _amount;
private final Stat _singleStat;
private final Set<Stat> _multipleStats;
public StatUp(StatSet params) public StatUp(StatSet params)
{ {
_amount = params.getDouble("amount", 0); _amount = params.getDouble("amount", 0);
_stat = params.getEnum("stat", BaseStat.class, BaseStat.STR); final String stats = params.getString("stat", "STR");
if (stats.contains(","))
{
_singleStat = null;
_multipleStats = EnumSet.noneOf(Stat.class);
for (String stat : stats.split(","))
{
_multipleStats.add(Stat.valueOf("STAT_" + stat));
}
}
else
{
_singleStat = Stat.valueOf("STAT_" + stats);
_multipleStats = null;
}
} }
@Override @Override
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
Stat stat = Stat.STAT_STR; if (_singleStat != null)
switch (_stat)
{ {
case INT: effected.getStat().mergeAdd(_singleStat, _amount);
{ return;
stat = Stat.STAT_INT; }
break;
} for (Stat stat : _multipleStats)
case DEX: {
{ effected.getStat().mergeAdd(stat, _amount);
stat = Stat.STAT_DEX;
break;
}
case WIT:
{
stat = Stat.STAT_WIT;
break;
}
case CON:
{
stat = Stat.STAT_CON;
break;
}
case MEN:
{
stat = Stat.STAT_MEN;
break;
}
case CHA:
{
stat = Stat.STAT_CHA;
break;
}
case LUC:
{
stat = Stat.STAT_LUC;
break;
}
} }
effected.getStat().mergeAdd(stat, _amount);
} }
} }

View File

@ -16,70 +16,56 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import java.util.EnumSet;
import java.util.Set;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.BaseStat;
import org.l2jmobius.gameserver.model.stats.Stat; import org.l2jmobius.gameserver.model.stats.Stat;
/** /**
* @author Sdw * @author Mobius
*/ */
public class StatUp extends AbstractEffect public class StatUp extends AbstractEffect
{ {
private final BaseStat _stat;
private final double _amount; private final double _amount;
private final Stat _singleStat;
private final Set<Stat> _multipleStats;
public StatUp(StatSet params) public StatUp(StatSet params)
{ {
_amount = params.getDouble("amount", 0); _amount = params.getDouble("amount", 0);
_stat = params.getEnum("stat", BaseStat.class, BaseStat.STR); final String stats = params.getString("stat", "STR");
if (stats.contains(","))
{
_singleStat = null;
_multipleStats = EnumSet.noneOf(Stat.class);
for (String stat : stats.split(","))
{
_multipleStats.add(Stat.valueOf("STAT_" + stat));
}
}
else
{
_singleStat = Stat.valueOf("STAT_" + stats);
_multipleStats = null;
}
} }
@Override @Override
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
Stat stat = Stat.STAT_STR; if (_singleStat != null)
switch (_stat)
{ {
case INT: effected.getStat().mergeAdd(_singleStat, _amount);
{ return;
stat = Stat.STAT_INT; }
break;
} for (Stat stat : _multipleStats)
case DEX: {
{ effected.getStat().mergeAdd(stat, _amount);
stat = Stat.STAT_DEX;
break;
}
case WIT:
{
stat = Stat.STAT_WIT;
break;
}
case CON:
{
stat = Stat.STAT_CON;
break;
}
case MEN:
{
stat = Stat.STAT_MEN;
break;
}
case CHA:
{
stat = Stat.STAT_CHA;
break;
}
case LUC:
{
stat = Stat.STAT_LUC;
break;
}
} }
effected.getStat().mergeAdd(stat, _amount);
} }
} }

View File

@ -16,70 +16,56 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import java.util.EnumSet;
import java.util.Set;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.BaseStat;
import org.l2jmobius.gameserver.model.stats.Stat; import org.l2jmobius.gameserver.model.stats.Stat;
/** /**
* @author Sdw * @author Mobius
*/ */
public class StatUp extends AbstractEffect public class StatUp extends AbstractEffect
{ {
private final BaseStat _stat;
private final double _amount; private final double _amount;
private final Stat _singleStat;
private final Set<Stat> _multipleStats;
public StatUp(StatSet params) public StatUp(StatSet params)
{ {
_amount = params.getDouble("amount", 0); _amount = params.getDouble("amount", 0);
_stat = params.getEnum("stat", BaseStat.class, BaseStat.STR); final String stats = params.getString("stat", "STR");
if (stats.contains(","))
{
_singleStat = null;
_multipleStats = EnumSet.noneOf(Stat.class);
for (String stat : stats.split(","))
{
_multipleStats.add(Stat.valueOf("STAT_" + stat));
}
}
else
{
_singleStat = Stat.valueOf("STAT_" + stats);
_multipleStats = null;
}
} }
@Override @Override
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
Stat stat = Stat.STAT_STR; if (_singleStat != null)
switch (_stat)
{ {
case INT: effected.getStat().mergeAdd(_singleStat, _amount);
{ return;
stat = Stat.STAT_INT; }
break;
} for (Stat stat : _multipleStats)
case DEX: {
{ effected.getStat().mergeAdd(stat, _amount);
stat = Stat.STAT_DEX;
break;
}
case WIT:
{
stat = Stat.STAT_WIT;
break;
}
case CON:
{
stat = Stat.STAT_CON;
break;
}
case MEN:
{
stat = Stat.STAT_MEN;
break;
}
case CHA:
{
stat = Stat.STAT_CHA;
break;
}
case LUC:
{
stat = Stat.STAT_LUC;
break;
}
} }
effected.getStat().mergeAdd(stat, _amount);
} }
} }

View File

@ -16,70 +16,56 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import java.util.EnumSet;
import java.util.Set;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.BaseStat;
import org.l2jmobius.gameserver.model.stats.Stat; import org.l2jmobius.gameserver.model.stats.Stat;
/** /**
* @author Sdw * @author Mobius
*/ */
public class StatUp extends AbstractEffect public class StatUp extends AbstractEffect
{ {
private final BaseStat _stat;
private final double _amount; private final double _amount;
private final Stat _singleStat;
private final Set<Stat> _multipleStats;
public StatUp(StatSet params) public StatUp(StatSet params)
{ {
_amount = params.getDouble("amount", 0); _amount = params.getDouble("amount", 0);
_stat = params.getEnum("stat", BaseStat.class, BaseStat.STR); final String stats = params.getString("stat", "STR");
if (stats.contains(","))
{
_singleStat = null;
_multipleStats = EnumSet.noneOf(Stat.class);
for (String stat : stats.split(","))
{
_multipleStats.add(Stat.valueOf("STAT_" + stat));
}
}
else
{
_singleStat = Stat.valueOf("STAT_" + stats);
_multipleStats = null;
}
} }
@Override @Override
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
Stat stat = Stat.STAT_STR; if (_singleStat != null)
switch (_stat)
{ {
case INT: effected.getStat().mergeAdd(_singleStat, _amount);
{ return;
stat = Stat.STAT_INT; }
break;
} for (Stat stat : _multipleStats)
case DEX: {
{ effected.getStat().mergeAdd(stat, _amount);
stat = Stat.STAT_DEX;
break;
}
case WIT:
{
stat = Stat.STAT_WIT;
break;
}
case CON:
{
stat = Stat.STAT_CON;
break;
}
case MEN:
{
stat = Stat.STAT_MEN;
break;
}
case CHA:
{
stat = Stat.STAT_CHA;
break;
}
case LUC:
{
stat = Stat.STAT_LUC;
break;
}
} }
effected.getStat().mergeAdd(stat, _amount);
} }
} }

View File

@ -16,70 +16,56 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import java.util.EnumSet;
import java.util.Set;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.BaseStat;
import org.l2jmobius.gameserver.model.stats.Stat; import org.l2jmobius.gameserver.model.stats.Stat;
/** /**
* @author Sdw * @author Mobius
*/ */
public class StatUp extends AbstractEffect public class StatUp extends AbstractEffect
{ {
private final BaseStat _stat;
private final double _amount; private final double _amount;
private final Stat _singleStat;
private final Set<Stat> _multipleStats;
public StatUp(StatSet params) public StatUp(StatSet params)
{ {
_amount = params.getDouble("amount", 0); _amount = params.getDouble("amount", 0);
_stat = params.getEnum("stat", BaseStat.class, BaseStat.STR); final String stats = params.getString("stat", "STR");
if (stats.contains(","))
{
_singleStat = null;
_multipleStats = EnumSet.noneOf(Stat.class);
for (String stat : stats.split(","))
{
_multipleStats.add(Stat.valueOf("STAT_" + stat));
}
}
else
{
_singleStat = Stat.valueOf("STAT_" + stats);
_multipleStats = null;
}
} }
@Override @Override
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
Stat stat = Stat.STAT_STR; if (_singleStat != null)
switch (_stat)
{ {
case INT: effected.getStat().mergeAdd(_singleStat, _amount);
{ return;
stat = Stat.STAT_INT; }
break;
} for (Stat stat : _multipleStats)
case DEX: {
{ effected.getStat().mergeAdd(stat, _amount);
stat = Stat.STAT_DEX;
break;
}
case WIT:
{
stat = Stat.STAT_WIT;
break;
}
case CON:
{
stat = Stat.STAT_CON;
break;
}
case MEN:
{
stat = Stat.STAT_MEN;
break;
}
case CHA:
{
stat = Stat.STAT_CHA;
break;
}
case LUC:
{
stat = Stat.STAT_LUC;
break;
}
} }
effected.getStat().mergeAdd(stat, _amount);
} }
} }

View File

@ -16,70 +16,56 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import java.util.EnumSet;
import java.util.Set;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.BaseStat;
import org.l2jmobius.gameserver.model.stats.Stat; import org.l2jmobius.gameserver.model.stats.Stat;
/** /**
* @author Sdw * @author Mobius
*/ */
public class StatUp extends AbstractEffect public class StatUp extends AbstractEffect
{ {
private final BaseStat _stat;
private final double _amount; private final double _amount;
private final Stat _singleStat;
private final Set<Stat> _multipleStats;
public StatUp(StatSet params) public StatUp(StatSet params)
{ {
_amount = params.getDouble("amount", 0); _amount = params.getDouble("amount", 0);
_stat = params.getEnum("stat", BaseStat.class, BaseStat.STR); final String stats = params.getString("stat", "STR");
if (stats.contains(","))
{
_singleStat = null;
_multipleStats = EnumSet.noneOf(Stat.class);
for (String stat : stats.split(","))
{
_multipleStats.add(Stat.valueOf("STAT_" + stat));
}
}
else
{
_singleStat = Stat.valueOf("STAT_" + stats);
_multipleStats = null;
}
} }
@Override @Override
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
Stat stat = Stat.STAT_STR; if (_singleStat != null)
switch (_stat)
{ {
case INT: effected.getStat().mergeAdd(_singleStat, _amount);
{ return;
stat = Stat.STAT_INT; }
break;
} for (Stat stat : _multipleStats)
case DEX: {
{ effected.getStat().mergeAdd(stat, _amount);
stat = Stat.STAT_DEX;
break;
}
case WIT:
{
stat = Stat.STAT_WIT;
break;
}
case CON:
{
stat = Stat.STAT_CON;
break;
}
case MEN:
{
stat = Stat.STAT_MEN;
break;
}
case CHA:
{
stat = Stat.STAT_CHA;
break;
}
case LUC:
{
stat = Stat.STAT_LUC;
break;
}
} }
effected.getStat().mergeAdd(stat, _amount);
} }
} }

View File

@ -16,70 +16,56 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import java.util.EnumSet;
import java.util.Set;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.BaseStat;
import org.l2jmobius.gameserver.model.stats.Stat; import org.l2jmobius.gameserver.model.stats.Stat;
/** /**
* @author Sdw * @author Mobius
*/ */
public class StatUp extends AbstractEffect public class StatUp extends AbstractEffect
{ {
private final BaseStat _stat;
private final double _amount; private final double _amount;
private final Stat _singleStat;
private final Set<Stat> _multipleStats;
public StatUp(StatSet params) public StatUp(StatSet params)
{ {
_amount = params.getDouble("amount", 0); _amount = params.getDouble("amount", 0);
_stat = params.getEnum("stat", BaseStat.class, BaseStat.STR); final String stats = params.getString("stat", "STR");
if (stats.contains(","))
{
_singleStat = null;
_multipleStats = EnumSet.noneOf(Stat.class);
for (String stat : stats.split(","))
{
_multipleStats.add(Stat.valueOf("STAT_" + stat));
}
}
else
{
_singleStat = Stat.valueOf("STAT_" + stats);
_multipleStats = null;
}
} }
@Override @Override
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
Stat stat = Stat.STAT_STR; if (_singleStat != null)
switch (_stat)
{ {
case INT: effected.getStat().mergeAdd(_singleStat, _amount);
{ return;
stat = Stat.STAT_INT; }
break;
} for (Stat stat : _multipleStats)
case DEX: {
{ effected.getStat().mergeAdd(stat, _amount);
stat = Stat.STAT_DEX;
break;
}
case WIT:
{
stat = Stat.STAT_WIT;
break;
}
case CON:
{
stat = Stat.STAT_CON;
break;
}
case MEN:
{
stat = Stat.STAT_MEN;
break;
}
case CHA:
{
stat = Stat.STAT_CHA;
break;
}
case LUC:
{
stat = Stat.STAT_LUC;
break;
}
} }
effected.getStat().mergeAdd(stat, _amount);
} }
} }

View File

@ -16,60 +16,56 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import java.util.EnumSet;
import java.util.Set;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.BaseStat;
import org.l2jmobius.gameserver.model.stats.Stat; import org.l2jmobius.gameserver.model.stats.Stat;
/** /**
* @author Sdw * @author Mobius
*/ */
public class StatUp extends AbstractEffect public class StatUp extends AbstractEffect
{ {
private final BaseStat _stat;
private final double _amount; private final double _amount;
private final Stat _singleStat;
private final Set<Stat> _multipleStats;
public StatUp(StatSet params) public StatUp(StatSet params)
{ {
_amount = params.getDouble("amount", 0); _amount = params.getDouble("amount", 0);
_stat = params.getEnum("stat", BaseStat.class, BaseStat.STR); final String stats = params.getString("stat", "STR");
if (stats.contains(","))
{
_singleStat = null;
_multipleStats = EnumSet.noneOf(Stat.class);
for (String stat : stats.split(","))
{
_multipleStats.add(Stat.valueOf("STAT_" + stat));
}
}
else
{
_singleStat = Stat.valueOf("STAT_" + stats);
_multipleStats = null;
}
} }
@Override @Override
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
Stat stat = Stat.STAT_STR; if (_singleStat != null)
switch (_stat)
{ {
case INT: effected.getStat().mergeAdd(_singleStat, _amount);
{ return;
stat = Stat.STAT_INT; }
break;
} for (Stat stat : _multipleStats)
case DEX: {
{ effected.getStat().mergeAdd(stat, _amount);
stat = Stat.STAT_DEX;
break;
}
case WIT:
{
stat = Stat.STAT_WIT;
break;
}
case CON:
{
stat = Stat.STAT_CON;
break;
}
case MEN:
{
stat = Stat.STAT_MEN;
break;
}
} }
effected.getStat().mergeAdd(stat, _amount);
} }
} }

View File

@ -16,60 +16,56 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import java.util.EnumSet;
import java.util.Set;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.BaseStat;
import org.l2jmobius.gameserver.model.stats.Stat; import org.l2jmobius.gameserver.model.stats.Stat;
/** /**
* @author Sdw * @author Mobius
*/ */
public class StatUp extends AbstractEffect public class StatUp extends AbstractEffect
{ {
private final BaseStat _stat;
private final double _amount; private final double _amount;
private final Stat _singleStat;
private final Set<Stat> _multipleStats;
public StatUp(StatSet params) public StatUp(StatSet params)
{ {
_amount = params.getDouble("amount", 0); _amount = params.getDouble("amount", 0);
_stat = params.getEnum("stat", BaseStat.class, BaseStat.STR); final String stats = params.getString("stat", "STR");
if (stats.contains(","))
{
_singleStat = null;
_multipleStats = EnumSet.noneOf(Stat.class);
for (String stat : stats.split(","))
{
_multipleStats.add(Stat.valueOf("STAT_" + stat));
}
}
else
{
_singleStat = Stat.valueOf("STAT_" + stats);
_multipleStats = null;
}
} }
@Override @Override
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
Stat stat = Stat.STAT_STR; if (_singleStat != null)
switch (_stat)
{ {
case INT: effected.getStat().mergeAdd(_singleStat, _amount);
{ return;
stat = Stat.STAT_INT; }
break;
} for (Stat stat : _multipleStats)
case DEX: {
{ effected.getStat().mergeAdd(stat, _amount);
stat = Stat.STAT_DEX;
break;
}
case WIT:
{
stat = Stat.STAT_WIT;
break;
}
case CON:
{
stat = Stat.STAT_CON;
break;
}
case MEN:
{
stat = Stat.STAT_MEN;
break;
}
} }
effected.getStat().mergeAdd(stat, _amount);
} }
} }

View File

@ -16,60 +16,56 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import java.util.EnumSet;
import java.util.Set;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.BaseStat;
import org.l2jmobius.gameserver.model.stats.Stat; import org.l2jmobius.gameserver.model.stats.Stat;
/** /**
* @author Sdw * @author Mobius
*/ */
public class StatUp extends AbstractEffect public class StatUp extends AbstractEffect
{ {
private final BaseStat _stat;
private final double _amount; private final double _amount;
private final Stat _singleStat;
private final Set<Stat> _multipleStats;
public StatUp(StatSet params) public StatUp(StatSet params)
{ {
_amount = params.getDouble("amount", 0); _amount = params.getDouble("amount", 0);
_stat = params.getEnum("stat", BaseStat.class, BaseStat.STR); final String stats = params.getString("stat", "STR");
if (stats.contains(","))
{
_singleStat = null;
_multipleStats = EnumSet.noneOf(Stat.class);
for (String stat : stats.split(","))
{
_multipleStats.add(Stat.valueOf("STAT_" + stat));
}
}
else
{
_singleStat = Stat.valueOf("STAT_" + stats);
_multipleStats = null;
}
} }
@Override @Override
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
Stat stat = Stat.STAT_STR; if (_singleStat != null)
switch (_stat)
{ {
case INT: effected.getStat().mergeAdd(_singleStat, _amount);
{ return;
stat = Stat.STAT_INT; }
break;
} for (Stat stat : _multipleStats)
case DEX: {
{ effected.getStat().mergeAdd(stat, _amount);
stat = Stat.STAT_DEX;
break;
}
case WIT:
{
stat = Stat.STAT_WIT;
break;
}
case CON:
{
stat = Stat.STAT_CON;
break;
}
case MEN:
{
stat = Stat.STAT_MEN;
break;
}
} }
effected.getStat().mergeAdd(stat, _amount);
} }
} }

View File

@ -16,60 +16,56 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import java.util.EnumSet;
import java.util.Set;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.BaseStat;
import org.l2jmobius.gameserver.model.stats.Stat; import org.l2jmobius.gameserver.model.stats.Stat;
/** /**
* @author Sdw * @author Mobius
*/ */
public class StatUp extends AbstractEffect public class StatUp extends AbstractEffect
{ {
private final BaseStat _stat;
private final double _amount; private final double _amount;
private final Stat _singleStat;
private final Set<Stat> _multipleStats;
public StatUp(StatSet params) public StatUp(StatSet params)
{ {
_amount = params.getDouble("amount", 0); _amount = params.getDouble("amount", 0);
_stat = params.getEnum("stat", BaseStat.class, BaseStat.STR); final String stats = params.getString("stat", "STR");
if (stats.contains(","))
{
_singleStat = null;
_multipleStats = EnumSet.noneOf(Stat.class);
for (String stat : stats.split(","))
{
_multipleStats.add(Stat.valueOf("STAT_" + stat));
}
}
else
{
_singleStat = Stat.valueOf("STAT_" + stats);
_multipleStats = null;
}
} }
@Override @Override
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
Stat stat = Stat.STAT_STR; if (_singleStat != null)
switch (_stat)
{ {
case INT: effected.getStat().mergeAdd(_singleStat, _amount);
{ return;
stat = Stat.STAT_INT; }
break;
} for (Stat stat : _multipleStats)
case DEX: {
{ effected.getStat().mergeAdd(stat, _amount);
stat = Stat.STAT_DEX;
break;
}
case WIT:
{
stat = Stat.STAT_WIT;
break;
}
case CON:
{
stat = Stat.STAT_CON;
break;
}
case MEN:
{
stat = Stat.STAT_MEN;
break;
}
} }
effected.getStat().mergeAdd(stat, _amount);
} }
} }

View File

@ -16,60 +16,56 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import java.util.EnumSet;
import java.util.Set;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.BaseStat;
import org.l2jmobius.gameserver.model.stats.Stat; import org.l2jmobius.gameserver.model.stats.Stat;
/** /**
* @author Sdw * @author Mobius
*/ */
public class StatUp extends AbstractEffect public class StatUp extends AbstractEffect
{ {
private final BaseStat _stat;
private final double _amount; private final double _amount;
private final Stat _singleStat;
private final Set<Stat> _multipleStats;
public StatUp(StatSet params) public StatUp(StatSet params)
{ {
_amount = params.getDouble("amount", 0); _amount = params.getDouble("amount", 0);
_stat = params.getEnum("stat", BaseStat.class, BaseStat.STR); final String stats = params.getString("stat", "STR");
if (stats.contains(","))
{
_singleStat = null;
_multipleStats = EnumSet.noneOf(Stat.class);
for (String stat : stats.split(","))
{
_multipleStats.add(Stat.valueOf("STAT_" + stat));
}
}
else
{
_singleStat = Stat.valueOf("STAT_" + stats);
_multipleStats = null;
}
} }
@Override @Override
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
Stat stat = Stat.STAT_STR; if (_singleStat != null)
switch (_stat)
{ {
case INT: effected.getStat().mergeAdd(_singleStat, _amount);
{ return;
stat = Stat.STAT_INT; }
break;
} for (Stat stat : _multipleStats)
case DEX: {
{ effected.getStat().mergeAdd(stat, _amount);
stat = Stat.STAT_DEX;
break;
}
case WIT:
{
stat = Stat.STAT_WIT;
break;
}
case CON:
{
stat = Stat.STAT_CON;
break;
}
case MEN:
{
stat = Stat.STAT_MEN;
break;
}
} }
effected.getStat().mergeAdd(stat, _amount);
} }
} }

View File

@ -16,60 +16,56 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import java.util.EnumSet;
import java.util.Set;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.BaseStat;
import org.l2jmobius.gameserver.model.stats.Stat; import org.l2jmobius.gameserver.model.stats.Stat;
/** /**
* @author Sdw * @author Mobius
*/ */
public class StatUp extends AbstractEffect public class StatUp extends AbstractEffect
{ {
private final BaseStat _stat;
private final double _amount; private final double _amount;
private final Stat _singleStat;
private final Set<Stat> _multipleStats;
public StatUp(StatSet params) public StatUp(StatSet params)
{ {
_amount = params.getDouble("amount", 0); _amount = params.getDouble("amount", 0);
_stat = params.getEnum("stat", BaseStat.class, BaseStat.STR); final String stats = params.getString("stat", "STR");
if (stats.contains(","))
{
_singleStat = null;
_multipleStats = EnumSet.noneOf(Stat.class);
for (String stat : stats.split(","))
{
_multipleStats.add(Stat.valueOf("STAT_" + stat));
}
}
else
{
_singleStat = Stat.valueOf("STAT_" + stats);
_multipleStats = null;
}
} }
@Override @Override
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
Stat stat = Stat.STAT_STR; if (_singleStat != null)
switch (_stat)
{ {
case INT: effected.getStat().mergeAdd(_singleStat, _amount);
{ return;
stat = Stat.STAT_INT; }
break;
} for (Stat stat : _multipleStats)
case DEX: {
{ effected.getStat().mergeAdd(stat, _amount);
stat = Stat.STAT_DEX;
break;
}
case WIT:
{
stat = Stat.STAT_WIT;
break;
}
case CON:
{
stat = Stat.STAT_CON;
break;
}
case MEN:
{
stat = Stat.STAT_MEN;
break;
}
} }
effected.getStat().mergeAdd(stat, _amount);
} }
} }

View File

@ -16,60 +16,56 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import java.util.EnumSet;
import java.util.Set;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.BaseStat;
import org.l2jmobius.gameserver.model.stats.Stat; import org.l2jmobius.gameserver.model.stats.Stat;
/** /**
* @author Sdw * @author Mobius
*/ */
public class StatUp extends AbstractEffect public class StatUp extends AbstractEffect
{ {
private final BaseStat _stat;
private final double _amount; private final double _amount;
private final Stat _singleStat;
private final Set<Stat> _multipleStats;
public StatUp(StatSet params) public StatUp(StatSet params)
{ {
_amount = params.getDouble("amount", 0); _amount = params.getDouble("amount", 0);
_stat = params.getEnum("stat", BaseStat.class, BaseStat.STR); final String stats = params.getString("stat", "STR");
if (stats.contains(","))
{
_singleStat = null;
_multipleStats = EnumSet.noneOf(Stat.class);
for (String stat : stats.split(","))
{
_multipleStats.add(Stat.valueOf("STAT_" + stat));
}
}
else
{
_singleStat = Stat.valueOf("STAT_" + stats);
_multipleStats = null;
}
} }
@Override @Override
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
Stat stat = Stat.STAT_STR; if (_singleStat != null)
switch (_stat)
{ {
case INT: effected.getStat().mergeAdd(_singleStat, _amount);
{ return;
stat = Stat.STAT_INT; }
break;
} for (Stat stat : _multipleStats)
case DEX: {
{ effected.getStat().mergeAdd(stat, _amount);
stat = Stat.STAT_DEX;
break;
}
case WIT:
{
stat = Stat.STAT_WIT;
break;
}
case CON:
{
stat = Stat.STAT_CON;
break;
}
case MEN:
{
stat = Stat.STAT_MEN;
break;
}
} }
effected.getStat().mergeAdd(stat, _amount);
} }
} }

View File

@ -16,60 +16,56 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import java.util.EnumSet;
import java.util.Set;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.BaseStat;
import org.l2jmobius.gameserver.model.stats.Stat; import org.l2jmobius.gameserver.model.stats.Stat;
/** /**
* @author Sdw * @author Mobius
*/ */
public class StatUp extends AbstractEffect public class StatUp extends AbstractEffect
{ {
private final BaseStat _stat;
private final double _amount; private final double _amount;
private final Stat _singleStat;
private final Set<Stat> _multipleStats;
public StatUp(StatSet params) public StatUp(StatSet params)
{ {
_amount = params.getDouble("amount", 0); _amount = params.getDouble("amount", 0);
_stat = params.getEnum("stat", BaseStat.class, BaseStat.STR); final String stats = params.getString("stat", "STR");
if (stats.contains(","))
{
_singleStat = null;
_multipleStats = EnumSet.noneOf(Stat.class);
for (String stat : stats.split(","))
{
_multipleStats.add(Stat.valueOf("STAT_" + stat));
}
}
else
{
_singleStat = Stat.valueOf("STAT_" + stats);
_multipleStats = null;
}
} }
@Override @Override
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
Stat stat = Stat.STAT_STR; if (_singleStat != null)
switch (_stat)
{ {
case INT: effected.getStat().mergeAdd(_singleStat, _amount);
{ return;
stat = Stat.STAT_INT; }
break;
} for (Stat stat : _multipleStats)
case DEX: {
{ effected.getStat().mergeAdd(stat, _amount);
stat = Stat.STAT_DEX;
break;
}
case WIT:
{
stat = Stat.STAT_WIT;
break;
}
case CON:
{
stat = Stat.STAT_CON;
break;
}
case MEN:
{
stat = Stat.STAT_MEN;
break;
}
} }
effected.getStat().mergeAdd(stat, _amount);
} }
} }

View File

@ -16,60 +16,56 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import java.util.EnumSet;
import java.util.Set;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.BaseStat;
import org.l2jmobius.gameserver.model.stats.Stat; import org.l2jmobius.gameserver.model.stats.Stat;
/** /**
* @author Sdw * @author Mobius
*/ */
public class StatUp extends AbstractEffect public class StatUp extends AbstractEffect
{ {
private final BaseStat _stat;
private final double _amount; private final double _amount;
private final Stat _singleStat;
private final Set<Stat> _multipleStats;
public StatUp(StatSet params) public StatUp(StatSet params)
{ {
_amount = params.getDouble("amount", 0); _amount = params.getDouble("amount", 0);
_stat = params.getEnum("stat", BaseStat.class, BaseStat.STR); final String stats = params.getString("stat", "STR");
if (stats.contains(","))
{
_singleStat = null;
_multipleStats = EnumSet.noneOf(Stat.class);
for (String stat : stats.split(","))
{
_multipleStats.add(Stat.valueOf("STAT_" + stat));
}
}
else
{
_singleStat = Stat.valueOf("STAT_" + stats);
_multipleStats = null;
}
} }
@Override @Override
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
Stat stat = Stat.STAT_STR; if (_singleStat != null)
switch (_stat)
{ {
case INT: effected.getStat().mergeAdd(_singleStat, _amount);
{ return;
stat = Stat.STAT_INT; }
break;
} for (Stat stat : _multipleStats)
case DEX: {
{ effected.getStat().mergeAdd(stat, _amount);
stat = Stat.STAT_DEX;
break;
}
case WIT:
{
stat = Stat.STAT_WIT;
break;
}
case CON:
{
stat = Stat.STAT_CON;
break;
}
case MEN:
{
stat = Stat.STAT_MEN;
break;
}
} }
effected.getStat().mergeAdd(stat, _amount);
} }
} }

View File

@ -16,60 +16,56 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import java.util.EnumSet;
import java.util.Set;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.BaseStat;
import org.l2jmobius.gameserver.model.stats.Stat; import org.l2jmobius.gameserver.model.stats.Stat;
/** /**
* @author Sdw * @author Mobius
*/ */
public class StatUp extends AbstractEffect public class StatUp extends AbstractEffect
{ {
private final BaseStat _stat;
private final double _amount; private final double _amount;
private final Stat _singleStat;
private final Set<Stat> _multipleStats;
public StatUp(StatSet params) public StatUp(StatSet params)
{ {
_amount = params.getDouble("amount", 0); _amount = params.getDouble("amount", 0);
_stat = params.getEnum("stat", BaseStat.class, BaseStat.STR); final String stats = params.getString("stat", "STR");
if (stats.contains(","))
{
_singleStat = null;
_multipleStats = EnumSet.noneOf(Stat.class);
for (String stat : stats.split(","))
{
_multipleStats.add(Stat.valueOf("STAT_" + stat));
}
}
else
{
_singleStat = Stat.valueOf("STAT_" + stats);
_multipleStats = null;
}
} }
@Override @Override
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
Stat stat = Stat.STAT_STR; if (_singleStat != null)
switch (_stat)
{ {
case INT: effected.getStat().mergeAdd(_singleStat, _amount);
{ return;
stat = Stat.STAT_INT; }
break;
} for (Stat stat : _multipleStats)
case DEX: {
{ effected.getStat().mergeAdd(stat, _amount);
stat = Stat.STAT_DEX;
break;
}
case WIT:
{
stat = Stat.STAT_WIT;
break;
}
case CON:
{
stat = Stat.STAT_CON;
break;
}
case MEN:
{
stat = Stat.STAT_MEN;
break;
}
} }
effected.getStat().mergeAdd(stat, _amount);
} }
} }

View File

@ -16,66 +16,56 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import java.util.EnumSet;
import java.util.Set;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.BaseStat;
import org.l2jmobius.gameserver.model.stats.Stat; import org.l2jmobius.gameserver.model.stats.Stat;
/** /**
* @author Sdw * @author Mobius
*/ */
public class StatUp extends AbstractEffect public class StatUp extends AbstractEffect
{ {
private final BaseStat _stat;
private final double _amount; private final double _amount;
private final Stat _singleStat;
private final Set<Stat> _multipleStats;
public StatUp(StatSet params) public StatUp(StatSet params)
{ {
_amount = params.getDouble("amount", 0); _amount = params.getDouble("amount", 0);
_stat = params.getEnum("stat", BaseStat.class, BaseStat.STR); final String stats = params.getString("stat", "STR");
if (stats.contains(","))
{
_singleStat = null;
_multipleStats = EnumSet.noneOf(Stat.class);
for (String stat : stats.split(","))
{
_multipleStats.add(Stat.valueOf("STAT_" + stat));
}
}
else
{
_singleStat = Stat.valueOf("STAT_" + stats);
_multipleStats = null;
}
} }
@Override @Override
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
Stat stat = Stat.STAT_STR; if (_singleStat != null)
switch (_stat)
{ {
case INT: effected.getStat().mergeAdd(_singleStat, _amount);
{ return;
stat = Stat.STAT_INT;
break;
}
case DEX:
{
stat = Stat.STAT_DEX;
break;
}
case WIT:
{
stat = Stat.STAT_WIT;
break;
}
case CON:
{
stat = Stat.STAT_CON;
break;
}
case MEN:
{
stat = Stat.STAT_MEN;
break;
}
} }
effected.getStat().mergeAdd(stat, _amount);
// Calculate stat increase skills. for (Stat stat : _multipleStats)
if (effected.isPlayer())
{ {
effected.getActingPlayer().calculateStatIncreaseSkills(); effected.getStat().mergeAdd(stat, _amount);
} }
} }
} }

View File

@ -16,66 +16,56 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import java.util.EnumSet;
import java.util.Set;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.BaseStat;
import org.l2jmobius.gameserver.model.stats.Stat; import org.l2jmobius.gameserver.model.stats.Stat;
/** /**
* @author Sdw * @author Mobius
*/ */
public class StatUp extends AbstractEffect public class StatUp extends AbstractEffect
{ {
private final BaseStat _stat;
private final double _amount; private final double _amount;
private final Stat _singleStat;
private final Set<Stat> _multipleStats;
public StatUp(StatSet params) public StatUp(StatSet params)
{ {
_amount = params.getDouble("amount", 0); _amount = params.getDouble("amount", 0);
_stat = params.getEnum("stat", BaseStat.class, BaseStat.STR); final String stats = params.getString("stat", "STR");
if (stats.contains(","))
{
_singleStat = null;
_multipleStats = EnumSet.noneOf(Stat.class);
for (String stat : stats.split(","))
{
_multipleStats.add(Stat.valueOf("STAT_" + stat));
}
}
else
{
_singleStat = Stat.valueOf("STAT_" + stats);
_multipleStats = null;
}
} }
@Override @Override
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
Stat stat = Stat.STAT_STR; if (_singleStat != null)
switch (_stat)
{ {
case INT: effected.getStat().mergeAdd(_singleStat, _amount);
{ return;
stat = Stat.STAT_INT;
break;
}
case DEX:
{
stat = Stat.STAT_DEX;
break;
}
case WIT:
{
stat = Stat.STAT_WIT;
break;
}
case CON:
{
stat = Stat.STAT_CON;
break;
}
case MEN:
{
stat = Stat.STAT_MEN;
break;
}
} }
effected.getStat().mergeAdd(stat, _amount);
// Calculate stat increase skills. for (Stat stat : _multipleStats)
if (effected.isPlayer())
{ {
effected.getActingPlayer().calculateStatIncreaseSkills(); effected.getStat().mergeAdd(stat, _amount);
} }
} }
} }

View File

@ -16,66 +16,56 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import java.util.EnumSet;
import java.util.Set;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.BaseStat;
import org.l2jmobius.gameserver.model.stats.Stat; import org.l2jmobius.gameserver.model.stats.Stat;
/** /**
* @author Sdw * @author Mobius
*/ */
public class StatUp extends AbstractEffect public class StatUp extends AbstractEffect
{ {
private final BaseStat _stat;
private final double _amount; private final double _amount;
private final Stat _singleStat;
private final Set<Stat> _multipleStats;
public StatUp(StatSet params) public StatUp(StatSet params)
{ {
_amount = params.getDouble("amount", 0); _amount = params.getDouble("amount", 0);
_stat = params.getEnum("stat", BaseStat.class, BaseStat.STR); final String stats = params.getString("stat", "STR");
if (stats.contains(","))
{
_singleStat = null;
_multipleStats = EnumSet.noneOf(Stat.class);
for (String stat : stats.split(","))
{
_multipleStats.add(Stat.valueOf("STAT_" + stat));
}
}
else
{
_singleStat = Stat.valueOf("STAT_" + stats);
_multipleStats = null;
}
} }
@Override @Override
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
Stat stat = Stat.STAT_STR; if (_singleStat != null)
switch (_stat)
{ {
case INT: effected.getStat().mergeAdd(_singleStat, _amount);
{ return;
stat = Stat.STAT_INT;
break;
}
case DEX:
{
stat = Stat.STAT_DEX;
break;
}
case WIT:
{
stat = Stat.STAT_WIT;
break;
}
case CON:
{
stat = Stat.STAT_CON;
break;
}
case MEN:
{
stat = Stat.STAT_MEN;
break;
}
} }
effected.getStat().mergeAdd(stat, _amount);
// Calculate stat increase skills. for (Stat stat : _multipleStats)
if (effected.isPlayer())
{ {
effected.getActingPlayer().calculateStatIncreaseSkills(); effected.getStat().mergeAdd(stat, _amount);
} }
} }
} }

View File

@ -16,66 +16,56 @@
*/ */
package handlers.effecthandlers; package handlers.effecthandlers;
import java.util.EnumSet;
import java.util.Set;
import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.stats.BaseStat;
import org.l2jmobius.gameserver.model.stats.Stat; import org.l2jmobius.gameserver.model.stats.Stat;
/** /**
* @author Sdw * @author Mobius
*/ */
public class StatUp extends AbstractEffect public class StatUp extends AbstractEffect
{ {
private final BaseStat _stat;
private final double _amount; private final double _amount;
private final Stat _singleStat;
private final Set<Stat> _multipleStats;
public StatUp(StatSet params) public StatUp(StatSet params)
{ {
_amount = params.getDouble("amount", 0); _amount = params.getDouble("amount", 0);
_stat = params.getEnum("stat", BaseStat.class, BaseStat.STR); final String stats = params.getString("stat", "STR");
if (stats.contains(","))
{
_singleStat = null;
_multipleStats = EnumSet.noneOf(Stat.class);
for (String stat : stats.split(","))
{
_multipleStats.add(Stat.valueOf("STAT_" + stat));
}
}
else
{
_singleStat = Stat.valueOf("STAT_" + stats);
_multipleStats = null;
}
} }
@Override @Override
public void pump(Creature effected, Skill skill) public void pump(Creature effected, Skill skill)
{ {
Stat stat = Stat.STAT_STR; if (_singleStat != null)
switch (_stat)
{ {
case INT: effected.getStat().mergeAdd(_singleStat, _amount);
{ return;
stat = Stat.STAT_INT;
break;
}
case DEX:
{
stat = Stat.STAT_DEX;
break;
}
case WIT:
{
stat = Stat.STAT_WIT;
break;
}
case CON:
{
stat = Stat.STAT_CON;
break;
}
case MEN:
{
stat = Stat.STAT_MEN;
break;
}
} }
effected.getStat().mergeAdd(stat, _amount);
// Calculate stat increase skills. for (Stat stat : _multipleStats)
if (effected.isPlayer())
{ {
effected.getActingPlayer().calculateStatIncreaseSkills(); effected.getStat().mergeAdd(stat, _amount);
} }
} }
} }