summaryrefslogtreecommitdiffstats
path: root/pokemod/MapWildListPokemon.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2007-11-22 20:18:43 +0000
committerBen Boeckel <MathStuf@gmail.com>2007-11-22 20:18:43 +0000
commit4cc4d62d084bc3002e35f6bd15a73f22157114e4 (patch)
treee492df521e068e0cd726382d0c08a939858196f2 /pokemod/MapWildListPokemon.cpp
parent83f4b43f63960ba30e38cf5bb53cd98ae738ef74 (diff)
[FIX] classes more usable
[FIX] Matrix class [ADD] pokemod/Rules.{h, cpp} [FIX] coding style cleaned up git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@28 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'pokemod/MapWildListPokemon.cpp')
-rw-r--r--pokemod/MapWildListPokemon.cpp106
1 files changed, 60 insertions, 46 deletions
diff --git a/pokemod/MapWildListPokemon.cpp b/pokemod/MapWildListPokemon.cpp
index 92dc3112..8112becb 100644
--- a/pokemod/MapWildListPokemon.cpp
+++ b/pokemod/MapWildListPokemon.cpp
@@ -22,98 +22,112 @@
#include "MapWildListPokemon.h"
-PokeGen::PokeMod::MapWildListPokemon::MapWildListPokemon(const Pokemod* par, const unsigned _id) :
- Object(_id, par),
+PokeGen::PokeMod::MapWildListPokemon::MapWildListPokemon(const Pokemod& par, const unsigned _id) :
+ Object(par, _id),
species(UINT_MAX),
level(1),
weight(1)
{
}
-PokeGen::PokeMod::MapWildListPokemon::MapWildListPokemon(const Pokemod* par, Ini& ini, const unsigned _id) :
- Object(_id, par)
+PokeGen::PokeMod::MapWildListPokemon::MapWildListPokemon(const Pokemod& par, const MapWildListPokemon& p, const unsigned _id) :
+ Object(par, _id)
{
- ImportIni(ini, _id);
+ *this = p;
}
-bool PokeGen::PokeMod::MapWildListPokemon::Validate()
+PokeGen::PokeMod::MapWildListPokemon::MapWildListPokemon(const Pokemod& par, const QString& fname, const unsigned _id) :
+ Object(par, _id)
{
- pokemod->ValidationMsg(QString("---------Pokémon with id %1---").arg(id), Pokemod::V_Msg);
- if (pokemod->GetSpeciesByID(species) == UINT_MAX)
+ load(fname, _id);
+}
+
+bool PokeGen::PokeMod::MapWildListPokemon::validate() const
+{
+ bool valid = true;
+ pokemod.validationMsg(QString("---------Pokémon with id %1---").arg(id), Pokemod::V_Msg);
+ if (pokemod.getSpeciesByID(species) == UINT_MAX)
{
- pokemod->ValidationMsg("Invalid species");
- isValid = false;
+ pokemod.validationMsg("Invalid species");
+ valid = false;
}
- if (!level || (pokemod->GetMaxLevel() <= level))
+ if (!level || (pokemod.getRules().getMaxLevel() <= level))
{
- pokemod->ValidationMsg("Invalid level");
- isValid = false;
+ pokemod.validationMsg("Invalid level");
+ valid = false;
}
if (!weight)
{
- pokemod->ValidationMsg("Invalid weighting");
- isValid = false;
+ pokemod.validationMsg("Invalid weighting");
+ valid = false;
}
- return isValid;
+ return valid;
}
-void PokeGen::PokeMod::MapWildListPokemon::ImportIni(Ini& ini, const unsigned _id)
+void PokeGen::PokeMod::MapWildListPokemon::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;
- ini.GetValue("species", species);
- ini.GetValue("level", level, 1);
- ini.GetValue("weight", weight, 1);
+ ini.getValue("species", species);
+ ini.getValue("level", level, 1);
+ ini.getValue("weight", weight, 1);
}
-void PokeGen::PokeMod::MapWildListPokemon::ExportIni(QFile& fout, const QString& map, const unsigned listId) const
+void PokeGen::PokeMod::MapWildListPokemon::save(const QString& map, const unsigned listId) const
{
- Ini exMapWildListPokemon(QString("mapWildListPokemon %1 ").arg(listId) + map);
- exMapWildListPokemon.AddField("id", id);
- exMapWildListPokemon.AddField("species", species);
- exMapWildListPokemon.AddField("level", level);
- exMapWildListPokemon.AddField("weight", weight);
- exMapWildListPokemon.Export(fout);
+ Ini ini;
+ ini.addField("id", id);
+ ini.addField("species", species);
+ ini.addField("level", level);
+ ini.addField("weight", weight);
+ ini.save(QString("%1/map/%2/wildlist/%3/pokemon/%4.pini").arg(pokemod.getPath()).arg(map).arg(listId).arg(id));
}
-bool PokeGen::PokeMod::MapWildListPokemon::SetSpecies(const unsigned s)
+void PokeGen::PokeMod::MapWildListPokemon::setSpecies(const unsigned s)
{
- if (pokemod->GetSpeciesByID(s) != UINT_MAX)
- {
- species = s;
- return true;
- }
- return false;
+ if (pokemod.getSpeciesByID(s) == UINT_MAX)
+ throw("MapWildListPokemon: species out-of-bounds");
+ species = s;
}
-void PokeGen::PokeMod::MapWildListPokemon::SetLevel(const unsigned l)
+void PokeGen::PokeMod::MapWildListPokemon::setLevel(const unsigned l)
{
+ if (!level || (pokemod.getRules().getMaxLevel() <= level))
+ throw("MapWildLIstPokemon: level out-of-bounds");
level = l;
}
-bool PokeGen::PokeMod::MapWildListPokemon::SetWeight(const unsigned w)
+void PokeGen::PokeMod::MapWildListPokemon::setWeight(const unsigned w)
{
- if (w)
- {
- weight = w;
- return true;
- }
- return false;
+ if (!w)
+ throw("MpWildList: weight out-of-bounds");
+ weight = w;
}
-unsigned PokeGen::PokeMod::MapWildListPokemon::GetSpecies() const
+unsigned PokeGen::PokeMod::MapWildListPokemon::getSpecies() const
{
return species;
}
-unsigned PokeGen::PokeMod::MapWildListPokemon::GetLevel() const
+unsigned PokeGen::PokeMod::MapWildListPokemon::getLevel() const
{
return level;
}
-unsigned PokeGen::PokeMod::MapWildListPokemon::GetWeight() const
+unsigned PokeGen::PokeMod::MapWildListPokemon::getWeight() const
{
return weight;
}
+
+PokeGen::PokeMod::MapWildListPokemon& PokeGen::PokeMod::MapWildListPokemon::operator=(const MapWildListPokemon& rhs)
+{
+ if (this == &rhs)
+ return *this;
+ species = rhs.species;
+ level = rhs.level;
+ weight = rhs.weight;
+ return *this;
+}