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 /sigencore | |
| parent | ae9ba580020774e8942000db2fcc84c41845f942 (diff) | |
| download | sigen-2deabfe7c5f93805cd33e49d8dc75e7718dea494.tar.gz sigen-2deabfe7c5f93805cd33e49d8dc75e7718dea494.tar.xz sigen-2deabfe7c5f93805cd33e49d8dc75e7718dea494.zip | |
Allow for unlimited stages of stat modifiers
Diffstat (limited to 'sigencore')
| -rw-r--r-- | sigencore/Creature.cpp | 4 | ||||
| -rw-r--r-- | sigencore/TeamMember.cpp | 4 |
2 files changed, 4 insertions, 4 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]; } |
