///////////////////////////////////////////////////////////////////////////// // Name: pokemod/StatusEffect.cpp // Purpose: Define an effect of a status // Author: Ben Boeckel // Modified by: Ben Boeckel // Created: Sat June 2 2007 12:16:48 // 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 // MERCHANTStatus 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 . ///////////////////////////////////////////////////////////////////////////// #include "StatusEffect.h" PokeGen::PokeMod::StatusEffect::StatusEffect(const Pokemod* par, const unsigned _id) : Object(_id, par), effect(UINT_MAX), val1(UINT_MAX), val2(UINT_MAX) { } PokeGen::PokeMod::StatusEffect::StatusEffect(const Pokemod* par, Ini& ini, const unsigned _id) : Object(_id, par) { ImportIni(ini, _id); } bool PokeGen::PokeMod::StatusEffect::Validate() { pokemod->ValidationMsg(QString("------Effect with id %1---").arg(id), Pokemod::V_Msg); if (effect < E_End) { bool ok = true; switch (effect) { //case : if (1) ok = false; break; } if (!ok) { pokemod->ValidationMsg("Invalid val1"); isValid = false; ok = true; } switch (effect) { //case : if (1) ok = false; break; } if (!ok) { pokemod->ValidationMsg("Invalid val1"); isValid = false; } } else { pokemod->ValidationMsg("Invalid effect"); isValid = false; } // TODO (Ben#1#): Status Effect Validation return isValid; } void PokeGen::PokeMod::StatusEffect::ImportIni(Ini& ini, const unsigned _id) { if (_id == UINT_MAX) ini.GetValue("id", id); else id = _id; ini.GetValue("effect", effect); ini.GetValue("val1", val1); ini.GetValue("val2", val2); } void PokeGen::PokeMod::StatusEffect::ExportIni(QFile& fout, const QString& status) const { Ini exStatusEffect("statusEffect " + status); exStatusEffect.AddField("id", id); exStatusEffect.AddField("effect", effect); exStatusEffect.AddField("val1", val1); exStatusEffect.AddField("val2", val2); exStatusEffect.Export(fout); } bool PokeGen::PokeMod::StatusEffect::SetEffect(const unsigned e) { if (e < E_End) { effect = e; val1 = UINT_MAX; val2 = UINT_MAX; } return (effect == e); } bool PokeGen::PokeMod::StatusEffect::SetVal1(const unsigned v1) { switch (effect) { } return (val1 == v1); } bool PokeGen::PokeMod::StatusEffect::SetVal2(const unsigned v2) { switch (effect) { } return (val2 == v2); } unsigned PokeGen::PokeMod::StatusEffect::GetEffect() const { return effect; } unsigned PokeGen::PokeMod::StatusEffect::GetVal1() const { return val1; } unsigned PokeGen::PokeMod::StatusEffect::GetVal2() const { return val2; }