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

📄 item.h

📁 网络游戏龙族 完整的登陆器 C++ 源代码
💻 H
字号:
#if !defined(AFX_ITEM_H__9E46C0B2_FD86_4EBD_B107_B9D8B67B0669__INCLUDED_)
#define AFX_ITEM_H__9E46C0B2_FD86_4EBD_B107_B9D8B67B0669__INCLUDED_
//021014 lsw
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

//021119 lsw
const int ITEM_EQUIP_MAX	=8;
const int ITEM_QUICK_MAX	=6;
const int ITEM_INV_MAX		=72;	//3*3*8
const int ITEM_BANK_MAX		=90;	//5*3*6
const int ITEM_HAND_MAX		=1;
const int ITEM_BUFFER_MAX	=1;

enum IA2_TYPE
{
	IA2_HIDE			= 0x00000001,
	IA2_NOTMOVE			= 0x00000002,
	IA2_POISONED		= 0x00000004,
	IA2_OPENED			= 0x00000008,
	IA2_BROKEN			= 0x00000010,
	IA2_HOUSE			= 0x00000020,
	IA2_MAGICED			= 0x00000040,
	IA2_CANNOTUSE		= 0x00000080,
	IA2_NOIDENTIFIED	= 0x00000100,
	IA2_DOOR			= 0x00000200,
	IA2_BOX				= 0x00000400,
	IA2_CHAIR			= 0x00000800,
	IA2_TABLE			= 0x00001000,
	IA2_FARM0			= 0x00002000,
	IA2_FARM1			= 0x00004000,
	IA2_FARM2			= 0x00008000,
	IA2_FARM3			= 0x00010000,
	IA2_FARM4			= 0x00020000,
	IA2_FARM5			= 0x00040000,
	IA2_FARM6			= 0x00080000,
	IA2_FARM7			= 0x00100000,
	IA2_FIRE			= 0x00200000,
	IA2_TRAPED0			= 0x00400000,
	IA2_TRAPED1			= 0x00800000,
	IA2_TRAPED2			= 0x01000000,
//	IA2_FIRST_ITEM		= 0x02000000,
	IA2_SEAL_NOR		= 0x04000000,
	IA2_SEAL_SPC		= 0x08000000,
	IA2_COLOSSUS_STONE	= 0x10000000,
	IA2_SCENARIO_POTAL	= 0x20000000,
};

enum ITEM_STRUCT_INDEX
{
	IATTR_DURATION		=0,
	IATTR_LIMIT			=1,
	IATTR_ATTR			=2,
	IATTR_ID			=3,
	IATTR_RESERVED0		=4,
	IATTR_RESERVED1		=5,
};
const int IATTR_MUCH			= IATTR_DURATION;
const int IATTR_SEAL_STONE_NO	= IATTR_LIMIT; 
const int IATTR_SPRITE_TYPE		= IATTR_LIMIT;
const int IATTR_RARE_MAIN		= IATTR_ID;
const int IATTR_TREASURE_MAP	= IATTR_RESERVED0;	// 040105 YGI

