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

📄 skillobjectattachunit_counterattack.cpp

📁 墨香最新私服
💻 CPP
字号:
// SkillObjectAttachUnit_CounterAttack.cpp: implementation of the CSkillObjectAttachUnit_CounterAttack class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "SkillObjectAttachUnit_CounterAttack.h"

#ifdef _MHCLIENT_
#include "StatusIconDlg.h"
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CSkillObjectAttachUnit_CounterAttack::CSkillObjectAttachUnit_CounterAttack()
{

}

CSkillObjectAttachUnit_CounterAttack::~CSkillObjectAttachUnit_CounterAttack()
{

}

void CSkillObjectAttachUnit_CounterAttack::Init(CSkillInfo* pSkillInfo,WORD SkillLevel)
{
	m_Attrib = pSkillInfo->GetAttrib();
	m_AttrCounterRate = pSkillInfo->GetSkillInfo()->CounterAttAttack[SkillLevel-1];
	m_PhyCounterRate = pSkillInfo->GetSkillInfo()->CounterPhyAttack[SkillLevel-1];
	
/*
maintain_counter_S.beff	¹°¸® ÀϺΠ¹Ý°Ý
maintain_counter07_S.beff	¼Ó¼º ÀϺΠ¹Ý°Ý
*/
	//Áö¼ÓÈ¿°úÇ¥½Ã
	if(m_AttrCounterRate > 0)
	{
		ySWITCH(m_Attrib)
			yCASE(ATTR_FIRE)
				
			yCASE(ATTR_WATER)
				
			yCASE(ATTR_TREE)
				m_StateIconNum[0] = eStatusIcon_AttrCounterTree;
			yCASE(ATTR_IRON)
				m_StateIconNum[0] = eStatusIcon_AttrCounterIron;
			yCASE(ATTR_EARTH)
				m_StateIconNum[0] = eStatusIcon_AttrCounterEarth;
			yCASE(ATTR_ALLATTR)
				m_StateIconNum[0] = eStatusIcon_AttrCounterAll;
		yENDSWITCH

		m_AttachEffectNum[0] = pSkillInfo->GetSkillInfo()->EffectMineOperate;
	}
	if(m_PhyCounterRate > 0)
	{
		m_AttachEffectNum[1] = pSkillInfo->GetSkillInfo()->EffectMineOperate;
		m_StateIconNum[1] = eStatusIcon_PhyCounter;
	}
/*
683	¹°¸® ¹Ý°Ý »óÅÂ		¹°¸® ¹Ý°Ý>0					
704	¼Ó¼º ¹Ý°Ý Áõ°¡ (È­)		¼Ó¼º ¹æ¾î·Â Áõ°¡>0	¼Ó¼º°ª 1				
707	¼Ó¼º ¹Ý°Ý Áõ°¡ (¼ö)		¼Ó¼º ¹æ¾î·Â Áõ°¡>0	¼Ó¼º°ª 2				
710	¼Ó¼º ¹Ý°Ý Áõ°¡ (¸ñ)		¼Ó¼º ¹æ¾î·Â Áõ°¡>0	¼Ó¼º°ª 3				
713	¼Ó¼º ¹Ý°Ý Áõ°¡ (±Ý)		¼Ó¼º ¹æ¾î·Â Áõ°¡>0	¼Ó¼º°ª 4				
716	¼Ó¼º ¹Ý°Ý Áõ°¡ (Åä)		¼Ó¼º ¹æ¾î·Â Áõ°¡>0	¼Ó¼º°ª 5				
719	¼Ó¼º ¹Ý°Ý Áõ°¡ (Àü¼Ó¼º)		¼Ó¼º ¹æ¾î·Â Áõ°¡>0	¼Ó¼º°ª 7				
*/
}

void CSkillObjectAttachUnit_CounterAttack::GetCounterAttackDamage(WORD Attrib,WORD AttrDamage,WORD PhyDamage,RESULTINFO* pDamageInfo,DWORD& CounterDamage)
{
	DWORD cdmg = 0;
	if(m_Attrib == Attrib || m_Attrib == ATTR_ALLATTR)
		cdmg += (DWORD)(AttrDamage * m_AttrCounterRate);

	cdmg += (DWORD)(PhyDamage * m_PhyCounterRate);

	if(cdmg > CounterDamage)
		CounterDamage = cdmg;
}

⌨️ 快捷键说明

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