diff options
Diffstat (limited to 'src/game-server/item.cpp')
-rw-r--r-- | src/game-server/item.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/game-server/item.cpp b/src/game-server/item.cpp index 4d0530f8..5a5c3da0 100644 --- a/src/game-server/item.cpp +++ b/src/game-server/item.cpp @@ -29,6 +29,7 @@ #include "game-server/attackzone.hpp" #include "game-server/being.hpp" +#include "scripting/script.hpp" WeaponType weaponTypeFromString (const std::string &name) { @@ -140,12 +141,19 @@ void ItemModifiers::cancelAttributes(Being *b) const ItemClass::~ItemClass() { if (mAttackZone) delete mAttackZone; + if (mScript) delete mScript; } bool ItemClass::use(Being *itemUser) { if (mType != ITEM_USABLE) return false; - + if (mScript) + { + mScript->prepare("item_use"); + mScript->push(mDatabaseID); + mScript->push(itemUser); + mScript->execute(); + } mModifiers.applyAttributes(itemUser); return true; } |