summaryrefslogtreecommitdiffstats
path: root/sigencore
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2009-02-13 01:28:11 -0500
committerBen Boeckel <MathStuf@gmail.com>2009-02-13 01:28:11 -0500
commit3a8dec31d69ec711cabb4fcea68a765181263e77 (patch)
tree6af135d6da07cba71cd7f900c01fd5050164c671 /sigencore
parent928a361019ab4fe98f7432cd7fcccebbc390f9f5 (diff)
downloadsigen-3a8dec31d69ec711cabb4fcea68a765181263e77.tar.gz
sigen-3a8dec31d69ec711cabb4fcea68a765181263e77.tar.xz
sigen-3a8dec31d69ec711cabb4fcea68a765181263e77.zip
Fixed up level methods
Diffstat (limited to 'sigencore')
-rw-r--r--sigencore/TeamMember.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/sigencore/TeamMember.cpp b/sigencore/TeamMember.cpp
index eb0aaa02..a01229c5 100644
--- a/sigencore/TeamMember.cpp
+++ b/sigencore/TeamMember.cpp
@@ -229,8 +229,6 @@ Sigencore::TeamMember::Gender Sigencore::TeamMember::gender() const
bool Sigencore::TeamMember::setLevel(const int level)
{
- if (level == m_level)
- return false;
if ((level <= 0) || (m_sigmod->rules()->maxLevel() < level))
return false;
// TODO: Update stats
@@ -241,6 +239,11 @@ bool Sigencore::TeamMember::setLevel(const int level)
return true;
}
+bool Sigencore::TeamMember::giveLevels(const int levels)
+{
+ return setLevel(m_level + levels);
+}
+
int Sigencore::TeamMember::level() const
{
return m_level;
@@ -256,6 +259,8 @@ int Sigencore::TeamMember::calcLevel(const Sigmod::Species::Style growth, const
bool Sigencore::TeamMember::setLevelExperience(const long long levelExp)
{
+ if (levelExp < 0)
+ return false;
const int level = calcLevel(m_species->growth(), levelExp);
if ((level <= 0) || (m_sigmod->rules()->maxLevel() < level))
return false;
@@ -270,6 +275,11 @@ bool Sigencore::TeamMember::setLevelExperience(const long long levelExp)
return true;
}
+bool Sigencore::TeamMember::giveLevelExperience(const long long levelExp)
+{
+ return setLevelExperience(m_levelExp + levelExp);
+}
+
long long Sigencore::TeamMember::levelExperience() const
{
return m_levelExp;