summaryrefslogtreecommitdiff
path: root/src/game-server/itemmanager.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/itemmanager.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/itemmanager.cpp')
-rw-r--r--src/game-server/itemmanager.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/game-server/itemmanager.cpp b/src/game-server/itemmanager.cpp
index 159b8356..65419011 100644
--- a/src/game-server/itemmanager.cpp
+++ b/src/game-server/itemmanager.cpp
@@ -33,6 +33,8 @@
#include "utils/logger.h"
#include "utils/xml.hpp"
+#include <sstream>
+
typedef std::map< int, ItemClass * > ItemClasses;
static ItemClasses itemClasses; /**< Item reference */
static std::string itemReferenceFile;
@@ -179,10 +181,23 @@ void ItemManager::reload()
weight = 1;
}
+ Script *s;
+ //TODO: Clean this up some
+ std::stringstream filename;
+ filename << "scripts/items/" << id << ".lua";
+
+ if(ResourceManager::exists(filename.str())) //file exists!
+ {
+ LOG_INFO("Loading item script: " + filename.str());
+ s = Script::create("lua");
+ s->loadFile(filename.str());
+ }
+
+
item->setWeight(weight);
item->setCost(value);
item->setMaxPerSlot(maxPerSlot);
- //item->setScriptName(scriptName);
+ item->setScript(s);
item->setModifiers(modifiers);
item->setSpriteID(sprite ? sprite : id);
++nbItems;