📄 playercreature.h
字号:
//////////////////////////////////////////////////////////////////////////////// Filename : PlayerCreature.h// Written by : excel96// Description : // Slayer 棺 Vampire 努贰胶狼 牢磐其捞胶 吝 傍烹登绰 何盒阑 葛酒初篮 // 努贰胶促. abstract 努贰胶捞骨肺, 官肺 急攫窍搁 救 瞪 巴捞寸.//////////////////////////////////////////////////////////////////////////////#ifndef __PLAYER_CREATURE_H__#define __PLAYER_CREATURE_H__#include "Creature.h"#include "ObjectRegistry.h"#include "InventorySlot.h"#include "Garbage.h"#include "RankBonus.h"#include "ExpFwd.h"//#include "RankExpTable.h"//#include "ItemNameInfo.h"//#include "quest/Squest/QuestManager.h"#include "Gpackets/GCMonsterKillQuestInfo.h"#include <hash_map>#include <bitset>#include <slist>#include <vector>static const GuildID_t SlayerCommon =99;static const GuildID_t VampireCommon=0;static const GuildID_t OustersCommon=66;//////////////////////////////////////////////////////////////////////////////// class PlayerCreature//////////////////////////////////////////////////////////////////////////////class Inventory;class InventorySlot;class Stash;class Player;class FlagSet;class QuestManager;class TimeLimitItemManager;class GoodsInventory;class PetInfo;class PetItem;class Pet;//class GCMonsterKillQuestInfo;//struct GCMonsterKillQuestInfo::QuestInfo;typedef hash_map<DWORD, RankBonus*> HashMapRankBonus;typedef HashMapRankBonus::iterator HashMapRankBonusItor;typedef HashMapRankBonus::const_iterator HashMapRankBonusConstItor;class PlayerCreature : public Creature{////////////////////////////////////////////////////////////// 积己磊 棺 家戈磊////////////////////////////////////////////////////////////public: PlayerCreature(ObjectID_t objectID = 0, Player* pPlayer = NULL) throw(); virtual ~PlayerCreature() throw(); virtual void tinysave(const string & field) const throw (Error) = 0;// virtual void tinysave(const char* field) const throw (Error) = 0;////////////////////////////////////////////////////////////// OID 殿废 包访 皋筋靛////////////////////////////////////////////////////////////protected: virtual void registerItem(Item* pItem, ObjectRegistry& OR) throw();public: virtual void registerInventory(ObjectRegistry& OR) throw(); virtual void registerInitInventory(ObjectRegistry& OR) throw(); virtual void registerStash(void) throw(); virtual void registerGoodsInventory(ObjectRegistry& OR) throw();//////////////////////////////////////////////////////////////// 矫埃力茄 酒捞袍 包访 窃荐//////////////////////////////////////////////////////////////public: bool wasteIfTimeLimitExpired(Item* pItem) throw (Error); virtual void checkItemTimeLimit() throw (Error) = 0; void sendTimeLimitItemInfo() throw(Error); void addTimeLimitItem(Item* pItem, DWORD time) throw(Error); void sellItem( Item* pItem ) throw(Error); void deleteItemByMorph( Item* pItem ) throw(Error); void loadTimeLimitItem() throw(Error);//////////////////////////////////////////////////////////////// 备概 惑前 酒捞袍 包访 窃荐//////////////////////////////////////////////////////////////public: void loadGoods() throw(Error);//////////////////////////////////////////////////////////////// 涅胶飘 概聪历 包访 窃荐//////////////////////////////////////////////////////////////public: QuestManager* getQuestManager() const { return m_pQuestManager; } void sendCurrentQuestInfo() const throw(Error); virtual int getQuestLevel() const = 0; virtual void whenQuestLevelUpgrade();////////////////////////////////////////////////////////////// 牢亥配府 包访 皋筋靛////////////////////////////////////////////////////////////public: virtual Inventory* getInventory() const throw() { return m_pInventory; } virtual void setInventory(Inventory* pInventory) throw() { m_pInventory = pInventory; } virtual InventorySlot* getExtraInventorySlot() throw() { return m_pExtraInventorySlot; } virtual Item* getExtraInventorySlotItem() throw(Error) { return m_pExtraInventorySlot->getItem(); } virtual void deleteItemFromExtraInventorySlot() throw(Error) { m_pExtraInventorySlot->deleteItem(); } virtual void addItemToExtraInventorySlot(Item* pItem) throw(Error) { m_pExtraInventorySlot->addItem(pItem); } // 2003.04.04. by Sequoia virtual void loadItem() throw (InvalidProtocolException, Error); virtual GoodsInventory* getGoodsInventory() const throw() { return m_pGoodsInventory; }////////////////////////////////////////////////////////////// 焊包窃 包访 皋筋靛////////////////////////////////////////////////////////////public: virtual Stash* getStash(void) const throw() { return m_pStash; } virtual void setStash(Stash* pStash) throw() { m_pStash = pStash; } virtual BYTE getStashNum(void) const throw() { return m_StashNum; } virtual void setStashNum(BYTE num) throw() { m_StashNum = num; } virtual void setStashNumEx(BYTE num) throw(); virtual Gold_t getStashGold(void) const throw() { return m_StashGold; } virtual void setStashGold(Gold_t gold) throw() { m_StashGold = gold; } virtual void setStashGoldEx(Gold_t gold) throw(); virtual void increaseStashGoldEx(Gold_t gold) throw(); virtual void decreaseStashGoldEx(Gold_t gold) throw(); virtual bool checkStashGoldIntegrity() = 0; virtual bool getStashStatus(void) const throw() { return m_bStashStatus; } virtual void setStashStatus(bool s) throw() { m_bStashStatus = s; } virtual void deleteStash(void) throw();////////////////////////////////////////////////////////////// 啊厚瘤 包访 皋筋靛////////////////////////////////////////////////////////////public: void addItemToGarbage(Item* pItem) { m_Garbage.addItem(pItem); } void addItemToGarbageEx(Item* pItem) { m_Garbage.addItemEx(pItem, getName()); } Item* popItemFromGarbage(void) { return m_Garbage.popItem(); } void saveGarbage(void) { m_Garbage.save(getName()); } int getGarbageSize(void) { return m_Garbage.size(); }////////////////////////////////////////////////////////////// 酒捞袍 八祸 窃荐////////////////////////////////////////////////////////////public: virtual Item* findItemOID(ObjectID_t id) throw() = 0; virtual Item* findItemOID(ObjectID_t id, int& storage, int& x, int& y) throw() = 0; virtual Item* findItemIID(ItemID_t id) throw() = 0; virtual Item* findItemIID(ItemID_t id, int& storage, int& x, int& y) throw() = 0; virtual Item* findBeltOID(ObjectID_t id) throw() = 0; virtual Item* findBeltOID(ObjectID_t id, int& storage, int& x, int& y) throw() = 0; virtual Item* findBeltIID(ItemID_t id) throw() = 0; virtual Item* findBeltIID(ItemID_t id, int& storage, int& x, int& y) throw() = 0;////////////////////////////////////////////////////////////// 敲贰弊 悸 包访 窃荐////////////////////////////////////////////////////////////public: FlagSet* getFlagSet(void) const throw() { return m_pFlagSet; } void setFlagSet(FlagSet* pSet) throw() { m_pFlagSet = pSet; } void deleteFlagSet(void) throw();////////////////////////////////////////////////////////////// 扁鸥 窃荐////////////////////////////////////////////////////////////public: virtual Fame_t getFame() const throw() = 0; virtual void setFame(Fame_t fame) throw() = 0; virtual Gold_t getGold() const throw() = 0; virtual void setGold(Gold_t gold) throw() = 0; virtual void setGoldEx(Gold_t gold) throw() = 0; virtual void increaseGoldEx(Gold_t gold) throw() = 0; virtual void decreaseGoldEx(Gold_t gold) throw() = 0; virtual bool checkGoldIntegrity() = 0; bool checkDBGold( Gold_t gold ) { Gold_t temp = getGold(); setGold(gold); bool ret = checkGoldIntegrity(); setGold(temp); return ret; } virtual Sex getSex() const throw() = 0; virtual ZoneID_t getResurrectZoneID(void) const throw() = 0; virtual void setResurrectZoneID(ZoneID_t id) throw() = 0; virtual void setResurrectZoneIDEx(ZoneID_t id) throw() = 0; //virtual Race_t getRace() const = 0; - Creature肺 棵啡促. virtual GuildID_t getCommonGuildID() const = 0; virtual IP_t getIP(void) const = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -