diff options
Diffstat (limited to 'src/monster.h')
-rw-r--r-- | src/monster.h | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/monster.h b/src/monster.h index 7c16d178..34a2f237 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; @@ -51,7 +53,11 @@ class Monster : public Being * @param damage the amount of damage dealt (0 means miss) * @param type the attack type */ +#ifdef TMWSERV_SUPPORT + virtual void handleAttack(); +#else virtual void handleAttack(Being *victim, int damage, AttackType type); +#endif /** * Puts a damage bubble above this monster and plays the hurt sound @@ -72,8 +78,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(); |