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.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/game-server/itemmanager.cpp b/src/game-server/itemmanager.cpp
index 8abf857f..a53327eb 100644
--- a/src/game-server/itemmanager.cpp
+++ b/src/game-server/itemmanager.cpp
@@ -26,6 +26,7 @@
#include "defines.h"
#include "game-server/item.hpp"
#include "game-server/resourcemanager.hpp"
+#include "game-server/skillmanager.hpp"
#include "scripting/script.hpp"
#include "utils/logger.h"
#include "utils/xml.hpp"
@@ -140,11 +141,14 @@ void ItemManager::reload()
if (itemType == ITEM_EQUIPMENT_ONE_HAND_WEAPON ||
itemType == ITEM_EQUIPMENT_TWO_HANDS_WEAPON)
{
- int weaponType = XML::getProperty(node, "weapon-type", 0);
- if (weaponType == 0)
+ int weaponType = 0;
+ std::string strWeaponType = XML::getProperty(node, "weapon-type", "");
+ if (strWeaponType == "")
{
LOG_WARN(itemReferenceFile<<": Unknown weapon type \""
<<"\" for item #"<<id<<" - treating it as generic item");
+ } else {
+ weaponType = SkillManager::getIdFromString(strWeaponType);
}
modifiers.setValue(MOD_WEAPON_TYPE, weaponType);
modifiers.setValue(MOD_WEAPON_RANGE, XML::getProperty(node, "range", 0));