diff options
author | Eugenio Favalli <elvenprogrammer@gmail.com> | 2007-09-10 09:19:19 +0000 |
---|---|---|
committer | Eugenio Favalli <elvenprogrammer@gmail.com> | 2007-09-10 09:19:19 +0000 |
commit | 2ed7628fb900f14b03cbf2843d0e0d4f301d7484 (patch) | |
tree | ab131d8043cf241990ddbac4c80bc5474ddbcc3a /src/game-server/mapreader.cpp | |
parent | fab7e6acc11c30ab240300c81b01eec128b330fc (diff) | |
download | manaserv-2ed7628fb900f14b03cbf2843d0e0d4f301d7484.tar.gz manaserv-2ed7628fb900f14b03cbf2843d0e0d4f301d7484.tar.bz2 manaserv-2ed7628fb900f14b03cbf2843d0e0d4f301d7484.tar.xz manaserv-2ed7628fb900f14b03cbf2843d0e0d4f301d7484.zip |
Spawn rate and limit are now read from map files and really fixed size of spawn area.
Diffstat (limited to 'src/game-server/mapreader.cpp')
-rw-r--r-- | src/game-server/mapreader.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/game-server/mapreader.cpp b/src/game-server/mapreader.cpp index 0033264c..9c062cb5 100644 --- a/src/game-server/mapreader.cpp +++ b/src/game-server/mapreader.cpp @@ -240,6 +240,8 @@ static Map *readMap(xmlNodePtr node, std::string const &path, MapComposite *comp else if (objType == "SPAWN") { int monsterId = -1; + int maxBeings = 10; // Default value + int spawnRate = 10; // Default value for_each_xml_child_node(propertiesNode, objectNode) { @@ -256,6 +258,14 @@ static Map *readMap(xmlNodePtr node, std::string const &path, MapComposite *comp { monsterId = atoi((const char *)propertyNode->xmlChildrenNode->content); } + else if (XML::getProperty(propertyNode, "name", std::string()) == "MAX_BEINGS") + { + maxBeings = atoi((const char *)propertyNode->xmlChildrenNode->content); + } + else if (XML::getProperty(propertyNode, "name", std::string()) == "SPAWN_RATE") + { + spawnRate = atoi((const char *)propertyNode->xmlChildrenNode->content); + } } } } @@ -263,7 +273,7 @@ static Map *readMap(xmlNodePtr node, std::string const &path, MapComposite *comp MonsterClass *monster = MonsterManager::getMonster(monsterId); if (monster != NULL) { - things.push_back(new SpawnArea(composite, monster, rect)); + things.push_back(new SpawnArea(composite, monster, rect, maxBeings, spawnRate)); } else { |