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

📄 rareeffectmgr.h

📁 国内著名网络游戏dragon的服务端完整源码 内附完整数据库结构
💻 H
📖 第 1 页 / 共 2 页
字号:
const int MAX_ITEM_LEGEND_SUB = 10;
const int MAX_ITEM_LEGEND	= 30;

typedef struct ITEM_LEGEND
{
	int iNo;
	int iGroupNo;
	int iGroupIndexMax;
	t_ItemLegendSub aSub[MAX_ITEM_LEGEND_SUB];
}t_ItemLegend,*LPITEMLEGEND;


const int MAX_ITEM_LEGEND_BONUS	= 1000;
const int MAX_ITEM_LEGEND_BONUS_KIND	= 6;
typedef struct ITEM_LEGEND_BONUS
{
	int iNo;
	char szName[20];
	int aiKind[MAX_ITEM_LEGEND_BONUS_KIND];
	int aiGrade[MAX_ITEM_LEGEND_BONUS_KIND];
}t_ItemLegendBonus,*LPITEMLEGENDBONUS;

class CRareEffectMgr
{
public:
	CRareEffectMgr();
	virtual ~CRareEffectMgr();
private:
	ITEMMULTIRARE m_MRData[MAX_ITEM_MULTI_RARE];
	ITEM_LEGEND  m_aItemLegend[MAX_ITEM_LEGEND];
	ITEM_LEGEND_BONUS	m_aLegendBonus[MAX_ITEM_LEGEND_BONUS];
public:
	int		ResetRareEffect(void* ch);//饭绢 捞棋飘 府悸
	void	ClearRareEffect(void* ch);//饭绢 捞棋飘 力芭
	void	ClearDynamicRareEffect(void* ch);//扁瓷 酒捞袍父 努府绢

	int		GetStaticRareEffectValue(const int iKind, const int iGrade)const;
	int		GetDynamicRareEffectValue(const int iKind, const int iGrade)const;
	
	int		GetDynamicRareValue(const int iDRType,const	DYNAMICRAREEFFECT	&DR) const;
	int		GetRareDisplayEffectNo		(const bool bIsDynamicRare,const DYNAMICRAREEFFECT &DR)const;	// 荤侩等 付过狼 锅龋
	int		GetRareDisplayEffectTime	(const DYNAMICRAREEFFECT &DR)const;	// 蜡瘤矫埃
	
	int		ApplyStaticRareEffect(STATICRAREEFFECT	&SR, const int iKind, const int iGrade,bool bSymbol = false);//soto-1.02
	int		AddANDCheckStaticRareMaxValue(const int iKind,short &nNow, const int iAddValue,bool bSymbol = false);//soto-1.02
	short	GetStaticRareMaxValue(const int iKind)const;

	int		ApplyDynamicRareEffect(void* ch,const int iKind, const int iGrade,const int iOrder);//iOrder 俊 0阑 持栏搁 鉴埃 利牢 瓤苞甫 焊绰 巴父 利侩
	int		AddANDCheckDynamicRareMaxValue(const int iKind,const int iValue);
	int		GetDynamicRareMaxValue(const int iKind)const ;

	int		CheckFaultStaticRareType(const int iKind)const;
	int		CheckFaultDynamicRareType(const int iKind)const;
	int		CheckFaultRareGrade(const int iGrade)const;

	int		CorrectByStaticRare(void *a, void *d, int &iDmg);

