msgitemattrib.cpp
来自「网络游戏魔域的服务端与客户端完整源代码 包括详细的说明文档与开发日志」· C++ 代码 · 共 67 行
CPP
67 行
// MsgItemAttrib.cpp: implementation of the CMsgItemAttrib class.
//
//////////////////////////////////////////////////////////////////////
#include "AllMsg.h"
#include "Item.h"
#include "Hero.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CMsgItemAttrib::CMsgItemAttrib()
{
Init();
m_pInfo =(MSG_Info *)m_bufMsg;
}
CMsgItemAttrib::~CMsgItemAttrib()
{
}
BOOL CMsgItemAttrib::Create(char* pbufMsg, DWORD dwMsgSize)
{
if (!CNetMsg::Create(pbufMsg, dwMsgSize))
return false;
if(_MSG_ITEMATTRIB != this->GetType())
return false;
return true;
}
void CMsgItemAttrib::Process(void *pInfo)
{
CItem* pItem = g_objHero.GetItem(m_pInfo->idItem);
if ( pItem == NULL)
return;
int nAmount = (int)m_pInfo->dwAttributeNum;
for(int i=0;i<nAmount;i++)
{
switch(m_pInfo->setItemAttrib[i].ucAttributeType)
{
case _ITEMATTRIB_GEMTYPE:
// case _ITEMATTRIB_EUDEMON_EXP: //幻兽经验
pItem->SetGemAtkType(m_pInfo->setItemAttrib[i].dwAttributeData);
break;
case _ITEMATTRIB_AMOUNT_LIMIT:
// case _ITEMATTRIB_EUDEMON_LEVEL: //幻兽等级
pItem->SetAmountLimit(m_pInfo->setItemAttrib[i].dwAttributeData);
break;
case _ITEMATTRIB_AMOUNT:
// case _ITEMATTRIB_EUDEMON_FIDELITY: //幻兽忠诚
pItem->SetAmount(m_pInfo->setItemAttrib[i].dwAttributeData);
break;
case _ITEMATTRIB_WARGHOSTEXP:
// case _ITEMATTRIB_EUDEMON_LIFE: //幻兽生命
pItem->SetWarGhostExp(m_pInfo->setItemAttrib[i].dwAttributeData);
break;
default:
break;
}
}
if (pItem->GetPackageType() == PACKAGE_PET)
::PostCmd(CMD_FLASH_MYPETINFO);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?