Follow up 3d9c6e7763
* Added 'missing' packets for 2015-10-22 (51). * Packet keys for packet_ver 50 and 51. * Fixed memleak from Roulette items. * Corrected date2version cases. * Doc update, packet_interserv.txt. Fixed wrong constant value for bSubSkill and bSubDefEle Signed-off-by: Cydh Ramdh <cydh@pservero.com>
This commit is contained in:
@@ -52,6 +52,12 @@ packet_ver_flag: 0x7FFFFFFF
|
||||
// 0x00000008: 2013-07-10 Ragexe (version 43)
|
||||
// 0x00000010: 2013-07-17 Ragexe (version 44)
|
||||
// 0x00000020: 2013-08-07 Ragexe (version 45)
|
||||
// 0x00000040: 2013-12-23 Ragexe (version 46)
|
||||
// 0x00000080: ????
|
||||
// 0x00000100: ????
|
||||
// 0x00000200: ????
|
||||
// 0x00000400: 2014-10-16 Ragexe (version 50)
|
||||
// 0x00000800: 2014-10-22 Ragexe (version 51)
|
||||
// default value: 0x7FFFFFFF (all clients/versions [41;72])
|
||||
packet_ver_flag2: 0x7FFFFFFF
|
||||
|
||||
|
||||
@@ -632,8 +632,8 @@ bAddItemGroupHealRate 2073
|
||||
bHPVanishRaceRate 2074
|
||||
bSPVanishRaceRate 2075
|
||||
bAbsorbDmgMaxHP 2076
|
||||
bSubSkill 2078
|
||||
bSubDefEle 2079
|
||||
bSubSkill 2077
|
||||
bSubDefEle 2078
|
||||
|
||||
EQI_HEAD_TOP 1
|
||||
EQI_ARMOR 2
|
||||
|
||||
@@ -2320,6 +2320,7 @@ packet_keys: 0x631C511C,0x111C111C,0x111C111C // [Shakto]
|
||||
|
||||
//2014-10-16Ragexe
|
||||
packet_ver: 50
|
||||
packet_keys: 0x2DFF467C,0x444B37EE,0x2C1B634F // [YomRawr]
|
||||
0x0369,7,actionrequest,2,6
|
||||
0x083C,10,useskilltoid,2,4,6
|
||||
0x0437,5,walktoxy,2
|
||||
@@ -2365,35 +2366,63 @@ packet_ver: 50
|
||||
|
||||
//2014-10-22bRagexe
|
||||
packet_ver: 51
|
||||
0x0369,7,actionrequest,2,6
|
||||
0x083C,10,useskilltoid,2,4,6
|
||||
0x0437,5,walktoxy,2
|
||||
0x035F,6,ticksend,2
|
||||
0x08AD,5,changedir,2,4
|
||||
0x094E,6,takeitem,2
|
||||
0x087D,6,dropitem,2,4
|
||||
0x0878,8,movetokafra,2,4
|
||||
0x08AA,8,movefromkafra,2,4
|
||||
0x023B,10,useskilltopos,2,4,6,8
|
||||
0x0366,90,useskilltoposinfo,2,4,6,8,10
|
||||
0x096A,6,getcharnamerequest,2
|
||||
0x0368,6,solvecharname,2
|
||||
0x0835,12,searchstoreinfolistitemclick,2,6,10
|
||||
0x0940,2,searchstoreinfonextpage,0
|
||||
0x0819,-1,searchstoreinfo,2,4,5,9,13,14,15
|
||||
0x0811,-1,reqtradebuyingstore,2,4,8,12
|
||||
packet_keys: 0x290551EA,0x2B952C75,0x2D67669B // [YomRawr]
|
||||
0x006d,149
|
||||
0x023b,10,useskilltopos,2:4:6:8
|
||||
0x0281,-1,itemlistwindowselected,2:4:8:12
|
||||
0x035f,6,ticksend,2
|
||||
0x0360,6,reqclickbuyingstore,2
|
||||
0x0366,90,useskilltoposinfo,2:4:6:8:10
|
||||
0x0368,6,solvecharname,2
|
||||
0x0369,7,actionrequest,2:6
|
||||
0x0437,5,walktoxy,2
|
||||
0x0438,36,storagepassword,2:4:20
|
||||
0x0811,-1,reqtradebuyingstore,2:4:8:12
|
||||
0x0815,-1,reqopenbuyingstore,2:4:8:9:89
|
||||
0x0817,2,reqclosebuyingstore,0
|
||||
0x0815,-1,reqopenbuyingstore,2,4,8,9,89
|
||||
0x0955,18,bookingregreq,2,4
|
||||
// 0x092B,8 // CZ_JOIN_BATTLE_FIELD
|
||||
0x0281,-1,itemlistwindowselected,2,4,8
|
||||
0x093B,19,wanttoconnection,2,6,10,14,18
|
||||
0x0896,26,partyinvite,2
|
||||
// 0x08AB,4 // CZ_GANGSI_RANK
|
||||
0x091A,26,friendslistadd,2
|
||||
0x0899,5,hommenu,2,4
|
||||
0x0438,36,storagepassword,0
|
||||
0x0819,-1,searchstoreinfo,2:4:5:9:13:14:15
|
||||
0x0835,12,searchstoreinfolistitemclick,2:6:10
|
||||
0x083c,10,useskilltoid,2:4:6
|
||||
0x0878,8,movetokafra,2:4
|
||||
0x087d,6,dropitem,2:4
|
||||
0x0896,26,partyinvite2,2
|
||||
0x0899,5,hommenu,2:4
|
||||
0x08aa,8,movefromkafra,2:4
|
||||
//0x08ab,4 // CZ_GANGSI_RANK
|
||||
0x08ad,5,changedir,2:4
|
||||
0x08e3,149
|
||||
0x091a,26,friendslistadd,2
|
||||
//0x092b,8 // CZ_JOIN_BATTLE_FIELD
|
||||
0x093b,19,wanttoconnection,2:6:10:14:18
|
||||
0x0940,2,searchstoreinfonextpage,0
|
||||
0x094e,6,takeitem,2
|
||||
0x0955,18,bookingregreq,2:4:6
|
||||
0x096a,6,getcharnamerequest,2
|
||||
0x09e7,3
|
||||
0x09e8,11
|
||||
0x09ea,11
|
||||
0x09eb,-1
|
||||
0x09ed,3
|
||||
0x09ee,11
|
||||
0x09f1,11
|
||||
0x09f2,12
|
||||
0x09f3,11
|
||||
0x09f9,143
|
||||
0x0a03,2
|
||||
0x0a04,6
|
||||
0x0a05,49
|
||||
0x0a06,6
|
||||
0x0a07,9
|
||||
0x0a08,26
|
||||
0x0a09,45
|
||||
0x0a0a,47
|
||||
0x0a0b,47
|
||||
0x0a0c,56
|
||||
0x0a0d,-1
|
||||
0x0a13,26
|
||||
0x0a21,3
|
||||
0x0a22,5
|
||||
0x0a24,66
|
||||
|
||||
//Add new packets here
|
||||
//packet_ver: 52
|
||||
|
||||
@@ -2632,7 +2632,7 @@ Currently the max packet size is 0xFFFF (see 'WFIFOSET()' in 'src/common/socket.
|
||||
- cmd : packet identification (0x2b0e)
|
||||
- aid
|
||||
- name
|
||||
- operation_type
|
||||
- operation_type: 1:block account, 2:ban account, 3:unblock account, 4:unban account, 5:changesex, 6:VIP, 7:changecharsex
|
||||
- timediff
|
||||
- val1
|
||||
- val2
|
||||
|
||||
@@ -379,10 +379,10 @@ uint32 date2version(int date) {
|
||||
else if(date < 20130807) return 44;
|
||||
else if(date < 20131223) return 45;
|
||||
else if(date < 20140212) return 46;
|
||||
else if(date < 20140613) return 47;
|
||||
else if(date < 20141016) return 48;
|
||||
else if(date < 20141022) return 49;
|
||||
else if(date >= 20141022) return 50;
|
||||
//else if(date < 20140613) return 47;
|
||||
//else if(date < 20141016) return 48;
|
||||
else if(date < 20141022) return 50;
|
||||
else if(date >= 20141022) return 51;
|
||||
|
||||
else return 30; //default
|
||||
}
|
||||
|
||||
@@ -1151,6 +1151,26 @@ bool itemdb_parse_roulette_db(void)
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Free Roulette items
|
||||
*/
|
||||
static void itemdb_roulette_free(void) {
|
||||
int i, j;
|
||||
|
||||
for (i = 0; i < MAX_ROULETTE_LEVEL; i++) {
|
||||
if (rd.nameid[i])
|
||||
aFree(rd.nameid[i]);
|
||||
if (rd.qty[i])
|
||||
aFree(rd.qty[i]);
|
||||
if (rd.flag[i])
|
||||
aFree(rd.flag[i]);
|
||||
rd.nameid[i] = NULL;
|
||||
rd.qty[i] = NULL;
|
||||
rd.flag[i] = NULL;
|
||||
rd.items[i] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
/*======================================
|
||||
* Applies gender restrictions according to settings. [Skotlex]
|
||||
*======================================*/
|
||||
@@ -1668,6 +1688,7 @@ void itemdb_reload(void) {
|
||||
itemdb_group->clear(itemdb_group, itemdb_group_free);
|
||||
itemdb->clear(itemdb, itemdb_final_sub);
|
||||
db_clear(itemdb_combo);
|
||||
itemdb_roulette_free();
|
||||
|
||||
// read new data
|
||||
itemdb_read();
|
||||
@@ -1735,6 +1756,7 @@ void do_final_itemdb(void) {
|
||||
itemdb_group->destroy(itemdb_group, itemdb_group_free);
|
||||
itemdb->destroy(itemdb, itemdb_final_sub);
|
||||
destroy_item_data(dummy_item);
|
||||
itemdb_roulette_free();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -376,7 +376,7 @@ struct s_item_group_db
|
||||
};
|
||||
|
||||
/// Struct of Roulette db
|
||||
struct {
|
||||
struct s_roulette_db {
|
||||
unsigned short *nameid[MAX_ROULETTE_LEVEL], /// Item ID
|
||||
*qty[MAX_ROULETTE_LEVEL]; /// Amount of Item ID
|
||||
int *flag[MAX_ROULETTE_LEVEL]; /// Whether the item is for loss or win
|
||||
|
||||
Reference in New Issue
Block a user