diff options
Diffstat (limited to 'src/scripting/script.cpp')
-rw-r--r-- | src/scripting/script.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/scripting/script.cpp b/src/scripting/script.cpp index b222b0f7..490abf09 100644 --- a/src/scripting/script.cpp +++ b/src/scripting/script.cpp @@ -34,6 +34,7 @@ typedef std::map< std::string, Script::Factory > Engines; static Engines *engines = NULL; Script *Script::globalEventScript = NULL; Script *Script::specialActionsScript = NULL; +Script *Script::craftScript = NULL; Script::Script(): mMap(NULL), @@ -158,3 +159,16 @@ bool Script::performSpecialAction(int specialId, Being* caster) } return true; } + +bool Script::performCraft(Being* crafter, std::list<InventoryItem> recipe) +{ + Script *script = Script::craftScript; + if (script) + { + script->prepare("on_craft"); + script->push(crafter); + script->push(recipe); + script->execute(); + } + return true; +} |