summaryrefslogtreecommitdiff
path: root/src/game-server/itemmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game-server/itemmanager.cpp')
-rw-r--r--src/game-server/itemmanager.cpp16
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)
{