summaryrefslogtreecommitdiffstats
path: root/pokescripting/SpeciesMoveWrapper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pokescripting/SpeciesMoveWrapper.cpp')
-rw-r--r--pokescripting/SpeciesMoveWrapper.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/pokescripting/SpeciesMoveWrapper.cpp b/pokescripting/SpeciesMoveWrapper.cpp
index 671f0e43..d1c33864 100644
--- a/pokescripting/SpeciesMoveWrapper.cpp
+++ b/pokescripting/SpeciesMoveWrapper.cpp
@@ -19,9 +19,17 @@
#include "SpeciesMoveWrapper.h"
// Pokescripting includes
-#include "MoveWrapper.h"
+#include "PokemodWrapper.h"
+#include "SpeciesWrapper.h"
-Pokescripting::SpeciesMoveWrapper::SpeciesMoveWrapper(const Pokemod::SpeciesMove* move, QObject* parent) :
+Pokescripting::SpeciesMoveWrapper* Pokescripting::SpeciesMoveWrapper::create(const Pokemod::SpeciesMove* move, SpeciesWrapper* parent)
+{
+ if (!m_instances.contains(Signiture(parent, move->id())))
+ m_instances[Signiture(parent, move->id())] = new SpeciesMoveWrapper(move, parent);
+ return qobject_cast<SpeciesMoveWrapper*>(m_instances[Signiture(parent, move->id())]);
+}
+
+Pokescripting::SpeciesMoveWrapper::SpeciesMoveWrapper(const Pokemod::SpeciesMove* move, SpeciesWrapper* parent) :
ObjectWrapper(move, parent),
m_move(move)
{
@@ -29,7 +37,7 @@ Pokescripting::SpeciesMoveWrapper::SpeciesMoveWrapper(const Pokemod::SpeciesMove
Pokescripting::MoveWrapper* Pokescripting::SpeciesMoveWrapper::move()
{
- return MoveWrapper::create(pokemod()->moveById(m_move->move()), this);
+ return pokemod()->move(m_move->move());
}
int Pokescripting::SpeciesMoveWrapper::level() const