pcvampireinfo.h

来自「天之炼狱1服务器端源文件游戏服务端不完整」· C头文件 代码 · 共 223 行

H
223
字号
//////////////////////////////////////////////////////////////////////////////// Filename    : PCVampireInfo.h// Written By  : Reiot// Description ://////////////////////////////////////////////////////////////////////////////#ifndef __PC_VAMPIRE_INFO_H__#define __PC_VAMPIRE_INFO_H__#include "PCInfo.h"//////////////////////////////////////////////////////////////////////////////// Vampire 沥焊甫 淬绊 乐绰 按眉.// GCPCList 菩哦俊 淬败辑 努扼捞攫飘俊霸 傈价等促.// 酒捞袍捞唱 吧妨乐绰 付过 鞍篮 沥焊绰 淬败乐瘤 臼促.//////////////////////////////////////////////////////////////////////////////class PCVampireInfo : public PCInfo {public:	// 酒流 bitset篮 荤侩窍瘤 臼绰促.	enum VampireBits	{		VAMPIRE_BIT_COAT1,		VAMPIRE_BIT_COAT2,		VAMPIRE_BIT_COAT3,		VAMPIRE_BIT_MAX	};	enum VampireColors	{		VAMPIRE_COLOR_COAT,		VAMPIRE_COLOR_MAX	};public:	PCType getPCType () const throw () { return PC_VAMPIRE; }	void read (SocketInputStream & iStream) throw (ProtocolException, Error);	void write (SocketOutputStream & oStream) const throw (ProtocolException, Error);	uint getSize () const throw ()	{		return szBYTE					// 捞抚辨捞			+ m_Name.size() 			// 轨颇捞绢 捞抚			+ szSlot					// 浇吩			+ szAlignment				// 己氢			+ szSex						// 己喊			+ szColor* 2				// 祸惑			+ szBYTE + szColor		// 渴 鸥涝, 祸惑			+ szAttr* 3 				// 瓷仿摹			+ szHP* 2					// HP			+ szRank					// 拌鞭			+ szExp						// 版氰摹			+ szLevel					// 版氰摹			+ szFame			//+ szGold					// 捣			+ szBonus;					// 焊呈胶 器牢飘			//+ szZoneID;					// ZoneID	}	// get max size of object	static uint getMaxSize () throw ()	{		return szBYTE + 20				// 轨颇捞绢 捞抚			+ szSlot					// 浇吩			+ szAlignment				// 己氢			+ szSex						// 己喊			+ szColor* 2				// 祸惑			+ szBYTE + szColor		// 渴 鸥涝, 祸惑			+ szAttr* 3	 			// 瓷仿摹			+ szHP* 2					// HP			+ szRank					// 拌鞭			+ szExp						// 版氰摹			+ szFame			+ szLevel			//+ szGold					// 捣			+ szBonus;					// 焊呈胶 器牢飘			//+ szZoneID;					// ZoneID	}	string toString () const throw ();public:    string getName () const throw () { return m_Name; }    void setName (string name) throw () { m_Name = (name.size() > 20) ? name.substr(0,20) : name; }	Slot getSlot () const throw () { return m_Slot; }	void setSlot (Slot slot) throw () { m_Slot = slot; }	void setSlot (string slot) throw (InvalidProtocolException)	{		if (slot == Slot2String[SLOT1])			m_Slot = SLOT1;		else if (slot == Slot2String[SLOT2])			m_Slot = SLOT2;		else if (slot == Slot2String[SLOT3])			m_Slot = SLOT3;		else			throw InvalidProtocolException("invalid slot value");	}	Alignment_t getAlignment() const throw() { return m_Alignment; }	void setAlignment(Alignment_t Alignment) throw() { m_Alignment = Alignment; }	Fame_t getFame () const throw () { return m_Fame; }	void setFame (Fame_t f) throw () { m_Fame = f; }	Sex getSex () const throw () { return m_Sex; }	void setSex (Sex sex) throw () { m_Sex = sex; }	void setSex (string sex) throw (InvalidProtocolException)	{		if (sex == Sex2String[MALE]) 			m_Sex = MALE;		else if (sex == Sex2String[FEMALE]) 			m_Sex = FEMALE;		else			throw InvalidProtocolException("invalid sex value");	}	Color_t getBatColor () const throw () { return m_BatColor; }	void setBatColor (Color_t batColor) throw () { m_BatColor = batColor; }	Color_t getSkinColor () const throw () { return m_SkinColor; }	void setSkinColor (Color_t skinColor) throw () { m_SkinColor = skinColor; }	ItemType_t getCoatType() const throw() { return m_CoatType; }	void setCoatType(ItemType_t CoatType) throw() { m_CoatType = CoatType; }		Color_t getCoatColor() const throw() { return m_CoatColor; }	void setCoatColor(Color_t CoatColor) throw() { m_CoatColor = CoatColor; }    Attr_t getSTR () const throw (Error) { if (m_STR > maxVampireAttr) throw Error("STR out of range"); return m_STR; }	void setSTR (Attr_t str) throw (Error) { if (str > maxVampireAttr) throw Error("STR out of range"); m_STR = str; }	Attr_t getDEX () const throw (Error) { if (m_DEX > maxVampireAttr) throw Error("DEX out of range"); return m_DEX; }	void setDEX (Attr_t dex) throw (Error) { if (dex > maxVampireAttr) throw Error("DEX out of range"); m_DEX = dex; }	Attr_t getINT () const throw (Error) { if (m_INT > maxVampireAttr) throw Error("INT out of range"); return m_INT; }	void setINT (Attr_t inte) throw (Error) { if (inte > maxVampireAttr) throw Error("INT out of range"); m_INT = inte; }	HP_t getHP (AttrType attrType = ATTR_CURRENT) const throw () { return m_HP[attrType]; }	void setHP (HP_t hp, AttrType attrType = ATTR_CURRENT) throw () { m_HP[attrType] = hp; }	void setHP (HP_t curHP, HP_t maxHP) throw () { m_HP[ATTR_CURRENT] = curHP; m_HP[ATTR_MAX] = maxHP; }	Level_t getLevel () const throw () { return m_Level; }	void setLevel (Level_t exp) throw () { m_Level = exp; }	Exp_t getExp () const throw () { return m_Exp; }	void setExp (Exp_t exp) throw () { m_Exp = exp; }	Rank_t getRank () const throw () { return m_Rank; }	void setRank (Rank_t rank) throw () { m_Rank = rank; }	// get/set gold	//Gold_t getGold () const throw () { return m_Gold; }	//void setGold (Gold_t gold) throw () { m_Gold = gold; }	// get/set zoneID	//ZoneID_t getZoneID () const throw () { return m_ZoneID; }	//void setZoneID (ZoneID_t zoneID) throw () { m_ZoneID = zoneID; }	Bonus_t getBonus() const throw () { return m_Bonus; }	void setBonus(Bonus_t Bonus) throw () { m_Bonus = Bonus; }	void setShapeInfo(DWORD flag, Color_t color[VAMPIRE_COLOR_MAX]) throw();private:	// PC name	string m_Name;	// PC 浇吩	Slot m_Slot;	// Alignment	Alignment_t m_Alignment;	// PC sex	Sex m_Sex;	// hair color, skin color,	Color_t m_BatColor;	Color_t m_SkinColor;	// wear Type/ color	ItemType_t m_CoatType;	Color_t m_CoatColor;	// 拌鞭	Rank_t m_Rank;	// Exp	Level_t m_Level;	// Attributes	Attr_t m_STR;	Attr_t m_DEX;	Attr_t m_INT;	// HP	// HP[0] = current hp, hp[1] == max hp	HP_t m_HP[2];	// Exp	Exp_t m_Exp;	// Gold	//Gold_t m_Gold;			// Fame 	Fame_t m_Fame;	// ZoneID	//ZoneID_t m_ZoneID;	// Bonus Point	Bonus_t m_Bonus;	// 吧妨 乐绰 付过};#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?