Advertisement
yossi12

tables.h (Common)

Sep 5th, 2021
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 29.55 KB | None | 0 0
  1. #ifndef __INC_TABLES_H__
  2. #define __INC_TABLES_H__
  3.  
  4. #include "length.h"
  5. #include "item_length.h"
  6. #include "CommonDefines.h"
  7.  
  8. typedef DWORD IDENT;
  9.  
  10.  
  11. enum
  12. {
  13. HEADER_GD_LOGIN = 1,
  14. HEADER_GD_LOGOUT = 2,
  15.  
  16. HEADER_GD_PLAYER_LOAD = 3,
  17. HEADER_GD_PLAYER_SAVE = 4,
  18. HEADER_GD_PLAYER_CREATE = 5,
  19. HEADER_GD_PLAYER_DELETE = 6,
  20.  
  21. HEADER_GD_LOGIN_KEY = 7,
  22. // 8 empty
  23. HEADER_GD_BOOT = 9,
  24. HEADER_GD_PLAYER_COUNT = 10,
  25. HEADER_GD_QUEST_SAVE = 11,
  26. HEADER_GD_SAFEBOX_LOAD = 12,
  27. HEADER_GD_SAFEBOX_SAVE = 13,
  28. HEADER_GD_SAFEBOX_CHANGE_SIZE = 14,
  29. HEADER_GD_EMPIRE_SELECT = 15,
  30.  
  31. HEADER_GD_SAFEBOX_CHANGE_PASSWORD = 16,
  32. HEADER_GD_SAFEBOX_CHANGE_PASSWORD_SECOND = 17, // Not really a packet, used internal
  33. HEADER_GD_DIRECT_ENTER = 18,
  34.  
  35. HEADER_GD_GUILD_SKILL_UPDATE = 19,
  36. HEADER_GD_GUILD_EXP_UPDATE = 20,
  37. HEADER_GD_GUILD_ADD_MEMBER = 21,
  38. HEADER_GD_GUILD_REMOVE_MEMBER = 22,
  39. HEADER_GD_GUILD_CHANGE_GRADE = 23,
  40. HEADER_GD_GUILD_CHANGE_MEMBER_DATA = 24,
  41. HEADER_GD_GUILD_DISBAND = 25,
  42. HEADER_GD_GUILD_WAR = 26,
  43. HEADER_GD_GUILD_WAR_SCORE = 27,
  44. HEADER_GD_GUILD_CREATE = 28,
  45.  
  46. HEADER_GD_ITEM_SAVE = 30,
  47. HEADER_GD_ITEM_DESTROY = 31,
  48.  
  49. HEADER_GD_ADD_AFFECT = 32,
  50. HEADER_GD_REMOVE_AFFECT = 33,
  51.  
  52. HEADER_GD_HIGHSCORE_REGISTER = 34,
  53. HEADER_GD_ITEM_FLUSH = 35,
  54.  
  55. HEADER_GD_PARTY_CREATE = 36,
  56. HEADER_GD_PARTY_DELETE = 37,
  57. HEADER_GD_PARTY_ADD = 38,
  58. HEADER_GD_PARTY_REMOVE = 39,
  59. HEADER_GD_PARTY_STATE_CHANGE = 40,
  60. HEADER_GD_PARTY_HEAL_USE = 41,
  61.  
  62. HEADER_GD_FLUSH_CACHE = 42,
  63. HEADER_GD_RELOAD_PROTO = 43,
  64.  
  65. HEADER_GD_CHANGE_NAME = 44,
  66. HEADER_GD_SMS = 45,
  67.  
  68. HEADER_GD_GUILD_CHANGE_LADDER_POINT = 46,
  69. HEADER_GD_GUILD_USE_SKILL = 47,
  70.  
  71. HEADER_GD_REQUEST_EMPIRE_PRIV = 48,
  72. HEADER_GD_REQUEST_GUILD_PRIV = 49,
  73.  
  74. HEADER_GD_MONEY_LOG = 50,
  75.  
  76. HEADER_GD_GUILD_DEPOSIT_MONEY = 51,
  77. HEADER_GD_GUILD_WITHDRAW_MONEY = 52,
  78. HEADER_GD_GUILD_WITHDRAW_MONEY_GIVE_REPLY = 53,
  79.  
  80. HEADER_GD_REQUEST_CHARACTER_PRIV = 54,
  81.  
  82. HEADER_GD_SET_EVENT_FLAG = 55,
  83.  
  84. HEADER_GD_PARTY_SET_MEMBER_LEVEL = 56,
  85.  
  86. HEADER_GD_GUILD_WAR_BET = 57,
  87.  
  88. HEADER_GD_CREATE_OBJECT = 60,
  89. HEADER_GD_DELETE_OBJECT = 61,
  90. HEADER_GD_UPDATE_LAND = 62,
  91.  
  92. HEADER_GD_MARRIAGE_ADD = 70,
  93. HEADER_GD_MARRIAGE_UPDATE = 71,
  94. HEADER_GD_MARRIAGE_REMOVE = 72,
  95.  
  96. HEADER_GD_WEDDING_REQUEST = 73,
  97. HEADER_GD_WEDDING_READY = 74,
  98. HEADER_GD_WEDDING_END = 75,
  99.  
  100. HEADER_GD_AUTH_LOGIN = 100,
  101. HEADER_GD_LOGIN_BY_KEY = 101,
  102. HEADER_GD_BILLING_EXPIRE = 104,
  103. HEADER_GD_VCARD = 105,
  104. HEADER_GD_BILLING_CHECK = 106,
  105. HEADER_GD_MALL_LOAD = 107,
  106.  
  107. HEADER_GD_MYSHOP_PRICELIST_UPDATE = 108,
  108. HEADER_GD_MYSHOP_PRICELIST_REQ = 109,
  109.  
  110. HEADER_GD_BLOCK_CHAT = 110,
  111.  
  112. // PCBANG_IP_LIST_BY_AUTH
  113. HEADER_GD_PCBANG_REQUEST_IP_LIST = 111,
  114. HEADER_GD_PCBANG_CLEAR_IP_LIST = 112,
  115. HEADER_GD_PCBANG_INSERT_IP = 113,
  116. // END_OF_PCBANG_IP_LIST_BY_AUTH
  117.  
  118. HEADER_GD_HAMMER_OF_TOR = 114,
  119. HEADER_GD_RELOAD_ADMIN = 115,
  120. HEADER_GD_BREAK_MARRIAGE = 116,
  121. HEADER_GD_ELECT_MONARCH = 117,
  122. HEADER_GD_CANDIDACY = 118,
  123. HEADER_GD_ADD_MONARCH_MONEY = 119,
  124. HEADER_GD_TAKE_MONARCH_MONEY = 120,
  125. HEADER_GD_COME_TO_VOTE = 121,
  126. HEADER_GD_RMCANDIDACY = 122,
  127. HEADER_GD_SETMONARCH = 123,
  128. HEADER_GD_RMMONARCH = 124,
  129. HEADER_GD_DEC_MONARCH_MONEY = 125,
  130.  
  131. HEADER_GD_CHANGE_MONARCH_LORD = 126,
  132. HEADER_GD_BLOCK_COUNTRY_IP = 127,
  133. HEADER_GD_BLOCK_EXCEPTION = 128,
  134.  
  135. HEADER_GD_REQ_CHANGE_GUILD_MASTER = 129,
  136.  
  137. HEADER_GD_REQ_SPARE_ITEM_ID_RANGE = 130,
  138.  
  139. HEADER_GD_UPDATE_HORSE_NAME = 131,
  140. HEADER_GD_REQ_HORSE_NAME = 132,
  141.  
  142. HEADER_GD_DC = 133,
  143.  
  144. HEADER_GD_VALID_LOGOUT = 134,
  145.  
  146. HEADER_GD_REQUEST_CHARGE_CASH = 137,
  147.  
  148. HEADER_GD_DELETE_AWARDID = 138, // delete gift notify icon
  149.  
  150. HEADER_GD_UPDATE_CHANNELSTATUS = 139,
  151. HEADER_GD_REQUEST_CHANNELSTATUS = 140,
  152.  
  153. #ifdef OFFLINE_SHOP
  154. HEADER_GD_SHOP_NAME = 143,
  155. HEADER_GD_SHOP_CLOSE = 144,
  156. HEADER_GD_SHOP_UPDATE_ITEM = 145,
  157. #endif
  158.  
  159. HEADER_GD_SETUP = 0xff,
  160.  
  161. ///////////////////////////////////////////////
  162. HEADER_DG_NOTICE = 1,
  163.  
  164. HEADER_DG_LOGIN_SUCCESS = 30,
  165. HEADER_DG_LOGIN_NOT_EXIST = 31,
  166. HEADER_DG_LOGIN_WRONG_PASSWD = 33,
  167. HEADER_DG_LOGIN_ALREADY = 34,
  168.  
  169. HEADER_DG_PLAYER_LOAD_SUCCESS = 35,
  170. HEADER_DG_PLAYER_LOAD_FAILED = 36,
  171. HEADER_DG_PLAYER_CREATE_SUCCESS = 37,
  172. HEADER_DG_PLAYER_CREATE_ALREADY = 38,
  173. HEADER_DG_PLAYER_CREATE_FAILED = 39,
  174. HEADER_DG_PLAYER_DELETE_SUCCESS = 40,
  175. HEADER_DG_PLAYER_DELETE_FAILED = 41,
  176.  
  177. HEADER_DG_ITEM_LOAD = 42,
  178.  
  179. HEADER_DG_BOOT = 43,
  180. HEADER_DG_QUEST_LOAD = 44,
  181.  
  182. HEADER_DG_SAFEBOX_LOAD = 45,
  183. HEADER_DG_SAFEBOX_CHANGE_SIZE = 46,
  184. HEADER_DG_SAFEBOX_WRONG_PASSWORD = 47,
  185. HEADER_DG_SAFEBOX_CHANGE_PASSWORD_ANSWER = 48,
  186.  
  187. HEADER_DG_EMPIRE_SELECT = 49,
  188.  
  189. HEADER_DG_AFFECT_LOAD = 50,
  190. HEADER_DG_MALL_LOAD = 51,
  191.  
  192. HEADER_DG_DIRECT_ENTER = 55,
  193.  
  194. HEADER_DG_GUILD_SKILL_UPDATE = 56,
  195. HEADER_DG_GUILD_SKILL_RECHARGE = 57,
  196. HEADER_DG_GUILD_EXP_UPDATE = 58,
  197.  
  198. HEADER_DG_PARTY_CREATE = 59,
  199. HEADER_DG_PARTY_DELETE = 60,
  200. HEADER_DG_PARTY_ADD = 61,
  201. HEADER_DG_PARTY_REMOVE = 62,
  202. HEADER_DG_PARTY_STATE_CHANGE = 63,
  203. HEADER_DG_PARTY_HEAL_USE = 64,
  204. HEADER_DG_PARTY_SET_MEMBER_LEVEL = 65,
  205.  
  206. HEADER_DG_TIME = 90,
  207. HEADER_DG_ITEM_ID_RANGE = 91,
  208.  
  209. HEADER_DG_GUILD_ADD_MEMBER = 92,
  210. HEADER_DG_GUILD_REMOVE_MEMBER = 93,
  211. HEADER_DG_GUILD_CHANGE_GRADE = 94,
  212. HEADER_DG_GUILD_CHANGE_MEMBER_DATA = 95,
  213. HEADER_DG_GUILD_DISBAND = 96,
  214. HEADER_DG_GUILD_WAR = 97,
  215. HEADER_DG_GUILD_WAR_SCORE = 98,
  216. HEADER_DG_GUILD_TIME_UPDATE = 99,
  217. HEADER_DG_GUILD_LOAD = 100,
  218. HEADER_DG_GUILD_LADDER = 101,
  219. HEADER_DG_GUILD_SKILL_USABLE_CHANGE = 102,
  220. HEADER_DG_GUILD_MONEY_CHANGE = 103,
  221. HEADER_DG_GUILD_WITHDRAW_MONEY_GIVE = 104,
  222.  
  223. HEADER_DG_SET_EVENT_FLAG = 105,
  224.  
  225. HEADER_DG_GUILD_WAR_RESERVE_ADD = 106,
  226. HEADER_DG_GUILD_WAR_RESERVE_DEL = 107,
  227. HEADER_DG_GUILD_WAR_BET = 108,
  228.  
  229. HEADER_DG_RELOAD_PROTO = 120,
  230. HEADER_DG_CHANGE_NAME = 121,
  231.  
  232. HEADER_DG_AUTH_LOGIN = 122,
  233.  
  234. HEADER_DG_CHANGE_EMPIRE_PRIV = 124,
  235. HEADER_DG_CHANGE_GUILD_PRIV = 125,
  236.  
  237. HEADER_DG_MONEY_LOG = 126,
  238.  
  239. HEADER_DG_CHANGE_CHARACTER_PRIV = 127,
  240.  
  241. HEADER_DG_BILLING_REPAIR = 128,
  242. HEADER_DG_BILLING_EXPIRE = 129,
  243. HEADER_DG_BILLING_LOGIN = 130,
  244. HEADER_DG_VCARD = 131,
  245. HEADER_DG_BILLING_CHECK = 132,
  246.  
  247. HEADER_DG_CREATE_OBJECT = 140,
  248. HEADER_DG_DELETE_OBJECT = 141,
  249. HEADER_DG_UPDATE_LAND = 142,
  250.  
  251. #ifdef OFFLINE_SHOP
  252. HEADER_DG_SHOP_NAME = 143,
  253. HEADER_DG_SHOP_CLOSE = 144,
  254. HEADER_DG_SHOP_UPDATE_ITEM = 145,
  255. #endif
  256.  
  257. HEADER_DG_MARRIAGE_ADD = 150,
  258. HEADER_DG_MARRIAGE_UPDATE = 151,
  259. HEADER_DG_MARRIAGE_REMOVE = 152,
  260.  
  261. HEADER_DG_WEDDING_REQUEST = 153,
  262. HEADER_DG_WEDDING_READY = 154,
  263. HEADER_DG_WEDDING_START = 155,
  264. HEADER_DG_WEDDING_END = 156,
  265.  
  266. HEADER_DG_MYSHOP_PRICELIST_RES = 157,
  267. HEADER_DG_RELOAD_ADMIN = 158,
  268. HEADER_DG_BREAK_MARRIAGE = 159,
  269. HEADER_DG_ELECT_MONARCH = 160,
  270. HEADER_DG_CANDIDACY = 161,
  271. HEADER_DG_ADD_MONARCH_MONEY = 162,
  272. HEADER_DG_TAKE_MONARCH_MONEY = 163,
  273. HEADER_DG_COME_TO_VOTE = 164,
  274. HEADER_DG_RMCANDIDACY = 165,
  275. HEADER_DG_SETMONARCH = 166,
  276. HEADER_DG_RMMONARCH = 167,
  277. HEADER_DG_DEC_MONARCH_MONEY = 168,
  278.  
  279. HEADER_DG_CHANGE_MONARCH_LORD_ACK = 169,
  280. HEADER_DG_UPDATE_MONARCH_INFO = 170,
  281. HEADER_DG_BLOCK_COUNTRY_IP = 171,
  282. HEADER_DG_BLOCK_EXCEPTION = 172,
  283.  
  284. HEADER_DG_ACK_CHANGE_GUILD_MASTER = 173,
  285.  
  286. HEADER_DG_ACK_SPARE_ITEM_ID_RANGE = 174,
  287.  
  288. HEADER_DG_UPDATE_HORSE_NAME = 175,
  289. HEADER_DG_ACK_HORSE_NAME = 176,
  290.  
  291. HEADER_DG_NEED_LOGIN_LOG = 177,
  292.  
  293. HEADER_DG_RESULT_CHARGE_CASH = 179,
  294. HEADER_DG_ITEMAWARD_INFORMER = 180, //gift notify
  295. HEADER_DG_RESPOND_CHANNELSTATUS = 181,
  296.  
  297. HEADER_DG_MAP_LOCATIONS = 0xfe,
  298. HEADER_DG_P2P = 0xff,
  299.  
  300. HEADER_GP_CONFIRM_PASSPOD = 1,
  301. HEADER_PG_CONFIRM_PASSPOD = 2,
  302.  
  303. };
  304.  
  305. #ifdef OFFLINE_SHOP
  306. typedef struct SShopPrice
  307. {
  308. int days;
  309. int time;
  310. long long price;
  311. } TShopCost;
  312. typedef struct command_shop_name
  313. {
  314. DWORD shop_id;
  315. char szSign[SHOP_SIGN_MAX_LEN + 1];
  316. } TPacketShopName;
  317. typedef struct command_shop_close
  318. {
  319. DWORD shop_id;
  320. DWORD pid;
  321. } TPacketShopClose;
  322. typedef struct command_shop_update_item
  323. {
  324. DWORD shop_id;
  325. bool shop_locked;
  326. } TPacketShopUpdateItem;
  327. #endif
  328.  
  329. enum E_PASSPOD
  330. {
  331. E_PASSPOD_SUCCESS = 0,
  332. E_PASSPOD_FAILED_PASSPOD_ERROR,
  333. E_PASSPOD_FAILED_USER_NOT_FOUND,
  334. E_PASSPOD_FAILED_SYSTEM_NOT_FOUND,
  335. E_PASSPOD_FAILED_TOKEN_DISABLED,
  336. E_PASSPOD_FAILED_EMPTY,
  337. };
  338.  
  339.  
  340. typedef struct SRequestConfirmPasspod
  341. {
  342. int pid;
  343. char passpod[MAX_PASSPOD + 1];
  344. char login[LOGIN_MAX_LEN + 1];
  345.  
  346. } RequestConfirmPasspod;
  347.  
  348. typedef struct SResultConfirmPasspod
  349. {
  350. int pid;
  351. int ret_code;
  352. char login[LOGIN_MAX_LEN + 1];
  353. } ResultConfirmPasspod;
  354. /* ----------------------------------------------
  355. * table
  356. * ----------------------------------------------
  357. */
  358.  
  359. /* game Server -> DB Server */
  360. #pragma pack(1)
  361. enum ERequestChargeType
  362. {
  363. ERequestCharge_Cash = 0,
  364. ERequestCharge_Mileage,
  365. };
  366.  
  367. typedef struct SRequestChargeCash
  368. {
  369. DWORD dwAID; // id(primary key) - Account Table
  370. DWORD dwAmount;
  371. ERequestChargeType eChargeType;
  372.  
  373. } TRequestChargeCash;
  374.  
  375. typedef struct SSimplePlayer
  376. {
  377. DWORD dwID;
  378. char szName[CHARACTER_NAME_MAX_LEN + 1];
  379. BYTE byJob;
  380. BYTE byLevel;
  381. #ifdef ENABLE_CONQUEROR_LEVEL
  382. BYTE byConquerorLevel;
  383. BYTE bySungmaST, bySungmaHP, bySungmaMV, bySungmaINM;
  384. #endif
  385. DWORD dwPlayMinutes;
  386. BYTE byST, byHT, byDX, byIQ;
  387. WORD wMainPart;
  388. BYTE bChangeName;
  389. WORD wHairPart;
  390. #ifdef ENABLE_ACCE_SYSTEM
  391. WORD wAccePart;
  392. #endif
  393. BYTE bDummy[4];
  394. long x, y;
  395. long lAddr;
  396. WORD wPort;
  397. BYTE skill_group;
  398. #if defined(__LOADING_TIP__)
  399. long lMapIndex;
  400. #endif
  401. } TSimplePlayer;
  402.  
  403. typedef struct SAccountTable
  404. {
  405. DWORD id;
  406. char login[LOGIN_MAX_LEN + 1];
  407. char passwd[PASSWD_MAX_LEN + 1];
  408. char social_id[SOCIAL_ID_MAX_LEN + 1];
  409. char status[ACCOUNT_STATUS_MAX_LEN + 1];
  410. BYTE bEmpire;
  411. TSimplePlayer players[PLAYER_PER_ACCOUNT];
  412. } TAccountTable;
  413.  
  414. typedef struct SPacketDGCreateSuccess
  415. {
  416. BYTE bAccountCharacterIndex;
  417. TSimplePlayer player;
  418. } TPacketDGCreateSuccess;
  419.  
  420. typedef struct TPlayerItemAttribute
  421. {
  422. BYTE bType;
  423. short sValue;
  424. } TPlayerItemAttribute;
  425.  
  426. typedef struct SPlayerItem
  427. {
  428. DWORD id;
  429. BYTE window;
  430. WORD pos;
  431. DWORD count;
  432.  
  433. DWORD vnum;
  434. long alSockets[ITEM_SOCKET_MAX_NUM];
  435.  
  436. TPlayerItemAttribute aAttr[ITEM_ATTRIBUTE_MAX_NUM];
  437.  
  438. DWORD owner;
  439. } TPlayerItem;
  440.  
  441. typedef struct SQuickslot
  442. {
  443. BYTE type;
  444. BYTE pos;
  445. } TQuickslot;
  446.  
  447. typedef struct SPlayerSkill
  448. {
  449. BYTE bMasterType;
  450. BYTE bLevel;
  451. time_t tNextRead;
  452. } TPlayerSkill;
  453.  
  454. struct THorseInfo
  455. {
  456. BYTE bLevel;
  457. BYTE bRiding;
  458. short sStamina;
  459. short sHealth;
  460. DWORD dwHorseHealthDropTime;
  461. };
  462.  
  463. typedef struct SPlayerTable
  464. {
  465. DWORD id;
  466.  
  467. char name[CHARACTER_NAME_MAX_LEN + 1];
  468. char ip[IP_ADDRESS_LENGTH + 1];
  469.  
  470. WORD job;
  471. BYTE voice;
  472.  
  473. BYTE level;
  474. BYTE level_step;
  475. short st, ht, dx, iq;
  476.  
  477. DWORD exp;
  478. INT gold;
  479.  
  480. BYTE dir;
  481. INT x, y, z;
  482. INT lMapIndex;
  483.  
  484. long lExitX, lExitY;
  485. long lExitMapIndex;
  486.  
  487. // @fixme301
  488. int hp;
  489. int sp;
  490.  
  491. short sRandomHP;
  492. short sRandomSP;
  493.  
  494. int playtime;
  495.  
  496. short stat_point;
  497. short skill_point;
  498. short sub_skill_point;
  499. short horse_skill_point;
  500. #ifdef ENABLE_CHEQUE_SYSTEM
  501. int cheque;
  502. #endif
  503. TPlayerSkill skills[SKILL_MAX_NUM];
  504.  
  505. TQuickslot quickslot[QUICKSLOT_MAX_NUM];
  506.  
  507. BYTE part_base;
  508. WORD parts[PART_MAX_NUM];
  509.  
  510. short stamina;
  511.  
  512. BYTE skill_group;
  513. long lAlignment;
  514. #ifdef ENABLE_CONQUEROR_LEVEL
  515. BYTE conquerorlevel;
  516. BYTE conqueror_level_step;
  517. short sungma_str, sungma_hp, sungma_move, sungma_inmune;
  518. DWORD conqueror_exp;
  519. short conqueror_point;
  520. #endif
  521. char szMobile[MOBILE_MAX_LEN + 1];
  522.  
  523. short stat_reset_count;
  524.  
  525. THorseInfo horse;
  526.  
  527. DWORD logoff_interval;
  528.  
  529. int aiPremiumTimes[PREMIUM_MAX_NUM];
  530. } TPlayerTable;
  531.  
  532. typedef struct SMobSkillLevel
  533. {
  534. DWORD dwVnum;
  535. BYTE bLevel;
  536. } TMobSkillLevel;
  537.  
  538. typedef struct SEntityTable
  539. {
  540. DWORD dwVnum;
  541. } TEntityTable;
  542.  
  543. typedef struct SMobTable : public SEntityTable
  544. {
  545. char szName[CHARACTER_NAME_MAX_LEN + 1];
  546. char szLocaleName[CHARACTER_NAME_MAX_LEN + 1];
  547.  
  548. BYTE bType; // Monster, NPC
  549. BYTE bRank; // PAWN, KNIGHT, KING
  550. BYTE bBattleType; // MELEE, etc..
  551. BYTE bLevel; // Level
  552. BYTE bSize;
  553.  
  554. DWORD dwGoldMin;
  555. DWORD dwGoldMax;
  556. DWORD dwExp;
  557. DWORD dwMaxHP;
  558. BYTE bRegenCycle;
  559. BYTE bRegenPercent;
  560. WORD wDef;
  561.  
  562. DWORD dwAIFlag;
  563. DWORD dwRaceFlag;
  564. DWORD dwImmuneFlag;
  565.  
  566. BYTE bStr, bDex, bCon, bInt;
  567. DWORD dwDamageRange[2];
  568.  
  569. short sAttackSpeed;
  570. short sMovingSpeed;
  571. BYTE bAggresiveHPPct;
  572. WORD wAggressiveSight;
  573. WORD wAttackRange;
  574.  
  575. char cEnchants[MOB_ENCHANTS_MAX_NUM];
  576. char cResists[MOB_RESISTS_MAX_NUM];
  577.  
  578. DWORD dwResurrectionVnum;
  579. DWORD dwDropItemVnum;
  580.  
  581. BYTE bMountCapacity;
  582. BYTE bOnClickType;
  583.  
  584. BYTE bEmpire;
  585. char szFolder[64 + 1];
  586.  
  587. float fDamMultiply;
  588.  
  589. DWORD dwSummonVnum;
  590. DWORD dwDrainSP;
  591. DWORD dwMobColor;
  592. DWORD dwPolymorphItemVnum;
  593.  
  594. TMobSkillLevel Skills[MOB_SKILL_MAX_NUM];
  595.  
  596. BYTE bBerserkPoint;
  597. BYTE bStoneSkinPoint;
  598. BYTE bGodSpeedPoint;
  599. BYTE bDeathBlowPoint;
  600. BYTE bRevivePoint;
  601. } TMobTable;
  602.  
  603. typedef struct SSkillTable
  604. {
  605. DWORD dwVnum;
  606. char szName[32 + 1];
  607. BYTE bType;
  608. BYTE bMaxLevel;
  609. DWORD dwSplashRange;
  610.  
  611. char szPointOn[64];
  612. char szPointPoly[100 + 1];
  613. char szSPCostPoly[100 + 1];
  614. char szDurationPoly[100 + 1];
  615. char szDurationSPCostPoly[100 + 1];
  616. char szCooldownPoly[100 + 1];
  617. char szMasterBonusPoly[100 + 1];
  618. //char szAttackGradePoly[100 + 1];
  619. char szGrandMasterAddSPCostPoly[100 + 1];
  620. DWORD dwFlag;
  621. DWORD dwAffectFlag;
  622.  
  623. // Data for secondary skill
  624. char szPointOn2[64];
  625. char szPointPoly2[100 + 1];
  626. char szDurationPoly2[100 + 1];
  627. DWORD dwAffectFlag2;
  628.  
  629. // Data for grand master point
  630. char szPointOn3[64];
  631. char szPointPoly3[100 + 1];
  632. char szDurationPoly3[100 + 1];
  633.  
  634. BYTE bLevelStep;
  635. BYTE bLevelLimit;
  636. DWORD preSkillVnum;
  637. BYTE preSkillLevel;
  638.  
  639. long lMaxHit;
  640. char szSplashAroundDamageAdjustPoly[100 + 1];
  641.  
  642. BYTE bSkillAttrType;
  643.  
  644. DWORD dwTargetRange;
  645. } TSkillTable;
  646.  
  647. typedef struct SShopItemTable
  648. {
  649. DWORD vnum;
  650. BYTE count;
  651.  
  652. TItemPos pos;
  653. DWORD price;
  654. #ifdef ENABLE_CHEQUE_SYSTEM
  655. DWORD cheque;
  656. #endif
  657. BYTE display_pos;
  658. } TShopItemTable;
  659.  
  660. typedef struct SShopTable
  661. {
  662. DWORD dwVnum;
  663. DWORD dwNPCVnum;
  664.  
  665. BYTE byItemCount;
  666. TShopItemTable items[SHOP_HOST_ITEM_MAX_NUM];
  667. } TShopTable;
  668.  
  669. #define QUEST_NAME_MAX_LEN 32
  670. #define QUEST_STATE_MAX_LEN 64
  671.  
  672. typedef struct SQuestTable
  673. {
  674. DWORD dwPID;
  675. char szName[QUEST_NAME_MAX_LEN + 1];
  676. char szState[QUEST_STATE_MAX_LEN + 1];
  677. long lValue;
  678. } TQuestTable;
  679.  
  680. typedef struct SItemLimit
  681. {
  682. BYTE bType;
  683. long lValue;
  684. } TItemLimit;
  685.  
  686. typedef struct SItemApply
  687. {
  688. BYTE bType;
  689. long lValue;
  690. } TItemApply;
  691.  
  692. typedef struct SItemTable : public SEntityTable
  693. {
  694. DWORD dwVnumRange;
  695. char szName[ITEM_NAME_MAX_LEN + 1];
  696. char szLocaleName[ITEM_NAME_MAX_LEN + 1];
  697. BYTE bType;
  698. BYTE bSubType;
  699.  
  700. BYTE bWeight;
  701. BYTE bSize;
  702.  
  703. DWORD dwAntiFlags;
  704. DWORD dwFlags;
  705. DWORD dwWearFlags;
  706. DWORD dwImmuneFlag;
  707.  
  708. DWORD dwGold;
  709. DWORD dwShopBuyPrice;
  710.  
  711. TItemLimit aLimits[ITEM_LIMIT_MAX_NUM];
  712. TItemApply aApplies[ITEM_APPLY_MAX_NUM];
  713. long alValues[ITEM_VALUES_MAX_NUM];
  714. long alSockets[ITEM_SOCKET_MAX_NUM];
  715. DWORD dwRefinedVnum;
  716. WORD wRefineSet;
  717. BYTE bAlterToMagicItemPct;
  718. BYTE bSpecular;
  719. BYTE bGainSocketPct;
  720.  
  721. short int sAddonType;
  722.  
  723.  
  724.  
  725. char cLimitRealTimeFirstUseIndex;
  726. char cLimitTimerBasedOnWearIndex;
  727.  
  728. } TItemTable;
  729.  
  730. struct TItemAttrTable
  731. {
  732. TItemAttrTable() :
  733. dwApplyIndex(0),
  734. dwProb(0)
  735. {
  736. szApply[0] = 0;
  737. memset(&lValues, 0, sizeof(lValues));
  738. memset(&bMaxLevelBySet, 0, sizeof(bMaxLevelBySet));
  739. }
  740.  
  741. char szApply[APPLY_NAME_MAX_LEN + 1];
  742. DWORD dwApplyIndex;
  743. DWORD dwProb;
  744. long lValues[ITEM_ATTRIBUTE_MAX_LEVEL];
  745. BYTE bMaxLevelBySet[ATTRIBUTE_SET_MAX_NUM];
  746. };
  747.  
  748. typedef struct SConnectTable
  749. {
  750. char login[LOGIN_MAX_LEN + 1];
  751. IDENT ident;
  752. } TConnectTable;
  753.  
  754. typedef struct SLoginPacket
  755. {
  756. char login[LOGIN_MAX_LEN + 1];
  757. char passwd[PASSWD_MAX_LEN + 1];
  758. } TLoginPacket;
  759.  
  760. typedef struct SPlayerLoadPacket
  761. {
  762. DWORD account_id;
  763. DWORD player_id;
  764. BYTE account_index;
  765. } TPlayerLoadPacket;
  766.  
  767. typedef struct SPlayerCreatePacket
  768. {
  769. char login[LOGIN_MAX_LEN + 1];
  770. char passwd[PASSWD_MAX_LEN + 1];
  771. DWORD account_id;
  772. BYTE account_index;
  773. TPlayerTable player_table;
  774. } TPlayerCreatePacket;
  775.  
  776. typedef struct SPlayerDeletePacket
  777. {
  778. char login[LOGIN_MAX_LEN + 1];
  779. DWORD player_id;
  780. BYTE account_index;
  781. //char name[CHARACTER_NAME_MAX_LEN + 1];
  782. char private_code[8];
  783. } TPlayerDeletePacket;
  784.  
  785. typedef struct SLogoutPacket
  786. {
  787. char login[LOGIN_MAX_LEN + 1];
  788. char passwd[PASSWD_MAX_LEN + 1];
  789. } TLogoutPacket;
  790.  
  791. typedef struct SPlayerCountPacket
  792. {
  793. DWORD dwCount;
  794. } TPlayerCountPacket;
  795.  
  796. #define SAFEBOX_MAX_NUM 135
  797. #define SAFEBOX_PASSWORD_MAX_LEN 6
  798.  
  799. typedef struct SSafeboxTable
  800. {
  801. DWORD dwID;
  802. BYTE bSize;
  803. DWORD dwGold;
  804. WORD wItemCount;
  805. } TSafeboxTable;
  806.  
  807. typedef struct SSafeboxChangeSizePacket
  808. {
  809. DWORD dwID;
  810. BYTE bSize;
  811. } TSafeboxChangeSizePacket;
  812.  
  813. typedef struct SSafeboxLoadPacket
  814. {
  815. DWORD dwID;
  816. char szLogin[LOGIN_MAX_LEN + 1];
  817. char szPassword[SAFEBOX_PASSWORD_MAX_LEN + 1];
  818. } TSafeboxLoadPacket;
  819.  
  820. typedef struct SSafeboxChangePasswordPacket
  821. {
  822. DWORD dwID;
  823. char szOldPassword[SAFEBOX_PASSWORD_MAX_LEN + 1];
  824. char szNewPassword[SAFEBOX_PASSWORD_MAX_LEN + 1];
  825. } TSafeboxChangePasswordPacket;
  826.  
  827. typedef struct SSafeboxChangePasswordPacketAnswer
  828. {
  829. BYTE flag;
  830. } TSafeboxChangePasswordPacketAnswer;
  831.  
  832. typedef struct SEmpireSelectPacket
  833. {
  834. DWORD dwAccountID;
  835. BYTE bEmpire;
  836. } TEmpireSelectPacket;
  837.  
  838. typedef struct SPacketGDSetup
  839. {
  840. char szPublicIP[16]; // Public IP which listen to users
  841. BYTE bChannel;
  842. WORD wListenPort;
  843. WORD wP2PPort;
  844. long alMaps[MAP_ALLOW_LIMIT];
  845. DWORD dwLoginCount;
  846. BYTE bAuthServer;
  847. } TPacketGDSetup;
  848.  
  849. typedef struct SPacketDGMapLocations
  850. {
  851. BYTE bCount;
  852. } TPacketDGMapLocations;
  853.  
  854. typedef struct SMapLocation
  855. {
  856. long alMaps[MAP_ALLOW_LIMIT];
  857. char szHost[MAX_HOST_LENGTH + 1];
  858. WORD wPort;
  859. } TMapLocation;
  860.  
  861. typedef struct SPacketDGP2P
  862. {
  863. char szHost[MAX_HOST_LENGTH + 1];
  864. WORD wPort;
  865. BYTE bChannel;
  866. } TPacketDGP2P;
  867.  
  868. typedef struct SPacketGDDirectEnter
  869. {
  870. char login[LOGIN_MAX_LEN + 1];
  871. char passwd[PASSWD_MAX_LEN + 1];
  872. BYTE index;
  873. } TPacketGDDirectEnter;
  874.  
  875. typedef struct SPacketDGDirectEnter
  876. {
  877. TAccountTable accountTable;
  878. TPlayerTable playerTable;
  879. } TPacketDGDirectEnter;
  880.  
  881. typedef struct SPacketGuildSkillUpdate
  882. {
  883. DWORD guild_id;
  884. int amount;
  885. BYTE skill_levels[12];
  886. BYTE skill_point;
  887. BYTE save;
  888. } TPacketGuildSkillUpdate;
  889.  
  890. typedef struct SPacketGuildExpUpdate
  891. {
  892. DWORD guild_id;
  893. int amount;
  894. } TPacketGuildExpUpdate;
  895.  
  896. typedef struct SPacketGuildChangeMemberData
  897. {
  898. DWORD guild_id;
  899. DWORD pid;
  900. DWORD offer;
  901. BYTE level;
  902. BYTE grade;
  903. } TPacketGuildChangeMemberData;
  904.  
  905.  
  906. typedef struct SPacketDGLoginAlready
  907. {
  908. char szLogin[LOGIN_MAX_LEN + 1];
  909. } TPacketDGLoginAlready;
  910.  
  911. typedef struct TPacketAffectElement
  912. {
  913. DWORD dwType;
  914. BYTE bApplyOn;
  915. long lApplyValue;
  916. DWORD dwFlag;
  917. long lDuration;
  918. long lSPCost;
  919. } TPacketAffectElement;
  920.  
  921. typedef struct SPacketGDAddAffect
  922. {
  923. DWORD dwPID;
  924. TPacketAffectElement elem;
  925. } TPacketGDAddAffect;
  926.  
  927. typedef struct SPacketGDRemoveAffect
  928. {
  929. DWORD dwPID;
  930. DWORD dwType;
  931. BYTE bApplyOn;
  932. } TPacketGDRemoveAffect;
  933.  
  934. typedef struct SPacketGDHighscore
  935. {
  936. DWORD dwPID;
  937. long lValue;
  938. char cDir;
  939. char szBoard[21];
  940. } TPacketGDHighscore;
  941.  
  942. typedef struct SPacketPartyCreate
  943. {
  944. DWORD dwLeaderPID;
  945. } TPacketPartyCreate;
  946.  
  947. typedef struct SPacketPartyDelete
  948. {
  949. DWORD dwLeaderPID;
  950. } TPacketPartyDelete;
  951.  
  952. typedef struct SPacketPartyAdd
  953. {
  954. DWORD dwLeaderPID;
  955. DWORD dwPID;
  956. BYTE bState;
  957. } TPacketPartyAdd;
  958.  
  959. typedef struct SPacketPartyRemove
  960. {
  961. DWORD dwLeaderPID;
  962. DWORD dwPID;
  963. } TPacketPartyRemove;
  964.  
  965. typedef struct SPacketPartyStateChange
  966. {
  967. DWORD dwLeaderPID;
  968. DWORD dwPID;
  969. BYTE bRole;
  970. BYTE bFlag;
  971. } TPacketPartyStateChange;
  972.  
  973. typedef struct SPacketPartySetMemberLevel
  974. {
  975. DWORD dwLeaderPID;
  976. DWORD dwPID;
  977. BYTE bLevel;
  978. } TPacketPartySetMemberLevel;
  979.  
  980. typedef struct SPacketGDBoot
  981. {
  982. DWORD dwItemIDRange[2];
  983. char szIP[16];
  984. } TPacketGDBoot;
  985.  
  986. typedef struct SPacketGuild
  987. {
  988. DWORD dwGuild;
  989. DWORD dwInfo;
  990. } TPacketGuild;
  991.  
  992. typedef struct SPacketGDGuildAddMember
  993. {
  994. DWORD dwPID;
  995. DWORD dwGuild;
  996. BYTE bGrade;
  997. } TPacketGDGuildAddMember;
  998.  
  999. typedef struct SPacketDGGuildMember
  1000. {
  1001. DWORD dwPID;
  1002. DWORD dwGuild;
  1003. BYTE bGrade;
  1004. BYTE isGeneral;
  1005. BYTE bJob;
  1006. BYTE bLevel;
  1007. DWORD dwOffer;
  1008. char szName[CHARACTER_NAME_MAX_LEN + 1];
  1009. } TPacketDGGuildMember;
  1010.  
  1011. typedef struct SPacketGuildWar
  1012. {
  1013. BYTE bType;
  1014. BYTE bWar;
  1015. DWORD dwGuildFrom;
  1016. DWORD dwGuildTo;
  1017. long lWarPrice;
  1018. long lInitialScore;
  1019. } TPacketGuildWar;
  1020.  
  1021.  
  1022.  
  1023. typedef struct SPacketGuildWarScore
  1024. {
  1025. DWORD dwGuildGainPoint;
  1026. DWORD dwGuildOpponent;
  1027. long lScore;
  1028. long lBetScore;
  1029. } TPacketGuildWarScore;
  1030.  
  1031. typedef struct SRefineMaterial
  1032. {
  1033. DWORD vnum;
  1034. int count;
  1035. } TRefineMaterial;
  1036.  
  1037. typedef struct SRefineTable
  1038. {
  1039. //DWORD src_vnum;
  1040. //DWORD result_vnum;
  1041. DWORD id;
  1042. BYTE material_count;
  1043. int cost;
  1044. int prob;
  1045. TRefineMaterial materials[REFINE_MATERIAL_MAX_NUM];
  1046. } TRefineTable;
  1047.  
  1048. typedef struct SBanwordTable
  1049. {
  1050. char szWord[BANWORD_MAX_LEN + 1];
  1051. } TBanwordTable;
  1052.  
  1053. typedef struct SPacketGDChangeName
  1054. {
  1055. DWORD pid;
  1056. char name[CHARACTER_NAME_MAX_LEN + 1];
  1057. } TPacketGDChangeName;
  1058.  
  1059. typedef struct SPacketDGChangeName
  1060. {
  1061. DWORD pid;
  1062. char name[CHARACTER_NAME_MAX_LEN + 1];
  1063. } TPacketDGChangeName;
  1064.  
  1065. typedef struct SPacketGuildLadder
  1066. {
  1067. DWORD dwGuild;
  1068. long lLadderPoint;
  1069. long lWin;
  1070. long lDraw;
  1071. long lLoss;
  1072. } TPacketGuildLadder;
  1073.  
  1074. typedef struct SPacketGuildLadderPoint
  1075. {
  1076. DWORD dwGuild;
  1077. long lChange;
  1078. } TPacketGuildLadderPoint;
  1079.  
  1080. typedef struct SPacketGDSMS
  1081. {
  1082. char szFrom[CHARACTER_NAME_MAX_LEN + 1];
  1083. char szTo[CHARACTER_NAME_MAX_LEN + 1];
  1084. char szMobile[MOBILE_MAX_LEN + 1];
  1085. char szMsg[SMS_MAX_LEN + 1];
  1086. } TPacketGDSMS;
  1087.  
  1088. typedef struct SPacketGuildUseSkill
  1089. {
  1090. DWORD dwGuild;
  1091. DWORD dwSkillVnum;
  1092. DWORD dwCooltime;
  1093. } TPacketGuildUseSkill;
  1094.  
  1095. typedef struct SPacketGuildSkillUsableChange
  1096. {
  1097. DWORD dwGuild;
  1098. DWORD dwSkillVnum;
  1099. BYTE bUsable;
  1100. } TPacketGuildSkillUsableChange;
  1101.  
  1102. typedef struct SPacketGDLoginKey
  1103. {
  1104. DWORD dwAccountID;
  1105. DWORD dwLoginKey;
  1106. } TPacketGDLoginKey;
  1107.  
  1108. typedef struct SPacketGDAuthLogin
  1109. {
  1110. DWORD dwID;
  1111. DWORD dwLoginKey;
  1112. char szLogin[LOGIN_MAX_LEN + 1];
  1113. char szSocialID[SOCIAL_ID_MAX_LEN + 1];
  1114. DWORD adwClientKey[4];
  1115. BYTE bBillType;
  1116. DWORD dwBillID;
  1117. int iPremiumTimes[PREMIUM_MAX_NUM];
  1118. } TPacketGDAuthLogin;
  1119.  
  1120. typedef struct SPacketGDLoginByKey
  1121. {
  1122. char szLogin[LOGIN_MAX_LEN + 1];
  1123. DWORD dwLoginKey;
  1124. DWORD adwClientKey[4];
  1125. char szIP[MAX_HOST_LENGTH + 1];
  1126. } TPacketGDLoginByKey;
  1127.  
  1128.  
  1129. typedef struct SPacketGiveGuildPriv
  1130. {
  1131. BYTE type;
  1132. int value;
  1133. DWORD guild_id;
  1134. time_t duration_sec;
  1135. } TPacketGiveGuildPriv;
  1136. typedef struct SPacketGiveEmpirePriv
  1137. {
  1138. BYTE type;
  1139. int value;
  1140. BYTE empire;
  1141. time_t duration_sec;
  1142. } TPacketGiveEmpirePriv;
  1143. typedef struct SPacketGiveCharacterPriv
  1144. {
  1145. BYTE type;
  1146. int value;
  1147. DWORD pid;
  1148. } TPacketGiveCharacterPriv;
  1149. typedef struct SPacketRemoveGuildPriv
  1150. {
  1151. BYTE type;
  1152. DWORD guild_id;
  1153. } TPacketRemoveGuildPriv;
  1154. typedef struct SPacketRemoveEmpirePriv
  1155. {
  1156. BYTE type;
  1157. BYTE empire;
  1158. } TPacketRemoveEmpirePriv;
  1159.  
  1160. typedef struct SPacketDGChangeCharacterPriv
  1161. {
  1162. BYTE type;
  1163. int value;
  1164. DWORD pid;
  1165. BYTE bLog;
  1166. } TPacketDGChangeCharacterPriv;
  1167.  
  1168.  
  1169. typedef struct SPacketDGChangeGuildPriv
  1170. {
  1171. BYTE type;
  1172. int value;
  1173. DWORD guild_id;
  1174. BYTE bLog;
  1175. time_t end_time_sec;
  1176. } TPacketDGChangeGuildPriv;
  1177.  
  1178. typedef struct SPacketDGChangeEmpirePriv
  1179. {
  1180. BYTE type;
  1181. int value;
  1182. BYTE empire;
  1183. BYTE bLog;
  1184. time_t end_time_sec;
  1185. } TPacketDGChangeEmpirePriv;
  1186.  
  1187. typedef struct SPacketMoneyLog
  1188. {
  1189. BYTE type;
  1190. DWORD vnum;
  1191. INT gold;
  1192. } TPacketMoneyLog;
  1193.  
  1194. typedef struct SPacketGDGuildMoney
  1195. {
  1196. DWORD dwGuild;
  1197. INT iGold;
  1198. } TPacketGDGuildMoney;
  1199.  
  1200. typedef struct SPacketDGGuildMoneyChange
  1201. {
  1202. DWORD dwGuild;
  1203. INT iTotalGold;
  1204. } TPacketDGGuildMoneyChange;
  1205.  
  1206. typedef struct SPacketDGGuildMoneyWithdraw
  1207. {
  1208. DWORD dwGuild;
  1209. INT iChangeGold;
  1210. } TPacketDGGuildMoneyWithdraw;
  1211.  
  1212. typedef struct SPacketGDGuildMoneyWithdrawGiveReply
  1213. {
  1214. DWORD dwGuild;
  1215. INT iChangeGold;
  1216. BYTE bGiveSuccess;
  1217. } TPacketGDGuildMoneyWithdrawGiveReply;
  1218.  
  1219. typedef struct SPacketSetEventFlag
  1220. {
  1221. char szFlagName[EVENT_FLAG_NAME_MAX_LEN + 1];
  1222. long lValue;
  1223. } TPacketSetEventFlag;
  1224.  
  1225. typedef struct SPacketBillingLogin
  1226. {
  1227. DWORD dwLoginKey;
  1228. BYTE bLogin;
  1229. } TPacketBillingLogin;
  1230.  
  1231. typedef struct SPacketBillingRepair
  1232. {
  1233. DWORD dwLoginKey;
  1234. char szLogin[LOGIN_MAX_LEN + 1];
  1235. char szHost[MAX_HOST_LENGTH + 1];
  1236. } TPacketBillingRepair;
  1237.  
  1238. typedef struct SPacketBillingExpire
  1239. {
  1240. char szLogin[LOGIN_MAX_LEN + 1];
  1241. BYTE bBillType;
  1242. DWORD dwRemainSeconds;
  1243. } TPacketBillingExpire;
  1244.  
  1245. typedef struct SPacketLoginOnSetup
  1246. {
  1247. DWORD dwID;
  1248. char szLogin[LOGIN_MAX_LEN + 1];
  1249. char szSocialID[SOCIAL_ID_MAX_LEN + 1];
  1250. char szHost[MAX_HOST_LENGTH + 1];
  1251. DWORD dwLoginKey;
  1252. DWORD adwClientKey[4];
  1253. } TPacketLoginOnSetup;
  1254.  
  1255. typedef struct SPacketGDCreateObject
  1256. {
  1257. DWORD dwVnum;
  1258. DWORD dwLandID;
  1259. INT lMapIndex;
  1260. INT x, y;
  1261. float xRot;
  1262. float yRot;
  1263. float zRot;
  1264. } TPacketGDCreateObject;
  1265.  
  1266. typedef struct SPacketGDHammerOfTor
  1267. {
  1268. DWORD key;
  1269. DWORD delay;
  1270. } TPacketGDHammerOfTor;
  1271.  
  1272. typedef struct SPacketGDVCard
  1273. {
  1274. DWORD dwID;
  1275. char szSellCharacter[CHARACTER_NAME_MAX_LEN + 1];
  1276. char szSellAccount[LOGIN_MAX_LEN + 1];
  1277. char szBuyCharacter[CHARACTER_NAME_MAX_LEN + 1];
  1278. char szBuyAccount[LOGIN_MAX_LEN + 1];
  1279. } TPacketGDVCard;
  1280.  
  1281. typedef struct SGuildReserve
  1282. {
  1283. DWORD dwID;
  1284. DWORD dwGuildFrom;
  1285. DWORD dwGuildTo;
  1286. DWORD dwTime;
  1287. BYTE bType;
  1288. long lWarPrice;
  1289. long lInitialScore;
  1290. bool bStarted;
  1291. DWORD dwBetFrom;
  1292. DWORD dwBetTo;
  1293. long lPowerFrom;
  1294. long lPowerTo;
  1295. long lHandicap;
  1296. } TGuildWarReserve;
  1297.  
  1298. typedef struct
  1299. {
  1300. DWORD dwWarID;
  1301. char szLogin[LOGIN_MAX_LEN + 1];
  1302. DWORD dwGold;
  1303. DWORD dwGuild;
  1304. } TPacketGDGuildWarBet;
  1305.  
  1306. // Marriage
  1307.  
  1308. typedef struct
  1309. {
  1310. DWORD dwPID1;
  1311. DWORD dwPID2;
  1312. time_t tMarryTime;
  1313. char szName1[CHARACTER_NAME_MAX_LEN + 1];
  1314. char szName2[CHARACTER_NAME_MAX_LEN + 1];
  1315. } TPacketMarriageAdd;
  1316.  
  1317. typedef struct
  1318. {
  1319. DWORD dwPID1;
  1320. DWORD dwPID2;
  1321. INT iLovePoint;
  1322. BYTE byMarried;
  1323. } TPacketMarriageUpdate;
  1324.  
  1325. typedef struct
  1326. {
  1327. DWORD dwPID1;
  1328. DWORD dwPID2;
  1329. } TPacketMarriageRemove;
  1330.  
  1331. typedef struct
  1332. {
  1333. DWORD dwPID1;
  1334. DWORD dwPID2;
  1335. } TPacketWeddingRequest;
  1336.  
  1337. typedef struct
  1338. {
  1339. DWORD dwPID1;
  1340. DWORD dwPID2;
  1341. DWORD dwMapIndex;
  1342. } TPacketWeddingReady;
  1343.  
  1344. typedef struct
  1345. {
  1346. DWORD dwPID1;
  1347. DWORD dwPID2;
  1348. } TPacketWeddingStart;
  1349.  
  1350. typedef struct
  1351. {
  1352. DWORD dwPID1;
  1353. DWORD dwPID2;
  1354. } TPacketWeddingEnd;
  1355.  
  1356.  
  1357. typedef struct SPacketMyshopPricelistHeader
  1358. {
  1359. DWORD dwOwnerID;
  1360. BYTE byCount;
  1361. } TPacketMyshopPricelistHeader;
  1362.  
  1363.  
  1364. typedef struct SItemPriceInfo
  1365. {
  1366. DWORD dwVnum;
  1367. DWORD dwPrice;
  1368. } TItemPriceInfo;
  1369.  
  1370.  
  1371. typedef struct SItemPriceListTable
  1372. {
  1373. DWORD dwOwnerID;
  1374. BYTE byCount;
  1375.  
  1376. TItemPriceInfo aPriceInfo[SHOP_PRICELIST_MAX_NUM];
  1377. } TItemPriceListTable;
  1378.  
  1379. typedef struct
  1380. {
  1381. char szName[CHARACTER_NAME_MAX_LEN + 1];
  1382. long lDuration;
  1383. } TPacketBlockChat;
  1384.  
  1385. // PCBANG_IP_LIST
  1386. typedef struct SPacketPCBangIP
  1387. {
  1388. DWORD id;
  1389. DWORD ip;
  1390. } TPacketPCBangIP;
  1391. // END_OF_PCBANG_IP_LIST
  1392.  
  1393.  
  1394. //ADMIN_MANAGER
  1395. typedef struct TAdminInfo
  1396. {
  1397. int m_ID;
  1398. char m_szAccount[32];
  1399. char m_szName[32];
  1400. char m_szContactIP[16];
  1401. char m_szServerIP[16];
  1402. int m_Authority;
  1403. } tAdminInfo;
  1404. //END_ADMIN_MANAGER
  1405.  
  1406. //BOOT_LOCALIZATION
  1407. struct tLocale
  1408. {
  1409. char szValue[32];
  1410. char szKey[32];
  1411. };
  1412. //BOOT_LOCALIZATION
  1413.  
  1414. //RELOAD_ADMIN
  1415. typedef struct SPacketReloadAdmin
  1416. {
  1417. char szIP[16];
  1418. } TPacketReloadAdmin;
  1419. //END_RELOAD_ADMIN
  1420.  
  1421. typedef struct TMonarchInfo
  1422. {
  1423. DWORD pid[4];
  1424. int64_t money[4];
  1425. char name[4][32];
  1426. char date[4][32];
  1427. } MonarchInfo;
  1428.  
  1429. typedef struct TMonarchElectionInfo
  1430. {
  1431. DWORD pid;
  1432. DWORD selectedpid;
  1433. char date[32];
  1434. } MonarchElectionInfo;
  1435.  
  1436.  
  1437. typedef struct tMonarchCandidacy
  1438. {
  1439. DWORD pid;
  1440. char name[32];
  1441. char date[32];
  1442. } MonarchCandidacy;
  1443.  
  1444. typedef struct tChangeMonarchLord
  1445. {
  1446. BYTE bEmpire;
  1447. DWORD dwPID;
  1448. } TPacketChangeMonarchLord;
  1449.  
  1450. typedef struct tChangeMonarchLordACK
  1451. {
  1452. BYTE bEmpire;
  1453. DWORD dwPID;
  1454. char szName[32];
  1455. char szDate[32];
  1456. } TPacketChangeMonarchLordACK;
  1457.  
  1458. // Block Country Ip
  1459. typedef struct tBlockCountryIp
  1460. {
  1461. DWORD ip_from;
  1462. DWORD ip_to;
  1463. } TPacketBlockCountryIp;
  1464.  
  1465. enum EBlockExceptionCommand
  1466. {
  1467. BLOCK_EXCEPTION_CMD_ADD = 1,
  1468. BLOCK_EXCEPTION_CMD_DEL = 2,
  1469. };
  1470.  
  1471. // Block Exception Account
  1472. typedef struct tBlockException
  1473. {
  1474. BYTE cmd; // 1 == add, 2 == delete
  1475. char login[LOGIN_MAX_LEN + 1];
  1476. }TPacketBlockException;
  1477.  
  1478. typedef struct tChangeGuildMaster
  1479. {
  1480. DWORD dwGuildID;
  1481. DWORD idFrom;
  1482. DWORD idTo;
  1483. } TPacketChangeGuildMaster;
  1484.  
  1485. typedef struct tItemIDRange
  1486. {
  1487. DWORD dwMin;
  1488. DWORD dwMax;
  1489. DWORD dwUsableItemIDMin;
  1490. } TItemIDRangeTable;
  1491.  
  1492. typedef struct tUpdateHorseName
  1493. {
  1494. DWORD dwPlayerID;
  1495. char szHorseName[CHARACTER_NAME_MAX_LEN + 1];
  1496. } TPacketUpdateHorseName;
  1497.  
  1498. typedef struct tDC
  1499. {
  1500. char login[LOGIN_MAX_LEN + 1];
  1501. } TPacketDC;
  1502.  
  1503. typedef struct tNeedLoginLogInfo
  1504. {
  1505. DWORD dwPlayerID;
  1506. } TPacketNeedLoginLogInfo;
  1507.  
  1508.  
  1509. typedef struct tItemAwardInformer
  1510. {
  1511. char login[LOGIN_MAX_LEN + 1];
  1512. char command[20];
  1513. unsigned int vnum;
  1514. } TPacketItemAwardInfromer;
  1515.  
  1516. typedef struct tDeleteAwardID
  1517. {
  1518. DWORD dwID;
  1519. } TPacketDeleteAwardID;
  1520.  
  1521. typedef struct SChannelStatus
  1522. {
  1523. short nPort;
  1524. BYTE bStatus;
  1525. } TChannelStatus;
  1526.  
  1527. #pragma pack()
  1528. #endif
  1529.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement