summaryrefslogtreecommitdiffstats
path: root/pokemod/MoveEffect.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pokemod/MoveEffect.cpp')
-rw-r--r--pokemod/MoveEffect.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/pokemod/MoveEffect.cpp b/pokemod/MoveEffect.cpp
index 8633b549..f7c5835a 100644
--- a/pokemod/MoveEffect.cpp
+++ b/pokemod/MoveEffect.cpp
@@ -83,8 +83,10 @@ QDomElement MoveEffect::save() const
return xml;
}
-void MoveEffect::setChance(const Fraction& chance) throw(Exception)
+void MoveEffect::setChance(const Fraction& chance) throw(BoundsException)
{
+ if (1 < chance)
+ error<BoundsException>("chance");
m_chance = chance;
}
@@ -96,7 +98,7 @@ void MoveEffect::setEffect(const int effect) throw(BoundsException)
m_value1 = INT_MAX;
m_value2 = INT_MAX;
m_value3 = 0;
- m_value4.set(1, 1);//, ((effect == E_StealHP) || (effect == E_Counter) || (effect == E_Selfdestruct) || (effect == E_Mirror) || (effect == E_GetMoney) || (effect == E_WaitAndReturn) || (effect == E_Recoil)) ? Fraction::Improper : Fraction::Proper);
+ m_value4.set(1, 1);
}
void MoveEffect::setValue1(const int value1) throw(Exception)
@@ -158,8 +160,10 @@ void MoveEffect::setValue3(const int value3)
m_value3 = value3;
}
-void MoveEffect::setValue4(const Fraction& value4) throw(Exception)
+void MoveEffect::setValue4(const Fraction& value4) throw(BoundsException)
{
+ if ((m_effect != E_StealHP) && (m_effect != E_Counter) && (m_effect != E_Selfdestruct) && (m_effect != E_Mirror) && (m_effect != E_GetMoney) && (m_effect != E_WaitAndReturn) && (m_effect != E_Recoil) && (1 < value4))
+ error<BoundsException>("value4");
m_value4 = value4;
}