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

📄 item.h

📁 网络游戏魔域源代码 测试可以完整变异
💻 H
📖 第 1 页 / 共 2 页
字号:

//declare class here
class CItem	:	public IItem
{
public:
	CItem();
	virtual ~CItem();

	static	CItemData s_ItemData;
	static  int ItemGetSort		(OBJID idType);
	static  int ItemGetSubType	(OBJID idTyep);

protected:
	OBJID			m_idItem;
	OBJID			m_idOwner;
	ItemTypeInfo	m_infoType;
	unsigned char	m_ucPosition;
	DWORD			m_dwSellPrice;
	int				m_nMaxAttackModify;
	int				m_nMinAttackModify;
	int				m_nDefenceModify;
	int				m_nDexterityModify;
	int				m_nDodgeModify;
	int				m_nMagicAttackModify;
	int				m_nMagicDefenceModify;
	int				m_nFrameIndex;
	unsigned short	m_usPercent;
	unsigned short  m_usOriginalAmount;
	unsigned short  m_usOriginalAmountLimit;
	DWORD			m_dwWarGhostExp;	// 战魂经验 //幻兽当前生命
	DWORD			m_dwGemAtkType;		// 宝石类型	//幻兽经验
	DWORD			m_dwAvailabeTime;	// 使用次数
	DWORD			m_dwGrow;			//成长率	//筹码的兑换价格
	char			m_szMonsterName[16];	//幻兽名字
	BOOL			m_bMonsterDie;		//幻兽是否死亡
public:
	void			SetMonsterDie(BOOL bDie){m_bMonsterDie = bDie;}
	BOOL			IsMonsterDie(){return m_bMonsterDie;}

	DWORD			GetWarGhostExp(){return m_dwWarGhostExp;}
	int				GetWarGhostLevel(){return (int)powf((float)m_dwWarGhostExp/(float)2,(float)1/(float)3);}
	
	void			SetMonsterGrow(DWORD dwGrow){m_dwGrow = dwGrow;}
	int				GetMonsterGrow(){return m_dwGrow;}

	int				GetMonsterMaxAtk();
	int				GetMonsterMinAtk();
	int				GetMonsterMagicMaxAtk();
	int				GetMonsterMagicMinAtk();
	int				GetMonsterMagicDef();
	int				GetMonsterDef();
	int				GetMonsterMaxLife();
	
	DWORD			IsMonsterCanEvolve(int nMode);	//幻兽是否能进化

	void			SetWarGhostExp(DWORD dwWarGhostExp){m_dwWarGhostExp = dwWarGhostExp;}
	DWORD			GetGemAtkType(){return m_dwGemAtkType;}
	void			SetGemAtkType(DWORD dwGemAtkType){m_dwGemAtkType = dwGemAtkType;}
	DWORD			GetAvailabeTime(){return m_dwAvailabeTime;}
	void			SetAvailabeTime(DWORD dwAvailabeTime){m_dwAvailabeTime = dwAvailabeTime;}
	void			SetMonsterName(char* szName) {strcpy(m_szMonsterName,szName);}
	char*			GetMonsterName();

	unsigned short	GetPercent(){return m_usPercent;}
	BOOL			Create(OBJID idItem, OBJID idItemType);
	void			SetAmount(unsigned short usAmount){m_infoType.usAmount = usAmount;}	
	void			SetAmountLimit(unsigned short usAmountLimit){m_infoType.usAmountLimit = usAmountLimit;}	
	void			SetGem1(unsigned char ucGem1){m_infoType.ucGem1 = ucGem1;}
	void			SetGem2(unsigned char ucGem2){m_infoType.ucGem2 = ucGem2;}
	void			SetMagic1(unsigned char ucMagic1){m_infoType.ucMagic1 = ucMagic1;}
	void			SetMagic2(unsigned char ucMagic2){m_infoType.ucMagic2 = ucMagic2;}
	void			SetMagic3(unsigned char ucMagic3){m_infoType.ucMagic3 = ucMagic3;}
	void			SetPosition(unsigned char ucPosition){m_ucPosition = ucPosition;}

	void			SetStatus(unsigned char ucStatus);
	unsigned char	GetStatus();
	BOOL			TestStatus(unsigned char ucStatus);

	OBJID			GetID(){return m_idItem;}
	unsigned long	Release(){delete this; return 0;}
	int				GetSort();
	int				GetSubType();
	OBJID			GetTypeID(){return m_infoType.uID;}
	char*			GetName(){return m_infoType.szName;}
	unsigned char	GetProfessionRequired(){return m_infoType.ucRequiredProfession;}
	unsigned char	GetWeaponSkillRequired(){return m_infoType.ucRequiredWeaponSkill;}
	unsigned char	GetLevelRequired(){return m_infoType.ucRequiredLevel;}
	unsigned char	GetSexRequried(){return m_infoType.ucRequiredSex;}	
	unsigned short	GetForceRequired(){return m_infoType.usRequiredForce;}
	unsigned short	GetSpeedRequired(){return m_infoType.usRequiredSpeed;}
	unsigned short	GetHealthRequired(){return m_infoType.usRequiredHealth;}
	unsigned short	GetSoulRequired(){return m_infoType.usRequiredSoul;}
	unsigned char	GetMonopoly(){return m_infoType.ucMonopoly;}
	unsigned short	GetWeight();
	unsigned int	GetPrice(){return m_infoType.uPrice;}
	unsigned short	GetMaxAttack(){return m_infoType.usMaxAttack;}
	unsigned short	GetMinAttack(){return m_infoType.usMinAttack;}
	short			GetDefense(){return m_infoType.usDefense;}
	short			GetDexterity(){return m_infoType.usDexterity;}
	short			GetDodge(){return m_infoType.usDodge;}
	short			GetLife(){return m_infoType.sLife;}
	short			GetMana(){return m_infoType.sMana;}
	unsigned short	GetAmount(){return m_infoType.usAmount;}
	unsigned short	GetOriginalAmountLimit(){return m_usOriginalAmountLimit;}
	unsigned short	GetOriginalAmount(){return m_usOriginalAmount;}
	
	unsigned short	GetAmountLimit(){return m_infoType.usAmountLimit;}
	unsigned char	GetGem1(){return m_infoType.ucGem1;}
	unsigned char	GetGem2(){return m_infoType.ucGem2;}
	unsigned char	GetMagic1(){return m_infoType.ucMagic1;}
	unsigned char	GetLucky(){return m_infoType.ucMagic2;}
	unsigned char	GetAddition(){return m_infoType.ucMagic3;}
	unsigned char	GetPosition(){return m_ucPosition;}
	DWORD			GetSellPrice();
	DWORD			GetRepairCost();

	DWORD			GetWeaponSkillType();
	
	int				GetAtkRange () { return m_infoType.usRange; }
	int				GetHitarte(){return m_infoType.nHitarte;}

	unsigned short  GetTarget() {return m_infoType.usTarget;}
	BOOL			TestTarget(unsigned short usTarget) ;
	
	unsigned short	GetMinMagicAttack(){return m_infoType.usDexterity;}
	unsigned short	GetMaxMagicAttack(){return m_infoType.usMagicAttack;}
	unsigned short	GetSoul(){return m_infoType.usDodge;}
	unsigned short	GetMagicDefence();
	unsigned short  GetAttackSpeed(){return m_infoType.usAttackSpeed;}


	//升级品质宝石type:1037160
	//升级魔魂等级宝石type:1037150
	enum {TREASURE_DRAGONBALL=1037160, TREASURE_SHOOTINGSTAR=1037170,TREASURE_SOULSTONE=1037150};

	BOOL	IsDragonBall(void)		{ return (TREASURE_DRAGONBALL == GetTypeID()); }
	BOOL	IsShootingStar(void)	{ return (TREASURE_SHOOTINGSTAR == GetTypeID()); }
	BOOL	IsSoulStone(void)		{return (TREASURE_SOULSTONE == GetTypeID()); }
	

	//复活幻兽宝石type: 1033020 
	//强化幻兽宝石type: 1033030 
	enum {SOULSTONE_ALIVE=1033020,SOULSTONE_IMPROVE=1033030};
	BOOL	IsAliveSoulStone(void)   {return (SOULSTONE_ALIVE == GetTypeID()); }
	BOOL	IsImproveSoulStone(void) {return (SOULSTONE_IMPROVE == GetTypeID()); }

	char*	GetDesc();

	BOOL	IsActionItem(void)	{ return ITEMSORT_OTHER == GetSort() && OTHER_ACTIONITEM == GetSubType(); }
	BOOL	IsTaskItem	(void)	{ return ITEMSORT_OTHER == GetSort() && OTHER_TASKITEM == GetSubType(); }
	BOOL	IsMonopolyItem(void) {return this->GetMonopoly() == _MONOPOLY_NOT_DISAPPEAR || this->GetMonopoly() == _MONOPOLY_DISAPPEAR; }
	BOOL	TestMonopolyItem(unsigned char ucMonopoly);
	BOOL	IsGem		(void)	{ return ITEMSORT_OTHER == GetSort() && OTHER_GEM == GetSubType(); }
	BOOL	IsArrow		(void)	{ return ITEMSORT_EXPEND == GetSort() && EXPEND_ARROW == GetSubType(); }
	BOOL	IsBow		(void)	{ return ITEMSORT_WEAPON_DOUBLE_HAND == GetSort() && DWEAPON_BOW == GetSubType(); }

	BOOL    IsMoneyItem(){ return GetTypeID () == MONEYITEM_TYPE;}	//是不是筹码
	DWORD   GetMoneyItemPrice() {return m_dwGrow;}

	void	SetBoothSellPrice(DWORD dwPrice);
	DWORD	GetBoothSellPrice();
	void	SetOwnerID(OBJID idOwner);
	OBJID	GetOwnerID();
	
	int		GetMaxAttackModify();
	int		GetMinAttackModify();
	int		GetDefenceModify();
	int		GetDexterityModify();
	int		GetDodgeModify();
	int		GetMagicAttackModify();
	int		GetMagicDefenceModify();
	void	ShowMiniItem(int nX, int nY ,BOOL bScale = true);
	static	BOOL	IsNonsuchItem(OBJID idItemType);
	int		GetQuality(void);
	BOOL	WantCombin();

	int		GetPackageType();
};

#include <deque>
using namespace std;
typedef deque<CItem*>DEQUE_ITEM;

//end class declaration
#endif

⌨️ 快捷键说明

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