summaryrefslogtreecommitdiffstats
path: root/sigencore/TeamMember.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sigencore/TeamMember.cpp')
-rw-r--r--sigencore/TeamMember.cpp16
1 files changed, 6 insertions, 10 deletions
diff --git a/sigencore/TeamMember.cpp b/sigencore/TeamMember.cpp
index b9710398..60f29090 100644
--- a/sigencore/TeamMember.cpp
+++ b/sigencore/TeamMember.cpp
@@ -117,17 +117,13 @@ Sigencore::TeamMember::TeamMember(const int speciesId, const QString& name, cons
m_gender = Genderless;
for (int i = 0; i <= Sigmod::ST_SpecialDefense; ++i)
m_statExp[i] = 0;
- if (m_containment->isMutable())
+ const Sigcore::Script script = m_species->evolution();
+ if (!script.script().isEmpty())
{
- const Sigcore::Script script = m_species->evolution();
- if (!script.script().isEmpty())
- {
- Kross::Action* evolution = new Kross::Action(Kross::Manager::self().actionCollection()->collection("evolutions"), QUuid::createUuid().toString());
- evolution->setInterpreter(script.interpreter());
- evolution->setCode(script.script().toUtf8());
- evolution->addObject(this, "owner");
- evolution->trigger();
- }
+ ObjectMap objects;
+ objects["owner"] = this;
+ objects["sigmod"] = m_sigmod;
+ runScript("evolution", script, objects, m_scripts)->trigger();
}
m_currentHp = statValue(Sigmod::ST_HP);
}