00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include "account-server/characterdata.hpp"
00024
00025 #include "net/messagein.hpp"
00026
00027 CharacterData::CharacterData(std::string const &name, int id):
00028 mDatabaseID(id), mAccountID(-1), mName(name), mGender(0), mHairStyle(0),
00029 mHairColor(0), mLevel(0), mMoney(0), mMapId(0), mPos(0,0)
00030 {
00031 for (int i = 0; i < NB_BASE_ATTRIBUTES; ++i)
00032 {
00033 mBaseAttributes[i] = 0;
00034 }
00035 }
00036
00037 CharacterData::CharacterData(MessageIn & msg):
00038 mDatabaseID(-1), mAccountID(-1), mName(""), mGender(0), mHairStyle(0),
00039 mHairColor(0), mLevel(0), mMoney(0), mMapId(0), mPos(0,0)
00040 {
00041 for (int i = 0; i < NB_BASE_ATTRIBUTES; ++i)
00042 {
00043 mBaseAttributes[i] = 0;
00044 }
00045 deserialize(msg);
00046 }
00047
00048 InventoryItem const &
00049 CharacterData::getInventoryItem(unsigned short slot) const
00050 {
00051 return mInventory[slot];
00052 }
00053
00054 void
00055 CharacterData::addItemToInventory(const InventoryItem& item)
00056 {
00057
00058 if ((int)mInventory.size() < INVENTORY_SLOTS)
00059 {
00060 mInventory.push_back(item);
00061 }
00062 }