diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2007-06-01 02:54:29 +0000 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2007-06-01 02:54:29 +0000 |
| commit | f71140fae5218ee9839ffcd4ec83abfded5124f4 (patch) | |
| tree | 9af8f2174728cedb93580411223bc59fd9a86d0a /pokemod/NatureEffect.cpp | |
| parent | 9e28e6ecd358a9801ad25914d3e8cca7b6d7f4f7 (diff) | |
| download | sigen-f71140fae5218ee9839ffcd4ec83abfded5124f4.tar.gz sigen-f71140fae5218ee9839ffcd4ec83abfded5124f4.tar.xz sigen-f71140fae5218ee9839ffcd4ec83abfded5124f4.zip | |
Added Map and Tile, added Hat class, and fixed up some other minor things
git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@17 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'pokemod/NatureEffect.cpp')
| -rw-r--r-- | pokemod/NatureEffect.cpp | 38 |
1 files changed, 28 insertions, 10 deletions
diff --git a/pokemod/NatureEffect.cpp b/pokemod/NatureEffect.cpp index 93e442f9..05b7a6cb 100644 --- a/pokemod/NatureEffect.cpp +++ b/pokemod/NatureEffect.cpp @@ -28,7 +28,7 @@ extern PokeGen::PokeMod::Pokemod curPokeMod; PokeGen::PokeMod::NatureEffect::NatureEffect(const unsigned _id)
{
LogCtor("NatureEffect", _id);
- stat = 0;
+ stat = UINT_MAX;
multiplier.Set(1, 1);
id = _id;
}
@@ -46,16 +46,32 @@ PokeGen::PokeMod::NatureEffect::~NatureEffect() LogDtor("NatureEffect", id);
}
+void PokeGen::PokeMod::NatureEffect::Validate()
+{
+ LogValidateStart("NatureEffect", id);
+ if ((curPokeMod.IsSpecialSplit() ? STH_END_GSC : STH_END_RBY) <= stat)
+ {
+ LogVarNotValid("NatureEffect", id, "stat");
+ isValid = false;
+ }
+ multiplier.Reduce();
+ LogValidateOver("NatureEffect", id, isValid);
+}
+
#ifdef PG_DEBUG_WINDOW
void PokeGen::PokeMod::NatureEffect::Validate(const wxListBox &output)
-#else
-void PokeGen::PokeMod::NatureEffect::Validate()
-#endif
{
LogValidateStart("NatureEffect", id);
- // TODO (Validation#1#): NatureEffect Validation
+ if ((curPokeMod.IsSpecialSplit() ? STH_END_GSC : STH_END_RBY) <= stat)
+ {
+ LogVarNotValid("NatureEffect", id, "stat");
+ output.append(ConsoleLogVarNotValid("NatureEffect", id, "stat"));
+ isValid = false;
+ }
+ multipler.Reduce();
LogValidateOver("NatureEffect", id, isValid);
}
+#endif
void PokeGen::PokeMod::NatureEffect::ImportIni(Ini &ini, const unsigned _id)
{
@@ -72,7 +88,7 @@ void PokeGen::PokeMod::NatureEffect::ImportIni(Ini &ini, const unsigned _id) id = _id;
unsigned i;
unsigned j;
- ini.GetValue("stat", stat, 0);
+ ini.GetValue("stat", stat);
ini.GetValue("multiplier-n", i, 1);
ini.GetValue("multiplier-d", j, 1);
multiplier.Set(i, j);
@@ -95,13 +111,13 @@ void PokeGen::PokeMod::NatureEffect::ExportIni(std::ofstream &fout, const String void PokeGen::PokeMod::NatureEffect::SetStat(const unsigned s)
{
LogSetVar("NatureEffect", id, "stat", s);
- stat = s;
+ if (s < (curPokeMod.IsSpecialSplit() ? STH_END_GSC : STH_END_RBY))
+ stat = s;
}
void PokeGen::PokeMod::NatureEffect::SetStat(const String &s)
{
- LogSetVar("NatureEffect", id, "stat string", s);
- stat = FindIn(curPokeMod.IsSpecialSplit() ? STH_END_GSC : STH_END_RBY, s, curPokeMod.IsSpecialSplit() ? StatHPGSCStr : StatHPRBYStr);
+ SetStat(FindIn(curPokeMod.IsSpecialSplit() ? STH_END_GSC : STH_END_RBY, s, curPokeMod.IsSpecialSplit() ? StatHPGSCStr : StatHPRBYStr));
}
void PokeGen::PokeMod::NatureEffect::SetMultiplier(const Frac &m)
@@ -137,7 +153,9 @@ unsigned PokeGen::PokeMod::NatureEffect::GetStat() const PokeGen::PokeMod::String PokeGen::PokeMod::NatureEffect::GetStatString() const
{
LogFetchVar("NatureEffect", id, "stat string", stat);
- return (curPokeMod.IsSpecialSplit() ? StatHPGSCStr : StatHPRBYStr)[stat];
+ if (stat < (curPokeMod.IsSpecialSplit() ? STH_END_GSC : STH_END_RBY))
+ return (curPokeMod.IsSpecialSplit() ? StatHPGSCStr : StatHPRBYStr)[stat];
+ return "";
}
PokeGen::PokeMod::Frac PokeGen::PokeMod::NatureEffect::GetMultiplier() const
|
