diff options
Diffstat (limited to 'pokemod/Ability.cpp')
| -rw-r--r-- | pokemod/Ability.cpp | 80 |
1 files changed, 39 insertions, 41 deletions
diff --git a/pokemod/Ability.cpp b/pokemod/Ability.cpp index ba2a7cb7..b8560e2a 100644 --- a/pokemod/Ability.cpp +++ b/pokemod/Ability.cpp @@ -15,36 +15,33 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -// Qt includes -#include <QMap> +// Header include +#include "Ability.h" // Pokemod includes -#include "Pokemod.h" #include "AbilityEffect.h" - -// Header include -#include "Ability.h" +#include "Pokemod.h" Ability::Ability(const Ability& ability) : - Object("Ability", ability.pokemod(), ability.id()) + Object("Ability", ability.parent(), ability.id()) { *this = ability; } -Ability::Ability(const Pokemod* pokemod, const int id) : - Object("Ability", pokemod, id), +Ability::Ability(const Object* parent, const int id) : + Object("Ability", parent, id), m_name("") { } -Ability::Ability(const Ability& ability, const Pokemod* pokemod, const int id) : - Object("Ability", pokemod, id) +Ability::Ability(const Ability& ability, const Object* parent, const int id) : + Object("Ability", parent, id) { *this = ability; } -Ability::Ability(const QDomElement& xml, const Pokemod* pokemod, const int id) : - Object("Ability", pokemod, id) +Ability::Ability(const QDomElement& xml, const Object* parent, const int id) : + Object("Ability", parent, id) { load(xml, id); } @@ -56,31 +53,32 @@ Ability::~Ability() bool Ability::validate() const { - bool valid = true; - pokemod()->validationMsg(QString("---Ability \"%1\" with id %2---").arg(m_name).arg(id()), Pokemod::V_Msg); - if (m_name == "") - { - pokemod()->validationMsg("No Name"); - valid = false; - } - if (effectCount()) - { - QMap<int, bool> idChecker; - foreach (AbilityEffect* effect, m_effects) - { - if (!effect->isValid()) - valid = false; - if (idChecker[effect->id()]) - pokemod()->validationMsg(QString("Duplicate effect with id %1").arg(effect->id())); - idChecker[effect->id()] = true; - } - } - else - { - pokemod()->validationMsg(QString("No effects")); - valid = false; - } - return valid; + // TODO: validate +// bool valid = true; +// static_cast<const Pokemod*>(pokemod())->validationMsg(QString("---Ability \"%1\" with id %2---").arg(m_name).arg(id()), Pokemod::V_Msg); +// if (m_name == "") +// { +// static_cast<const Pokemod*>(pokemod())->validationMsg("No Name"); +// valid = false; +// } +// if (effectCount()) +// { +// QMap<int, bool> idChecker; +// foreach (AbilityEffect* effect, m_effects) +// { +// if (!effect->isValid()) +// valid = false; +// if (idChecker[effect->id()]) +// static_cast<const Pokemod*>(pokemod())->validationMsg(QString("Duplicate effect with id %1").arg(effect->id())); +// idChecker[effect->id()] = true; +// } +// } +// else +// { +// static_cast<const Pokemod*>(pokemod())->validationMsg(QString("No effects")); +// valid = false; +// } +// return valid; } void Ability::load(const QDomElement& xml, int id) @@ -149,19 +147,19 @@ int Ability::effectCount() const AbilityEffect* Ability::newEffect() { - m_effects.append(new AbilityEffect(pokemod(), effectId())); + m_effects.append(new AbilityEffect(this, effectId())); return m_effects[effectCount() - 1]; } AbilityEffect* Ability::newEffect(const QDomElement& xml) { - m_effects.append(new AbilityEffect(xml, pokemod(), effectId())); + m_effects.append(new AbilityEffect(xml, this, effectId())); return m_effects[effectCount() - 1]; } AbilityEffect* Ability::newEffect(const AbilityEffect& effect) { - m_effects.append(new AbilityEffect(effect, pokemod(), effectId())); + m_effects.append(new AbilityEffect(effect, this, effectId())); return m_effects[effectCount() - 1]; } |
