knightonline/server/shared/packets.h

824 lines
26 KiB
C
Raw Blame History

#pragma once
#define WIZ_LOGIN 0x01 // Account Login
#define WIZ_NEW_CHAR 0x02 // Create Character DB
#define WIZ_DEL_CHAR 0x03 // Delete Character DB
#define WIZ_SEL_CHAR 0x04 // Select Character
#define WIZ_SEL_NATION 0x05 // Select Nation
#define WIZ_MOVE 0x06 // Move ( 1 Second )
#define WIZ_USER_INOUT 0x07 // User Info Insert, delete
#define WIZ_ATTACK 0x08 // General Attack
#define WIZ_ROTATE 0x09 // Rotate
#define WIZ_NPC_INOUT 0x0A // Npc Info Insert, delete
#define WIZ_NPC_MOVE 0x0B // Npc Move ( 1 Second )
#define WIZ_ALLCHAR_INFO_REQ 0x0C // Account All Character Info Request
#define WIZ_GAMESTART 0x0D // Request Other User, Npc Info
#define WIZ_MYINFO 0x0E // User Detail Data Download
#define WIZ_LOGOUT 0x0F // Request Logout
#define WIZ_CHAT 0x10 // User Chatting..
#define WIZ_DEAD 0x11 // User Dead
#define WIZ_REGENE 0x12 // User Regeneration
#define WIZ_TIME 0x13 // Game Timer
#define WIZ_WEATHER 0x14 // Game Weather
#define WIZ_REGIONCHANGE 0x15 // Region UserInfo Receive
#define WIZ_REQ_USERIN 0x16 // Client Request UnRegistered User List
#define WIZ_HP_CHANGE 0x17 // Current HP Download
#define WIZ_MSP_CHANGE 0x18 // Current MP Download
#define WIZ_ITEM_LOG 0x19 // Send To Agent for Writing Log
#define WIZ_EXP_CHANGE 0x1A // Current EXP Download
#define WIZ_LEVEL_CHANGE 0x1B // Max HP, MP, SP, Weight, Exp Download
#define WIZ_NPC_REGION 0x1C // Npc Region Change Receive
#define WIZ_REQ_NPCIN 0x1D // Client Request UnRegistered NPC List
#define WIZ_WARP 0x1E // User Remote Warp
#define WIZ_ITEM_MOVE 0x1F // User Item Move
#define WIZ_NPC_EVENT 0x20 // User Click Npc Event
#define WIZ_ITEM_TRADE 0x21 // Item Trade
#define WIZ_TARGET_HP 0x22 // Attack Result Target HP
#define WIZ_ITEM_DROP 0x23 // Zone Item Insert
#define WIZ_BUNDLE_OPEN_REQ 0x24 // Zone Item list Request
#define WIZ_TRADE_NPC 0x25 // ITEM Trade start
#define WIZ_ITEM_GET 0x26 // Zone Item Get
#define WIZ_ZONE_CHANGE 0x27 // Zone Change
#define WIZ_POINT_CHANGE 0x28 // Str, Sta, dex, intel, cha, point up down
#define WIZ_STATE_CHANGE 0x29 // User Sitdown or Stand
#define WIZ_LOYALTY_CHANGE 0x2A // Nation Contribution
#define WIZ_VERSION_CHECK 0x2B // Client version check
#define WIZ_CRYPTION 0x2C // Cryption
#define WIZ_USERLOOK_CHANGE 0x2D // User Slot Item Resource Change
#define WIZ_NOTICE 0x2E // Update Notice Alarm
#define WIZ_PARTY 0x2F // Party Related Packet
#define WIZ_EXCHANGE 0x30 // Exchange Related Packet
#define WIZ_MAGIC_PROCESS 0x31 // Magic Related Packet
#define WIZ_SKILLPT_CHANGE 0x32 // User changed particular skill point
#define WIZ_OBJECT_EVENT 0x33 // Map Object Event Occur ( ex : Bind Point Setting )
#define WIZ_CLASS_CHANGE 0x34 // 10 level over can change class
#define WIZ_CHAT_TARGET 0x35 // Select Private Chanting User
#define WIZ_CONCURRENTUSER 0x36 // Current Game User Count
#define WIZ_DATASAVE 0x37 // User GameData DB Save Request
#define WIZ_DURATION 0x38 // Item Durability Change
#define WIZ_TIMENOTIFY 0x39 // Time Adaption Magic Time Notify Packet ( 2 Seconds )
#define WIZ_REPAIR_NPC 0x3A // Item Trade, Upgrade and Repair
#define WIZ_ITEM_REPAIR 0x3B // Item Repair Processing
#define WIZ_KNIGHTS_PROCESS 0x3C // Knights Related Packet..
#define WIZ_ITEM_COUNT_CHANGE 0x3D // Item cout change.
#define WIZ_KNIGHTS_LIST 0x3E // All Knights List Info download
#define WIZ_ITEM_REMOVE 0x3F // Item Remove from inventory
#define WIZ_OPERATOR 0x40 // Operator Authority Packet
#define WIZ_SPEEDHACK_CHECK 0x41 // Speed Hack Using Check
#define WIZ_COMPRESS_PACKET 0x42 // Data Compressing Packet
#define WIZ_SERVER_CHECK 0x43 // Server Status Check Packet
#define WIZ_CONTINOUS_PACKET 0x44 // Region Data Packet
#define WIZ_WAREHOUSE 0x45 // Warehouse Open, In, Out
#define WIZ_SERVER_CHANGE 0x46 // When you change the server
#define WIZ_REPORT_BUG 0x47 // Report Bug to the manager
#define WIZ_HOME 0x48 // 'Come back home' by Seo Taeji & Boys
#define WIZ_FRIEND_PROCESS 0x49 // Get the status of your friend
#define WIZ_GOLD_CHANGE 0x4A // When you get the gold of your enemy.
#define WIZ_WARP_LIST 0x4B // Warp List by NPC or Object
#define WIZ_VIRTUAL_SERVER 0x4C // Battle zone Server Info packet (IP, Port)
#define WIZ_ZONE_CONCURRENT 0x4D // Battle zone concurrent users request packet
#define WIZ_CORPSE 0x4e // To have your corpse have an ID on top of it.
#define WIZ_PARTY_BBS 0x4f // For the party wanted bulletin board service..
#define WIZ_MARKET_BBS 0x50 // For the market bulletin board service...
#define WIZ_KICKOUT 0x51 // Account ID forbid duplicate connection
#define WIZ_CLIENT_EVENT 0x52 // Client Event (for quest)
#define WIZ_MAP_EVENT 0x53 // Ŭ¶óÀÌ¾ðÆ®¿¡¼­ ¹«½¼ ¿¡ÄÚ·Î ¾²°í ÀÖµ¥¿ä.
#define WIZ_WEIGHT_CHANGE 0x54 // Notify change of weight
#define WIZ_SELECT_MSG 0x55 // Select Event Message...
#define WIZ_NPC_SAY 0x56 // Select Event Message...
#define WIZ_BATTLE_EVENT 0x57 // Battle Event Result
#define WIZ_AUTHORITY_CHANGE 0x58 // Authority change
#define WIZ_EDIT_BOX 0x59 // Activate/Receive info from Input_Box.
#define WIZ_SANTA 0x5A // Activate motherfucking Santa Claus!!! :(
#define WIZ_ITEM_UPGRADE 0x5B
#define WIZ_PACKET1 0x5C
#define WIZ_PACKET2 0x5D
#define WIZ_ZONEABILITY 0x5E
#define WIZ_EVENT 0x5F
#define WIZ_STEALTH 0x60 // stealth related.
#define WIZ_ROOM_PACKETPROCESS 0x61 // room system
#define WIZ_ROOM 0x62
#define WIZ_PACKET3 0x63 // new clan
#define WIZ_QUEST 0x64
#define WIZ_PACKET4 0x65 // login
#define WIZ_KISS 0x66
#define WIZ_RECOMMEND_USER 0x67
#define WIZ_MERCHANT 0x68
#define WIZ_MERCHANT_INOUT 0x69
#define WIZ_SHOPPING_MALL 0x6A
#define WIZ_SERVER_INDEX 0x6B
#define WIZ_EFFECT 0x6C
#define WIZ_SIEGE 0x6D
#define WIZ_NAME_CHANGE 0x6E
#define WIZ_WEBPAGE 0x6F
#define WIZ_CAPE 0x70
#define WIZ_PREMIUM 0x71
#define WIZ_HACKTOOL 0x72
#define WIZ_RENTAL 0x73
#define WIZ_PACKET5 0x74 //s<>reli item
#define WIZ_CHALLENGE 0x75
#define WIZ_PET 0x76
#define WIZ_CHINA 0x77 // we shouldn't need to worry about this
#define WIZ_KING 0x78
#define WIZ_SKILLDATA 0x79
#define WIZ_PROGRAMCHECK 0x7A
#define WIZ_BIFROST 0x7B
#define WIZ_REPORT 0x7C
#define WIZ_LOGOSSHOUT 0x7D
#define WIZ_PACKET6 0x7E
#define WIZ_PACKET7 0x7F
#define WIZ_RANK 0x80
#define WIZ_STORY 0x81
#define WIZ_NATION_CHANGE 0x82
#define WIZ_PACKET9 0x83
#define WIZ_PACKET10 0x84
#define WIZ_CAPTURE 0x85
#define WIZ_MINING 0x86
#define WIZ_HELMET 0x87
#define WIZ_PVP 0x88
#define WIZ_CHANGE_HAIR 0x89 // Changes hair colour/facial features at character selection
#define WIZ_PACKET12 0x8A
#define WIZ_VIP_STORAGE 0x8B
#define WIZ_PACKET14 0x8C
#define WIZ_GENDER_CHANGE 0x8D
#define WIZ_PACKET16 0x8E
#define WIZ_PACKET17 0x8F
#define WIZ_DEATH_LIST 0x90
#define WIZ_CLANPOINTS_BATTLE 0x91 // not sure
#define WIZ_NATION_CHAT 0x19
#define WIZ_GENIE 0x97
#define WIZ_USER_INFO 0x98
#define WIZ_ACHIEVE 0x99
#define WIZ_EXP_SEAL 0x9A
#define WIZ_SP_CHANGE 0x9B
#define WIZ_GLOGIN 0x9F
#define WIZ_TEST_PACKET 0xff // Test packet
enum CoinChangeOpcodes
{
CoinGain = 1,
CoinLoss = 2,
CoinEvent = 5
};
////////////////////////////////////////////////////////////////
// chat define
////////////////////////////////////////////////////////////////
enum ChatType
{
GENERAL_CHAT = 1,
PRIVATE_CHAT = 2,
PARTY_CHAT = 3,
FORCE_CHAT = 4,
SHOUT_CHAT = 5,
KNIGHTS_CHAT = 6,
PUBLIC_CHAT = 7,
WAR_SYSTEM_CHAT = 8,
PERMANENT_CHAT = 9,
END_PERMANENT_CHAT = 10,
MONUMENT_NOTICE = 11,
GM_CHAT = 12,
COMMAND_CHAT = 13,
MERCHANT_CHAT = 14,
ALLIANCE_CHAT = 15,
ANNOUNCEMENT_CHAT = 17,
SEEKING_PARTY_CHAT = 19,
GM_INFO_CHAT = 21, // info window : "Level: 0, UserCount:16649" (NOTE: Think this is the missing overhead info (probably in form of a command (with args))
COMMAND_PM_CHAT = 22,
CLAN_NOTICE = 24,
KROWAZ_NOTICE = 25,
DEATH_NOTICE = 26,
CHAOS_STONE_ENEMY_NOTICE = 27, // The enemy has destroyed the Chaos stone something (Red text, middle of screen)
CHAOS_STONE_NOTICE = 28,
ANNOUNCEMENT_WHITE_CHAT = 29,/// what's it used for?
CHATROM_CHAT = 33,
NOAH_KNIGHTS_CHAT = 34
};
enum DeathNoticeType
{
DeathNoticeCoordinates = 0, // - %s defeat %s ( %d, %d ) -
DeathNotice = 1, // - %s has been defeated by %s -
DeathNoticeRival = 2, // - %s has avenged %s -
DeathNoticeNone = 0xFF
};
enum PVPOpcodes
{
PVPAssignRival = 1,
PVPRemoveRival = 2,
PVPUpdateHelmet = 5, // the helmet icon indicates the level of the anger gauge
PVPResetHelmet = 6
};
enum ZoneChangeOpcodes
{
ZoneChangeLoading = 1,
ZoneChangeLoaded = 2,
ZoneChangeTeleport = 3,
MilitaryCampChange = 4
};
enum PremiumPropertyOpCodes
{
PremiumExpRestorePercent = 0,
PremiumNoahPercent = 1,
PremiumDropPercent = 2,
PremiumBonusLoyalty = 3,
PremiumRepairDiscountPercent = 4,
PremiumItemSellPercent = 5,
PremiumExpPercent = 6
};
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
// weather define
////////////////////////////////////////////////////////////////
#define WEATHER_FINE 0x01
#define WEATHER_RAIN 0x02
#define WEATHER_SNOW 0x03
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
// Party Related subpacket define
////////////////////////////////////////////////////////////////
#define PARTY_CREATE 0x01 // Party Group Create
#define PARTY_PERMIT 0x02 // Party Insert Permit
#define PARTY_INSERT 0x03 // Party Member Insert
#define PARTY_REMOVE 0x04 // Party Member Remove
#define PARTY_DELETE 0x05 // Party Group Delete
#define PARTY_HPCHANGE 0x06 // Party Member HP change
#define PARTY_LEVELCHANGE 0x07 // Party Member Level change
#define PARTY_CLASSCHANGE 0x08 // Party Member Class Change
#define PARTY_STATUSCHANGE 0x09 // Party Member Status ( disaster, poison ) Change
#define PARTY_REGISTER 0x0A // Party Message Board Register
#define PARTY_REPORT 0x0B // Party Request Message Board Messages
#define PARTY_PROMOTE 0x1C // Promotes user to party leader
#define PARTY_ALL_STATUSCHANGE 0x1D // Sets the specified status of the selected party members to 1.
enum TradeOpcodes
{
EXCHANGE_REQ = 1,
EXCHANGE_AGREE = 2,
EXCHANGE_ADD = 3,
EXCHANGE_OTHERADD = 4,
EXCHANGE_DECIDE = 5,
EXCHANGE_OTHERDECIDE = 6,
EXCHANGE_DONE = 7,
EXCHANGE_CANCEL = 8
};
enum MerchantOpcodes
{
MERCHANT_OPEN = 1,
MERCHANT_CLOSE = 2,
MERCHANT_ITEM_ADD = 3,
MERCHANT_ITEM_CANCEL = 4,
MERCHANT_ITEM_LIST = 5,
MERCHANT_ITEM_BUY = 6,
MERCHANT_INSERT = 7,
MERCHANT_TRADE_CANCEL = 8,
MERCHANT_ITEM_PURCHASED = 9,
MERCHANT_BUY_OPEN = 0x21,
MERCHANT_BUY_INSERT = 0x22,
MERCHANT_BUY_LIST = 0x23,
MERCHANT_BUY_BUY = 0x24,
MERCHANT_BUY_SOLD = 0x25,
MERCHANT_BUY_BOUGHT = 0x26,
MERCHANT_BUY_CLOSE = 0x27,
MERCHANT_BUY_REGION_INSERT = 0x28,
MERCHANT_MENISIA_LIST = 0x30
};
enum NameChangeOpcode
{
NameChangePlayerRequest = 0, // contains the request with the player's name
NameChangeShowDialog = 1,
NameChangeInvalidName = 2,
NameChangeSuccess = 3,
NameChangeInClan = 4,
NameChangeKing = 5,
ClanNameChange = 16
};
enum ClanNameChangeOpcode
{
ClanNameChangeShowDialog = 1,
ClanNameChangeInvalidName = 2,
ClanNameChangeNotInClan = 4,
ClanNameChangeSuccess = 16
};
enum KingSystemOpcodes
{
KING_ELECTION = 1,
KING_IMPEACHMENT = 2,
KING_TAX = 3,
KING_EVENT = 4,
KING_NPC = 5,
KING_NATION_INTRO = 6
};
enum KingEventOpcodes
{
KING_EVENT_NOAH = 1,
KING_EVENT_EXP = 2,
KING_EVENT_PRIZE = 3,
KING_EVENT_FUGITIVE = 4, // not sure what this is exactly
KING_EVENT_WEATHER = 5,
KING_EVENT_NOTICE = 6
};
enum KingSystemElectionOpcodes
{
KING_ELECTION_SCHEDULE = 1,
KING_ELECTION_NOMINATE = 2,
KING_ELECTION_NOTICE_BOARD = 3,
KING_ELECTION_POLL = 4,
KING_ELECTION_RESIGN = 5
};
enum KingSystemElectionDBOpcodes
{
KING_ELECTION_UPDATE_STATUS,
KING_ELECTION_UPDATE_LIST
};
enum KingSystemCandidacyNoticeBoardOpcodes
{
KING_CANDIDACY_BOARD_WRITE = 1,
KING_CANDIDACY_BOARD_READ = 2,
// 4, 5
};
enum KingSystemImpeachmentOpcodes
{
KING_IMPEACHMENT_REQUEST = 1,
KING_IMPEACHMENT_REQUEST_ELECT = 2,
KING_IMPEACHMENT_LIST = 3,
KING_IMPEACHMENT_ELECT = 4,
KING_IMPEACHMENT_REQUEST_UI_OPEN = 8,
KING_IMPEACHMENT_ELECTION_UI_OPEN = 9
};
enum MiningSystemOpcodes
{
// Starts the mining process
MiningStart = 1,
// Every n seconds, calls this packet to see if they found anything.
MiningAttempt = 2,
// Stops the mining process
MiningStop = 3,
// Fish Stard
FishingStart = 6,
// Fish Every n seconds, calls this packet to see if they found anything.
FishingAttempt = 7,
// Fish the mining process
FishingStop = 8,
MiningThing = 10,
// Soccer handler is part of the mining handler (yuck).
MiningSoccer = 16,
};
enum MiningErrors
{
MiningResultError = 0, // "Mining failed"
MiningResultSuccess = 1, // nothing is displayed
MiningResultMiningAlready = 2, // "Mining already"
MiningResultNotMiningArea = 3, // "Not mining area"
MiningResultPreparing = 4, // "Preparing mining"
MiningResultNotPickaxe = 5, // "A pickaxe is not" (i.e. invalid equipped item, need a pickaxe)
MiningResultNothingFound = 6, // "Nothing found"
};
#define MINING_DELAY 2 // seconds
////////////////////////////////////////////////////////////////
// Magic Packet sub define
////////////////////////////////////////////////////////////////
enum MagicOpcode
{
MAGIC_CASTING = 1,
MAGIC_FLYING = 2,
MAGIC_EFFECTING = 3,
MAGIC_FAIL = 4,
MAGIC_DURATION_EXPIRED = 5, // For the removal of durational (i.e. type 3/4) skills.
MAGIC_CANCEL = 6, // When the client requests a buff to be removed.
MAGIC_CANCEL_TRANSFORMATION = 7, // When removing a transformation.
MAGIC_TYPE4_EXTEND = 8 , // Extends the time of your type4 buffs by 2 times (requires "Duration Item" (PUS))
MAGIC_TRANSFORM_LIST = 9, // Shows the transformation list
MAGIC_FAIL_TRANSFORMATION = 10, // Transformation errors
MAGIC_UNKNOWN = 12,
MAGIC_CANCEL2 = 13 // Not sure but it cancels...
};
enum e_SkillMagicFailMsg
{
SKILLMAGIC_FAIL_CASTING = -100, // "Casting failed."
SKILLMAGIC_FAIL_KILLFLYING = -101,
SKILLMAGIC_FAIL_ENDCOMBO = -102,
SKILLMAGIC_FAIL_NOEFFECT = -103, // "<skill name> failed"
SKILLMAGIC_FAIL_ATTACKZERO = -104 // "<skill name> missed"
};
////////////////////////////////////////////////////////////////
// Knights Packet sub define
////////////////////////////////////////////////////////////////
enum
{
KNIGHTS_CREATE = 0x01, // clan creation
KNIGHTS_JOIN = 0x02, // joining a clan
KNIGHTS_WITHDRAW = 0x03, // leaving a clan
KNIGHTS_REMOVE = 0x04, // removing a clan member
KNIGHTS_DESTROY = 0x05, // disbanding a clan
KNIGHTS_ADMIT = 0x06,
KNIGHTS_REJECT = 0x07,
KNIGHTS_PUNISH = 0x08,
KNIGHTS_CHIEF = 0x09,
KNIGHTS_VICECHIEF = 0x0A,
KNIGHTS_OFFICER = 0x0B,
KNIGHTS_ALLLIST_REQ = 0x0C,
KNIGHTS_MEMBER_REQ = 0x0D,
KNIGHTS_CURRENT_REQ = 0x0E,
KNIGHTS_STASH = 0x0F,
KNIGHTS_MODIFY_FAME = 0x10,
KNIGHTS_JOIN_REQ = 0x11,
KNIGHTS_LIST_REQ = 0x12,
KNIGHTS_WAR_ANSWER = 0x14,
KNIGHTS_WAR_SURRENDER = 0x15,
KNIGHTS_MARK_VERSION_REQ= 0x19,
KNIGHTS_MARK_REGISTER = 0x1A,
KNIGHTS_CAPE_NPC = 0x1B,
KNIGHTS_ALLY_CREATE = 0x1C,
KNIGHTS_ALLY_REQ = 0x1D,
KNIGHTS_ALLY_INSERT = 0x1E,
KNIGHTS_ALLY_REMOVE = 0x1F,
KNIGHTS_ALLY_PUNISH = 0x20,
KNIGHTS_ALLY_LIST = 0x22,
KNIGHTS_MARK_REQ = 0x23,
KNIGHTS_UPDATE = 0x24,
KNIGHTS_MARK_REGION_REQ = 0x25,
KNIGHTS_UPDATE_GRADE = 0x30,
KNIGHTS_POINT_REQ = 0x3B,
KNIGHTS_POINT_METHOD = 0x3C,
KNIGHTS_DONATE_POINTS = 0x3D,
KNIGHTS_HANDOVER_VICECHIEF_LIST = 0x3E,
KNIGHTS_HANDOVER_REQ = 0x3F,
KNIGHTS_DONATION_LIST = 0x40,
KNIGHTS_TOP10 = 0x41,
KNIGHTS_HANDOVER = 0x4F,
KNIGHTS_NOTICE = 0x50,
KNIGHTS_MEMO = 0x58,
// These are NOT official client opcodes.
// They are opcodes for the database thread only.
KNIGHTS_REFUND_POINTS = 0xF0,
KNIGHTS_UPDATE_FUND = 0xF1
};
enum OperatorCommands
{
OPERATOR_ARREST = 1,
OPERATOR_BAN = 2,
OPERATOR_MUTE = 3,
OPERATOR_UNMUTE = 4,
OPERATOR_CUTOFF = 5,
OPERATOR_BAN_ACCOUNT = 6,
OPERATOR_SUMMON = 7,
OPERATOR_DISABLE_ATTACK = 8,
OPERATOR_ENABLE_ATTACK = 9
};
enum DailyOperationsOpCode
{
DAILY_CHAOS_MAP = 1,
DAILY_USER_RANK_REWARD = 2,
DAILY_USER_PERSONAL_RANK_REWARD = 3,
DAILY_KING_WING = 4,
DAILY_WARDER_KILLER_WING1 = 5,
DAILY_WARDER_KILLER_WING2 = 6,
DAILY_KEEPER_KILLER_WING = 7,
DAILY_USER_LOYALTY_WING_REWARD = 8
};
enum EventOpCode
{
TEMPLE_EVENT_BORDER_DEFENCE_WAR = 4,
TEMPLE_EVENT_CHAOS = 24,
TEMPLE_EVENT_JURAD_MOUNTAIN = 100
};
enum RankTypes
{
RANK_TYPE_PK_ZONE = 1,
RANK_TYPE_ZONE_BORDER_DEFENSE_WAR = 2,
RANK_TYPE_CHAOS_DUNGEON = 3,
};
////////////////////////////////////////////////////////////////
// WareHouse Packet sub define
////////////////////////////////////////////////////////////////
#define WAREHOUSE_OPEN 0x01
#define WAREHOUSE_INPUT 0x02
#define WAREHOUSE_OUTPUT 0x03
#define WAREHOUSE_MOVE 0x04
#define WAREHOUSE_INVENMOVE 0x05
#define WAREHOUSE_REQ 0x10
////////////////////////////////////////////////////////////////
// Clan Packet sub define
////////////////////////////////////////////////////////////////
#define CLAN_CREATE 0x01
#define CLAN_JOIN 0x02
////////////////////////////////////////////////////////////////
// Class change define
////////////////////////////////////////////////////////////////
#define CLASS_CHANGE_REQ 0x01
#define CLASS_CHANGE_RESULT 0x02
#define ALL_POINT_CHANGE 0x03
#define ALL_SKILLPT_CHANGE 0x04
#define CHANGE_MONEY_REQ 0x05
#define CHANGE_REBIRTH_STAT 0x07
////////////////////////////////////////////////////////////////
// Friend subpacket define
////////////////////////////////////////////////////////////////
enum FriendOpcodes
{
FRIEND_REQUEST = 1,
FRIEND_REPORT = 2,
FRIEND_ADD = 3,
FRIEND_REMOVE = 4
};
enum TempleOpCodes
{
BIFROST_EVENT = 2,
TEMPLE_EVENT_BORDER_COUNTER = 3,
MONSTER_SQUARD = 5,
MONSTER_STONE = 6,
TEMPLE_EVENT = 7,
TEMPLE_EVENT_JOIN = 8,
TEMPLE_EVENT_DISBAND = 9,
TEMPLE_EVENT_FINISH = 10,
TEMPLE_EVENT_COUNTER = 16
};
enum FriendAddResult
{
FRIEND_ADD_SUCCESS = 0,
FRIEND_ADD_ERROR = 1,
FRIEND_ADD_FULL = 2,
FRIEND_ADD_MAX
};
enum FriendRemoveResult
{
FRIEND_REMOVE_SUCCESS = 0,
FRIEND_REMOVE_ERROR = 1,
FRIEND_REMOVE_NOT_FOUND = 2,
FRIEND_REMOVE_MAX
};
enum
{
ITEM_UPGRADE_REQ = 1,
ITEM_UPGRADE = 2,
ITEM_ACCESSORIES = 3,
ITEM_BIFROST_REQ = 4,
ITEM_BIFROST_EXCHANGE = 5,
ITEM_PET = 6,
ITEM_UPGRADE_REBIRTH = 7,
ITEM_SEAL = 8,
ITEM_CHARACTER_SEAL = 9,
ITEM_TRYITWHAT2 = 10,
ITEM_SPECIAL_EXCHANGE = 11,
ITEM_DISASSEMBLING = 13
};
////////////////////////////////////////////////////////////////
// Party BBS subpacket define
////////////////////////////////////////////////////////////////
#define PARTY_BBS_REGISTER 0x01
#define PARTY_BBS_DELETE 0x02
#define PARTY_BBS_NEEDED 0x03
#define PARTY_BBS_WANTED 0x04
#define PARTY_BBS_LIST 0x0B
////////////////////////////////////////////////////////////////
// Market BBS primary subpacket define
////////////////////////////////////////////////////////////////
#define MARKET_BBS_REGISTER 0x01
#define MARKET_BBS_DELETE 0x02
#define MARKET_BBS_REPORT 0x03
#define MARKET_BBS_OPEN 0x04
#define MARKET_BBS_REMOTE_PURCHASE 0x05
#define MARKET_BBS_MESSAGE 0x06
////////////////////////////////////////////////////////////////
// Market BBS secondary subpacket define
////////////////////////////////////////////////////////////////
#define MARKET_BBS_BUY 0x01
#define MARKET_BBS_SELL 0x02
////////////////////////////////////////////////////////////////
#define WIZ_LOGIN_INFO 0x50 // define for DBAgent Communication
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
// Server to Server Communication
////////////////////////////////////////////////////////////////
#define STS_CHAT 0xD0
#define UDP_BATTLE_EVENT_PACKET 0xD1
#define UDP_KNIGHTS_PROCESS 0xD2
#define UDP_BATTLEZONE_CURRENT_USERS 0xD3
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
// Server to DB Agnent Communication
////////////////////////////////////////////////////////////////
#define DB_COUPON_EVENT 0x10 // coupon event
#define CHECK_COUPON_EVENT 0x01
#define UPDATE_COUPON_EVENT 0x02
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
// Authority change subpacket define
////////////////////////////////////////////////////////////////
#define COMMAND_AUTHORITY 0x01
enum ShoppingMallOpcodes
{
STORE_OPEN = 1,
STORE_CLOSE = 2,
STORE_BUY = 3,
STORE_MINI = 4,
STORE_PROCESS = 5,
STORE_LETTER = 6
};
enum LetterOpcodes
{
LETTER_UNREAD = 1,
LETTER_LIST = 2,
LETTER_HISTORY = 3,
LETTER_GET_ITEM = 4,
LETTER_READ = 5,
LETTER_SEND = 6,
LETTER_DELETE = 7,
LETTER_ITEM_CHECK = 8 // ???
};
enum RentalOpcodes
{
RENTAL_PREMIUM = 1,
RENTAL_PVP = 2,
RENTAL_NPC = 3
};
enum RentalPvPOpcodes
{
RENTAL_OPEN = 0,
RENTAL_REGISTER = 1,
RENTAL_LEND = 2,
RENTAL_ITEM_CHECK = 3,
RENTAL_ITEM_CANCEL = 4,
RENTAL_REPORT = 10
};
// Skillbar
enum SkillBarOpcodes
{
SKILL_DATA_SAVE = 1,
SKILL_DATA_LOAD = 2
};
enum ObjectType
{
OBJECT_BIND = 0,
OBJECT_GATE = 1,
OBJECT_GATE2 = 2,
OBJECT_GATE_LEVER = 3,
OBJECT_FLAG_LEVER = 4,
OBJECT_WARP_GATE = 5,
OBJECT_GATE_UNK = 6,
OBJECT_REMOVE_BIND = 7,
OBJECT_ANVIL = 8,
OBJECT_ARTIFACT = 9,
OBJECT_NPC = 11
};
enum BattleWinnerTypes
{
BATTLE_WINNER_NPC = 0,
BATTLE_WINNER_KILL = 1,
BATTLE_WINNER_MONUMENT = 2
};
// ---------------------------------------------------------------------
// AI Server¿Í °ÔÀÓ¼­¹ö°£ÀÇ Npc¿¡ °ü·ÃµÈ ÆÐŶÀº 1¹ø~49¹ø
// ---------------------------------------------------------------------
const uint8 AI_SERVER_CONNECT = 1;
const uint8 NPC_INFO_ALL = 2;
const uint8 MOVE_REQ = 3;
const uint8 MOVE_RESULT = 4;
const uint8 MOVE_END_REQ = 5;
const uint8 MOVE_END_RESULT = 6;
const uint8 AG_NPC_INFO = 7;
const uint8 AG_NPC_GIVE_ITEM = 8;
const uint8 AG_NPC_GATE_OPEN = 9;
const uint8 AG_NPC_GATE_DESTORY = 10;
const uint8 AG_NPC_INOUT = 11;
const uint8 AG_NPC_EVENT_ITEM = 12;
const uint8 AG_NPC_HP_REQ = 13;
const uint8 AG_NPC_SPAWN_REQ = 14; // spawns an NPC/monster at the desired location
const uint8 AG_NPC_REGION_UPDATE = 15;
const uint8 AG_NPC_UPDATE = 16;
const uint8 AG_NPC_KILL_REQ = 17;
// ---------------------------------------------------------------------
// AI Server¿Í °ÔÀÓ¼­¹ö°£ÀÇ User, Npc °øÅë °ü·ÃµÈ ÆÐŶÀº 50¹ø~100¹ø
// ---------------------------------------------------------------------
const uint8 AG_SERVER_INFO = 50; //
const uint8 AG_ATTACK_REQ = 51; // Attck Packet
const uint8 AG_ATTACK_RESULT = 52; // Attck Packet
const uint8 AG_DEAD = 53; // Dead Packet
const uint8 AG_SYSTEM_MSG = 54; // System message Packet
const uint8 AG_CHECK_ALIVE_REQ = 55; // Server alive check
const uint8 AG_COMPRESSED_DATA = 56; // Packet Data compressed
const uint8 AG_ZONE_CHANGE = 57; // Zone change
const uint8 AG_MAGIC_ATTACK_REQ = 58; // Magic Attck Packet
const uint8 AG_MAGIC_ATTACK_RESULT = 59; // Magic Attck Packet
const uint8 AG_USER_INFO_ALL = 60; // UserÀÇ ¸ðµç Á¤º¸ Àü¼Û
const uint8 AG_LONG_MAGIC_ATTACK = 61; // Magic Attck Packet
const uint8 AG_PARTY_INFO_ALL = 62; // PartyÀÇ ¸ðµç Á¤º¸ Àü¼Û
const uint8 AG_HEAL_MAGIC = 63; // Healing magic
const uint8 AG_TIME_WEATHER = 64; // time and whether info
const uint8 AG_BATTLE_EVENT = 65; // battle event
const uint8 AG_COMPRESSED = 66;
const uint8 AG_ROOM_INIT = 67;
const uint8 AG_USER_EVENTROOM = 68;
const uint8 AG_CSW_OP_CL = 69; // update CSW open close status
const uint8 AG_CHAOS_CUBE = 70;
const uint8 AG_USER_TRANS_CHANGE = 71; // updates user ts
enum AISkillOpcode
{
AISkillOpcodeBuff, // or debuff
AISkillOpcodeRemoveBuff
};
// ---------------------------------------------------------------------
// Battle Event Sub Packet
// ---------------------------------------------------------------------
const uint8 BATTLE_EVENT_OPEN = 1; // battle event open
const uint8 BATTLE_MAP_EVENT_RESULT = 2; // battle zone map event result
const uint8 BATTLE_EVENT_RESULT = 3; // battle event result ( victory nation )
const uint8 BATTLE_EVENT_MAX_USER = 4; // battle event result ( user name )
const uint8 BATTLE_EVENT_KILL_USER = 5; // battle event result ( user kill count )
// ---------------------------------------------------------------------
// AI Server¿Í °ÔÀÓ¼­¹ö°£ÀÇ User¿¡ °ü·ÃµÈ ÆÐŶÀº 101¹ø ºÎÅÍ ½ÃÀÛ
// ---------------------------------------------------------------------
const uint8 AG_USER_INFO = 101; // UserÀÇ Á¤º¸
const uint8 AG_USER_INOUT = 102; // UserÀÇ In,Out Á¤º¸
const uint8 AG_USER_MOVE = 103; // UserÀÇ move Á¤º¸
const uint8 AG_USER_MOVEEDGE = 104; // UserÀÇ move end Á¤º¸
const uint8 AG_USER_SET_HP = 105; // UserÀÇ HP
const uint8 AG_USER_LOG_OUT = 106; // UserÀÇ LogOut
const uint8 AG_USER_REGENE = 107; // UserÀÇ Regene
const uint8 AG_USER_EXP = 108; // UserÀÇ °æÇèÄ¡
const uint8 AG_USER_UPDATE = 109; // UserÀÇ Update Info
const uint8 AG_USER_FAIL = 110; // À߸øµÈ À¯Àú ó¸®...
const uint8 AG_USER_PARTY = 111; // ÆÄƼó¸® ´ã´ç
const uint8 AG_USER_VISIBILITY = 112; // updates invisibility status
const uint8 AG_NPC_HP_CHANGE = 113; // updates an NPC's HP