class Actor : public Persistent { static const int MAX_NAME_LENGTH = 30; public : int x, y; // position on map int ch; // ascii code TCODColor col; // color char name [ MAX_NAME_LENGTH ]; // the actor's name bool blocks; // can we walk on this actor? bool fovOnly; // only display when in fov Attacker *attacker; // something that deals damage Destructible *destructible; // something that can be damaged Ai *ai; // something self-updating Pickable *pickable; // Something that can be picked and used Container *container; // Something that can contain other actors Actor(int x, int y, int ch, const char *name, const TCODColor &col); ~Actor(); void update(); void render() const; float getDistance(int cx, int cy) const; void load(TCODZip &zip); void save(TCODZip &zip); };