summaryrefslogtreecommitdiff
path: root/src/npc.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/npc.h')
-rw-r--r--src/npc.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/npc.h b/src/npc.h
index 81b6d51e..b003b82e 100644
--- a/src/npc.h
+++ b/src/npc.h
@@ -24,14 +24,20 @@
#include "player.h"
+#ifdef EATHENA_SUPPORT
class Network;
+#endif
class Graphics;
class Text;
class NPC : public Player
{
public:
+#ifdef TMWSERV_SUPPORT
+ NPC(Uint16 id, int sprite, Map *map);
+#else
NPC(Uint32 id, Uint16 job, Map *map, Network *network);
+#endif
~NPC();
@@ -55,8 +61,23 @@ class NPC : public Player
* interface problems
*/
void handleDeath();
+
+ /**
+ * Gets the way an NPC is blocked by other things on the map
+ */
+ virtual unsigned char getWalkMask() const
+ { return 0x83; } // blocked like a monster by walls, monsters and characters ( bin 1000 0011)
+
protected:
+ /**
+ * Gets the way a monster blocks pathfinding for other objects
+ */
+ virtual Map::BlockType getBlockType() const
+ { return Map::BLOCKTYPE_CHARACTER; } //blocks like a player character
+
+#ifdef EATHENA_SUPPORT
Network *mNetwork;
+#endif
void updateCoords();
private:
Text *mName;