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

📄 freezecombat.cpp

📁 国内著名网络游戏dragon的服务端完整源码 内附完整数据库结构
💻 CPP
字号:
// FreezeCombat.cpp: implementation of the CFreezeCombat class.
//
//////////////////////////////////////////////////////////////////////

#include "..\stdafx.h"
#include "FreezeCombat.h"

#include "..\HigherLayers\CItem.h"
#include "..\HigherLayers\Op_Battle.h"
#include "..\HigherLayers\OP_Magic.h"
///////////////////////////////////////////////////////////////////////////////
// Construction/Destruction
///////////////////////////////////////////////////////////////////////////////

CFreezeCombat::CFreezeCombat()
{

}

CFreezeCombat::~CFreezeCombat()
{

}

///////////////////////////////////////////////////////////////////////////////
// Public Method
///////////////////////////////////////////////////////////////////////////////

bool CFreezeCombat::Bind() 
{ 
	Resist(ICING_BLAST, &CFreezeCombat::IcingBlast);
	Resist(CRITICAL_HIDING, &CFreezeCombat::CriticalHiding);
	Resist(SHARK_MISSILE, &CFreezeCombat::SharkMissile);
	Resist(HORN_OF_ICEBERG, &CFreezeCombat::HornOfIceBerg);
	Resist(ICE_SHIELD, &CFreezeCombat::IceShield);
	Resist(ICE_EXTREME, &CFreezeCombat::IceExtreme);
	return true; 
}

bool CFreezeCombat::Elapse(CHARLIST* pTarget)
{	//< CSD-TW-030623
	switch (pTarget->GetPassiveCombat())
	{
    case ICE_SHIELD:
		{
			if (!pTarget->IsPassiveCombatState())
			{
				pTarget->InitPassiveCombat();
				SendInit(PASSIVE_COMBAT, pTarget->GetServerID());
			}

			break;
		}
	}
	
	return true;
}	//> CSD-TW-030623

bool CFreezeCombat::IcingBlast()
{
	// 搬苞蔼阑 措惑磊俊霸 Packet栏肺 焊郴扁
	t_server_combat_result packet;
	packet.nSkill = m_nIndex;
	packet.idTarget = m_idTarget;
	packet.nResult = HIT_AND_NOTDEAD;
	SendResult(CMD_COMBAT_RESULT, &packet);
	return true;
}

bool CFreezeCombat::CriticalHiding()
{
	WORD wRemain = m_pCaster->GetCombatValue(m_nIndex);
	// 捧疙眉 免仿阑 困茄 VIEWTYPE 汲沥
	m_pCaster->dwTransparency = m_dwNow + wRemain;
	m_pCaster->viewtype = VIEWTYPE_TRANSPARENCY_;
	::SendViewType(m_pCaster, VIEWTYPE_TRANSPARENCY_, m_pCaster->dwTransparency);
	// 搬苞蔼阑 措惑磊俊霸 Packet栏肺 焊郴扁
	t_server_combat_result packet;
	packet.nSkill = m_nIndex;
	packet.nResult = HIT_AND_NOTDEAD;
	packet.idTarget = m_idCaster;
	SendResult(CMD_COMBAT_RESULT, &packet);
	return true;
}

bool CFreezeCombat::SharkMissile()
{
	// 搬苞蔼阑 措惑磊俊霸 Packet栏肺 焊郴扁
	t_server_combat_result packet;
	packet.nSkill = m_nIndex;
	packet.nResult = HIT_AND_NOTDEAD;
	packet.idTarget = m_idTarget;
	SendResult(CMD_COMBAT_RESULT, &packet);
	return true;
}

bool CFreezeCombat::HornOfIceBerg()
{
	t_server_combat_result packet;
	packet.nSkill = m_nIndex;
	packet.nResult = HIT_AND_NOTDEAD;
	packet.idTarget = m_idTarget;
	SendResult(CMD_COMBAT_RESULT, &packet);
	return true;
}

bool CFreezeCombat::IceShield()
{
	m_pCaster->dwCombatState = m_dwNow + CalcMaintain();
	// CSD-021216 : 倔覆 历林 付过 规绢
	m_pCaster->SetCurseDefense(m_dwNow + CalcMaintain(), CMagicState::CURSE_FREEZE);
	// 老馆 焊龋拌凯 付过 惑怕烙阑 汲沥
	m_pCaster->dwNormalProtect = m_dwNow + CalcMaintain();
	// 搬苞蔼阑 措惑磊俊霸 Packet栏肺 焊郴扁
	t_server_combat_result packet;
	packet.nSkill = m_nIndex;
	packet.idTarget = m_idTarget;
	packet.nResult = HIT_AND_NOTDEAD;
	SendResult(CMD_COMBAT_RESULT, &packet);
	return true;
}

bool CFreezeCombat::IceExtreme()
{
	// 搬苞蔼阑 措惑磊俊霸 Packet栏肺 焊郴扁
	t_server_combat_result packet;
	packet.nSkill = m_nIndex;
	packet.idTarget = m_idTarget;
	packet.nResult = HIT_AND_NOTDEAD;
	SendResult(CMD_COMBAT_RESULT, &packet);
	return true;
}

⌨️ 快捷键说明

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