diff options
Diffstat (limited to 'src/game-server/itemmanager.cpp')
-rw-r--r-- | src/game-server/itemmanager.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/game-server/itemmanager.cpp b/src/game-server/itemmanager.cpp index 01b957a6..f4a5b751 100644 --- a/src/game-server/itemmanager.cpp +++ b/src/game-server/itemmanager.cpp @@ -98,13 +98,17 @@ ItemManager::ItemManager(std::string const &itemReferenceFile) modifiers.hp = XML::getProperty(node, "hp", 0); modifiers.mp = XML::getProperty(node, "mp", 0); modifiers.range = XML::getProperty(node, "range", 0); - modifiers.weaponType = (WeaponType)XML::getProperty(node, "weapon_type", 0); - modifiers.beingStateEffect = (BeingStateEffect)XML::getProperty(node, "status_effect", 0); - - ItemPtr item(new Item(modifiers, itemType, weight, - value, scriptName, maxPerSlot)); + modifiers.weaponType = XML::getProperty(node, "weapon_type", 0); + modifiers.beingStateEffect = XML::getProperty(node, "status_effect", 0); + + ItemClass *item = new ItemClass(itemType); + item->setWeight(weight); + item->setCost(value); + item->setMaxPerSlot(maxPerSlot); + item->setScriptName(scriptName); + item->setModifiers(modifiers); mItemReference[id] = item; - nbItems++; + ++nbItems; if (maxPerSlot == 0) { |