]> jfr.im git - irc/gameservirc.git/blobdiff - gameserv-2.0/libgameservgldl/include/GameServ/GameLayer/GameObjects/PlayerGO.h
Consolidated all the individual level files into a single levels.dat file.
[irc/gameservirc.git] / gameserv-2.0 / libgameservgldl / include / GameServ / GameLayer / GameObjects / PlayerGO.h
index e266ce34574b8d52734d401010e3f0c8cf087ba6..431366992e2f58b9a5163ec3261dbefa75371472 100644 (file)
@@ -3,19 +3,38 @@
 #include <GameServ/GameLayer/GameObjects/GameObject.h>\r
 using GameServ::GameLayer::GameObjects::GameObject;\r
 \r
-#include <boost/shared_ptr.hpp>\r
+#include <GameServ/GameLayer/GameObjects/ItemGO.h>\r
+using GameServ::GameLayer::GameObjects::ItemGO;\r
+\r
+#include <GameServ/GameLayer/GameObjects/ArmorGO.h>\r
+using GameServ::GameLayer::GameObjects::ArmorGO;\r
+#include <GameServ/GameLayer/GameObjects/WeaponGO.h>\r
+using GameServ::GameLayer::GameObjects::WeaponGO;\r
+\r
+#include <GameServ/Types.h>\r
+using GameServ::Types::ObjectTypes;\r
+\r
+#include <boost/smart_ptr/shared_ptr.hpp>\r
 using boost::shared_ptr;\r
 \r
 #include <string>\r
 using std::string;\r
+#include <vector>\r
+using std::vector;\r
+\r
+#include <boost/date_time/posix_time/posix_time.hpp>\r
+using boost::posix_time::ptime;\r
 \r
 namespace GameServ { namespace GameLayer { namespace GameObjects\r
 {\r
        class PlayerGO : public GameObject\r
        {\r
        public:\r
-               Player();\r
-               ~Player();\r
+\r
+               PlayerGO();\r
+               PlayerGO(const string &Id);\r
+\r
+               virtual ~PlayerGO();\r
 \r
                //! Property get - Name\r
                string Name(void) const;\r
@@ -35,7 +54,12 @@ namespace GameServ { namespace GameLayer { namespace GameObjects
                //! Property get - Gold\r
                unsigned long int Gold(void) const;\r
                //! Property set - Gold\r
-               void Gold(const unsigned long int &gold);\r
+               void Gold(const unsigned long int &value);\r
+\r
+               //! Property get - Gold in the bank\r
+               unsigned long int Bank(void) const;\r
+               //! Property set - Gold in the bank\r
+               void Bank(const unsigned long int &value);\r
 \r
                //! Property get - Health\r
                int Health(void) const;\r
@@ -70,14 +94,48 @@ namespace GameServ { namespace GameLayer { namespace GameObjects
                //! Property get - Weapon\r
                shared_ptr<WeaponGO> Weapon(void) const;\r
                //! Property set - Weapon\r
-               void Weapon(const shared_ptr<WeaponGO> spWeapon);\r
+               void Weapon(shared_ptr<WeaponGO> spWeapon);\r
+\r
+               //! Property get - Armor\r
+               shared_ptr<ArmorGO> Armor(void) const;\r
+               //! Property set - Armor\r
+               void Armor(shared_ptr<ArmorGO> spArmor);\r
+\r
+               //! Property set - Password\r
+               void Password(const string &value);\r
+               //! Property get - Password\r
+               string Password(void) const;\r
+\r
+               //! Property set - LastLogin\r
+               void LastLogin(const ptime &value);\r
+               //! Property get - LastLogin\r
+               ptime LastLogin(void) const;\r
+\r
+               //! Property get - FoughtMaster\r
+               bool FoughtMaster(void) const;\r
+\r
+               //! Property set - Fought master\r
+               void FoughtMaster(const bool &value);\r
+\r
+               //! Property get - Alive\r
+               bool Alive(void) const;\r
+\r
+               //! Property set - Alive\r
+               void Alive(const bool &value);\r
+\r
+               bool operator==(const PlayerGO &right) const;\r
+               bool operator!=(const PlayerGO &right) const;\r
+\r
+               virtual PlayerGO *Clone(void) const;\r
 \r
+               virtual ObjectTypes::ObjectType ObjectType(void) const;\r
 \r
        private:\r
                string mName;\r
                int mLevel;\r
                unsigned long int mExperience;\r
                unsigned long int mGold;\r
+               unsigned long int mBank;\r
                int mHealth;\r
                int mMaxHealth;\r
                int mStrength;\r
@@ -87,7 +145,10 @@ namespace GameServ { namespace GameLayer { namespace GameObjects
                string mPassword;\r
                shared_ptr<WeaponGO> mWeapon;\r
                shared_ptr<ArmorGO> mArmor;\r
+               ptime mLastLogin;\r
 \r
+               bool mFoughtMaster;\r
+               bool mAlive;\r
        };\r
 }}} // GameServ::GameLayer::GameObjects\r
 #endif
\ No newline at end of file