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

📄 magicstate.h

📁 国内著名网络游戏dragon的服务端完整源码 内附完整数据库结构
💻 H
📖 第 1 页 / 共 2 页
字号:
	void ClearMagic() { m_nMagic = 0; }
	void ClearMagic(bool bLock) { m_bLock = bLock; }

	void InitActiveCombat() { m_nActive = 0; } // CSD-TW-030623
	void InitPassiveCombat() { m_nPassive = 0; } // CSD-TW-030623
	void InitRecoveryCombat() { m_nRecovery = 0; } // CSD-TW-030623

	void ClearActiveState() { m_nCount = 0; } // CSD-TW-030623
	void ClearPassiveState() { dwCombatState = 0; } // CSD-TW-030623
	void ClearRecoveryState() { dwCombatRecovery = 0, m_nRecoveryPoint = 0; } // CSD-TW-030623
	
	int GetShortAttack() const { return apShort.GetRatio(); }
	int GetMiddleAttack() const { return apMiddle.GetRatio(); }
	int GetLongAttack() const { return apLong.GetRatio(); }
	int GetShortDefense() const { return dpShort.GetRatio(); }
	int GetMiddleDefense() const { return dpMiddle.GetRatio(); }
	int GetLongDefense() const { return dpLong.GetRatio(); }
	int GetMagicAmplify() const { return amplify.GetRatio(); }
	int GetFireDefense() const { return dpFire.GetRatio(); }
	int GetIceDefense() const { return dpIce.GetRatio(); }
	int GetElectDefense() const { return dpElect.GetRatio(); }
	int GetHolyDefense() const { return dpHoly.GetRatio(); }
	
	BYTE GetNature() const { return m_nNature; }
	BYTE GetState() const { return m_nState; }
	void SetState(BYTE nState) { m_nState = nState; }
	void AddState(BYTE nState) { m_nState |= nState; }
	void DelState(BYTE nState) { m_nState &= ~nState; }
	// Life 刘啊樊
	int GetLifeUp() const { return m_nLifeUp; }
	// 吝刀登菌阑 锭 HP啊 皑家登绰 剧 掘扁
	WORD GetPoisonedPoint() const { return m_wPoisonedPoint; }
	WORD GetPoisonedCount() const { return m_wPoisonedCount; }
	// 吝刀登菌阑 锭 HP啊 皑家登绰 剧 汲沥
	void SetPoisonedPoint(WORD wPoint = 0) { m_wPoisonedPoint = wPoint; }
	void SetPoisonedCount(WORD wCount = 0) { m_wPoisonedCount = wCount; }
	void IncPoisonedCount() { ++m_wPoisonedCount; }
	void DecPoisonedCount() { --m_wPoisonedCount; }
	
	// 磊悼 hp促款 
	int	 GetRecoveryCPCount() const { return m_nRecoveryPoint;} // 030415 kyo 
	void SetRecoveryCPCount(int nCount = 0) { m_nRecoveryPoint = nCount; } // 030415 kyo 
	void IncRecoveryCPCount() { ++m_nRecoveryPoint; } // 030415 kyo 
	void DecRecoveryCPCount() { --m_nRecoveryPoint; } // 030415 kyo 

	bool IsState(BYTE nState) const { return (m_nState == nState) ? true:false; }
	bool IsPhysicalDamage() const
	{	// 拱府利 单固瘤甫 100% 规绢窍绰瘤 咯何
		return (dpShort.IsMax() && dpMiddle.IsMax() && dpLong.IsMax()) ? false:true;
	}  
	// 肯傈茄 搬拌 惑怕牢瘤 咯何 八荤
	bool IsPerfect() const { return (dwExceptProtect > 0) ? true:false; }
	// 雀蓖狼 鼻瓷 惑怕牢瘤 咯何 八荤
	bool IsReturn() const { return (dwReturnMagic > 0) ? true:false; }
	// 扁档 惑怕牢瘤 咯何 八荤
	bool IsDivineUp() const { return (dwUpDivineMana > 0) ? true:false; } // CSD-TW-030606
	// 籍拳 惑怕牢瘤 咯何 八荤
	bool IsStone() const { return (dwBlocking > 0) ? true:false; }
	// 倔覆 历林 惑怕 咯何 八荤
	bool IsFreeze() const { return (dwAttackDelay > 0) ? true:false; }
	// 矫傈阂啊 惑怕牢瘤 咯何 八荤
	bool IsCasting() const { return (dwDontCasting > 0) ? false:true; }
	// NPC牢 版快 付过 荤侩捞 啊瓷茄瘤 咯何 八荤
	bool IsCasting(DWORD dwNow) const { return (m_dwCasting > dwNow) ? false:true; }
	// CSD-021015 : 老沥 矫埃悼救 Life啊 棵扼皑
	bool IsLifeUp() const { return (dwLifeUp > 0) ? true:false; }
	// CSD-021015 : 拱府傍拜 馆荤 惑怕 八荤
	bool IsStrikeReflect() const { return (dwStrikeReflect > 0) ? true:false; }
	// CSD-021015 : 付过傍拜 馆荤 惑怕 八荤
	bool IsMagicReflect() const { return (dwMagicReflect > 0) ? true:false; }
	// 傈捧胶懦 加己 蜡瘤 惑怕
	bool IsPassiveCombatState() const { return (dwCombatState <= 0) ? false:true; } // CSD-TW-030606
	bool IsRecoveryCombatState() const { return (dwCombatRecovery <= 0) ? false:true; } // CSD-TW-030606
	// 付过 规绢仿捞 乐绰瘤 咯何 八荤
	bool IsCurseDefense(BYTE nType) const
	{
		switch (nType)
		{ //< CSD-021216
		case 41: return (dpCurse1.IsContinue()) ? true:false;
		case 42: return (dpCurse2.IsContinue()) ? true:false;
		case 43: return (dpCurse3.IsContinue()) ? true:false;
		case 44: return (dpCurse4.IsContinue()) ? true:false;
		case 45: return (dpCurse5.IsContinue()) ? true:false;
		case 46: return (dpFreeze.IsContinue()) ? true:false; 
		} //> CSD-021216
		
		return false;
	}
	// 历林拌凯 付过 惑怕牢瘤 咯何 八荤
	bool IsCurse(BYTE nType) const
	{	//< CSD-021024 
		switch (nType)
		{
		case 1: return (dwCurse1 > 0) ? true:false;
		case 2: return (dwCurse2 > 0) ? true:false;
		case 3: return (dwCurse3 > 0) ? true:false;
		case 4: return (dwCurse4 > 0) ? true:false;
		case 6: return (dwFreeze > 0) ? true:false;
		}
		
		return false;
	}	//> CSD-021024
	
	bool IsCurse(BYTE nType, DWORD dwNow) const
	{	//> CSD-021024
		switch (nType)
		{
		case 1: return (dwCurse1 < dwNow) ? true:false;
		case 2: return (dwCurse2 < dwNow) ? true:false;
		case 3: return (dwCurse3 < dwNow) ? true:false;
		case 4: return (dwCurse4 < dwNow) ? true:false;
		case 6: return (dwFreeze < dwNow) ? true:false;
		}
		
		return false;
	}	//> CSD-021024
	// 老馆 焊龋拌凯 付过牢瘤 咯何 八荤
	bool IsNormalProtect() const { return (dwNormalProtect > 0) ? true:false; }
	// 漂荐 焊龋拌凯 付过牢瘤 咯何 八荤
	bool IsSpecialProtect() const { return (dwSpecialProtect > 0) ? true:false; }
	// 捞悼 厘家 扁撅捞 汲沥登菌绰瘤 咯何 八荤
	bool IsTransMap() const { return (m_nTransPort > 0) ? true:false; }
	// 傈捧胶懦 荤侩 啊瓷 雀荐 八荤
	bool IsCount() const { return (m_nCount > 0) ? true:false; }
	// 辨甸捞扁 咯何 八荤
	bool IsTamedNpc() const { return m_bTamed; }
	void SetTamed(bool bTamed) { m_bTamed = bTamed; }
	// 家券 阁胶磐 咯何 八荤
	bool IsSummonMonster() const { return m_bSummon; }
	void SetSummonMonster(bool bSummon) { m_bSummon = bSummon; }
	
public:
	class XSummonMgr
	{	// 家券茄 阁胶磐 包府 努贰胶
		typedef vector<WORD> VECTOR;
		
	public:
		XSummonMgr() : m_nFollow(0), m_idMaster(0) {}
		
	public:
		BYTE GetFollow() const { return m_nFollow; }
		void SetFollow(BYTE nFollow) { m_nFollow = nFollow; }
		WORD GetMaster() const { return m_idMaster; }
		void SetMaster(WORD idMaster) { m_idMaster = idMaster; }
		// 家券茄 阁胶磐狼 荐 刘啊
		void Increase(WORD wID) 
		{ 
			m_vtBuffer.push_back(wID); 
		}
		// 家券茄 阁胶磐狼 荐 皑家
		void Decrease(WORD wID)  
		{ 
			m_vtBuffer.erase(remove(m_vtBuffer.begin(), m_vtBuffer.end(), wID)); 
		}
		// 家券 阁胶磐俊霸 疙飞
		void Command(bool (*pFunc)(WORD, WORD))
		{
			pointer_to_binary_function<WORD, WORD, bool> pf(pFunc);
			for_each(m_vtBuffer.begin(), m_vtBuffer.end(), bind2nd(pf, m_idMaster));
		}
		// 家券 阁胶磐 傈何 力芭
		void Remove(void (*pFunc)(WORD))
		{
			for_each(m_vtBuffer.begin(), m_vtBuffer.end(), pFunc);
			m_vtBuffer.clear();
		}
		// 家券茄 阁胶磐狼 荐 掘扁
		int Count() const { return m_vtBuffer.size(); }
		// 家券茄 阁胶磐啊 粮犁窍绰瘤 咯何 八荤
		bool IsExist() const { return !m_vtBuffer.empty(); }
		
	private:
		VECTOR m_vtBuffer;
		BYTE   m_nFollow;
		WORD   m_idMaster;
	}	m_xSummon;
	
	WORD GetFollow() const { return m_xSummon.GetFollow(); }
	void SetFollow(BYTE nFollow) { m_xSummon.SetFollow(nFollow); }
	WORD GetMaster() const { return m_xSummon.GetMaster(); }
	void SetMaster(WORD idMaster) { m_xSummon.SetMaster(idMaster); }
	
