diff options
author | Roderic Morris <roderic@ccs.neu.edu> | 2008-10-22 17:40:42 +0000 |
---|---|---|
committer | Roderic Morris <roderic@ccs.neu.edu> | 2008-10-22 17:40:42 +0000 |
commit | 5a4e1ac688d83a46b6c6cb5c4945535f1ae4151f (patch) | |
tree | e608f83b2813e0f0d727fb3dac21096ef35fa03e /src/game-server/item.cpp | |
parent | dbc83dae37dff1338e1ee6358a0a8d10103278b0 (diff) | |
download | manaserv-5a4e1ac688d83a46b6c6cb5c4945535f1ae4151f.tar.gz manaserv-5a4e1ac688d83a46b6c6cb5c4945535f1ae4151f.tar.bz2 manaserv-5a4e1ac688d83a46b6c6cb5c4945535f1ae4151f.tar.xz manaserv-5a4e1ac688d83a46b6c6cb5c4945535f1ae4151f.zip |
added on use scripts (by Kage_Jittai)
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; } |