summaryrefslogtreecommitdiffstats
path: root/sigencore/TeamMember.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sigencore/TeamMember.cpp')
-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;