protected:
	BYTE  m_nNature;        // 己龙 惑怕
	BYTE  m_nState;         // 付过 惑怕
	WORD  m_wPoisonedPoint; // 吝刀登菌阑 锭 HP啊 皑家登绰 剧
	WORD  m_wPoisonedCount; // 吝刀登菌阑 锭 HP啊 皑家 檬
	int	  m_nRecoveryPoint; // 磊悼cp雀汗俊辑 割檬寸 hp啊 狐瘤绰啊? // 030415 kyo 
	int   m_nTransPort;     // 捞悼且 甘俊 措茄 沥焊
	int   m_nTransX;        // 捞悼 谅钎
	int   m_nTransY;
	int   m_nLifeUp;        // Life 刘啊樊
	bool  m_bTamed;         // 抛捞怪 咯何  
	bool  m_bSummon;        // 家券 阁胶磐 咯何
		
private:
	bool  m_bLock;
	BYTE  m_nAttack;		   // 020425 YGI from acer
	BYTE  m_nMagic;        // 付过 锅龋   
	BYTE  m_nActive;       // 窜惯己狼 傈捧胶懦 锅龋
	BYTE  m_nPassive;      // 瘤加利牢 傈捧胶懦 锅龋
	BYTE  m_nRecovery;		// 雀汗 傈捧胶懦  // 030415 kyo 
	BYTE  m_nCount;        // 傈捧胶懦 荤侩 雀荐 
	DWORD m_dwAttack;		   // 020425 YGI from acer
	DWORD m_dwCasting;     // 付过 矫傈 矫累 矫埃
	DWORD m_dwContinue;    // 付过 矫傈捞 啊瓷茄 矫埃
	DWORD m_dwFireWall;    // 拳堪寒捞 蜡瘤登绰 矫埃
	DWORD m_dwIceWall;     // 倔澜寒捞 蜡瘤登绰 矫埃
};
//
///////////////////////////////////////////////////////////////////////////////
#endif // !defined(AFX_MAGICSTATE_H__1253A149_5DFB_439E_9CEE_DA046405F173__INCLUDED_)

⌨️ 快捷键说明

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