diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2007-11-22 20:18:43 +0000 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2007-11-22 20:18:43 +0000 |
| commit | 4cc4d62d084bc3002e35f6bd15a73f22157114e4 (patch) | |
| tree | e492df521e068e0cd726382d0c08a939858196f2 /pokemod/MapWildListPokemon.cpp | |
| parent | 83f4b43f63960ba30e38cf5bb53cd98ae738ef74 (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.cpp | 106 |
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; +} |
