#pragma once #ifndef WORLDSERVER_HANDLER_CW_H #define WORLDSERVER_HANDLER_CW_H #include #include "./PacketHandler.h" namespace ns_world { ; class ServerSessionInWorld; }; //end of namespace //================================================================================================== namespace ns_world { namespace handlers { ; class Handler_CW { public: static const ns_world::PacketHandlerInfo GetPacketHandlerNodes(); //---------------------------------------------------------------------------------------------- // internal utility static ns_world::WorldUser* last_handled_user; // NOTE: f110823.1L, if the server_session field is null, // it means process using the session of user static bool CheckEnabledChattingState(ns_world::WorldUser* user, ns_world::ServerSessionInWorld* server_session); #define FIND_USER_FROM_AGENT_MSG(_msg_base_) \ (((ns_world::handlers::Handler_CW::last_handled_user = \ ns_world::WorldUserManager::Instance()->FindUser((_msg_base_)->m_dwKey)) != NULL) \ ? (ns_world::handlers::Handler_CW::last_handled_user) \ : (FlowControl::FCAssert(!"can't find user"), NULL)) //---------------------------------------------------------------------------------------------- #undef HANDLER_NODE_INFO #define HANDLER_NODE_INFO(_category_, _protocol_, phase) \ static void Handler_CW::On##_protocol_(\ ns_world::ServerSessionInWorld* const server_session, \ const MSG_BASE* const msg, const uint16_t msg_size) //---------------------------------------------------------------------------------------------- // Handler_CW.cpp //---------------------------------------------------------------------------------------------- // CHANGES: f110823.1L, removed. do not use anymore //HANDLER_NODE_INFO(CW_CONNECTION, CW_HEARTBEAT, PHASE_SERVICE); HANDLER_NODE_INFO(CW_GM, CW_GM_NOTICE_SYN, PHASE_SERVICE); HANDLER_NODE_INFO(CW_GM, CW_GM_STRING_CMD_SYN, PHASE_SERVICE); // CHANGES: f110907.2L, removed, does not use anymore //HANDLER_NODE_INFO(CW_VIEWPORT, CW_VIEWPORT_CHARSTATE, PHASE_SERVICE); // CHANGES: f110823.1L, removed. do not use anymore //HANDLER_NODE_INFO(CW_ARMORKIT, CW_ARMORKIT_FINDHACK_SYN, PHASE_SERVICE); HANDLER_NODE_INFO(CW_COMMUNITY, CW_COMM_USERID_REQ, PHASE_SERVICE); //__NA_001359_20090619_HEIM_LOTTO_SYSTEM = { HANDLER_NODE_INFO(CW_LOTTO, CW_LOTTO_INFO_SYN, PHASE_SERVICE); // (, ³») ÇÏÀÓ ·Î¶Ç Á¤º¸ ¿äû HANDLER_NODE_INFO(CW_LOTTO, CW_LOTTO_ENTRY_SYN, PHASE_SERVICE); // ÇÏÀÓ ·Î¶Ç ÀÀ¸ð ¿äû HANDLER_NODE_INFO(CW_LOTTO, CW_LOTTO_NOTICE_LIST_SYN, PHASE_SERVICE); // ´ç÷ ¾È³» ÂÊÁö ¸ñ·Ï ¿äû HANDLER_NODE_INFO(CW_LOTTO, CW_LOTTO_NOTICE_CONFIRM, PHASE_SERVICE); // ´ç÷ ¾È³» ÂÊÁö ÀÐÀ½ È®ÀÎ //} //---------------------------------------------------------------------------------------------- // Handler_CW.Chatting.cpp //---------------------------------------------------------------------------------------------- HANDLER_NODE_INFO(CW_CHAT, CW_WHISPER_SYN, PHASE_SERVICE); HANDLER_NODE_INFO(CW_CHAT, CW_NOTICE_SYN, PHASE_SERVICE); HANDLER_NODE_INFO(CW_CHAT, CW_WHISPER_SET_SYN, PHASE_SERVICE); HANDLER_NODE_INFO(CW_CHAT, CW_CHAT_NORMAL_SYN, PHASE_SERVICE); HANDLER_NODE_INFO(CW_CHAT, CW_CHAT_SHOUT_SYN, PHASE_SERVICE); HANDLER_NODE_INFO(CW_CHAT, CW_CHAT_PARTY_SYN, PHASE_SERVICE); // CHANGES: f110823.1L, removed. do not use anymore //HANDLER_NODE_INFO(CW_CRYPTOGRAPHY, CW_CRYPTOGRAPHY_ACK, PHASE_SERVICE); //HANDLER_NODE_INFO(CW_CRYPTOGRAPHY, CW_CRYPTOGRAPHY_NAK, PHASE_SERVICE); // CHANGES: f110907.2L, the voice chatting contents removed. do not use anymore //HANDLER_NODE_INFO(CW_CHAT, CW_CHAT_VOICE_REQUEST_SYN, PHASE_SERVICE); //HANDLER_NODE_INFO(CW_CHAT, CW_CHAT_VOICE_ACCEPT_SYN, PHASE_SERVICE); //HANDLER_NODE_INFO(CW_CHAT, CW_CHAT_VOICE_REJECT_SYN, PHASE_SERVICE); //HANDLER_NODE_INFO(CW_CHAT, CW_CHAT_VOICE_DISCONNECT_SYN, PHASE_SERVICE); //HANDLER_NODE_INFO(CW_CHAT, CW_CHAT_VOICE_MIC_STATUS_SYN, PHASE_SERVICE); //HANDLER_NODE_INFO(CW_CHAT, CW_CHAT_PARTY_MIC_STATUS_REQ, PHASE_SERVICE); //HANDLER_NODE_INFO(CW_CHAT, CW_CHAT_PLAYER_MIC_STATUS_REQ, PHASE_SERVICE); HANDLER_NODE_INFO(CW_CHAT, CW_CHAT_CHANNEL_JOIN_SYN, PHASE_SERVICE); HANDLER_NODE_INFO(CW_CHAT, CW_CHAT_CHANNEL_SEND_SYN, PHASE_SERVICE); HANDLER_NODE_INFO(CW_CHAT, CW_CHAT_CHANNEL_INVITE_SYN, PHASE_SERVICE); //_NA_000849_20101001_ENHANCED_INVITATION_FOR_CHAT_CHANNEL HANDLER_NODE_INFO(CW_CHAT, CW_CHAT_CHANNEL_INVITE_NAK, PHASE_SERVICE); // ÃÊ´ë ´ë»óÀÚ°¡ ä³Î Ãʴ븦 °ÅºÎÇϰųª Â÷´ÜÇßÀ» ¶§ È£ÃâµÈ´Ù. HANDLER_NODE_INFO(CW_CHAT, CW_CHAT_CHANNEL_OUT_SYN, PHASE_SERVICE); HANDLER_NODE_INFO(CW_CHAT, CW_CHAT_CHANNEL_INFO_REQ, PHASE_SERVICE); //---------------------------------------------------------------------------------------------- // Handler_CW.Friend.cpp //---------------------------------------------------------------------------------------------- HANDLER_NODE_INFO(CW_FRIEND, CW_FRIEND_NEWLIST_SYN, PHASE_SERVICE); HANDLER_NODE_INFO(CW_FRIEND, CW_FRIEND_ADD_SYN, PHASE_SERVICE); //HANDLER_NODE_INFO(CW_FRIEND, CW_FRIEND_OK_SYN, PHASE_SERVICE); //HANDLER_NODE_INFO(CW_FRIEND, CW_FRIEND_NO_SYN, PHASE_SERVICE); HANDLER_NODE_INFO(CW_FRIEND, CW_FRIEND_DEL_SYN, PHASE_SERVICE); HANDLER_NODE_INFO(CW_FRIEND, CW_FRIEND_BLOCK_SYN, PHASE_SERVICE); HANDLER_NODE_INFO(CW_FRIEND, CW_FRIEND_BLOCK_FREE_SYN, PHASE_SERVICE); HANDLER_NODE_INFO(CW_FRIEND, CW_FRIEND_CHAT_SYN, PHASE_SERVICE); HANDLER_NODE_INFO(CW_FRIEND, CW_FRIEND_CHATBLOCK_SYN, PHASE_SERVICE); HANDLER_NODE_INFO(CW_FRIEND, CW_FRIEND_MEMO_UPDATE_SYN, PHASE_SERVICE); //_NA_0_20100527_ADD_CHAR_RELATION_MEMO HANDLER_NODE_INFO(CW_FRIEND, CW_FRIEND_STATUS_REQ, PHASE_SERVICE); HANDLER_NODE_INFO(CW_FRIEND, CW_FRIEND_STATUS_JOIN_SYN, PHASE_SERVICE); HANDLER_NODE_INFO(CW_REVENGE, CW_REVENGE_DEL_SYN, PHASE_SERVICE); //---------------------------------------------------------------------------------------------- // Handler_CW.Memo.cpp //---------------------------------------------------------------------------------------------- HANDLER_NODE_INFO(CW_MEMO, CW_MEMO_SEND_SYN, PHASE_SERVICE); HANDLER_NODE_INFO(CW_MEMO, CW_MEMO_LIST_REQ, PHASE_SERVICE); HANDLER_NODE_INFO(CW_MEMO, CW_MEMO_VIEW_REQ, PHASE_SERVICE); HANDLER_NODE_INFO(CW_MEMO, CW_MEMO_DELETE_SYN, PHASE_SERVICE); //---------------------------------------------------------------------------------------------- // Handler_CW.Guild.cpp //---------------------------------------------------------------------------------------------- HANDLER_NODE_INFO(CW_GUILD, CW_GUILD_CHAT_SYN, PHASE_SERVICE); HANDLER_NODE_INFO(CW_GUILD, CW_GUILD_WAREHOUSE_LOGLIST_REQ, PHASE_SERVICE); HANDLER_NODE_INFO(CW_GUILD, CW_GUILD_SELECT_NOTICE_SYN, PHASE_SERVICE); HANDLER_NODE_INFO(CW_GUILD, CW_GUILD_CHANGE_NOTICE_SYN, PHASE_SERVICE); HANDLER_NODE_INFO(CW_GUILD, CW_DOMINATION_RETURN_HEIM_CMD, PHASE_SERVICE); //---------------------------------------------------------------------------------------------- // Handler_CW.Group.cpp //---------------------------------------------------------------------------------------------- // implemented by __KR_001355_20090608_GROUPINGSYSTEM_CW = { HANDLER_NODE_INFO(CW_GROUP, CW_GROUP_ADD_SYN, PHASE_SERVICE); //±×·ì ¸â¹ö Ãß°¡ ¿äû HANDLER_NODE_INFO(CW_GROUP, CW_GROUP_GROUPLIST_REQ, PHASE_SERVICE); //±×·ì ¸®½ºÆ® ¿äû HANDLER_NODE_INFO(CW_GROUP, CW_GROUP_ADD_RESPONSE_ACK, PHASE_SERVICE);//±×·ì ¸â¹ö Ãß°¡ ¿äû ¼º°ø ÀÀ´ä HANDLER_NODE_INFO(CW_GROUP, CW_GROUP_ADD_RESPONSE_NAK, PHASE_SERVICE);//±×·ì ¸â¹ö Ãß°¡ ¿äû ½ÇÆÐ ÀÀ´ä HANDLER_NODE_INFO(CW_GROUP, CW_GROUP_STATUS_REQ, PHASE_SERVICE); //±×·ì ¸â¹ö »ó¼¼ Á¤º¸ ¿äû HANDLER_NODE_INFO(CW_GROUP, CW_GROUP_DEL_SYN, PHASE_SERVICE); //±×·ì ¸â¹ö »èÁ¦ ¿äû HANDLER_NODE_INFO(CW_GROUP, CW_GROUP_ADDBLOCK_SYN, PHASE_SERVICE); //±×·ì ¸É¹ö Ãß°¡ °ÅºÎ Åä±Û ¿äû HANDLER_NODE_INFO(CW_GROUP, CW_GROUP_RESTOR_CMD, PHASE_SERVICE); //±×·ì Á¤º¸ Àç¿äû // }; end of '__KR_001355_20090608_GROUPINGSYSTEM_CW' }; }}; //end of namespace //================================================================================================== #endif //WORLDSERVER_HANDLER_CW_H