#include "StdAfx.h" #include "Handler_CG_STYLE.h" #include #include #include "GameField.h" #include "Player.h" #include "SCSkillSlotContainer.h" #include "ItemManager.h" #include "QuickStyleManager.h" #include "SkillSlotManager.h" Handler_CG_STYLE::Handler_CG_STYLE() { } Handler_CG_STYLE::~Handler_CG_STYLE() { } //-------------------------------------------------------------------------------------------------- // changes, f100819.1L const nsPacket::PacketHandlerInfo Handler_CG_STYLE::GetPacketHandlerNodes() { #define HANDLER_NODE_INFO(c, p, phase) { MAKEWORD(c, p), phase, Handler_CG_STYLE::On##p } #define HANDLER_NODE_INFO_EOR() { 0, static_cast(0), NULL } static const nsPacket::PacketHandlerNode handlers_static_[] = { HANDLER_NODE_INFO(CG_STYLE, CG_STYLE_SELECT_STYLE_SYN, PHASE_SERVICE), HANDLER_NODE_INFO(CG_STYLE, CG_STYLE_LINK_SYN, PHASE_SERVICE), HANDLER_NODE_INFO(CG_STYLE, CG_STYLE_UNLINK_SYN, PHASE_SERVICE), HANDLER_NODE_INFO(CG_STYLE, CG_STYLE_LINKMOVE_SYN, PHASE_SERVICE), HANDLER_NODE_INFO_EOR() // end of records }; // BOOST_STATIC_ASSERT(_countof(handlers_static_) >= 1); nsPacket::PacketHandlerInfo return_value = { handlers_static_, _countof(handlers_static_) - 1 }; // return return_value; }; //-------------------------------------------------------------------------------------------------- VOID Handler_CG_STYLE::OnCG_STYLE_SELECT_STYLE_SYN( ServerSession * pServerSession, MSG_BASE *pMsg, WORD wSize ) { __TOUCHED((pServerSession, pMsg, wSize)); #ifdef _NA002217_100728_EP2_PERK_SYSTEM_ ASSERT(!"don't support anymore"); return; #else //if !defined(_NA002217_100728_EP2_PERK_SYSTEM_) MSG_CG_STYLE_SELECT_STYLE_SYN *pRecvMsg = (MSG_CG_STYLE_SELECT_STYLE_SYN*)pMsg; Player *pPlayer = PlayerManager::Instance()->FindPlayerByUserKey( pRecvMsg->m_dwKey ); ASSERT( pPlayer ); if( !pPlayer ) return ; if( !pPlayer->GetField() ) { SUNLOG( eCRITICAL_LOG, "[Handler_CG_STYLE::OnCG_STYLE_SELECT_STYLE_SYN] Not Exist GameField" ); return; } RC::eSKILL_RESULT rcResult = pPlayer->GetSkillSlotManager()->CanSelectStyle( pRecvMsg->m_NewStyleCode ); if( rcResult == RC::RC_SKILL_SUCCESS ) { // »õ·Î¿î ½ºÅ¸ÀÏÀ» ÁöÁ¤ÇÑ´Ù.(³»ºÎ¿¡¼­ ºê·Îµå¸¦ ³¯¸°´Ù.) pPlayer->GetSkillSlotManager()->SetSelectStyle( pRecvMsg->m_NewStyleCode ); } else { MSG_CG_STYLE_SELECT_STYLE_NAK NakMsg; NakMsg.m_CurStyleCode = pPlayer->GetSelectedStyle(); NakMsg.m_byErrorCode = rcResult; pPlayer->SendPacket( &NakMsg, sizeof(NakMsg) ); } #endif //_NA002217_100728_EP2_PERK_SYSTEM_ } Handler_CG_STYLE_IMPL( CG_STYLE_LINK_SYN ) { __TOUCHED((pServerSession, pMsg, wSize)); #ifdef _NA002217_100728_EP2_PERK_SYSTEM_ ASSERT(!"don't support anymore"); return; #else //if !defined(_NA002217_100728_EP2_PERK_SYSTEM_) MSG_CG_STYLE_LINK_SYN *pRecvMsg = (MSG_CG_STYLE_LINK_SYN*)pMsg; Player *pPlayer = PlayerManager::Instance()->FindPlayerByUserKey( pRecvMsg->m_dwKey ); ASSERT( pPlayer ); if( !pPlayer ) return ; if( !pPlayer->GetField() ) { SUNLOG( eCRITICAL_LOG, "[Handler_CG_STYLE_IMPL( CG_STYLE_LINK_SYN )] Not Exist GameField" ); return; } // StyleÀº Ŭ¶ó°¡ ÀÓÀÇ·Î µî·Ï, ÇØÁ¦ÇÒ ¼ö ¾øÀ¸¹Ç·Î ¹«Á¶°Ç Fail! MSG_CG_STYLE_LINK_NAK msg; msg.m_byErrorCode = RC::RC_STYLE_FAILED; pPlayer->SendPacket( &msg, sizeof( msg ) ); /* RC::eSTYLE_RESULT rt = pPlayer->GetStyleManager()->Link( pRecvMsg->m_StyleCode, pRecvMsg->m_ToPos ); switch( rt ) { case RC::RC_STYLE_SUCCESS: { MSG_CG_STYLE_LINK_ACK msg; msg.m_StyleCode = pRecvMsg->m_StyleCode; msg.m_ToPos = pRecvMsg->m_ToPos; pPlayer->SendPacket( &msg, sizeof( msg ) ); } break; default: { MSG_CG_STYLE_LINK_NAK msg; msg.m_dwErrorCode = rt; pPlayer->SendPacket( &msg, sizeof( msg ) ); } }*/ #endif //_NA002217_100728_EP2_PERK_SYSTEM_ } Handler_CG_STYLE_IMPL( CG_STYLE_UNLINK_SYN ) { __TOUCHED((pServerSession, pMsg, wSize)); #ifdef _NA002217_100728_EP2_PERK_SYSTEM_ ASSERT(!"don't support anymore"); return; #else //if !defined(_NA002217_100728_EP2_PERK_SYSTEM_) MSG_CG_STYLE_UNLINK_SYN *pRecvMsg = (MSG_CG_STYLE_UNLINK_SYN*)pMsg; Player *pPlayer = PlayerManager::Instance()->FindPlayerByUserKey( pRecvMsg->m_dwKey ); ASSERT( pPlayer ); if( !pPlayer ) return ; if( !pPlayer->GetField() ) { SUNLOG( eCRITICAL_LOG, "[Handler_CG_STYLE_IMPL( CG_STYLE_UNLINK_SYN )] Not Exist GameField" ); return; } // StyleÀº Ŭ¶ó°¡ ÀÓÀÇ·Î µî·Ï, ÇØÁ¦ÇÒ ¼ö ¾øÀ¸¹Ç·Î ¹«Á¶°Ç Fail! MSG_CG_STYLE_UNLINK_NAK msg; msg.m_byErrorCode = RC::RC_STYLE_FAILED; pPlayer->SendPacket( &msg, sizeof( msg ) ); /* RC::eSTYLE_RESULT rt = pPlayer->GetStyleManager()->Unlink( pRecvMsg->m_atPos ); switch( rt ) { case RC::RC_STYLE_SUCCESS: { MSG_CG_STYLE_UNLINK_ACK msg; msg.m_atPos = pRecvMsg->m_atPos; pPlayer->SendPacket( &msg, sizeof( msg ) ); } break; default: { MSG_CG_STYLE_UNLINK_NAK msg; msg.m_dwErrorCode = rt; pPlayer->SendPacket( &msg, sizeof( msg ) ); } }*/ #endif //_NA002217_100728_EP2_PERK_SYSTEM_ } Handler_CG_STYLE_IMPL( CG_STYLE_LINKMOVE_SYN ) { __TOUCHED((pServerSession, pMsg, wSize)); #ifdef _NA002217_100728_EP2_PERK_SYSTEM_ ASSERT(!"don't support anymore"); return; #else //if !defined(_NA002217_100728_EP2_PERK_SYSTEM_) MSG_CG_STYLE_LINKMOVE_SYN *pRecvMsg = (MSG_CG_STYLE_LINKMOVE_SYN*)pMsg; Player *pPlayer = PlayerManager::Instance()->FindPlayerByUserKey( pRecvMsg->m_dwKey ); ASSERT( pPlayer ); if( !pPlayer ) return ; if( !pPlayer->GetField() ) { SUNLOG( eCRITICAL_LOG, "[Handler_CG_STYLE_IMPL( CG_STYLE_LINKMOVE_SYN )] Not Exist GameField" ); return; } // StyleÀº Ŭ¶ó°¡ ÀÓÀÇ·Î µî·Ï, ÇØÁ¦ÇÒ ¼ö ¾øÀ¸¹Ç·Î ¹«Á¶°Ç Fail! MSG_CG_STYLE_LINKMOVE_NAK msg; msg.m_byErrorCode = RC::RC_STYLE_FAILED; pPlayer->SendPacket( &msg, sizeof( msg ) ); /* RC::eSTYLE_RESULT rt = pPlayer->GetStyleManager()->Move( pRecvMsg->m_fromPos, pRecvMsg->m_toPos ); switch( rt ) { case RC::RC_STYLE_SUCCESS: { MSG_CG_STYLE_LINKMOVE_ACK msg; msg.m_fromPos = pRecvMsg->m_fromPos; msg.m_toPos = pRecvMsg->m_toPos; pPlayer->SendPacket( &msg, sizeof( msg ) ); } break; default: { MSG_CG_STYLE_LINKMOVE_NAK msg; msg.m_dwErrorCode = rt; pPlayer->SendPacket( &msg, sizeof( msg ) ); } }*/ #endif //_NA002217_100728_EP2_PERK_SYSTEM_ }