summaryrefslogtreecommitdiffstats
path: root/pokemod/PokemonMove.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2007-09-21 15:36:22 +0000
committerBen Boeckel <MathStuf@gmail.com>2007-09-21 15:36:22 +0000
commit5b55d13ead7e352ee1feaae72009e8abf5bd071a (patch)
tree6c2838312dd7f42769280e24e8abc16b53c165cb /pokemod/PokemonMove.cpp
parente94d9893b8753e72adb92b2c5eb203830ddf641c (diff)
downloadsigen-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.cpp266
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;
+}