diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2009-07-19 14:24:56 -0400 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2009-07-19 14:24:56 -0400 |
| commit | 2deabfe7c5f93805cd33e49d8dc75e7718dea494 (patch) | |
| tree | 9daeb87c44a65c7e1910c0484b14a635e0436b37 | |
| parent | ae9ba580020774e8942000db2fcc84c41845f942 (diff) | |
| download | sigen-2deabfe7c5f93805cd33e49d8dc75e7718dea494.tar.gz sigen-2deabfe7c5f93805cd33e49d8dc75e7718dea494.tar.xz sigen-2deabfe7c5f93805cd33e49d8dc75e7718dea494.zip | |
Allow for unlimited stages of stat modifiers
| -rw-r--r-- | sigencore/Creature.cpp | 4 | ||||
| -rw-r--r-- | sigencore/TeamMember.cpp | 4 | ||||
| -rw-r--r-- | sigmod/Rules.cpp | 2 | ||||
| -rw-r--r-- | sigmodr/widgets/gui/rules.ui | 2 |
4 files changed, 6 insertions, 6 deletions
diff --git a/sigencore/Creature.cpp b/sigencore/Creature.cpp index bf77a392..43782775 100644 --- a/sigencore/Creature.cpp +++ b/sigencore/Creature.cpp @@ -311,7 +311,7 @@ bool Creature::setStatExperience(const Stat stat, const long long statExp) { if ((stat == ST_Accuracy) || (stat == ST_Evasion) || ((stat == ST_SpecialDefense) && !m_game->rules()->specialSplit())) return false; - if (m_game->rules()->effortValuesAllowed()) + if (0 < m_game->rules()->maxTotalEV()) { int evSum = statExp; for (int i = ST_HP; i <= (m_game->rules()->specialSplit() ? ST_Special : ST_SpecialDefense); ++i) @@ -353,7 +353,7 @@ int Creature::statValue(const Stat stat) const int Creature::calcStat(GameWrapper* game, const Stat stat, const int level, const int baseStat, const int dv, const int statExp, const Fraction& multiplier) { int statValue = statExp; - if (!game->rules()->effortValuesAllowed() && statValue) + if (!game->rules()->maxTotalEV() && statValue) statValue = sqrt(statValue - 1) + 1; statValue >>= 2; statValue += baseStat << 1; diff --git a/sigencore/TeamMember.cpp b/sigencore/TeamMember.cpp index 5037df69..887cc4b3 100644 --- a/sigencore/TeamMember.cpp +++ b/sigencore/TeamMember.cpp @@ -143,7 +143,7 @@ bool TeamMember::setStatStage(const Stat stat, const int stage) { if (stat == ST_HP) return false; - if (m_game->rules()->maxStages() < qAbs(stage)) + if ((m_game->rules()->maxStages() < 0) || (m_game->rules()->maxStages() < qAbs(stage))) return false; m_stages[stat - ST_Attack] = stage; emit(statStageChanged(stat, stage)); @@ -162,7 +162,7 @@ int TeamMember::statStage(const Stat stat) const int stages; if (stat == ST_HP) return 0; - if (valueOfType(QString("stat-stages-%1").arg((m_game->rules()->specialSplit() ? StatGSCStr : StatRBYStr)[stat]), &stages) && (qAbs(stages) <= m_game->rules()->maxStages())) + if (valueOfType(QString("stat-stages-%1").arg((m_game->rules()->specialSplit() ? StatGSCStr : StatRBYStr)[stat]), &stages) && ((m_game->rules()->maxStages() < 0) || (qAbs(stages) <= m_game->rules()->maxStages()))) return stages; return m_stages[stat - ST_Attack]; } diff --git a/sigmod/Rules.cpp b/sigmod/Rules.cpp index a079c9d7..5acf0dfc 100644 --- a/sigmod/Rules.cpp +++ b/sigmod/Rules.cpp @@ -210,7 +210,7 @@ CHECK_BOUNDS(Rules, int, maxAbilities, 0, INT_MAX) CHECK_BOUNDS(Rules, int, maxNatures, 0, INT_MAX) CHECK_BOUNDS(Rules, int, maxMoves, 1, INT_MAX) CHECK_BOUNDS(Rules, int, maxLevel, 1, INT_MAX) -CHECK_BOUNDS(Rules, int, maxStages, 0, INT_MAX) +CHECK_BOUNDS(Rules, int, maxStages, -1, INT_MAX) CHECK_BOUNDS(Rules, int, maxMoney, 0, INT_MAX) CHECK_BOUNDS(Rules, int, maxTotalWeight, -1, INT_MAX) CHECK(Rules, bool, specialSplit) diff --git a/sigmodr/widgets/gui/rules.ui b/sigmodr/widgets/gui/rules.ui index 8415f590..9d4a7b92 100644 --- a/sigmodr/widgets/gui/rules.ui +++ b/sigmodr/widgets/gui/rules.ui @@ -599,7 +599,7 @@ <string>The maximum stage that stats can be modified to</string> </property> <property name="minimum"> - <number>0</number> + <number>-1</number> </property> </widget> </item> |
