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/itemmanager.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/itemmanager.cpp')
-rw-r--r-- | src/game-server/itemmanager.cpp | 17 |
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; |