enum ITEMANIMATION_TYPE
{
	ITEMANIMATION_NO		=0,	
	ITEMANIMATION_REPEAT	=1,
	ITEMANIMATION_RETURN	=2,
	ITEMANIMATION_OPENNING	=3,
	ITEMANIMATION_OPENED	=4,
	ITEMANIMATION_CLOSING	=5,
	ITEMANIMATION_CLOSED	=6,
	ITEMANIMATION_FARM0		=7,
	ITEMANIMATION_FARM1		=8,
	ITEMANIMATION_FARM2		=9,
	ITEMANIMATION_FARM3		=10,
	ITEMANIMATION_FARM4		=11,
	ITEMANIMATION_FARM5		=12,
	ITEMANIMATION_FARM6		=13,
	ITEMANIMATION_FARM7		=14,
	ITEMANIMATION_FIRE		=15,
	ITEMANIMATION_ACTIVE	=16,
};
//# Type - 0:焊烹 Item  1: 狼磊   2: Table  3: 档绢  4:Box 
enum ITEMTYPE_INDEX
{
	ITEMTYPE_NORMAL			=0,
	ITEMTYPE_CHAIR			=1,
	ITEMTYPE_TABLE			=2,
	ITEMTYPE_DOOR			=3,
	ITEMTYPE_BOX			=4,
	ITEMTYPE_SIGNBOARD		=5,
	ITEMTYPE_DIRECTBOARD	=6,
};
enum ITEMTYPE_WORKTABLE_TYPE
{
	ITEMTYPE_WORKTABLE_MINING		=71,	// 累诀措 侩堡肺(71)
	ITEMTYPE_WORKTABLE_BATTLE       =72,	// 累诀措 硅撇
	ITEMTYPE_WORKTABLE_SUNBAN		=73,  // 累诀措 急馆
	ITEMTYPE_WORKTABLE_MORU			=74,	// 累诀措 葛风
	ITEMTYPE_WORKTABLE_HWADUK		=75,	// 累诀措 拳傣
	ITEMTYPE_WORKTABLE_SIHUMKWAN	=76,  // 累诀措 矫氰包幅
	ITEMTYPE_WORKTABLE_MULAE		=77,	// 累诀措 拱饭
	ITEMTYPE_WORKTABLE_BULDAE		=78,// 累诀措 阂措 
	ITEMTYPE_SEAL_NOR				=79,
	ITEMTYPE_SEAL_SPC				=80,
	ITEMTYPE_HP_UP					=81,
	ITEMTYPE_MP_UP					=82,
	ITEMTYPE_SCALE					=83,
	ITEMTYPE_NATION_STONE			=84,
	ITEMTYPE_GUILD_STONE			=85,
	ITEMTYPE_SENARIO_STONE			=86,
	ITEMTYPE_COLOSSUS_STONE			=87,
};

typedef struct tagItemSprite
{
	int   no;
	short count;
	Spr sp;
	struct tagItemSprite *prev, *next;
}ITEMSPRITE, *LPITEMSPRITE;

typedef struct sItem 
{ 
	int server_id;
	int no;
	unsigned int  attr[6];
	short status;
	short sx, sy;
	short offx, offy;
	short x, y;
	short mx, my;
	Spr *spr[ 10];
	short  dsx[ 10], dsy[10], ddx[ 10], ddy[10];

	DWORD	host;
	BYTE	type;
	BYTE	getable;
	BYTE	Anitype;
	char	Sorttype;
	BYTE	Where;
	BYTE	shadow;
	char	framecount;
	char	dirno;
	short	dx[4], dy[4];

	short  curframe;
	char   anitoggle;

	struct sItem *prev;
	struct sItem *next;
}ITEMGROUND, *LPITEMGROUND;

extern void AddItemList( LPITEMGROUND i );
extern void DeleteItemList( int server_id );
extern LPITEMGROUND FindItemList( int x, int y );
extern void DrawItemList( void );
extern void DrawObjectItem_SealStone( void );
extern void LoadItem( LPITEMGROUND i );
extern void FreeItem( LPITEMGROUND i );
extern int CheckEventWith_Item( void );
extern LPITEMGROUND FindItemList( int server_id );
extern void DestroyItemList( void );
extern void RecvItemAttrChange( t_item_attr_change *p );
extern void Send_CMD_ITEM_BOX_BREAK( LPITEMGROUND i );
extern void Send_CMD_JUST_ATTACK_ANIMATION( LPITEMGROUND i );
extern void Recv_CMD_ITEM_BOX_BREAK( t_server_item_box_break *p );
extern void Send_CMD_ITEM_BOX_BREAK_RESULT( int item_id );
extern void Recv_CMD_ITEM_BOX_MAGIC_BREAK_RESULT( t_server_item_box_magic_break_result *p );
extern void Send_CMD_ITEM_BOX_MAGIC_BREAK( int item_id );
extern bool IsPossibleAttackColossusStone( LPITEMGROUND item );
extern void SendAttackColossusItem( LPITEMGROUND item );
extern void CheckTrap( void );
extern void RecvGiveItem( t_server_give_item *p );
extern LPITEMGROUND g_Item, CursorCheckedItem;
extern ITEMGROUND   temp_Item;
extern void InitItemAttrs();
extern bool GetItemDurTxt(ItemAttr *pItem,char* szTxt);
extern char* GetTacticName(const int iTacticKind);
#endif // !defined(AFX_ITEM_H__9E46C0B2_FD86_4EBD_B107_B9D8B67B0669__INCLUDED_)

⌨️ 快捷键说明

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