summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2009-02-09 05:02:28 -0500
committerBen Boeckel <MathStuf@gmail.com>2009-02-09 05:02:28 -0500
commit231e4e04db1d97330cd5f15789069000ec186138 (patch)
tree67fdc6f99ccb679c5fe11ce0779a606f9df8ce4b
parent57ca000990a8274bde27d3907986a1c3f66caf86 (diff)
Fixed override methods in TeamMember to be smarter
-rw-r--r--sigencore/TeamMember.cpp39
1 files changed, 19 insertions, 20 deletions
diff --git a/sigencore/TeamMember.cpp b/sigencore/TeamMember.cpp
index e7821f6d..67cdea3f 100644
--- a/sigencore/TeamMember.cpp
+++ b/sigencore/TeamMember.cpp
@@ -165,9 +165,9 @@ QUuid Sigencore::TeamMember::id() const
QString Sigencore::TeamMember::name() const
{
- if (hasValueOfType<QString>("name"))
- return valueOfType<QString>("name");
- return m_name;
+ QString name = m_name;
+ valueOfType("name", &name);
+ return name;
}
long long Sigencore::TeamMember::currentHp() const
@@ -177,9 +177,9 @@ long long Sigencore::TeamMember::currentHp() const
Sigscript::SpeciesWrapper* Sigencore::TeamMember::species() const
{
- if (hasValueOfType<Sigscript::SpeciesWrapper*>("species"))
- return valueOfType<Sigscript::SpeciesWrapper*>("species");
- return m_species;
+ Sigscript::SpeciesWrapper* species = m_species;
+ valueOfType("species", &species);
+ return species;
}
int Sigencore::TeamMember::level() const
@@ -189,39 +189,38 @@ int Sigencore::TeamMember::level() const
Sigencore::TeamMember::Gender Sigencore::TeamMember::gender() const
{
- if (hasValueOfType<Gender>("gender"))
- return valueOfType<Gender>("gender");
- return m_gender;
+ Gender gender = m_gender;
+ valueOfType("gender", &gender);
+ return gender;
}
long long Sigencore::TeamMember::levelExperience() const
{
- if (hasValueOfType<long long>("levelExperience"))
- return valueOfType<long long>("levelExperience");
- return m_levelExp;
+ long long experience = m_levelExp;
+ valueOfType("levelExperience", &experience);
+ return experience;
}
int Sigencore::TeamMember::baseStat(const Sigmod::Stat stat) const
{
- if (hasValueOfType<bool>("overrideBaseStats") && valueOfType<bool>("overrideBaseStats"))
+ bool override;
+ if (valueOfType("overrideBaseStats", &override) && override)
return species()->baseStat(stat);
return m_species->baseStat(stat);
}
long long Sigencore::TeamMember::statExperience(const Sigmod::Stat stat) const
{
- const QString valueName = QString("statExperience-%1").arg((sigmod()->rules()->specialSplit() ? Sigmod::StatGSCStr : Sigmod::StatRBYStr)[stat]);
- if (hasValueOfType<long long>(valueName))
- return valueOfType<long long>(valueName);
- return m_statExp[stat];
+ long long experience = m_statExp[stat];
+ valueOfType(QString("statExperience-%1").arg((sigmod()->rules()->specialSplit() ? Sigmod::StatGSCStr : Sigmod::StatRBYStr)[stat]), &experience);
+ return experience;
}
int Sigencore::TeamMember::dv(const Sigmod::Stat stat) const
{
- const QString valueName = QString("dv-%1").arg((sigmod()->rules()->specialSplit() ? Sigmod::StatGSCStr : Sigmod::StatRBYStr)[stat]);
- if (hasValueOfType<int>(valueName))
+ int dv;
+ if (valueOfType(QString("dv-%1").arg((sigmod()->rules()->specialSplit() ? Sigmod::StatGSCStr : Sigmod::StatRBYStr)[stat]), &dv))
{
- const int dv = valueOfType<int>(valueName);
if (dv < (sigmod()->rules()->specialDVSplit() ? 32 : 16))
return dv;
}