* 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:
Cydh Ramdh
2015-06-20 11:59:29 +07:00
parent 44d8bd81f5
commit e6d5b09b06
7 changed files with 92 additions and 35 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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
}

View File

@@ -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();
}
/**

View File

@@ -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