⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 commongamestruct.h

📁 墨香最新私服
💻 H
字号:
#ifndef __COMMONGAMESTRUCT_H__
#define __COMMONGAMESTRUCT_H__


//////////////////////////////////////////////////////////////////////////
// 加己 包访
enum ATTRIBUTE_ELEMENT
{
	ATTR_NONE = 0,
	ATTR_FIRE = 1,
	ATTR_WATER = 2,
	ATTR_TREE = 3,
	ATTR_IRON = 4,
	ATTR_EARTH = 5,
	ATTR_MAX = 5,

	ATTR_NOATTR = 6,		// 公加己	
	ATTR_ALLATTR = 7,		// 傈加己
};

template < class T >
union ATTRIBUTE_VAL
{
private:
	struct{
	T FireElement;			//拳加己
	T WaterElement;			//荐加己
	T TreeElement;			//格加己
	T GoldElement;			//陛加己
	T EarthElement;			//配加己
	T NoneElement;			//公加己
	};

	T Element[ATTR_MAX+1];
public:
	ATTRIBUTE_VAL()
	{
		NoneElement = 0;
	}
	T GetElement_Val(WORD Attrib)
	{
		if(Attrib == ATTR_NONE)		// 加己 绝澜
			return 0;
//		if(Attrib == ATTR_NOATTR)	// 公加己老版快 0
//			return 0;
#ifndef _RMTOOL_
		ASSERTMSG(Attrib != ATTR_ALLATTR,"傈加己篮 蔼阑 阂矾棵 荐 绝嚼聪促.(Call to yunho plz~ ^-^)");
#else
		ASSERT(Attrib != ATTR_ALLATTR);
#endif _RMTOOL_

		if(Attrib > ATTR_MAX+1)
		{
#ifndef _RMTOOL_
			ASSERTMSG(0,"辣龋甫 阂矾林技夸~ -0-");
#else
			ASSERT(0);
#endif _RMTOOL_
			return 0;
		}
		return Element[Attrib-1];
	}
	void SetElement_Val(WORD Attrib,T val)
	{
		if(Attrib == ATTR_NONE)		// 加己 绝澜
			return;
//		if(Attrib == ATTR_NOATTR)	// 公加己老版快 0
//			return;
#ifndef _RMTOOL_		
		ASSERTMSG(Attrib != ATTR_ALLATTR,"傈加己篮 蔼阑 阂矾棵 荐 绝嚼聪促.(Call to yunho plz~ ^-^)");
		if(Attrib > ATTR_MAX+1)
		{
			ASSERTMSG(0,"辣龋甫 阂矾林技夸~ -0-");
			return;
		}
#endif
		Element[Attrib-1] = val;
	}
	void AddATTRIBUTE_VAL(ATTRIBUTE_VAL<T>& attr_val)
	{
		for(int n=0;n<ATTR_MAX+1;++n)
			Element[n] += attr_val.Element[n];
	}
	void AddATTRIBUTE_VAL(ATTRIBUTE_VAL<T>& attr_val,float fRate)
	{
		for(int n=0;n<ATTR_MAX+1;++n)
			Element[n] += (T)(attr_val.Element[n]*fRate);
	}
	void CheckLimit(T max_val)
	{
		for(int n=0;n<ATTR_MAX+1;++n)
		{
			if(Element[n] > max_val)
				Element[n] = max_val;
		}
	}
};

typedef ATTRIBUTE_VAL<float>	ATTRIBUTEATTACK;	// 加己 傍拜仿 // 刮泅揪啊 float捞扼绊 富窃 [9/22/2003]
typedef ATTRIBUTE_VAL<float>	ATTRIBUTEREGIST;	// 加己 历亲仿 // [0~1]
//////////////////////////////////////////////////////////////////////////



//------------------------------------------------------------------------------------------------------
// 货肺 累诀茄 胶泡 
// 2003-05-12 taiyo
// 荤侩登瘤 臼栏搁 馆靛矫 0栏肺 悸泼秦林绢具 窃.
// 1. WORD GenGol;WORD MinChub;
// 2. pItem_stats->MeleeAttackPowerMax + pItem_stats->RangeAttackPowerMax
struct player_calc_stats
{
	WORD GenGol;
	WORD MinChub;
	WORD CheRyuk;
	WORD SimMaek;

