diff --git a/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/StatUp.java b/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/StatUp.java index 55294a5561..d656e24a7e 100644 --- a/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/StatUp.java +++ b/L2J_Mobius_01.0_Ertheia/dist/game/data/scripts/handlers/effecthandlers/StatUp.java @@ -16,70 +16,56 @@ */ package handlers.effecthandlers; +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; import org.l2jmobius.gameserver.model.skill.Skill; -import org.l2jmobius.gameserver.model.stats.BaseStat; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author Mobius */ public class StatUp extends AbstractEffect { - private final BaseStat _stat; private final double _amount; + private final Stat _singleStat; + private final Set _multipleStats; public StatUp(StatSet params) { _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 public void pump(Creature effected, Skill skill) { - Stat stat = Stat.STAT_STR; - - switch (_stat) + if (_singleStat != null) { - case INT: - { - 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; - } - case CHA: - { - stat = Stat.STAT_CHA; - break; - } - case LUC: - { - stat = Stat.STAT_LUC; - break; - } + effected.getStat().mergeAdd(_singleStat, _amount); + return; + } + + for (Stat stat : _multipleStats) + { + effected.getStat().mergeAdd(stat, _amount); } - effected.getStat().mergeAdd(stat, _amount); } } diff --git a/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/effecthandlers/StatUp.java b/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/effecthandlers/StatUp.java index 55294a5561..d656e24a7e 100644 --- a/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/effecthandlers/StatUp.java +++ b/L2J_Mobius_02.5_Underground/dist/game/data/scripts/handlers/effecthandlers/StatUp.java @@ -16,70 +16,56 @@ */ package handlers.effecthandlers; +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; import org.l2jmobius.gameserver.model.skill.Skill; -import org.l2jmobius.gameserver.model.stats.BaseStat; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author Mobius */ public class StatUp extends AbstractEffect { - private final BaseStat _stat; private final double _amount; + private final Stat _singleStat; + private final Set _multipleStats; public StatUp(StatSet params) { _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 public void pump(Creature effected, Skill skill) { - Stat stat = Stat.STAT_STR; - - switch (_stat) + if (_singleStat != null) { - case INT: - { - 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; - } - case CHA: - { - stat = Stat.STAT_CHA; - break; - } - case LUC: - { - stat = Stat.STAT_LUC; - break; - } + effected.getStat().mergeAdd(_singleStat, _amount); + return; + } + + for (Stat stat : _multipleStats) + { + effected.getStat().mergeAdd(stat, _amount); } - effected.getStat().mergeAdd(stat, _amount); } } diff --git a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/effecthandlers/StatUp.java b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/effecthandlers/StatUp.java index 55294a5561..d656e24a7e 100644 --- a/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/effecthandlers/StatUp.java +++ b/L2J_Mobius_03.0_Helios/dist/game/data/scripts/handlers/effecthandlers/StatUp.java @@ -16,70 +16,56 @@ */ package handlers.effecthandlers; +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; import org.l2jmobius.gameserver.model.skill.Skill; -import org.l2jmobius.gameserver.model.stats.BaseStat; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author Mobius */ public class StatUp extends AbstractEffect { - private final BaseStat _stat; private final double _amount; + private final Stat _singleStat; + private final Set _multipleStats; public StatUp(StatSet params) { _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 public void pump(Creature effected, Skill skill) { - Stat stat = Stat.STAT_STR; - - switch (_stat) + if (_singleStat != null) { - case INT: - { - 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; - } - case CHA: - { - stat = Stat.STAT_CHA; - break; - } - case LUC: - { - stat = Stat.STAT_LUC; - break; - } + effected.getStat().mergeAdd(_singleStat, _amount); + return; + } + + for (Stat stat : _multipleStats) + { + effected.getStat().mergeAdd(stat, _amount); } - effected.getStat().mergeAdd(stat, _amount); } } diff --git a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/StatUp.java b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/StatUp.java index 55294a5561..d656e24a7e 100644 --- a/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/StatUp.java +++ b/L2J_Mobius_04.0_GrandCrusade/dist/game/data/scripts/handlers/effecthandlers/StatUp.java @@ -16,70 +16,56 @@ */ package handlers.effecthandlers; +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; import org.l2jmobius.gameserver.model.skill.Skill; -import org.l2jmobius.gameserver.model.stats.BaseStat; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author Mobius */ public class StatUp extends AbstractEffect { - private final BaseStat _stat; private final double _amount; + private final Stat _singleStat; + private final Set _multipleStats; public StatUp(StatSet params) { _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 public void pump(Creature effected, Skill skill) { - Stat stat = Stat.STAT_STR; - - switch (_stat) + if (_singleStat != null) { - case INT: - { - 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; - } - case CHA: - { - stat = Stat.STAT_CHA; - break; - } - case LUC: - { - stat = Stat.STAT_LUC; - break; - } + effected.getStat().mergeAdd(_singleStat, _amount); + return; + } + + for (Stat stat : _multipleStats) + { + effected.getStat().mergeAdd(stat, _amount); } - effected.getStat().mergeAdd(stat, _amount); } } diff --git a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/StatUp.java b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/StatUp.java index 55294a5561..d656e24a7e 100644 --- a/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/StatUp.java +++ b/L2J_Mobius_05.0_Salvation/dist/game/data/scripts/handlers/effecthandlers/StatUp.java @@ -16,70 +16,56 @@ */ package handlers.effecthandlers; +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; import org.l2jmobius.gameserver.model.skill.Skill; -import org.l2jmobius.gameserver.model.stats.BaseStat; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author Mobius */ public class StatUp extends AbstractEffect { - private final BaseStat _stat; private final double _amount; + private final Stat _singleStat; + private final Set _multipleStats; public StatUp(StatSet params) { _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 public void pump(Creature effected, Skill skill) { - Stat stat = Stat.STAT_STR; - - switch (_stat) + if (_singleStat != null) { - case INT: - { - 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; - } - case CHA: - { - stat = Stat.STAT_CHA; - break; - } - case LUC: - { - stat = Stat.STAT_LUC; - break; - } + effected.getStat().mergeAdd(_singleStat, _amount); + return; + } + + for (Stat stat : _multipleStats) + { + effected.getStat().mergeAdd(stat, _amount); } - effected.getStat().mergeAdd(stat, _amount); } } diff --git a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/StatUp.java b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/StatUp.java index 55294a5561..d656e24a7e 100644 --- a/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/StatUp.java +++ b/L2J_Mobius_05.5_EtinasFate/dist/game/data/scripts/handlers/effecthandlers/StatUp.java @@ -16,70 +16,56 @@ */ package handlers.effecthandlers; +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; import org.l2jmobius.gameserver.model.skill.Skill; -import org.l2jmobius.gameserver.model.stats.BaseStat; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author Mobius */ public class StatUp extends AbstractEffect { - private final BaseStat _stat; private final double _amount; + private final Stat _singleStat; + private final Set _multipleStats; public StatUp(StatSet params) { _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 public void pump(Creature effected, Skill skill) { - Stat stat = Stat.STAT_STR; - - switch (_stat) + if (_singleStat != null) { - case INT: - { - 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; - } - case CHA: - { - stat = Stat.STAT_CHA; - break; - } - case LUC: - { - stat = Stat.STAT_LUC; - break; - } + effected.getStat().mergeAdd(_singleStat, _amount); + return; + } + + for (Stat stat : _multipleStats) + { + effected.getStat().mergeAdd(stat, _amount); } - effected.getStat().mergeAdd(stat, _amount); } } diff --git a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/StatUp.java b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/StatUp.java index 55294a5561..d656e24a7e 100644 --- a/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/StatUp.java +++ b/L2J_Mobius_06.0_Fafurion/dist/game/data/scripts/handlers/effecthandlers/StatUp.java @@ -16,70 +16,56 @@ */ package handlers.effecthandlers; +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; import org.l2jmobius.gameserver.model.skill.Skill; -import org.l2jmobius.gameserver.model.stats.BaseStat; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author Mobius */ public class StatUp extends AbstractEffect { - private final BaseStat _stat; private final double _amount; + private final Stat _singleStat; + private final Set _multipleStats; public StatUp(StatSet params) { _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 public void pump(Creature effected, Skill skill) { - Stat stat = Stat.STAT_STR; - - switch (_stat) + if (_singleStat != null) { - case INT: - { - 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; - } - case CHA: - { - stat = Stat.STAT_CHA; - break; - } - case LUC: - { - stat = Stat.STAT_LUC; - break; - } + effected.getStat().mergeAdd(_singleStat, _amount); + return; + } + + for (Stat stat : _multipleStats) + { + effected.getStat().mergeAdd(stat, _amount); } - effected.getStat().mergeAdd(stat, _amount); } } diff --git a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/StatUp.java b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/StatUp.java index 55294a5561..d656e24a7e 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/StatUp.java +++ b/L2J_Mobius_07.0_PreludeOfWar/dist/game/data/scripts/handlers/effecthandlers/StatUp.java @@ -16,70 +16,56 @@ */ package handlers.effecthandlers; +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; import org.l2jmobius.gameserver.model.skill.Skill; -import org.l2jmobius.gameserver.model.stats.BaseStat; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author Mobius */ public class StatUp extends AbstractEffect { - private final BaseStat _stat; private final double _amount; + private final Stat _singleStat; + private final Set _multipleStats; public StatUp(StatSet params) { _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 public void pump(Creature effected, Skill skill) { - Stat stat = Stat.STAT_STR; - - switch (_stat) + if (_singleStat != null) { - case INT: - { - 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; - } - case CHA: - { - stat = Stat.STAT_CHA; - break; - } - case LUC: - { - stat = Stat.STAT_LUC; - break; - } + effected.getStat().mergeAdd(_singleStat, _amount); + return; + } + + for (Stat stat : _multipleStats) + { + effected.getStat().mergeAdd(stat, _amount); } - effected.getStat().mergeAdd(stat, _amount); } } diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/effecthandlers/StatUp.java b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/effecthandlers/StatUp.java index 55294a5561..d656e24a7e 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/effecthandlers/StatUp.java +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/handlers/effecthandlers/StatUp.java @@ -16,70 +16,56 @@ */ package handlers.effecthandlers; +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; import org.l2jmobius.gameserver.model.skill.Skill; -import org.l2jmobius.gameserver.model.stats.BaseStat; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author Mobius */ public class StatUp extends AbstractEffect { - private final BaseStat _stat; private final double _amount; + private final Stat _singleStat; + private final Set _multipleStats; public StatUp(StatSet params) { _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 public void pump(Creature effected, Skill skill) { - Stat stat = Stat.STAT_STR; - - switch (_stat) + if (_singleStat != null) { - case INT: - { - 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; - } - case CHA: - { - stat = Stat.STAT_CHA; - break; - } - case LUC: - { - stat = Stat.STAT_LUC; - break; - } + effected.getStat().mergeAdd(_singleStat, _amount); + return; + } + + for (Stat stat : _multipleStats) + { + effected.getStat().mergeAdd(stat, _amount); } - effected.getStat().mergeAdd(stat, _amount); } } diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/effecthandlers/StatUp.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/effecthandlers/StatUp.java index 55294a5561..d656e24a7e 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/effecthandlers/StatUp.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/handlers/effecthandlers/StatUp.java @@ -16,70 +16,56 @@ */ package handlers.effecthandlers; +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; import org.l2jmobius.gameserver.model.skill.Skill; -import org.l2jmobius.gameserver.model.stats.BaseStat; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author Mobius */ public class StatUp extends AbstractEffect { - private final BaseStat _stat; private final double _amount; + private final Stat _singleStat; + private final Set _multipleStats; public StatUp(StatSet params) { _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 public void pump(Creature effected, Skill skill) { - Stat stat = Stat.STAT_STR; - - switch (_stat) + if (_singleStat != null) { - case INT: - { - 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; - } - case CHA: - { - stat = Stat.STAT_CHA; - break; - } - case LUC: - { - stat = Stat.STAT_LUC; - break; - } + effected.getStat().mergeAdd(_singleStat, _amount); + return; + } + + for (Stat stat : _multipleStats) + { + effected.getStat().mergeAdd(stat, _amount); } - effected.getStat().mergeAdd(stat, _amount); } } diff --git a/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/effecthandlers/StatUp.java b/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/effecthandlers/StatUp.java index 55294a5561..d656e24a7e 100644 --- a/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/effecthandlers/StatUp.java +++ b/L2J_Mobius_10.2_MasterClass/dist/game/data/scripts/handlers/effecthandlers/StatUp.java @@ -16,70 +16,56 @@ */ package handlers.effecthandlers; +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; import org.l2jmobius.gameserver.model.skill.Skill; -import org.l2jmobius.gameserver.model.stats.BaseStat; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author Mobius */ public class StatUp extends AbstractEffect { - private final BaseStat _stat; private final double _amount; + private final Stat _singleStat; + private final Set _multipleStats; public StatUp(StatSet params) { _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 public void pump(Creature effected, Skill skill) { - Stat stat = Stat.STAT_STR; - - switch (_stat) + if (_singleStat != null) { - case INT: - { - 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; - } - case CHA: - { - stat = Stat.STAT_CHA; - break; - } - case LUC: - { - stat = Stat.STAT_LUC; - break; - } + effected.getStat().mergeAdd(_singleStat, _amount); + return; + } + + for (Stat stat : _multipleStats) + { + effected.getStat().mergeAdd(stat, _amount); } - effected.getStat().mergeAdd(stat, _amount); } } diff --git a/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/effecthandlers/StatUp.java b/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/effecthandlers/StatUp.java index 55294a5561..d656e24a7e 100644 --- a/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/effecthandlers/StatUp.java +++ b/L2J_Mobius_10.3_MasterClass/dist/game/data/scripts/handlers/effecthandlers/StatUp.java @@ -16,70 +16,56 @@ */ package handlers.effecthandlers; +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; import org.l2jmobius.gameserver.model.skill.Skill; -import org.l2jmobius.gameserver.model.stats.BaseStat; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author Mobius */ public class StatUp extends AbstractEffect { - private final BaseStat _stat; private final double _amount; + private final Stat _singleStat; + private final Set _multipleStats; public StatUp(StatSet params) { _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 public void pump(Creature effected, Skill skill) { - Stat stat = Stat.STAT_STR; - - switch (_stat) + if (_singleStat != null) { - case INT: - { - 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; - } - case CHA: - { - stat = Stat.STAT_CHA; - break; - } - case LUC: - { - stat = Stat.STAT_LUC; - break; - } + effected.getStat().mergeAdd(_singleStat, _amount); + return; + } + + for (Stat stat : _multipleStats) + { + effected.getStat().mergeAdd(stat, _amount); } - effected.getStat().mergeAdd(stat, _amount); } } diff --git a/L2J_Mobius_Classic_1.0/dist/game/data/scripts/handlers/effecthandlers/StatUp.java b/L2J_Mobius_Classic_1.0/dist/game/data/scripts/handlers/effecthandlers/StatUp.java index 09b9c1df57..d656e24a7e 100644 --- a/L2J_Mobius_Classic_1.0/dist/game/data/scripts/handlers/effecthandlers/StatUp.java +++ b/L2J_Mobius_Classic_1.0/dist/game/data/scripts/handlers/effecthandlers/StatUp.java @@ -16,60 +16,56 @@ */ package handlers.effecthandlers; +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; import org.l2jmobius.gameserver.model.skill.Skill; -import org.l2jmobius.gameserver.model.stats.BaseStat; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author Mobius */ public class StatUp extends AbstractEffect { - private final BaseStat _stat; private final double _amount; + private final Stat _singleStat; + private final Set _multipleStats; public StatUp(StatSet params) { _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 public void pump(Creature effected, Skill skill) { - Stat stat = Stat.STAT_STR; - - switch (_stat) + if (_singleStat != null) { - case INT: - { - 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(_singleStat, _amount); + return; + } + + for (Stat stat : _multipleStats) + { + effected.getStat().mergeAdd(stat, _amount); } - effected.getStat().mergeAdd(stat, _amount); } } diff --git a/L2J_Mobius_Classic_1.5_AgeOfSplendor/dist/game/data/scripts/handlers/effecthandlers/StatUp.java b/L2J_Mobius_Classic_1.5_AgeOfSplendor/dist/game/data/scripts/handlers/effecthandlers/StatUp.java index 09b9c1df57..d656e24a7e 100644 --- a/L2J_Mobius_Classic_1.5_AgeOfSplendor/dist/game/data/scripts/handlers/effecthandlers/StatUp.java +++ b/L2J_Mobius_Classic_1.5_AgeOfSplendor/dist/game/data/scripts/handlers/effecthandlers/StatUp.java @@ -16,60 +16,56 @@ */ package handlers.effecthandlers; +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; import org.l2jmobius.gameserver.model.skill.Skill; -import org.l2jmobius.gameserver.model.stats.BaseStat; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author Mobius */ public class StatUp extends AbstractEffect { - private final BaseStat _stat; private final double _amount; + private final Stat _singleStat; + private final Set _multipleStats; public StatUp(StatSet params) { _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 public void pump(Creature effected, Skill skill) { - Stat stat = Stat.STAT_STR; - - switch (_stat) + if (_singleStat != null) { - case INT: - { - 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(_singleStat, _amount); + return; + } + + for (Stat stat : _multipleStats) + { + effected.getStat().mergeAdd(stat, _amount); } - effected.getStat().mergeAdd(stat, _amount); } } diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/StatUp.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/StatUp.java index 09b9c1df57..d656e24a7e 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/StatUp.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/handlers/effecthandlers/StatUp.java @@ -16,60 +16,56 @@ */ package handlers.effecthandlers; +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; import org.l2jmobius.gameserver.model.skill.Skill; -import org.l2jmobius.gameserver.model.stats.BaseStat; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author Mobius */ public class StatUp extends AbstractEffect { - private final BaseStat _stat; private final double _amount; + private final Stat _singleStat; + private final Set _multipleStats; public StatUp(StatSet params) { _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 public void pump(Creature effected, Skill skill) { - Stat stat = Stat.STAT_STR; - - switch (_stat) + if (_singleStat != null) { - case INT: - { - 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(_singleStat, _amount); + return; + } + + for (Stat stat : _multipleStats) + { + effected.getStat().mergeAdd(stat, _amount); } - effected.getStat().mergeAdd(stat, _amount); } } diff --git a/L2J_Mobius_Classic_2.5_Zaken/dist/game/data/scripts/handlers/effecthandlers/StatUp.java b/L2J_Mobius_Classic_2.5_Zaken/dist/game/data/scripts/handlers/effecthandlers/StatUp.java index 09b9c1df57..d656e24a7e 100644 --- a/L2J_Mobius_Classic_2.5_Zaken/dist/game/data/scripts/handlers/effecthandlers/StatUp.java +++ b/L2J_Mobius_Classic_2.5_Zaken/dist/game/data/scripts/handlers/effecthandlers/StatUp.java @@ -16,60 +16,56 @@ */ package handlers.effecthandlers; +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; import org.l2jmobius.gameserver.model.skill.Skill; -import org.l2jmobius.gameserver.model.stats.BaseStat; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author Mobius */ public class StatUp extends AbstractEffect { - private final BaseStat _stat; private final double _amount; + private final Stat _singleStat; + private final Set _multipleStats; public StatUp(StatSet params) { _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 public void pump(Creature effected, Skill skill) { - Stat stat = Stat.STAT_STR; - - switch (_stat) + if (_singleStat != null) { - case INT: - { - 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(_singleStat, _amount); + return; + } + + for (Stat stat : _multipleStats) + { + effected.getStat().mergeAdd(stat, _amount); } - effected.getStat().mergeAdd(stat, _amount); } } diff --git a/L2J_Mobius_Classic_2.7_Antharas/dist/game/data/scripts/handlers/effecthandlers/StatUp.java b/L2J_Mobius_Classic_2.7_Antharas/dist/game/data/scripts/handlers/effecthandlers/StatUp.java index 09b9c1df57..d656e24a7e 100644 --- a/L2J_Mobius_Classic_2.7_Antharas/dist/game/data/scripts/handlers/effecthandlers/StatUp.java +++ b/L2J_Mobius_Classic_2.7_Antharas/dist/game/data/scripts/handlers/effecthandlers/StatUp.java @@ -16,60 +16,56 @@ */ package handlers.effecthandlers; +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; import org.l2jmobius.gameserver.model.skill.Skill; -import org.l2jmobius.gameserver.model.stats.BaseStat; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author Mobius */ public class StatUp extends AbstractEffect { - private final BaseStat _stat; private final double _amount; + private final Stat _singleStat; + private final Set _multipleStats; public StatUp(StatSet params) { _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 public void pump(Creature effected, Skill skill) { - Stat stat = Stat.STAT_STR; - - switch (_stat) + if (_singleStat != null) { - case INT: - { - 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(_singleStat, _amount); + return; + } + + for (Stat stat : _multipleStats) + { + effected.getStat().mergeAdd(stat, _amount); } - effected.getStat().mergeAdd(stat, _amount); } } diff --git a/L2J_Mobius_Classic_2.8_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/StatUp.java b/L2J_Mobius_Classic_2.8_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/StatUp.java index 09b9c1df57..d656e24a7e 100644 --- a/L2J_Mobius_Classic_2.8_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/StatUp.java +++ b/L2J_Mobius_Classic_2.8_SevenSigns/dist/game/data/scripts/handlers/effecthandlers/StatUp.java @@ -16,60 +16,56 @@ */ package handlers.effecthandlers; +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; import org.l2jmobius.gameserver.model.skill.Skill; -import org.l2jmobius.gameserver.model.stats.BaseStat; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author Mobius */ public class StatUp extends AbstractEffect { - private final BaseStat _stat; private final double _amount; + private final Stat _singleStat; + private final Set _multipleStats; public StatUp(StatSet params) { _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 public void pump(Creature effected, Skill skill) { - Stat stat = Stat.STAT_STR; - - switch (_stat) + if (_singleStat != null) { - case INT: - { - 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(_singleStat, _amount); + return; + } + + for (Stat stat : _multipleStats) + { + effected.getStat().mergeAdd(stat, _amount); } - effected.getStat().mergeAdd(stat, _amount); } } diff --git a/L2J_Mobius_Classic_2.9.5_Saviors/dist/game/data/scripts/handlers/effecthandlers/StatUp.java b/L2J_Mobius_Classic_2.9.5_Saviors/dist/game/data/scripts/handlers/effecthandlers/StatUp.java index 09b9c1df57..d656e24a7e 100644 --- a/L2J_Mobius_Classic_2.9.5_Saviors/dist/game/data/scripts/handlers/effecthandlers/StatUp.java +++ b/L2J_Mobius_Classic_2.9.5_Saviors/dist/game/data/scripts/handlers/effecthandlers/StatUp.java @@ -16,60 +16,56 @@ */ package handlers.effecthandlers; +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; import org.l2jmobius.gameserver.model.skill.Skill; -import org.l2jmobius.gameserver.model.stats.BaseStat; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author Mobius */ public class StatUp extends AbstractEffect { - private final BaseStat _stat; private final double _amount; + private final Stat _singleStat; + private final Set _multipleStats; public StatUp(StatSet params) { _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 public void pump(Creature effected, Skill skill) { - Stat stat = Stat.STAT_STR; - - switch (_stat) + if (_singleStat != null) { - case INT: - { - 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(_singleStat, _amount); + return; + } + + for (Stat stat : _multipleStats) + { + effected.getStat().mergeAdd(stat, _amount); } - effected.getStat().mergeAdd(stat, _amount); } } diff --git a/L2J_Mobius_Classic_2.9_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/StatUp.java b/L2J_Mobius_Classic_2.9_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/StatUp.java index 09b9c1df57..d656e24a7e 100644 --- a/L2J_Mobius_Classic_2.9_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/StatUp.java +++ b/L2J_Mobius_Classic_2.9_SecretOfEmpire/dist/game/data/scripts/handlers/effecthandlers/StatUp.java @@ -16,60 +16,56 @@ */ package handlers.effecthandlers; +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; import org.l2jmobius.gameserver.model.skill.Skill; -import org.l2jmobius.gameserver.model.stats.BaseStat; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author Mobius */ public class StatUp extends AbstractEffect { - private final BaseStat _stat; private final double _amount; + private final Stat _singleStat; + private final Set _multipleStats; public StatUp(StatSet params) { _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 public void pump(Creature effected, Skill skill) { - Stat stat = Stat.STAT_STR; - - switch (_stat) + if (_singleStat != null) { - case INT: - { - 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(_singleStat, _amount); + return; + } + + for (Stat stat : _multipleStats) + { + effected.getStat().mergeAdd(stat, _amount); } - effected.getStat().mergeAdd(stat, _amount); } } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/StatUp.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/StatUp.java index 09b9c1df57..d656e24a7e 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/StatUp.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/handlers/effecthandlers/StatUp.java @@ -16,60 +16,56 @@ */ package handlers.effecthandlers; +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; import org.l2jmobius.gameserver.model.skill.Skill; -import org.l2jmobius.gameserver.model.stats.BaseStat; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author Mobius */ public class StatUp extends AbstractEffect { - private final BaseStat _stat; private final double _amount; + private final Stat _singleStat; + private final Set _multipleStats; public StatUp(StatSet params) { _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 public void pump(Creature effected, Skill skill) { - Stat stat = Stat.STAT_STR; - - switch (_stat) + if (_singleStat != null) { - case INT: - { - 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(_singleStat, _amount); + return; + } + + for (Stat stat : _multipleStats) + { + effected.getStat().mergeAdd(stat, _amount); } - effected.getStat().mergeAdd(stat, _amount); } } diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/StatUp.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/StatUp.java index 09b9c1df57..d656e24a7e 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/StatUp.java +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/handlers/effecthandlers/StatUp.java @@ -16,60 +16,56 @@ */ package handlers.effecthandlers; +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; import org.l2jmobius.gameserver.model.skill.Skill; -import org.l2jmobius.gameserver.model.stats.BaseStat; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author Mobius */ public class StatUp extends AbstractEffect { - private final BaseStat _stat; private final double _amount; + private final Stat _singleStat; + private final Set _multipleStats; public StatUp(StatSet params) { _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 public void pump(Creature effected, Skill skill) { - Stat stat = Stat.STAT_STR; - - switch (_stat) + if (_singleStat != null) { - case INT: - { - 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(_singleStat, _amount); + return; + } + + for (Stat stat : _multipleStats) + { + effected.getStat().mergeAdd(stat, _amount); } - effected.getStat().mergeAdd(stat, _amount); } } diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/effecthandlers/StatUp.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/effecthandlers/StatUp.java index b6fda285b0..d656e24a7e 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/effecthandlers/StatUp.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/dist/game/data/scripts/handlers/effecthandlers/StatUp.java @@ -16,66 +16,56 @@ */ package handlers.effecthandlers; +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; import org.l2jmobius.gameserver.model.skill.Skill; -import org.l2jmobius.gameserver.model.stats.BaseStat; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author Mobius */ public class StatUp extends AbstractEffect { - private final BaseStat _stat; private final double _amount; + private final Stat _singleStat; + private final Set _multipleStats; public StatUp(StatSet params) { _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 public void pump(Creature effected, Skill skill) { - Stat stat = Stat.STAT_STR; - - switch (_stat) + if (_singleStat != null) { - case INT: - { - 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(_singleStat, _amount); + return; } - effected.getStat().mergeAdd(stat, _amount); - // Calculate stat increase skills. - if (effected.isPlayer()) + for (Stat stat : _multipleStats) { - effected.getActingPlayer().calculateStatIncreaseSkills(); + effected.getStat().mergeAdd(stat, _amount); } } } diff --git a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/effecthandlers/StatUp.java b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/effecthandlers/StatUp.java index b6fda285b0..d656e24a7e 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/effecthandlers/StatUp.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/dist/game/data/scripts/handlers/effecthandlers/StatUp.java @@ -16,66 +16,56 @@ */ package handlers.effecthandlers; +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; import org.l2jmobius.gameserver.model.skill.Skill; -import org.l2jmobius.gameserver.model.stats.BaseStat; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author Mobius */ public class StatUp extends AbstractEffect { - private final BaseStat _stat; private final double _amount; + private final Stat _singleStat; + private final Set _multipleStats; public StatUp(StatSet params) { _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 public void pump(Creature effected, Skill skill) { - Stat stat = Stat.STAT_STR; - - switch (_stat) + if (_singleStat != null) { - case INT: - { - 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(_singleStat, _amount); + return; } - effected.getStat().mergeAdd(stat, _amount); - // Calculate stat increase skills. - if (effected.isPlayer()) + for (Stat stat : _multipleStats) { - effected.getActingPlayer().calculateStatIncreaseSkills(); + effected.getStat().mergeAdd(stat, _amount); } } } diff --git a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/handlers/effecthandlers/StatUp.java b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/handlers/effecthandlers/StatUp.java index b6fda285b0..d656e24a7e 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/handlers/effecthandlers/StatUp.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/dist/game/data/scripts/handlers/effecthandlers/StatUp.java @@ -16,66 +16,56 @@ */ package handlers.effecthandlers; +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; import org.l2jmobius.gameserver.model.skill.Skill; -import org.l2jmobius.gameserver.model.stats.BaseStat; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author Mobius */ public class StatUp extends AbstractEffect { - private final BaseStat _stat; private final double _amount; + private final Stat _singleStat; + private final Set _multipleStats; public StatUp(StatSet params) { _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 public void pump(Creature effected, Skill skill) { - Stat stat = Stat.STAT_STR; - - switch (_stat) + if (_singleStat != null) { - case INT: - { - 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(_singleStat, _amount); + return; } - effected.getStat().mergeAdd(stat, _amount); - // Calculate stat increase skills. - if (effected.isPlayer()) + for (Stat stat : _multipleStats) { - effected.getActingPlayer().calculateStatIncreaseSkills(); + effected.getStat().mergeAdd(stat, _amount); } } } diff --git a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/handlers/effecthandlers/StatUp.java b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/handlers/effecthandlers/StatUp.java index b6fda285b0..d656e24a7e 100644 --- a/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/handlers/effecthandlers/StatUp.java +++ b/L2J_Mobius_Essence_6.3_Crusader/dist/game/data/scripts/handlers/effecthandlers/StatUp.java @@ -16,66 +16,56 @@ */ package handlers.effecthandlers; +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; import org.l2jmobius.gameserver.model.skill.Skill; -import org.l2jmobius.gameserver.model.stats.BaseStat; import org.l2jmobius.gameserver.model.stats.Stat; /** - * @author Sdw + * @author Mobius */ public class StatUp extends AbstractEffect { - private final BaseStat _stat; private final double _amount; + private final Stat _singleStat; + private final Set _multipleStats; public StatUp(StatSet params) { _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 public void pump(Creature effected, Skill skill) { - Stat stat = Stat.STAT_STR; - - switch (_stat) + if (_singleStat != null) { - case INT: - { - 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(_singleStat, _amount); + return; } - effected.getStat().mergeAdd(stat, _amount); - // Calculate stat increase skills. - if (effected.isPlayer()) + for (Stat stat : _multipleStats) { - effected.getActingPlayer().calculateStatIncreaseSkills(); + effected.getStat().mergeAdd(stat, _amount); } } }