summaryrefslogtreecommitdiff
path: root/src/monster.h
diff options
context:
space:
mode:
authorBjørn Lindeijer <bjorn@lindeijer.nl>2009-03-22 19:45:03 +0100
committerBjørn Lindeijer <bjorn@lindeijer.nl>2009-03-22 19:45:56 +0100
commit0c43d04b438d41c277ae80402d4b4888db1a0b64 (patch)
tree3aaeb75ecd1bcbe85decedab5f1fa426fe0411e3 /src/monster.h
parenta7f5eaeb7f643658d356533a608f0f18d85b6d32 (diff)
parent401802c1d7a1b3d659bdc53a45d9a6292fc1121e (diff)
downloadmana-client-0c43d04b438d41c277ae80402d4b4888db1a0b64.tar.gz
mana-client-0c43d04b438d41c277ae80402d4b4888db1a0b64.tar.bz2
mana-client-0c43d04b438d41c277ae80402d4b4888db1a0b64.tar.xz
mana-client-0c43d04b438d41c277ae80402d4b4888db1a0b64.zip
Merged the tmwserv client with the eAthena client
This merge involved major changes on both sides, and as such took several weeks. Lots of things are expected to be broken now, however, we now have a single code base to improve and extend, which can be compiled to support either eAthena or tmwserv. In the coming months, the plan is to work towards a client that supports both eAthena and tmwserv, without needing to be recompiled. Conflicts: Everywhere!
Diffstat (limited to 'src/monster.h')
-rw-r--r--src/monster.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/monster.h b/src/monster.h
index 8d7f8ae7..5251d37e 100644
--- a/src/monster.h
+++ b/src/monster.h
@@ -34,9 +34,11 @@ class Monster : public Being
~Monster();
+#ifdef EATHENA_SUPPORT
virtual void logic();
+#endif
- virtual void setAction(Action action);
+ virtual void setAction(Action action, int attackType = 0);
virtual Type getType() const;
@@ -50,7 +52,11 @@ class Monster : public Being
* @param victim The attacked being.
* @param damage The amount of damage dealt (0 means miss).
*/
+#ifdef TMWSERV_SUPPORT
+ virtual void handleAttack();
+#else
virtual void handleAttack(Being *victim, int damage);
+#endif
/**
* Puts a damage bubble above this monster and plays the hurt sound
@@ -69,8 +75,20 @@ class Monster : public Being
*/
void showName(bool show);
+ /**
+ * Gets the way the monster is blocked by other objects
+ */
+ virtual unsigned char getWalkMask() const
+ { return 0x83; } // blocked by walls, other monsters and players ( bin 1000 0011)
+
protected:
/**
+ * Gets the way the monster blocks pathfinding for other objects
+ */
+ virtual Map::BlockType getBlockType() const
+ { return Map::BLOCKTYPE_MONSTER; }
+
+ /**
* Update the text when the monster moves
*/
void updateCoords();