	// 拱府 傍拜
	WORD MeleeAttackPowerMin;		// 酒捞袍
	WORD MeleeAttackPowerMax;
	WORD RangeAttackPowerMin;
	WORD RangeAttackPowerMax;
	
	// 拱府 傍拜 眠啊 单固瘤(龋券)
	float MeleeAttackPowerAddRateMin;
	float MeleeAttackPowerAddRateMax;
	float RangeAttackPowerAddRateMin;
	float RangeAttackPowerAddRateMax;

	DWORD MaxLife;
	DWORD MaxShield;
	DWORD MaxNaeRyuk;
	
	// 农府萍拿
	DWORD Critical;

	// 拱府 规绢
	WORD PhysicalDefense;

	// 加己 傍拜
	ATTRIBUTEATTACK AttributeAttack;			// 酒捞袍(厘馒矫 傍拜仿 惑铰)

	// 加己 历亲
	ATTRIBUTEREGIST AttributeResist;			// 酒捞袍(厘馒矫 历亲仿 惑铰)
};

struct monster_stats
{
	WORD	Attack1OccurProportion;					// 傍拜1 惯积 犬伏
	// 拱府 傍拜
	WORD	PhysicalAttackMin1;						// 傍拜1 弥家 傍拜仿
	WORD	PhysicalAttackMax1;
	WORD	PhysicalAttackMin2;						// 傍拜1 弥家 傍拜仿
	WORD	PhysicalAttackMax2;

	// 加己 傍拜
	WORD	AttributeAttackMin1;
	WORD	AttributeAttackMax1;
	WORD	AttributeAttackMin2;
	WORD	AttributeAttackMax2;

	// 拱府 规绢
	WORD	PhysicalDefense;	
	// 加己 历亲
	ATTRIBUTEREGIST AttributeResist;
};


//------------------------------------------------------------------------------------------------------



//////////////////////////////////////////////////////////////////////////
// Tile皋聪廉俊辑 静绰 何盒

struct TILEINDEX
{
	int nx,nz;	
	inline TILEINDEX operator +(const TILEINDEX &ti)
	{
		TILEINDEX result;
		result.nx	=	this->nx + ti.nx;
		result.nz	=	this->nz + ti.nz;
		return	result;
	}
	inline BOOL operator ==(const TILEINDEX &ti)
	{
		return (this->nx == ti.nx) && (this->nz == ti.nz);
	}
};

//////////////////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////////
// LBS 03.10.22 NPC 措荤俊 荤侩茄促.

#define MAX_REGIST_HYPERLINK  50

enum LINKTYPE {
	emLink_Null,	// 老馆 咆胶飘
	emLink_Page,	// Page Link
	emLink_End,		// 辆丰 Link
	emLink_Open,	// 芭贰芒 Link
	emLink_Quest,	// 涅胶飘 包访
	emLink_QuestLink,
	emLink_QuestStart,
	emLink_Image,	// 捞固瘤 包访
};

struct DIALOGUE {
	void Init()
	{
		wType = 0;
		dwColor = RGB(255,255,255);
		memset(str, 0, 256);
		wLine = 0;
	}
	WORD	wType; // 0 : 咆胶飘, 1 : 捞固瘤, 2 : HyperLink
	DWORD	dwColor;
	char	str[256];
	WORD	wLine;
};

struct HYPERLINK
{
	WORD		wLinkId;
	WORD		wLinkType;
	DWORD		dwData;
};

struct  HYPER
{
	void Init()
	{
		bUse = FALSE;
		dwListItemIdx = 0;
	}

	HYPERLINK	sHyper;			// 窍捞欺 傅农 沥焊
	DWORD		dwListItemIdx;	// 府胶飘俊辑狼 困摹谅钎
	BOOL		bUse;
};
//////////////////////////////////////////////////////////////////////////



// RaMa

struct QString
{
	QString()	{	Str = NULL;	Line=0;	}
	~QString()	{	if(Str) delete [] Str;	Str=0;}

	char* Str;
	int		Line;
	DWORD	Color;

	void operator = (char* pchar)
	{
		Str = new char[strlen(pchar)+1];
		strcpy(Str,pchar);
	}
	operator LPCTSTR() const
	{
		return Str;
	}
	operator PCHAR() const
	{
		return Str;
	}
};

//--



#endif //__COMMONGAMESTRUCT_H__

⌨️ 快捷键说明

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