summaryrefslogtreecommitdiffstats
path: root/pokemod/ItemEffect.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2008-04-20 00:12:12 +0000
committerBen Boeckel <MathStuf@gmail.com>2008-04-20 00:12:12 +0000
commitdcb77408505e5fb40f064dd05aaf39f27dcdd524 (patch)
treec9de6f2a58d754511b7c821db58f8c0e881a0e1f /pokemod/ItemEffect.cpp
parentf4f3176a6dcdaf5e463f39a657dd4ca04386a6ad (diff)
[FIX] Fraction bounds checking
git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@102 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'pokemod/ItemEffect.cpp')
-rw-r--r--pokemod/ItemEffect.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/pokemod/ItemEffect.cpp b/pokemod/ItemEffect.cpp
index 0a4927c1..896a73d9 100644
--- a/pokemod/ItemEffect.cpp
+++ b/pokemod/ItemEffect.cpp
@@ -422,7 +422,7 @@ void ItemEffect::setEffect(const int effect) throw(Exception)
m_value1 = 0;
m_value2 = INT_MAX;
m_value3 = INT_MAX;
- m_value4.set(1, 1); //, ((E_TypeBoost == effect) || (E_PPBoost == effect)) ? Fraction::Over1 : Fraction::Proper);
+ m_value4.set(1, 1);
}
void ItemEffect::setValue1(const int value1) throw(Exception)
@@ -622,6 +622,13 @@ void ItemEffect::setValue3(const int value3) throw(Exception)
void ItemEffect::setValue4(const Fraction& value4) throw(Exception)
{
+ if ((E_TypeBoost == m_effect) || (E_PPBoost == m_effect))
+ {
+ if (value4 < 1)
+ error<BoundsException>("value4");
+ }
+ else if (1 < value4)
+ error<BoundsException>("value4");
switch (m_effect)
{
case E_CureStatus: