00001 #ifndef CHARACTER_HH_ 00002 # define CHARACTER_HH_ 00003 00004 # include <string> 00005 00006 namespace objects 00007 { 00008 class Character 00009 { 00010 public: 00011 Character(int id, const std::string &name); 00012 00013 int get_id() const; 00014 const std::string &get_name() const; 00015 void set_name(const std::string &name); 00016 int get_pos_x() const; 00017 int get_pos_y() const; 00018 int get_pos_z() const; 00019 void set_pos_x(int x); 00020 void set_pos_y(int y); 00021 void set_pos_z(int z); 00022 int get_class() const; 00023 void set_class(int character_class); 00024 int get_hp() const; 00025 void set_hp(int hp); 00026 bool is_dead() const; 00027 void set_dead(bool dead); 00028 int get_status_flag() const; 00029 void set_status_flag(int i); 00030 00031 Character *get_target() const; 00032 void set_target(Character *c); 00033 bool is_player(); 00034 bool is_monster(); 00035 bool is_npc(); 00036 00037 void reinitialize(); 00038 00039 protected: 00040 int _id; 00041 std::string _name; 00042 int _pos_x; 00043 int _pos_y; 00044 int _pos_z; 00045 int _class; 00046 int _hp; 00047 bool _dead; 00048 int _status_flag; 00049 00050 Character *_target; 00051 }; 00052 } 00053 00054 # include "character.hxx" 00055 00056 #endif