	int		LoadItem_Multi_Rare_Table();
	int		LoadItem_Legend_Table();
	int		LoadItem_Legend_Bonus_Item();
public:
	int		GetAbleGroupIndex(const int iGroupNo);
	int		GetLegendBasicRareKind(const int iGroupNo,const int iGroupIndex,const int iWearAble);
	ITEMMULTIRARE	GetIMR(const int iIndex)const
	{ 
		if(0 > iIndex || MAX_ITEM_MULTI_RARE <= iIndex)
		{
			return m_MRData[0];
		}
		return m_MRData[iIndex];
	}
public:
	/////////////////////////////////////////////
	inline int	GetStaticRarePower(const	STATICRAREEFFECT	&SR)		const{	return	SR.nPower			;	}
	inline int	GetStaticRareAccurate(const	STATICRAREEFFECT	&SR)		const{	return	SR.nAccurate		;	}
	inline int	GetStaticRareWise(const	STATICRAREEFFECT	&SR)			const{	return	SR.nWise			;	}
	inline int	GetStaticRareBear(const	STATICRAREEFFECT	&SR)			const{	return	SR.nBear			;	}
	inline int	GetStaticRareDistant(const	STATICRAREEFFECT	&SR)		const{	return	SR.nDistant			;	}
	inline int	GetStaticRareVigor(const	STATICRAREEFFECT	&SR)		const{	return	SR.nVigor			;	}
	inline int	GetStaticRareCurse(const	STATICRAREEFFECT	&SR)		const{	return	SR.nCurse			;	}
	inline int	GetStaticRareAid(const	STATICRAREEFFECT	&SR)			const{	return	SR.nAid				;	}
	inline int	GetStaticRareMasking(const	STATICRAREEFFECT	&SR)		const{	return	SR.nMasking			;	}
	inline int	GetStaticRarePiercing(const	STATICRAREEFFECT	&SR)		const{	return	SR.nPiercing		;	}
	inline int	GetStaticRareBasicResist(const	STATICRAREEFFECT	&SR)	const{	return	SR.nBasicResist		;	}
	inline int	GetStaticRareHardest(const	STATICRAREEFFECT	&SR)		const{	return	SR.nHardest			;	}
	inline int	GetStaticRareSmart(const	STATICRAREEFFECT	&SR)		const{	return	SR.nSmart			;	}
	inline int	GetStaticRareResist_freeze(const	STATICRAREEFFECT	&SR)const{	return	SR.nResist_freeze+SR.nResist_all;	}
	inline int	GetStaticRareResist_venom(const	STATICRAREEFFECT	&SR)	const{	return	SR.nResist_venom+SR.nResist_all;	}
	inline int	GetStaticRareResist_lightning(const	STATICRAREEFFECT	&SR)const{	return	SR.nResist_lightning+SR.nResist_all;	}
	inline int	GetStaticRareResist_blaze(const	STATICRAREEFFECT	&SR)	const{	return	SR.nResist_blaze+SR.nResist_all;	}
	inline int	GetStaticRareResist_paralysis(const	STATICRAREEFFECT	&SR)const{	return	SR.nResist_paralysis+SR.nResist_all;	}
	inline int	GetStaticRareResist_holy(const	STATICRAREEFFECT	&SR)	const{	return	SR.nResist_holy+SR.nResist_all;	}
	inline int	GetStaticRareSpeed(const	STATICRAREEFFECT	&SR)		const{	return	SR.nSpeed	;		}
	inline int	GetStaticRareLife(const	STATICRAREEFFECT	&SR)			const{	return	SR.nLife	;		}
	inline int	GetStaticRareMana(const	STATICRAREEFFECT	&SR)			const{	return	SR.nMana	;		}
	inline int	GetStaticRareDivine(const	STATICRAREEFFECT	&SR)		const{	return	SR.nDivine	;		}
	inline int	GetStaticRareHealth(const	STATICRAREEFFECT	&SR)		const{	return	SR.nHealth	;		}
	inline int	GetStaticRareBrood(const	STATICRAREEFFECT	&SR)		const{	return	SR.nBrood	;		}
	inline int	GetStaticRareMind(const	STATICRAREEFFECT	&SR)			const{	return	SR.nMind	;		}
	inline int	GetStaticRareSpirit(const	STATICRAREEFFECT	&SR)		const{	return	SR.nSpirit	;		}
	inline int	GetStaticRareYouth(const	STATICRAREEFFECT	&SR)		const{	return	SR.nYouth	;		}
	inline int	GetStaticRareFatal(const	STATICRAREEFFECT	&SR)		const{	return	SR.nFatal	;		}
	inline int	GetStaticRareMagic(const	STATICRAREEFFECT	&SR)		const{	return	SR.nMagic	;		}
	inline int	GetStaticRareNature(const	STATICRAREEFFECT	&SR)		const{	return	SR.nNature	;		}
	inline int	GetStaticRareStrength(const	STATICRAREEFFECT	&SR)		const{	return	SR.nStrength	;	}
	inline int	GetStaticRareDexterity(const	STATICRAREEFFECT	&SR)	const{	return	SR.nDexterity	;	}
	inline int	GetStaticRareConstitution(const	STATICRAREEFFECT	&SR)	const{	return	SR.nConstitution;	}
	inline int	GetStaticRareWisdom(const	STATICRAREEFFECT	&SR)		const{	return	SR.nWisdom		;	}
	inline int	GetStaticRareIntelligence(const	STATICRAREEFFECT	&SR)	const{	return	SR.nIntelligence;	}
	inline int	GetStaticRareCharisma(const	STATICRAREEFFECT	&SR)		const{	return	SR.nCharisma	;	}
	inline int	GetStaticRareEndurance(const	STATICRAREEFFECT	&SR)	const{	return	SR.nEndurance	;	}
	inline int	GetStaticRareMovement(const	STATICRAREEFFECT	&SR)		const{	return	SR.nMovement	;	}
	inline int	GetStaticRareMoral(const	STATICRAREEFFECT	&SR)		const{	return	SR.nMoral		;	}
	inline int	GetStaticRareLucky(const	STATICRAREEFFECT	&SR)		const{	return	SR.nLucky		;	}
	inline int	GetStaticRareWizard(const	STATICRAREEFFECT	&SR)		const{	return	SR.nWizard		;	}
	inline int	GetStaticRarePriest(const	STATICRAREEFFECT	&SR)		const{	return	SR.nPriest		;	}
//	inline int	GetStaticRareMagic_power(const	STATICRAREEFFECT	&SR)	const{	return	SR.nMagic_power	;	}
	inline int	GetStaticRareMagic_vigor(const	STATICRAREEFFECT	&SR)	const{	return	SR.nMagic_vigor	;	}
	inline int	GetStaticRareMagic_stay	(const	STATICRAREEFFECT	&SR)	const{	return	SR.nMagic_stay	;	}
//	inline int	GetStaticRareNature_power(const	STATICRAREEFFECT	&SR)	const{	return	SR.nNature_power;	}
	inline int	GetStaticRareNature_vigor(const	STATICRAREEFFECT	&SR)	const{	return	SR.nNature_vigor;	}
	inline int	GetStaticRareNature_stay(const	STATICRAREEFFECT	&SR)	const{	return	SR.nNature_stay;	}
//	inline int	GetStaticRareLife_recovery(const	STATICRAREEFFECT	&SR)const{	return	SR.cLife_recovery;	}
	inline int	GetStaticRareMana_recovery(const	STATICRAREEFFECT	&SR)const{	return	SR.nMana_recovery;	}
	inline int	GetStaticRareCritical(const	STATICRAREEFFECT	&SR)		const{	return	SR.nCritical	;	}
//	inline int	GetStaticRareGuardian(const	STATICRAREEFFECT	&SR)		const{	return	SR.nGuardian	;	}
	inline int	GetStaticRareEvasion(const	STATICRAREEFFECT	&SR)		const{	return	SR.nEvasion		;	}
	inline int	GetStaticRareWitch(const	STATICRAREEFFECT	&SR)		const{	return	SR.nWitch		;	}
	inline int	GetStaticRareDevil(const	STATICRAREEFFECT	&SR)		const{	return	SR.nDevil		;	}
	inline int	GetStaticRareDesire(const	STATICRAREEFFECT	&SR)		const{	return	SR.nDesire		;	}
	inline int	GetStaticRareRobber(const	STATICRAREEFFECT	&SR)		const{	return	SR.nRobber		;	}
	inline int	GetStaticRareEvil(const	STATICRAREEFFECT	&SR)			const{	return	SR.nEvil		;	}
	inline int	GetStaticRareSatan(const	STATICRAREEFFECT	&SR)		const{	return	SR.nSatan		;	}
	inline int	GetStaticRareWeary(const	STATICRAREEFFECT	&SR)		const{	return	SR.nWeary		;	}
	inline int	GetStaticRareFatigue(const	STATICRAREEFFECT	&SR)		const{	return	SR.nFatigue		;	}
	inline int	GetStaticRareCounterattack(const	STATICRAREEFFECT	&SR)const{	return	SR.nCounterattack;	}
	inline int	GetStaticRareStrike(const	STATICRAREEFFECT	&SR)		const{	return	SR.nStrike		;	}
	inline int	GetStaticRareSnag(const	STATICRAREEFFECT	&SR)			const{	return	SR.nSnag		;	}
	inline int	GetStaticRareVertigly(const	STATICRAREEFFECT	&SR)		const{	return	SR.nVertigly	;	}
	inline int	GetStaticRarePoison(const	STATICRAREEFFECT	&SR)		const{	return	SR.nPoison		;	}
	inline int	GetStaticRareStiff(const	STATICRAREEFFECT	&SR)		const{	return	SR.nStiff		;	}
	inline int	GetStaticRareSlack(const	STATICRAREEFFECT	&SR)		const{	return	SR.nSlack		;	}
	inline int	GetStaticRareGhost(const	STATICRAREEFFECT	&SR)		const{	return	SR.nGhost		;	}
	inline int	GetStaticRareLandmine(const	STATICRAREEFFECT	&SR)		const{	return	SR.nLandmine	;	}
	inline int	GetStaticRareTraping(const	STATICRAREEFFECT	&SR)		const{	return	SR.nTraping		;	}
	inline int	GetStaticRareDetect(const	STATICRAREEFFECT	&SR)		const{	return	SR.nDetect		;	}

	inline int	GetStaticRareHighPower(const	STATICRAREEFFECT	&SR)		const{	return	SR.nHighPower	;	}
	inline int	GetStaticRareHighShield(const	STATICRAREEFFECT	&SR)		const{	return	SR.nHighShield	;	}
	inline int	GetStaticRareHighBlood(const	STATICRAREEFFECT	&SR)		const{	return	SR.nHighBlood	;	}
	inline int	GetStaticRareHighMagic(const	STATICRAREEFFECT	&SR)		const{	return	SR.nHighMagic	;	}
	inline int	GetStaticRareHighNature(const	STATICRAREEFFECT	&SR)		const{	return	SR.nHighNature	;	}
	
	bool	IsHaveRivaval(void *ch);
public:
	void	AutoCheckDynamicRare(DYNAMICRAREEFFECT	&DR);
	DWORD	GetDynamicRareEffectTime(const int iKind, const int iGrade)const;//殿鞭俊 蝶弗 蜡瘤 矫埃
};

#endif // !defined(AFX_RAREEFFECTMGR_H__D6CBF8EF_AAC2_4E8E_823B_4ED7AE440D83__INCLUDED_)

⌨️ 快捷键说明

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