summaryrefslogtreecommitdiffstats
path: root/pokescripting/MoveWrapper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'pokescripting/MoveWrapper.cpp')
-rw-r--r--pokescripting/MoveWrapper.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/pokescripting/MoveWrapper.cpp b/pokescripting/MoveWrapper.cpp
index 10ca5032..1bf5d3f8 100644
--- a/pokescripting/MoveWrapper.cpp
+++ b/pokescripting/MoveWrapper.cpp
@@ -19,9 +19,16 @@
#include "MoveWrapper.h"
// Pokescripting includes
-#include "TypeWrapper.h"
+#include "PokemodWrapper.h"
-Pokescripting::MoveWrapper::MoveWrapper(const Pokemod::Move* move, QObject* parent) :
+Pokescripting::MoveWrapper* Pokescripting::MoveWrapper::create(const Pokemod::Move* move, PokemodWrapper* parent)
+{
+ if (!m_instances.contains(Signiture(parent, move->id())))
+ m_instances[Signiture(parent, move->id())] = new MoveWrapper(move, parent);
+ return qobject_cast<MoveWrapper*>(m_instances[Signiture(parent, move->id())]);
+}
+
+Pokescripting::MoveWrapper::MoveWrapper(const Pokemod::Move* move, PokemodWrapper* parent) :
ObjectWrapper(move, parent),
m_move(move)
{
@@ -48,7 +55,7 @@ int Pokescripting::MoveWrapper::power() const
Pokescripting::TypeWrapper* Pokescripting::MoveWrapper::type()
{
- return TypeWrapper::create(pokemod()->typeById(m_move->type()), this);
+ return pokemod()->type(m_move->type());
}
bool Pokescripting::MoveWrapper::special() const