diff --git a/src/main/main.cpp b/src/main/main.cpp index d6306ba..c34b03a 100644 --- a/src/main/main.cpp +++ b/src/main/main.cpp @@ -287,7 +287,7 @@ int initialise(int argc, char **argv, bool &daemon) { ScriptMachine *machine = server.getMachine(); machine->acquireContext()->runFile("resources/main.js"); - machine->getSpeciesDatabase()->verifyAbilities(machine); + machine->finalise(); database::DatabaseRegistry *registry = server.getRegistry(); registry->connect(databaseName, databaseHost, diff --git a/src/scripting/ScriptMachine.cpp b/src/scripting/ScriptMachine.cpp index 4fd0ebc..b2441ed 100644 --- a/src/scripting/ScriptMachine.cpp +++ b/src/scripting/ScriptMachine.cpp @@ -645,6 +645,10 @@ void ScriptContext::setContextThread(const int depth) { JS_ResumeRequest((JSContext *)m_p, depth); } +void ScriptMachine::finalise() { + getSpeciesDatabase()->verifyAbilities(this); +} + static JSFunctionSpec globalFunctions[] = { JS_FS("print", printFunction, 1, 0, 0), JS_FS("loadText", loadText, 2, 0, 0), diff --git a/src/scripting/ScriptMachine.h b/src/scripting/ScriptMachine.h index 8583e81..5c28e56 100644 --- a/src/scripting/ScriptMachine.h +++ b/src/scripting/ScriptMachine.h @@ -395,6 +395,8 @@ class ScriptMachine { void includeMoves(const std::string); void includeSpecies(const std::string); void populateMoveLists(); + + void finalise(); private: friend class ScriptContext;