diff options
Diffstat (limited to 'src/resources')
-rw-r--r-- | src/resources/mapreader.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/resources/mapreader.cpp b/src/resources/mapreader.cpp index e71ed5a6..d8678362 100644 --- a/src/resources/mapreader.cpp +++ b/src/resources/mapreader.cpp @@ -258,8 +258,9 @@ Map *MapReader::readMap(xmlNodePtr node, const std::string &path) std::string objType = XML::getProperty(objectNode, "type", ""); objType = toUpper(objType); - if (objType == "WARP" || objType == "NPC" || - objType == "SCRIPT" || objType == "SPAWN") + if (objType == "NPC" || + objType == "SCRIPT" || + objType == "SPAWN") { // Silently skip server-side objects. continue; @@ -268,6 +269,8 @@ Map *MapReader::readMap(xmlNodePtr node, const std::string &path) const std::string objName = XML::getProperty(objectNode, "name", ""); const int objX = XML::getProperty(objectNode, "x", 0); const int objY = XML::getProperty(objectNode, "y", 0); + const int objW = XML::getProperty(objectNode, "width", 0); + const int objH = XML::getProperty(objectNode, "height", 0); logger->log("- Loading object name: %s type: %s at %d:%d", objName.c_str(), objType.c_str(), @@ -283,7 +286,13 @@ Map *MapReader::readMap(xmlNodePtr node, const std::string &path) map->addParticleEffect(objName, objX + offsetX, - objY + offsetY); + objY + offsetY, + objW, objH); + } + else if (objType == "WARP") + { + map->addParticleEffect("graphics/particles/warparea.particle.xml", + objX, objY, objW, objH); } else { |