summaryrefslogtreecommitdiffstats
path: root/pokemod/Ability.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pokemod/Ability.cpp')
-rw-r--r--pokemod/Ability.cpp80
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];
}