summaryrefslogtreecommitdiff
path: root/src/resources/monsterdb.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/resources/monsterdb.cpp')
-rw-r--r--src/resources/monsterdb.cpp26
1 files changed, 17 insertions, 9 deletions
diff --git a/src/resources/monsterdb.cpp b/src/resources/monsterdb.cpp
index fd200e4e..e7e855fa 100644
--- a/src/resources/monsterdb.cpp
+++ b/src/resources/monsterdb.cpp
@@ -78,13 +78,11 @@ MonsterDB::load()
for_each_xml_child_node(monsterNode, rootNode)
{
if (!xmlStrEqual(monsterNode->name, BAD_CAST "monster"))
- {
continue;
- }
MonsterInfo *currentInfo = new MonsterInfo();
- currentInfo->setName (XML::getProperty(monsterNode, "name", "unnamed"));
+ currentInfo->setName(XML::getProperty(monsterNode, "name", "unnamed"));
std::string targetCursor;
targetCursor = XML::getProperty(monsterNode, "targetCursor", "medium");
@@ -102,7 +100,8 @@ MonsterDB::load()
}
else
{
- logger->log("MonsterDB: Unknown target cursor type \"%s\" for %s - using medium sized one",
+ logger->log("MonsterDB: Unknown target cursor type \"%s\" for %s "
+ "- using medium sized one",
targetCursor.c_str(), currentInfo->getName().c_str());
currentInfo->setTargetCursorSize(Being::TC_MEDIUM);
}
@@ -138,17 +137,26 @@ MonsterDB::load()
}
else
{
- logger->log("MonsterDB: Warning, sound effect %s for unknown event %s of monster %s",
- filename, event.c_str(), currentInfo->getName().c_str());
+ logger->log("MonsterDB: Warning, sound effect %s for "
+ "unknown event %s of monster %s",
+ filename, event.c_str(),
+ currentInfo->getName().c_str());
}
}
else if (xmlStrEqual(spriteNode->name, BAD_CAST "attack"))
{
- int id = XML::getProperty(spriteNode, "id", 0);
- std::string particleEffect = XML::getProperty(spriteNode, "particle-effect", "");
- SpriteAction spriteAction = SpriteDef::makeSpriteAction(XML::getProperty(spriteNode, "action", "attack"));
+ const int id = XML::getProperty(spriteNode, "id", 0);
+ const std::string particleEffect = XML::getProperty(
+ spriteNode, "particle-effect", "");
+ SpriteAction spriteAction = SpriteDef::makeSpriteAction(
+ XML::getProperty(spriteNode, "action", "attack"));
currentInfo->addMonsterAttack(id, particleEffect, spriteAction);
}
+ else if (xmlStrEqual(spriteNode->name, BAD_CAST "particlefx"))
+ {
+ currentInfo->addParticleEffect(
+ (const char*) spriteNode->xmlChildrenNode->content);
+ }
}
mMonsterInfos[XML::getProperty(monsterNode, "id", 0)] = currentInfo;
}