X-Git-Url: https://jfr.im/git/irc/gameservirc.git/blobdiff_plain/e823e42acdae7dee401096b9a46b1982179fbb33..99c0151e0d0ad682e7ee58de89f2e11b18a7864c:/gameserv-2.0/libgameservgldl/src/GameLayer/GameObjects/PlayerGO.cpp diff --git a/gameserv-2.0/libgameservgldl/src/GameLayer/GameObjects/PlayerGO.cpp b/gameserv-2.0/libgameservgldl/src/GameLayer/GameObjects/PlayerGO.cpp index 28206fa..73f3f9b 100644 --- a/gameserv-2.0/libgameservgldl/src/GameLayer/GameObjects/PlayerGO.cpp +++ b/gameserv-2.0/libgameservgldl/src/GameLayer/GameObjects/PlayerGO.cpp @@ -4,12 +4,23 @@ using GameServ::GameLayer::GameObjects::PlayerGO; using GameServ::GameLayer::GameObjects::ArmorGO; #include using GameServ::GameLayer::GameObjects::WeaponGO; +#include +using GameServ::GameLayer::GameObjects::PotionGO; + +#include +using GameServ::Exceptions::GameServException; + +#include +using GameServ::Types::ObjectTypes; #include using boost::shared_ptr; +using boost::shared_static_cast; -#include -using GameServ::Exceptions::GameServException; +#include +#include +using boost::str; +using boost::format; #include using boost::posix_time::ptime; @@ -194,16 +205,6 @@ void PlayerGO::Armor(shared_ptr spArmor) mArmor = spArmor; } -void PlayerGO::Use(shared_ptr spItem) -{ - throw GameServException("Undefined function.", __FILE__, __LINE__); -} - -void PlayerGO::Undo(shared_ptr spItem) -{ - throw GameServException("Undefined function.", __FILE__, __LINE__); -} - void PlayerGO::Password(const string &value) { mPassword = value; @@ -235,29 +236,18 @@ vector< shared_ptr > PlayerGO::Inventory(void) const return mItems; } -void PlayerGO::AddItemToInventory(shared_ptr spItem, const int &Number) +void PlayerGO::AddItemToInventory(shared_ptr spItem) { - for (int x = 0; x < Number; ++x) - { - shared_ptr item = shared_ptr(new ItemGO(*spItem->Clone())); - mItems.push_back(item); - } + mItems.push_back(spItem); } -void PlayerGO::RemoveItemFromInventory(shared_ptr spItem, const int &Number) +void PlayerGO::RemoveItemFromInventory(shared_ptr spItem) { vector< shared_ptr >::iterator iter; - for (int x = 0; x < Number; ++x) + iter = find(mItems.begin(), mItems.end(), spItem); + if (iter != mItems.end()) { - iter = find(mItems.begin(), mItems.end(), spItem); - if (iter != mItems.end()) - { - mItems.erase(iter); - } - else - { - break; - } + mItems.erase(iter); } } @@ -284,3 +274,7 @@ PlayerGO *PlayerGO::Clone(void) const return new PlayerGO(*this); } +ObjectTypes::ObjectType PlayerGO::ObjectType(void) const +{ + return ObjectTypes::Player; +}