#ifndef _SERVER_COMMON_PACKETSTRUCT_CHAOSZONESYSTEM_H_ #define _SERVER_COMMON_PACKETSTRUCT_CHAOSZONESYSTEM_H_ //_NA_005026_20120527_CHAOS_ZONE_BATTLE_GROUND #include "PacketStruct_AG.h" #include //AG AgentServer <-> GameServer //-------------------------------------------------------------------------------------------------- // BATTLE_GROUND //-------------------------------------------------------------------------------------------------- enum eBATTLEGROUND_PACKET_TYPE_AG { AG_BATTLE_GROUND_ENTER_TEAM_CMD = 0, AG_BATTLE_GROUND_LEAVE_CMD, AG_BATTLE_GROUND_CAN_RESERVATION_SYN, AG_BATTLE_GROUND_CAN_RESERVATION_ACK, AG_BATTLE_GROUND_STATUS_CHANGE_STATE_CMD, AG_BATTLE_GROUND_MISMATCHING_REWARD_CMD, }; struct MSG_AG_BATTLE_GROUND_PACKET : MSG_AG_CHAOS_ZONE_PACKET { eBATTLEGROUND_PACKET_TYPE_AG packet_type; MSG_AG_BATTLE_GROUND_PACKET() { category_type = kCategoryBattleGround; } }; struct MSG_AG_BATTLE_GROUND_ENTER_TEAM_CMD : MSG_AG_BATTLE_GROUND_PACKET { KEYTYPE zone_key; ChaosZoneTeam team_key; BYTE user_count; // ÀÔÀåÇÏ·Á´Â Ç÷¹ÀÌ¾î ¼ö DWORD user_key_list[10]; BYTE user_team_index_array[10]; MSG_AG_BATTLE_GROUND_ENTER_TEAM_CMD() { packet_type = AG_BATTLE_GROUND_ENTER_TEAM_CMD; zone_key = 0; team_key = kChaosZoneTeamNone; user_count = 0; ZeroMemory(user_key_list, sizeof(user_key_list)); ZeroMemory(user_team_index_array, sizeof(user_team_index_array)); } }; struct MSG_AG_BATTLE_GROUND_LEAVE_CMD : MSG_AG_BATTLE_GROUND_PACKET { ZONEKEY zone_key; MSG_AG_BATTLE_GROUND_LEAVE_CMD() { packet_type = AG_BATTLE_GROUND_LEAVE_CMD; zone_key = 0; } }; struct MSG_AG_BATTLE_GROUND_CAN_RESERVATION_SYN : MSG_AG_BATTLE_GROUND_PACKET { MAPCODE map_code; bool is_healer; MSG_AG_BATTLE_GROUND_CAN_RESERVATION_SYN() { packet_type = AG_BATTLE_GROUND_CAN_RESERVATION_SYN; map_code = 0; is_healer = false; } }; struct MSG_AG_BATTLE_GROUND_CAN_RESERVATION_ACK : MSG_AG_BATTLE_GROUND_PACKET { MAPCODE map_code; RC::eBATTLE_GROUND_RESULT result_code; DWORD equip_item_score; //>>ÀåºñÆòÁ¡ eCHAR_TYPE class_code; //>>Ŭ·¡½º ÄÚµå bool is_healer; //>>Èú·¯¿©ºÎ MSG_AG_BATTLE_GROUND_CAN_RESERVATION_ACK() { map_code = 0; equip_item_score = 0; class_code = eCHAR_NONE; is_healer = false; packet_type = AG_BATTLE_GROUND_CAN_RESERVATION_ACK; } }; struct MSG_AG_BATTLE_GROUND_STATUS_CHANGE_STATE_CMD : MSG_AG_BATTLE_GROUND_PACKET { ePLAYER_BEHAVE_STATE behave_sate; MSG_AG_BATTLE_GROUND_STATUS_CHANGE_STATE_CMD() { packet_type = AG_BATTLE_GROUND_STATUS_CHANGE_STATE_CMD; behave_sate = PLAYER_BEHAVE_IDLE_STATE; } }; struct MSG_AG_BATTLE_GROUND_MISMATCHING_REWARD_CMD : MSG_AG_BATTLE_GROUND_PACKET { USERGUID user_guid; eBATTLEGROUND_RESULT result_type; MAPCODE battleground_mapcode; MSG_AG_BATTLE_GROUND_MISMATCHING_REWARD_CMD() { packet_type = AG_BATTLE_GROUND_MISMATCHING_REWARD_CMD; user_guid = 0; result_type = eBG_RESULT_NONE; battleground_mapcode = 0; } }; //-------------------------------------------------------------------------------------------------- // FREE_PVP //-------------------------------------------------------------------------------------------------- enum eFREEPVP_PACKET_TYPE_AG { AG_FREE_PVP_LEAVE_ROOM_CMD, AG_FREE_PVP_ACTIVE_CMD, }; struct MSG_AG_FREE_PVP_PACKET : MSG_AG_CHAOS_ZONE_PACKET { eFREEPVP_PACKET_TYPE_AG packet_type; MSG_AG_FREE_PVP_PACKET() { category_type = kCategoryFreePVP; } }; struct MSG_AG_FREE_PVP_LEAVE_ROOM_CMD : MSG_AG_FREE_PVP_PACKET { ZONEKEY zone_key; MSG_AG_FREE_PVP_LEAVE_ROOM_CMD() { packet_type = AG_FREE_PVP_LEAVE_ROOM_CMD; zone_key = 0; } }; struct MSG_AG_FREE_PVP_ACTIVE_CMD : MSG_AG_FREE_PVP_PACKET { bool is_free_pvp_active; MSG_AG_FREE_PVP_ACTIVE_CMD() { packet_type = AG_FREE_PVP_ACTIVE_CMD; is_free_pvp_active = false; } }; #ifdef _NA_007065_20140217_CHAOSZONE_GOLDRUSH //-------------------------------------------------------------------------------------------------- // GOLDRUSH //-------------------------------------------------------------------------------------------------- enum eGOLDRUSH_PACKET_TYPE_AG { AG_GOLDRUSH_ENTER_TEAM_CMD = 0, AG_GOLDRUSH_LEAVE_CMD, AG_GOLDRUSH_CAN_RESERVATION_SYN, AG_GOLDRUSH_CAN_RESERVATION_ACK, AG_GOLDRUSH_STATUS_CHANGE_STATE_CMD, }; struct MSG_AG_GOLDRUSH_PACKET : MSG_AG_CHAOS_ZONE_PACKET { eGOLDRUSH_PACKET_TYPE_AG packet_type; MSG_AG_GOLDRUSH_PACKET() { category_type = eCHAOSZONE_CATEGORY_GOLDRUSH; } }; struct MSG_AG_GOLDRUSH_CAN_RESERVATION_SYN : MSG_AG_GOLDRUSH_PACKET { MAPCODE map_code; bool is_healer; MSG_AG_GOLDRUSH_CAN_RESERVATION_SYN() { packet_type = AG_GOLDRUSH_CAN_RESERVATION_SYN; map_code = 0; is_healer = false; } }; struct MSG_AG_GOLDRUSH_CAN_RESERVATION_ACK : MSG_AG_GOLDRUSH_PACKET { MAPCODE map_code; RC::eBATTLE_GROUND_RESULT result_code; DWORD equip_item_score; //>>ÀåºñÆòÁ¡ eCHAR_TYPE class_code; //>>Ŭ·¡½º ÄÚµå bool is_healer; //>>Èú·¯¿©ºÎ MSG_AG_GOLDRUSH_CAN_RESERVATION_ACK() { map_code = 0; equip_item_score = 0; class_code = eCHAR_NONE; is_healer = false; packet_type = AG_GOLDRUSH_CAN_RESERVATION_ACK; } }; struct MSG_AG_GOLDRUSH_STATUS_CHANGE_STATE_CMD : MSG_AG_GOLDRUSH_PACKET { ePLAYER_BEHAVE_STATE behave_sate; MSG_AG_GOLDRUSH_STATUS_CHANGE_STATE_CMD() { packet_type = AG_GOLDRUSH_STATUS_CHANGE_STATE_CMD; behave_sate = PLAYER_BEHAVE_IDLE_STATE; } }; struct MSG_AG_GOLDRUSH_LEAVE_CMD : MSG_AG_GOLDRUSH_PACKET { ZONEKEY zone_key; MSG_AG_GOLDRUSH_LEAVE_CMD() { packet_type = AG_GOLDRUSH_LEAVE_CMD; zone_key = 0; } }; struct MSG_AG_GOLDRUSH_ENTER_TEAM_CMD : MSG_AG_GOLDRUSH_PACKET { KEYTYPE zone_key; ChaosZoneTeam team_key; BYTE user_count; // ÀÔÀåÇÏ·Á´Â Ç÷¹ÀÌ¾î ¼ö DWORD user_key_list[10]; MSG_AG_GOLDRUSH_ENTER_TEAM_CMD() { packet_type = AG_GOLDRUSH_ENTER_TEAM_CMD; zone_key = 0; team_key = kChaosZoneTeamNone; user_count = 0; ZeroMemory(user_key_list, sizeof(user_key_list)); } }; #endif //_NA_007065_20140217_CHAOSZONE_GOLDRUSH #ifdef _NA_008334_20150608_SONNENSCHEIN //-------------------------------------------------------------------------------------------------- // SONNENSCHEIN //-------------------------------------------------------------------------------------------------- enum eSONNENSCHEIN_PACKET_TYPE_AG { AG_SONNENSCHEIN_REQUEST_GUID_SYN = 0, AG_SONNENSCHEIN_REQUEST_GUID_ACK, AG_SONNENSCHEIN_KICKUSER_CMD, AG_SONNENSCHEIN_ROOM_DESTROY_CMD, AG_SONNENSCHEIN_STAMP_COMPLETE_CMD, AG_SONNENSCHEIN_ENTER_CHECK_SYN, AG_SONNENSCHEIN_ENTER_CHECK_ACK, }; struct MSG_AG_SONNENSCHEIN_PACKET : MSG_AG_CHAOS_ZONE_PACKET { eSONNENSCHEIN_PACKET_TYPE_AG packet_type; MSG_AG_SONNENSCHEIN_PACKET() { category_type = eCHAOSZONE_CATEGORY_SONNENSCHEIN; } }; struct MSG_AG_SONNENSCHEIN_REQUEST_GUID_SYN : MSG_AG_SONNENSCHEIN_PACKET { //»ý¼ºµÈ sonnenschein ·ëŰ KEYTYPE room_key; MSG_AG_SONNENSCHEIN_REQUEST_GUID_SYN() { packet_type = AG_SONNENSCHEIN_REQUEST_GUID_SYN; room_key = 0; } }; struct MSG_AG_SONNENSCHEIN_REQUEST_GUID_ACK : MSG_AG_SONNENSCHEIN_PACKET { //»ý¼ºµÈ sonnenschein ·ëŰ KEYTYPE room_key; CHARGUID creater_char_guid_; GUILDGUID creater_guild_guid_; MSG_AG_SONNENSCHEIN_REQUEST_GUID_ACK() { packet_type = AG_SONNENSCHEIN_REQUEST_GUID_ACK; room_key = 0; creater_char_guid_ = 0; creater_guild_guid_ = 0; } }; struct MSG_AG_SONNENSCHEIN_KICKUSER_CMD : MSG_AG_SONNENSCHEIN_PACKET { //room_key°¡ 0ÀÌ¸é ¸ðµç ±æµå´ë»ó //room_key °ªÀÌ Á¸ÀçÇÏ¸é Æ¯Á¤ room ´ë»óÀ¸·Î ÇÑ´Ù KEYTYPE room_key; MSG_AG_SONNENSCHEIN_KICKUSER_CMD() { room_key = 0; packet_type = AG_SONNENSCHEIN_KICKUSER_CMD; } }; struct MSG_AG_SONNENSCHEIN_ROOM_DESTROY_CMD : MSG_AG_SONNENSCHEIN_PACKET { KEYTYPE room_key; MSG_AG_SONNENSCHEIN_ROOM_DESTROY_CMD() { room_key = 0; packet_type = AG_SONNENSCHEIN_ROOM_DESTROY_CMD; } }; struct MSG_AG_SONNENSCHEIN_STAMP_COMPLETE_CMD : MSG_AG_SONNENSCHEIN_PACKET { KEYTYPE room_key; MSG_AG_SONNENSCHEIN_STAMP_COMPLETE_CMD() { room_key = 0; packet_type = AG_SONNENSCHEIN_STAMP_COMPLETE_CMD; } }; struct MSG_AG_SONNENSCHEIN_ENTER_CHECK_SYN : MSG_AG_SONNENSCHEIN_PACKET { MSG_AG_SONNENSCHEIN_ENTER_CHECK_SYN() { packet_type = AG_SONNENSCHEIN_ENTER_CHECK_SYN; entrance_item_code = 0; map_code = 0; } SLOTCODE entrance_item_code; MAPCODE map_code; }; struct MSG_AG_SONNENSCHEIN_ENTER_CHECK_ACK : MSG_AG_SONNENSCHEIN_PACKET { MSG_AG_SONNENSCHEIN_ENTER_CHECK_ACK() { packet_type = AG_SONNENSCHEIN_ENTER_CHECK_ACK; result_code = RC::RC_SONNENSCHEIN_FAILED; } RC::eSONNENSCHEIN_RESULT result_code; }; #endif //_NA_008334_20150608_SONNENSCHEIN #ifdef _NA_008543_20151027_ONE_DAYS_GUILD_MISSION //-------------------------------------------------------------------------------------------------- // ONEDAYSGUILDMISSION //-------------------------------------------------------------------------------------------------- enum eONEDAYSGUILDMISSION_PACKET_TYPE_AG { AG_ONEDAYSGUILDMISSION_KICKUSER_CMD = 0, AG_ONEDAYSGUILDMISSION_ROOM_DESTROY_CMD, AG_ONEDAYSGUILDMISSION_LEAVE_ROOM_CMD, AG_ONEDAYSGUILDMISSION_ENTER_CHECK_SYN, AG_ONEDAYSGUILDMISSION_ENTER_CHECK_ACK, AG_ONEDAYSGUILDMISSION_TIME_STATE_CMD, }; struct MSG_AG_ONEDAYSGUILDMISSION_PACKET : MSG_AG_CHAOS_ZONE_PACKET { eONEDAYSGUILDMISSION_PACKET_TYPE_AG packet_type; MSG_AG_ONEDAYSGUILDMISSION_PACKET() { category_type = eCHAOSZONE_CATEGORY_ONEDAYSGUILDMISSION; } }; struct MSG_AG_ONEDAYSGUILDMISSION_KICKUSER_CMD : MSG_AG_ONEDAYSGUILDMISSION_PACKET { //room_key°¡ 0ÀÌ¸é ¸ðµç ±æµå´ë»ó //room_key °ªÀÌ Á¸ÀçÇÏ¸é Æ¯Á¤ room ´ë»óÀ¸·Î ÇÑ´Ù KEYTYPE room_key; MSG_AG_ONEDAYSGUILDMISSION_KICKUSER_CMD() { room_key = 0; packet_type = AG_ONEDAYSGUILDMISSION_KICKUSER_CMD; } }; struct MSG_AG_ONEDAYSGUILDMISSION_ROOM_DESTROY_CMD : MSG_AG_ONEDAYSGUILDMISSION_PACKET { KEYTYPE room_key; MSG_AG_ONEDAYSGUILDMISSION_ROOM_DESTROY_CMD() { room_key = 0; packet_type = AG_ONEDAYSGUILDMISSION_ROOM_DESTROY_CMD; } }; struct MSG_AG_ONEDAYSGUILDMISSION_LEAVE_ROOM_CMD : MSG_AG_ONEDAYSGUILDMISSION_PACKET { ZONEKEY zone_key; MSG_AG_ONEDAYSGUILDMISSION_LEAVE_ROOM_CMD() { zone_key = 0; packet_type = AG_ONEDAYSGUILDMISSION_LEAVE_ROOM_CMD; } }; struct MSG_AG_ONEDAYSGUILDMISSION_ENTER_CHECK_SYN : MSG_AG_ONEDAYSGUILDMISSION_PACKET { MSG_AG_ONEDAYSGUILDMISSION_ENTER_CHECK_SYN() { packet_type = AG_ONEDAYSGUILDMISSION_ENTER_CHECK_SYN; entrance_item_code = 0; map_code = 0; pass_require_item_check = FALSE; } SLOTCODE entrance_item_code; MAPCODE map_code; BOOL pass_require_item_check; }; struct MSG_AG_ONEDAYSGUILDMISSION_ENTER_CHECK_ACK : MSG_AG_ONEDAYSGUILDMISSION_PACKET { MSG_AG_ONEDAYSGUILDMISSION_ENTER_CHECK_ACK() { packet_type = AG_ONEDAYSGUILDMISSION_ENTER_CHECK_ACK; result_code = RC::RC_ONEDAYSGUILDMISSION_FAILED; } RC::eONEDAYSGUILDMISSION_RESULT result_code; }; struct MSG_AG_ONEDAYSGUILDMISSION_TIME_STATE_CMD : MSG_AG_ONEDAYSGUILDMISSION_PACKET { KEYTYPE room_key_; BYTE event_state_; DWORD remain_time_; //¹Ð¸®¼¼ÄÁµå MSG_AG_ONEDAYSGUILDMISSION_TIME_STATE_CMD() { packet_type = AG_ONEDAYSGUILDMISSION_TIME_STATE_CMD; room_key_ = 0; event_state_ = 0; remain_time_ = 0; } }; #endif //(_NA_008543_20151027_ONE_DAYS_GUILD_MISSION) #endif //_SERVER_COMMON_PACKETSTRUCT_CHAOSZONESYSTEM_H_