00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _TMWSERV_GAMESERVER_NPC_HPP_
00022 #define _TMWSERV_GAMESERVER_NPC_HPP_
00023
00024 #include "game-server/being.hpp"
00025
00026 class Script;
00027 class Character;
00028
00032 class NPC : public Being
00033 {
00034 public:
00035 NPC(const std::string &name, int id, Script *);
00036
00037 void update();
00038
00042 void enable(bool enabled);
00043
00047 void prompt(Character *, bool restart);
00048
00052 void select(Character *, int);
00053
00057 int getNPC() const
00058 { return mID; }
00059
00063 virtual unsigned char getWalkMask() const
00064 { return 0x83; }
00065
00066 protected:
00067
00071 virtual Map::BlockType getBlockType() const
00072 { return Map::BLOCKTYPE_CHARACTER; }
00073
00074 private:
00075 Script *mScript;
00076 unsigned short mID;
00077 bool mEnabled;
00078 };
00079
00080 #endif