summaryrefslogtreecommitdiffstats
path: root/pokemod/MoveEffect.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pokemod/MoveEffect.cpp')
-rw-r--r--pokemod/MoveEffect.cpp119
1 files changed, 67 insertions, 52 deletions
diff --git a/pokemod/MoveEffect.cpp b/pokemod/MoveEffect.cpp
index 7a8a5aca..aff43ea7 100644
--- a/pokemod/MoveEffect.cpp
+++ b/pokemod/MoveEffect.cpp
@@ -22,10 +22,10 @@
#include "MoveEffect.h"
-const char* PokeGen::PokeMod::MoveEffect::EffectStr[PokeGen::PokeMod::MoveEffect::E_End] = {};
+const char* PokeGen::PokeMod::MoveEffect::EffectStr[PokeGen::PokeMod::MoveEffect::E_End_Overworld] = {};
-PokeGen::PokeMod::MoveEffect::MoveEffect(const Pokemod* par, const unsigned _id) :
- Object(_id, par),
+PokeGen::PokeMod::MoveEffect::MoveEffect(const Pokemod& par, const unsigned _id) :
+ Object(par, _id),
chance(1, 1),
effect(UINT_MAX),
val1(INT_MAX),
@@ -33,111 +33,126 @@ PokeGen::PokeMod::MoveEffect::MoveEffect(const Pokemod* par, const unsigned _id)
{
}
-PokeGen::PokeMod::MoveEffect::MoveEffect(const Pokemod* par, Ini& ini, const unsigned _id) :
- Object(_id, par)
+PokeGen::PokeMod::MoveEffect::MoveEffect(const Pokemod& par, const MoveEffect& e, const unsigned _id) :
+ Object(par, _id)
{
- ImportIni(ini, _id);
+ *this = e;
}
-bool PokeGen::PokeMod::MoveEffect::Validate()
+PokeGen::PokeMod::MoveEffect::MoveEffect(const Pokemod& par, const QString& fname, const unsigned _id) :
+ Object(par, _id)
{
- pokemod->ValidationMsg(QString("------Effect with id %1---").arg(id), Pokemod::V_Msg);
+ load(fname, _id);
+}
+
+bool PokeGen::PokeMod::MoveEffect::validate() const
+{
+ bool valid = true;
+ pokemod.validationMsg(QString("------Effect with id %1---").arg(id), Pokemod::V_Msg);
// TODO (Ben#1#): Move Effect validation
- return isValid;
+ return valid;
}
-void PokeGen::PokeMod::MoveEffect::ImportIni(Ini& ini, const unsigned _id)
+void PokeGen::PokeMod::MoveEffect::load(const QString& fname, const unsigned _id)
{
+ Ini ini(fname);
if (_id == UINT_MAX)
- ini.GetValue("id", id);
+ ini.getValue("id", id);
else
id = _id;
unsigned i;
unsigned j;
- ini.GetValue("chance-n", i, 1);
- ini.GetValue("chance-d", j, 1);
- chance.Set(i, j);
- ini.GetValue("effect", effect);
- ini.GetValue("val1", val1);
- ini.GetValue("val2", val2);
+ ini.getValue("chance-n", i, 1);
+ ini.getValue("chance-d", j, 1);
+ chance.set(i, j);
+ ini.getValue("effect", effect);
+ ini.getValue("val1", val1);
+ ini.getValue("val2", val2);
}
-void PokeGen::PokeMod::MoveEffect::ExportIni(QFile& fout, const QString& move) const
+void PokeGen::PokeMod::MoveEffect::save(const QString& move) const
{
- Ini exMoveEffect(move + " moveEffect");
- exMoveEffect.AddField("id", id);
- exMoveEffect.AddField("chance-n", chance.GetNum());
- exMoveEffect.AddField("chance-d", chance.GetDenom());
- exMoveEffect.AddField("effect", effect);
- exMoveEffect.AddField("val1", val1);
- exMoveEffect.AddField("val2", val2);
- exMoveEffect.Export(fout);
+ Ini ini;
+ ini.addField("id", id);
+ ini.addField("chance-n", chance.getNum());
+ ini.addField("chance-d", chance.getDenom());
+ ini.addField("effect", effect);
+ ini.addField("val1", val1);
+ ini.addField("val2", val2);
+ ini.save(QString("%1/move/%2/effect/%3.pini").arg(pokemod.getPath()).arg(move).arg(id));
}
-bool PokeGen::PokeMod::MoveEffect::SetChance(const unsigned n, const unsigned d)
+void PokeGen::PokeMod::MoveEffect::setChance(const unsigned n, const unsigned d)
{
- return chance.Set(n, d);
+ chance.set(n, d);
}
-bool PokeGen::PokeMod::MoveEffect::SetChanceNum(const unsigned n)
+void PokeGen::PokeMod::MoveEffect::setChanceNum(const unsigned n)
{
- return chance.SetNum(n);
+ chance.setNum(n);
}
-bool PokeGen::PokeMod::MoveEffect::SetChanceDenom(const unsigned d)
+void PokeGen::PokeMod::MoveEffect::setChanceDenom(const unsigned d)
{
- return chance.SetDenom(d);
+ chance.setDenom(d);
}
-bool PokeGen::PokeMod::MoveEffect::SetEffect(const unsigned e)
+void PokeGen::PokeMod::MoveEffect::setEffect(const unsigned e)
{
- if (e < E_End)
- {
- effect = e;
- val1 = INT_MAX;
- val2 = UINT_MAX;
- }
- return (effect == e);
+ if (E_End <= e)
+ throw("MoveEffect: effect out-of-bounds");
+ effect = e;
+ val1 = INT_MAX;
+ val2 = UINT_MAX;
}
-bool PokeGen::PokeMod::MoveEffect::SetVal1(const int v1)
+void PokeGen::PokeMod::MoveEffect::setVal1(const unsigned v1)
{
val1 = v1;
- return (val1 == v1);
}
-bool PokeGen::PokeMod::MoveEffect::SetVal2(const unsigned v2)
+void PokeGen::PokeMod::MoveEffect::setVal2(const int v2)
{
val2 = v2;
- return (val2 == v2);
}
-PokeGen::Frac PokeGen::PokeMod::MoveEffect::GetChance() const
+PokeGen::Frac PokeGen::PokeMod::MoveEffect::getChance() const
{
return chance;
}
-unsigned PokeGen::PokeMod::MoveEffect::GetChanceNum() const
+unsigned PokeGen::PokeMod::MoveEffect::getChanceNum() const
{
- return chance.GetNum();
+ return chance.getNum();
}
-unsigned PokeGen::PokeMod::MoveEffect::GetChanceDenom() const
+unsigned PokeGen::PokeMod::MoveEffect::getChanceDenom() const
{
- return chance.GetDenom();
+ return chance.getDenom();
}
-unsigned PokeGen::PokeMod::MoveEffect::GetEffect() const
+unsigned PokeGen::PokeMod::MoveEffect::getEffect() const
{
return effect;
}
-int PokeGen::PokeMod::MoveEffect::GetVal1() const
+unsigned PokeGen::PokeMod::MoveEffect::getVal1() const
{
return val1;
}
-unsigned PokeGen::PokeMod::MoveEffect::GetVal2() const
+int PokeGen::PokeMod::MoveEffect::getVal2() const
{
return val2;
}
+
+PokeGen::PokeMod::MoveEffect& PokeGen::PokeMod::MoveEffect::operator=(const MoveEffect& rhs)
+{
+ if (this == &rhs)
+ return *this;
+ chance = rhs.chance;
+ effect = rhs.effect;
+ val1 = rhs.val1;
+ val2 = rhs.val2;
+ return *this;
+}