summaryrefslogtreecommitdiff
path: root/src/game-server/mapreader.cpp
diff options
context:
space:
mode:
authorEugenio Favalli <elvenprogrammer@gmail.com>2007-09-10 09:19:19 +0000
committerEugenio Favalli <elvenprogrammer@gmail.com>2007-09-10 09:19:19 +0000
commit2ed7628fb900f14b03cbf2843d0e0d4f301d7484 (patch)
treeab131d8043cf241990ddbac4c80bc5474ddbcc3a /src/game-server/mapreader.cpp
parentfab7e6acc11c30ab240300c81b01eec128b330fc (diff)
downloadmanaserv-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.cpp12
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
{