summaryrefslogtreecommitdiff
path: root/src/game-server/monster.cpp
diff options
context:
space:
mode:
authorBjørn Lindeijer <bjorn@lindeijer.nl>2007-03-31 00:01:21 +0000
committerBjørn Lindeijer <bjorn@lindeijer.nl>2007-03-31 00:01:21 +0000
commita85d2b47912ea32e3ecf77632242fa6f759a0ade (patch)
tree1787bc6351d5eb315555f8bffafd0763bcea7411 /src/game-server/monster.cpp
parent4684bfb34ca0ed06c998bfe3c1369f94e8532b0d (diff)
downloadmanaserv-a85d2b47912ea32e3ecf77632242fa6f759a0ade.tar.gz
manaserv-a85d2b47912ea32e3ecf77632242fa6f759a0ade.tar.bz2
manaserv-a85d2b47912ea32e3ecf77632242fa6f759a0ade.tar.xz
manaserv-a85d2b47912ea32e3ecf77632242fa6f759a0ade.zip
Made a start with having monsters spawn using a SpawnArea.
Diffstat (limited to 'src/game-server/monster.cpp')
-rw-r--r--src/game-server/monster.cpp179
1 files changed, 90 insertions, 89 deletions
diff --git a/src/game-server/monster.cpp b/src/game-server/monster.cpp
index 91f7e16e..03cb6384 100644
--- a/src/game-server/monster.cpp
+++ b/src/game-server/monster.cpp
@@ -1,89 +1,90 @@
-/*
- * The Mana World Server
- * Copyright 2004 The Mana World Development Team
- *
- * This file is part of The Mana World.
- *
- * The Mana World is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation; either version 2 of the License, or any later version.
- *
- * The Mana World is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with The Mana World; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * $Id: controller.cpp 3191 2007-03-15 23:47:13Z crush_tmw $
- */
-
-#include "game-server/monster.hpp"
-
-#include "utils/logger.h"
-
-Monster::Monster():
- Being(OBJECT_MONSTER, 65535),
- mCountDown(0)
-{
- mAttributes.resize(NB_ATTRIBUTES_CONTROLLED, 1); // TODO: fill with the real attributes
-}
-
-void Monster::update()
-{
- /* Temporary "AI" behaviour that is purely artificial and not at all
- * intelligent.
- */
- if (mCountDown == 0)
- {
- if (mAction != DEAD)
- {
- Point randomPos( rand() % 320 + 720,
- rand() % 320 + 840 );
- setDestination(randomPos);
- mCountDown = 10 + rand() % 10;
-
- LOG_DEBUG("Setting new random destination " << randomPos.x << ","
- << randomPos.y << " for being " << getPublicID());
- }
- else
- {
- raiseUpdateFlags(UPDATEFLAG_REMOVE);
- }
- }
- else
- {
- mCountDown--;
- }
-}
-
-void Monster::die()
-{
- mCountDown = 50; //sets remove time to 5 seconds
- Being::die();
-}
-
-WeaponStats Monster::getWeaponStats()
-{
-
- WeaponStats weaponStats;
-
- /*
- * TODO: This should all be set by the monster database
- */
- weaponStats.piercing = 1;
- weaponStats.element = ELEMENT_NEUTRAL;
- weaponStats.skill = MONSTER_SKILL_WEAPON;
-
- return weaponStats;
-}
-
-void Monster::calculateDerivedAttributes()
-{
- Being::calculateDerivedAttributes();
- /*
- * Do any monster specific attribute calculation here
- */
-}
+/*
+ * The Mana World Server
+ * Copyright 2004 The Mana World Development Team
+ *
+ * This file is part of The Mana World.
+ *
+ * The Mana World is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or any later version.
+ *
+ * The Mana World is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with The Mana World; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * $Id$
+ */
+
+#include "game-server/monster.hpp"
+
+#include "utils/logger.h"
+
+Monster::Monster():
+ Being(OBJECT_MONSTER, 65535),
+ mCountDown(0)
+{
+ LOG_DEBUG("Monster spawned!");
+ mAttributes.resize(NB_ATTRIBUTES_CONTROLLED, 1); // TODO: fill with the real attributes
+}
+
+void Monster::update()
+{
+ /* Temporary "AI" behaviour that is purely artificial and not at all
+ * intelligent.
+ */
+ if (mCountDown == 0)
+ {
+ if (mAction != DEAD)
+ {
+ Point randomPos( rand() % 320 + 720,
+ rand() % 320 + 840 );
+ setDestination(randomPos);
+ mCountDown = 10 + rand() % 10;
+
+ LOG_DEBUG("Setting new random destination " << randomPos.x << ","
+ << randomPos.y << " for being " << getPublicID());
+ }
+ else
+ {
+ raiseUpdateFlags(UPDATEFLAG_REMOVE);
+ }
+ }
+ else
+ {
+ mCountDown--;
+ }
+}
+
+void Monster::die()
+{
+ mCountDown = 50; //sets remove time to 5 seconds
+ Being::die();
+}
+
+WeaponStats Monster::getWeaponStats()
+{
+
+ WeaponStats weaponStats;
+
+ /*
+ * TODO: This should all be set by the monster database
+ */
+ weaponStats.piercing = 1;
+ weaponStats.element = ELEMENT_NEUTRAL;
+ weaponStats.skill = MONSTER_SKILL_WEAPON;
+
+ return weaponStats;
+}
+
+void Monster::calculateDerivedAttributes()
+{
+ Being::calculateDerivedAttributes();
+ /*
+ * Do any monster specific attribute calculation here
+ */
+}