📄 commongamestruct.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 + -