diff options
Diffstat (limited to 'pokemod/MapTrainerPokemon.cpp')
| -rw-r--r-- | pokemod/MapTrainerPokemon.cpp | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/pokemod/MapTrainerPokemon.cpp b/pokemod/MapTrainerPokemon.cpp index 1acb6dcd..6ba80bb8 100644 --- a/pokemod/MapTrainerPokemon.cpp +++ b/pokemod/MapTrainerPokemon.cpp @@ -25,7 +25,8 @@ PokeGen::PokeMod::MapTrainerPokemon::MapTrainerPokemon(const Pokemod* par, const unsigned _id) : Object(_id, par), species(UINT_MAX), - level(1) + level(UINT_MAX), + nature(UINT_MAX) { } @@ -38,7 +39,7 @@ PokeGen::PokeMod::MapTrainerPokemon::MapTrainerPokemon(const Pokemod* par, Ini& bool PokeGen::PokeMod::MapTrainerPokemon::Validate() { pokemod->ValidationMsg(QString("---------Pokémon with id %1---").arg(id), Pokemod::V_Msg); - if (pokemod->GetPokemonByID(species) == UINT_MAX) + if (pokemod->GetSpeciesByID(species) == UINT_MAX) { pokemod->ValidationMsg("Invalid species"); isValid = false; @@ -79,6 +80,11 @@ bool PokeGen::PokeMod::MapTrainerPokemon::Validate() } } } + if (pokemod->GetNatureByID(nature) == UINT_MAX) + { + pokemod->ValidationMsg("Invalid nature"); + isValid = false; + } else if (GetItemCount()) { pokemod->ValidationMsg("Too many held items"); @@ -99,7 +105,8 @@ void PokeGen::PokeMod::MapTrainerPokemon::ImportIni(Ini& ini, const unsigned _id unsigned j; items.clear(); ini.GetValue("species", species); - ini.GetValue("level", level, 1); + ini.GetValue("level", level); + ini.GetValue("nature", nature); ini.GetValue("numItems", i, 0); for (unsigned k = 0; k < i; ++k) { @@ -115,6 +122,7 @@ void PokeGen::PokeMod::MapTrainerPokemon::ExportIni(QFile& fout, const QString& exMapTrainerPokemon.AddField("id", id); exMapTrainerPokemon.AddField("species", species); exMapTrainerPokemon.AddField("level", level); + exMapTrainerPokemon.AddField("nature", nature); exMapTrainerPokemon.AddField("numItems", GetItemCount()); for (unsigned i = 0; i < GetItemCount(); ++i) exMapTrainerPokemon.AddField(QString("item-%1").arg(i), items[i]); @@ -123,7 +131,7 @@ void PokeGen::PokeMod::MapTrainerPokemon::ExportIni(QFile& fout, const QString& bool PokeGen::PokeMod::MapTrainerPokemon::SetSpecies(const unsigned s) { - if (pokemod->GetPokemonByID(s) != UINT_MAX) + if (pokemod->GetSpeciesByID(s) != UINT_MAX) species = s; return (species == s); } @@ -135,6 +143,13 @@ bool PokeGen::PokeMod::MapTrainerPokemon::SetLevel(const unsigned l) return (level == l); } +bool PokeGen::PokeMod::MapTrainerPokemon::SetNature(const unsigned n) +{ + if (pokemod->GetNatureByID(n) != UINT_MAX) + nature = n; + return (nature == n); +} + unsigned PokeGen::PokeMod::MapTrainerPokemon::GetSpecies() const { return species; @@ -145,6 +160,11 @@ unsigned PokeGen::PokeMod::MapTrainerPokemon::GetLevel() const return level; } +unsigned PokeGen::PokeMod::MapTrainerPokemon::GetNature() const +{ + return nature; +} + unsigned PokeGen::PokeMod::MapTrainerPokemon::GetItem(const unsigned i) const { if (i < GetItemCount()) |
