diff options
| author | Ben Boeckel <MathStuf@gmail.com> | 2007-09-21 15:36:22 +0000 |
|---|---|---|
| committer | Ben Boeckel <MathStuf@gmail.com> | 2007-09-21 15:36:22 +0000 |
| commit | 5b55d13ead7e352ee1feaae72009e8abf5bd071a (patch) | |
| tree | 6c2838312dd7f42769280e24e8abc16b53c165cb /pokemod/PokemonMove.cpp | |
| parent | e94d9893b8753e72adb92b2c5eb203830ddf641c (diff) | |
| download | sigen-5b55d13ead7e352ee1feaae72009e8abf5bd071a.tar.gz sigen-5b55d13ead7e352ee1feaae72009e8abf5bd071a.tar.xz sigen-5b55d13ead7e352ee1feaae72009e8abf5bd071a.zip | |
[FIX] Neural Network methods complete
[FIX] Wrapped Node up into the layer
[FIX] Wrapped NatureEffect into Nature
[FIX] Getting around to fixing up the design of the PokéMod stuff
[FIX] Creating new subclasses now returns pointer to new subclass
[FIX] Simplified interfaces
[FIX] Minor style issues
[FIX] Renamed CoinItem to CoinListObject
[FIX] Renamed MapTrainerTeam to MapTrainerPokemon
[FIX] Renamed MapWildPokemon to MapWildListPokemon
[FIX] Moved global enums to relevant classes
[FIX] Removed general logging features
[DEL] pokemod/Debug.{h, cpp}
[DEL] pokemod/Path.{h, cpp}
[FIX] Using QFile rather than custom Path class for checking for files
[FIX] Set* methods now return a bool to let the caller know if anything actually changed (if it can fail, otherwise it is void)
[ADD] Compliation without errors is required for pokemod from now on before commits
git-svn-id: https://pokegen.svn.sourceforge.net/svnroot/pokegen/trunk@24 6ecfd1a5-f3ed-3746-8530-beee90d26b22
Diffstat (limited to 'pokemod/PokemonMove.cpp')
| -rw-r--r-- | pokemod/PokemonMove.cpp | 266 |
1 files changed, 115 insertions, 151 deletions
diff --git a/pokemod/PokemonMove.cpp b/pokemod/PokemonMove.cpp index c35677c3..26302dba 100644 --- a/pokemod/PokemonMove.cpp +++ b/pokemod/PokemonMove.cpp @@ -1,151 +1,115 @@ -/////////////////////////////////////////////////////////////////////////////
-// Name: pokemod/PokemonMove.cpp
-// Purpose: Define a move that a Pokémon can learn
-// Author: Ben Boeckel
-// Modified by: Ben Boeckel
-// Created: Tue Mar 20 18:45:29 2007
-// Copyright: ©2007 Ben Boeckel and Nerdy Productions
-// Licence:
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this program. If not, see <http://www.gnu.org/licenses/>.
-/////////////////////////////////////////////////////////////////////////////
-
-#include "PokemonMove.h"
-
-PokeGen::PokeMod::PokemonMove::PokemonMove(const Pokemod *par, const unsigned _id) :
- move(UINT_MAX),
- level(0),
- wild(0)
-{
- LogCtor("PokemonMove", _id);
- id = _id;
- pokemod = par;
-}
-
-PokeGen::PokeMod::PokemonMove::PokemonMove(const Pokemod *par, Ini &ini, const unsigned _id)
-{
- LogCtorIni("PokemonMove", _id);
- pokemod = par;
- ImportIni(ini, _id);
- if (id == UINT_MAX)
- LogIdError("PokemonMove");
-}
-
-PokeGen::PokeMod::PokemonMove::~PokemonMove()
-{
- LogDtor("PokemonMove", id, GetMoveString());
-}
-
-void PokeGen::PokeMod::PokemonMove::Validate()
-{
- LogValidateStart("PokemonMove", id, GetMoveString());
- if (!pokemod->GetMove(move))
- {
- LogVarNotValid("PokemonMove", id, "move");
- isValid = false;
- }
- if (level < pokemod->GetMaxLevel())
- {
- LogVarNotValid("PokemonMove", id, "level", GetMoveString());
- isValid = false;
- }
- if (wild < pokemod->GetMaxLevel())
- {
- LogVarNotValid("PokemonMove", id, "wild", GetMoveString());
- isValid = false;
- }
- LogValidateOver("PokemonMove", id, isValid, GetMoveString());
-}
-
-void PokeGen::PokeMod::PokemonMove::ImportIni(Ini &ini, const unsigned _id)
-{
- LogImportStart("PokemonMove");
- if (_id == UINT_MAX)
- {
- ini.GetValue("id", id);
- if (id == UINT_MAX)
- LogIdNotFound("PokemonMove");
- }
- else
- id = _id;
- ini.GetValue("move", move);
- ini.GetValue("level", level, 0);
- ini.GetValue("wild", wild, 0);
- LogImportOver("PokemonMove", id);
-}
-
-void PokeGen::PokeMod::PokemonMove::ExportIni(QFile &fout, const QString &pokemon) const
-{
- LogExportStart("PokemonMove", id);
- Ini exPokemonMove("pokemonMove " + pokemon);
- exPokemonMove.AddField("id", id);
- exPokemonMove.AddField("move", move);
- exPokemonMove.AddField("level", level);
- exPokemonMove.AddField("wild", wild);
- exPokemonMove.Export(fout);
- LogExportOver("PokemonMove", id);
-}
-
-void PokeGen::PokeMod::PokemonMove::SetMove(const unsigned m)
-{
- LogSetVar("PokemonMove", id, "move", m);
- if (pokemod->GetMove(m))
- move = m;
-}
-
-void PokeGen::PokeMod::PokemonMove::SetMove(const QString &m)
-{
- LogSetVar("PokemonMove", id, "move", m);
- if (const Move *temp = pokemod->GetMove(m))
- move = temp->GetId();
-}
-
-void PokeGen::PokeMod::PokemonMove::SetLevel(const unsigned l)
-{
- LogSetVar("PokemonMove", id, "level", l, GetMoveString());
- if (l < pokemod->GetMaxLevel())
- level = l;
-}
-
-void PokeGen::PokeMod::PokemonMove::SetWild(const unsigned w)
-{
- LogSetVar("PokemonMove", id, "wild", w, GetMoveString());
- if (w < pokemod->GetMaxLevel())
- wild = w;
-}
-
-unsigned PokeGen::PokeMod::PokemonMove::GetMove() const
-{
- LogFetchVar("PokemonMove", id, "move", move);
- return move;
-}
-
-QString PokeGen::PokeMod::PokemonMove::GetMoveString() const
-{
- LogFetchVar("PokemonMove", id, "move string", move);
- if (const Move *m = pokemod->GetMove(move))
- m->GetName();
- return "";
-}
-
-unsigned PokeGen::PokeMod::PokemonMove::GetLevel() const
-{
- LogFetchVar("PokemonMove", id, "level", level, GetMoveString());
- return level;
-}
-
-unsigned PokeGen::PokeMod::PokemonMove::GetWild() const
-{
- LogFetchVar("PokemonMove", id, "wild", wild, GetMoveString());
- return wild;
-}
+///////////////////////////////////////////////////////////////////////////// +// Name: pokemod/PokemonMove.cpp +// Purpose: Define a move that a Pokémon can learn +// Author: Ben Boeckel +// Modified by: Ben Boeckel +// Created: Tue Mar 20 18:45:29 2007 +// Copyright: ©2007 Ben Boeckel and Nerdy Productions +// Licence: +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with this program. If not, see <http://www.gnu.org/licenses/>. +///////////////////////////////////////////////////////////////////////////// + +#include "PokemonMove.h" + +PokeGen::PokeMod::PokemonMove::PokemonMove(const Pokemod* par, const unsigned _id) : + Object(_id, par), + move(UINT_MAX), + level(0), + wild(0) +{ +} + +PokeGen::PokeMod::PokemonMove::PokemonMove(const Pokemod* par, Ini& ini, const unsigned _id) : + Object(_id, par) +{ + ImportIni(ini, _id); +} + +bool PokeGen::PokeMod::PokemonMove::Validate() +{ + pokemod->ValidationMsg(QString("------Move with id %1---").arg(id), Pokemod::V_Msg); + if (pokemod->GetMoveByID(move) == UINT_MAX) + { + pokemod->ValidationMsg("Invalid move"); + isValid = false; + } + if (level < pokemod->GetMaxLevel()) + { + pokemod->ValidationMsg("Invalid level"); + isValid = false; + } + if (wild < pokemod->GetMaxLevel()) + { + pokemod->ValidationMsg("Invalid wild level"); + isValid = false; + } + return isValid; +} + +void PokeGen::PokeMod::PokemonMove::ImportIni(Ini& ini, const unsigned _id) +{ + if (_id == UINT_MAX) + ini.GetValue("id", id); + else + id = _id; + ini.GetValue("move", move); + ini.GetValue("level", level, 0); + ini.GetValue("wild", wild, 0); +} + +void PokeGen::PokeMod::PokemonMove::ExportIni(QFile& fout, const QString& pokemon) const +{ + Ini exPokemonMove("pokemonMove " + pokemon); + exPokemonMove.AddField("id", id); + exPokemonMove.AddField("move", move); + exPokemonMove.AddField("level", level); + exPokemonMove.AddField("wild", wild); + exPokemonMove.Export(fout); +} + +bool PokeGen::PokeMod::PokemonMove::SetMove(const unsigned m) +{ + if (pokemod->GetMoveByID(m) != UINT_MAX) + move = m; + return (move == m); +} + +bool PokeGen::PokeMod::PokemonMove::SetLevel(const unsigned l) +{ + if (l < pokemod->GetMaxLevel()) + level = l; + return (level == l); +} + +bool PokeGen::PokeMod::PokemonMove::SetWild(const unsigned w) +{ + if (w < pokemod->GetMaxLevel()) + wild = w; + return (wild == w); +} + +unsigned PokeGen::PokeMod::PokemonMove::GetMove() const +{ + return move; +} + +unsigned PokeGen::PokeMod::PokemonMove::GetLevel() const +{ + return level; +} + +unsigned PokeGen::PokeMod::PokemonMove::GetWild() const +{ + return wild; +} |
