summaryrefslogtreecommitdiff
path: root/src/game-server/item.cpp
diff options
context:
space:
mode:
authorRoderic Morris <roderic@ccs.neu.edu>2008-10-22 17:40:42 +0000
committerRoderic Morris <roderic@ccs.neu.edu>2008-10-22 17:40:42 +0000
commit5a4e1ac688d83a46b6c6cb5c4945535f1ae4151f (patch)
treee608f83b2813e0f0d727fb3dac21096ef35fa03e /src/game-server/item.cpp
parentdbc83dae37dff1338e1ee6358a0a8d10103278b0 (diff)
downloadmanaserv-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.cpp10
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;
}