summaryrefslogtreecommitdiffstats
path: root/pokemod/MoveEffect.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2007-11-27 05:50:14 +0000
committerBen Boeckel <MathStuf@gmail.com>2007-11-27 05:50:14 +0000
commitb2ec6250bb96e7a96898b35ee7271eb1a7b700ad (patch)
tree615ef5c23019361c48eb937b296101853f358c80 /pokemod/MoveEffect.cpp
parent4cc4d62d084bc3002e35f6bd15a73f22157114e4 (diff)
[ADD] Known MoveEffects
[FIX] pokegen.pro error in rpm build target [FIX] EggSpecies not needed (generic species will be used instead) [FIX] StruggleMove not needed (generic will be used instead) [FIX] TypeChart moved back to Pokemod so that Rules are completely Pokemod-neutral git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@29 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'pokemod/MoveEffect.cpp')
-rw-r--r--pokemod/MoveEffect.cpp66
1 files changed, 61 insertions, 5 deletions
diff --git a/pokemod/MoveEffect.cpp b/pokemod/MoveEffect.cpp
index aff43ea7..957202c4 100644
--- a/pokemod/MoveEffect.cpp
+++ b/pokemod/MoveEffect.cpp
@@ -28,8 +28,10 @@ PokeGen::PokeMod::MoveEffect::MoveEffect(const Pokemod& par, const unsigned _id)
Object(par, _id),
chance(1, 1),
effect(UINT_MAX),
- val1(INT_MAX),
- val2(UINT_MAX)
+ val1(UINT_MAX),
+ val2(UINT_MAX),
+ val3(INT_MIN),
+ val4(1, 1)
{
}
@@ -62,12 +64,18 @@ void PokeGen::PokeMod::MoveEffect::load(const QString& fname, const unsigned _id
id = _id;
unsigned i;
unsigned j;
+ unsigned k;
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("val3", val3);
+ ini.getValue("val4-n", i);
+ ini.getValue("val4-d", j);
+ ini.getValue("val4-t", k);
+ val4.set(i, j, k);
}
void PokeGen::PokeMod::MoveEffect::save(const QString& move) const
@@ -79,6 +87,10 @@ void PokeGen::PokeMod::MoveEffect::save(const QString& move) const
ini.addField("effect", effect);
ini.addField("val1", val1);
ini.addField("val2", val2);
+ ini.addField("val3", val3);
+ ini.addField("val4-n", val4.getNum());
+ ini.addField("val4-d", val4.getDenom());
+ ini.addField("val4-t", val4.getType());
ini.save(QString("%1/move/%2/effect/%3.pini").arg(pokemod.getPath()).arg(move).arg(id));
}
@@ -102,8 +114,10 @@ void PokeGen::PokeMod::MoveEffect::setEffect(const unsigned e)
if (E_End <= e)
throw("MoveEffect: effect out-of-bounds");
effect = e;
- val1 = INT_MAX;
+ val1 = UINT_MAX;
val2 = UINT_MAX;
+ val3 = INT_MIN;
+ val4.set(1, 1/*, */);
}
void PokeGen::PokeMod::MoveEffect::setVal1(const unsigned v1)
@@ -111,11 +125,31 @@ void PokeGen::PokeMod::MoveEffect::setVal1(const unsigned v1)
val1 = v1;
}
-void PokeGen::PokeMod::MoveEffect::setVal2(const int v2)
+void PokeGen::PokeMod::MoveEffect::setVal2(const unsigned v2)
{
val2 = v2;
}
+void PokeGen::PokeMod::MoveEffect::setVal3(const int v3)
+{
+ val3 = v3;
+}
+
+void PokeGen::PokeMod::MoveEffect::setVal4(const unsigned n, const unsigned d)
+{
+ val4.set(n, d);
+}
+
+void PokeGen::PokeMod::MoveEffect::setVal4Num(const unsigned n)
+{
+ val4.setNum(n);
+}
+
+void PokeGen::PokeMod::MoveEffect::setVal4Denom(const unsigned d)
+{
+ val4.setDenom(d);
+}
+
PokeGen::Frac PokeGen::PokeMod::MoveEffect::getChance() const
{
return chance;
@@ -141,11 +175,31 @@ unsigned PokeGen::PokeMod::MoveEffect::getVal1() const
return val1;
}
-int PokeGen::PokeMod::MoveEffect::getVal2() const
+unsigned PokeGen::PokeMod::MoveEffect::getVal2() const
{
return val2;
}
+int PokeGen::PokeMod::MoveEffect::getVal3() const
+{
+ return val3;
+}
+
+PokeGen::Frac PokeGen::PokeMod::MoveEffect::getVal4() const
+{
+ return val4;
+}
+
+unsigned PokeGen::PokeMod::MoveEffect::getVal4Num() const
+{
+ return val4.getNum();
+}
+
+unsigned PokeGen::PokeMod::MoveEffect::getVal4Denom() const
+{
+ return val4.getDenom();
+}
+
PokeGen::PokeMod::MoveEffect& PokeGen::PokeMod::MoveEffect::operator=(const MoveEffect& rhs)
{
if (this == &rhs)
@@ -154,5 +208,7 @@ PokeGen::PokeMod::MoveEffect& PokeGen::PokeMod::MoveEffect::operator=(const Move
effect = rhs.effect;
val1 = rhs.val1;
val2 = rhs.val2;
+ val3 = rhs.val3;
+ val4 = rhs.val4;
return *this;
}