summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshennetsind <ind@henn.et>2013-04-06 22:11:43 -0300
committershennetsind <ind@henn.et>2013-04-06 22:11:43 -0300
commit267eb1f2b9223dc0c0cd66bc48f5116223d974d9 (patch)
tree11d040dc3e65a3f04f73bbd764ba1ac20f94e7ab
parentb80492674d9bc057d0888a9408735b345226a87e (diff)
downloadhercules-267eb1f2b9223dc0c0cd66bc48f5116223d974d9.tar.gz
hercules-267eb1f2b9223dc0c0cd66bc48f5116223d974d9.tar.bz2
hercules-267eb1f2b9223dc0c0cd66bc48f5116223d974d9.tar.xz
hercules-267eb1f2b9223dc0c0cd66bc48f5116223d974d9.zip
Introducing 2012-06-18 onwards status change timer
Special Thanks to unleashed, Judas and everyone who contributed to the 2013 client. Also introducing into the packet table the current 2013-03-20 Special Thanks to Judas! Signed-off-by: shennetsind <ind@henn.et>
-rw-r--r--conf/battle/client.conf4
-rw-r--r--db/packet_db.txt74
-rw-r--r--src/map/clif.c33
-rw-r--r--src/map/clif.h2
4 files changed, 88 insertions, 25 deletions
diff --git a/conf/battle/client.conf b/conf/battle/client.conf
index 17a10dde5..7014af5db 100644
--- a/conf/battle/client.conf
+++ b/conf/battle/client.conf
@@ -29,8 +29,8 @@
// 0x04000: 2008-09-10aSakexe (version 23)
// 0x08000: 2008-08-27aRagexeRE (version 24)
// 0x10000: 2008-09-10aRagexeRE (version 25)
-// default value: 0xFFFFFF (all clients)
-packet_ver_flag: 0xFFFFFF
+// default value: 0xFFFFFFF (all clients)
+packet_ver_flag: 0xFFFFFFF
// Minimum delay between whisper/global/party/guild messages (in ms)
// Messages that break this threshold are silently omitted.
diff --git a/db/packet_db.txt b/db/packet_db.txt
index 776fd3279..7c9492442 100644
--- a/db/packet_db.txt
+++ b/db/packet_db.txt
@@ -1776,25 +1776,67 @@ packet_ver: 31
0x08E5,41,bookingregreq,2:4 //Added to prevent disconnections
0x08d2,10
+//2012-06-18
+packet_ver: 32
+0x0983,29
+
// ========== WARNING =============
// - 2012-07-02 is NOT STABLE.
// - The packets are kept here for reference, DONT USE THEM.
//2012-07-02aRagexeRE
-//packet_ver: 32
-//0x0363,19,wanttoconnection,2:6:10:14:18
-//0x0364,6,ticksend,2
-//0x085a,7,actionrequest,2:6
-//0x0861,8,movefromkafra,2:4
-//0x0862,10,useskilltoid,2:4:6
-//0x0863,10,useskilltopos,2:4:6:8
-//0x0886,6,solvecharname,2
-//0x0889,90,useskilltoposinfo,2:4:6:8:10
-//0x089e,6,dropitem,2:4
-//0x089f,6,takeitem,2
-//0x08a0,8,movetokafra,2:4
-//0x094a,6,getcharnamerequest,2
-//0x0953,5,walktoxy,2
-//0x0960,5,changedir,2:4
+packet_ver: 33
+0x0363,19,wanttoconnection,2:6:10:14:18
+0x0364,6,ticksend,2
+0x085a,7,actionrequest,2:6
+0x0861,8,movefromkafra,2:4
+0x0862,10,useskilltoid,2:4:6
+0x0863,10,useskilltopos,2:4:6:8
+0x0886,6,solvecharname,2
+0x0889,90,useskilltoposinfo,2:4:6:8:10
+0x089e,6,dropitem,2:4
+0x089f,6,takeitem,2
+0x08a0,8,movetokafra,2:4
+0x094a,6,getcharnamerequest,2
+0x0953,5,walktoxy,2
+0x0960,5,changedir,2:4
+
+//2013-03-20Ragexe (Judas)
+packet_ver: 34
+0x01FD,15,repairitem,2
+0x086D,26,friendslistadd,2
+0x0897,5,hommenu,2:4
+0x0947,36,storagepassword,0
+//0x0288,-1,cashshopbuy,4:8
+0x086F,26,partyinvite2,2
+0x0888,19,wanttoconnection,2:6:10:14:18
+0x08c9,4
+0x088E,7,actionrequest,2:6
+0x089B,10,useskilltoid,2:4:6
+0x0881,5,walktoxy,2
+0x0363,6,ticksend,2
+0x093F,5,changedir,2:4
+0x0933,6,takeitem,2
+0x0438,6,dropitem,2:4
+0x08AC,8,movetokafra,2:4
+0x0874,8,movefromkafra,2:4
+0x0959,10,useskilltopos,2:4:6:8
+0x085A,90,useskilltoposinfo,2:4:6:8:10
+0x0898,6,getcharnamerequest,2
+0x094C,6,solvecharname,2
+0x0907,5,moveitem,2:4
+0x0908,5
+0x08CF,10 //Amulet spirits
+0x08d2,10
+0x0977,14 //Monster HP Bar
+0x0998,8,equipitem,2:4
+//0x0281,-1,itemlistwindowselected,2:4:8
+0x0938,-1,reqopenbuyingstore,2:4:8:9:89
+//0x0817,2,reqclosebuyingstore,0
+//0x0360,6,reqclickbuyingstore,2
+0x0922,-1,reqtradebuyingstore,2:4:8:12
+0x094E,-1,searchstoreinfo,2:4:5:9:13:14:15
+//0x0835,2,searchstoreinfonextpage,0
+//0x0838,12,searchstoreinfolistitemclick,2:6:10
//Add new packets here
-//packet_ver: 33
+//packet_ver: 35
diff --git a/src/map/clif.c b/src/map/clif.c
index f091587ea..15f134f40 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -5421,8 +5421,11 @@ void clif_status_change(struct block_list *bl,int type,int flag,int tick,int val
if (!(status_type2relevant_bl_types(type)&bl->type)) // only send status changes that actually matter to the client
return;
-
-#if PACKETVER >= 20090121
+#if PACKETVER >= 20120618
+ if(flag && battle_config.display_status_timers && sd)
+ WBUFW(buf,0)=0x983;
+ else
+#elif PACKETVER >= 20090121
if(flag && battle_config.display_status_timers && sd)
WBUFW(buf,0)=0x43f;
else
@@ -5431,9 +5434,19 @@ void clif_status_change(struct block_list *bl,int type,int flag,int tick,int val
WBUFW(buf,2)=type;
WBUFL(buf,4)=bl->id;
WBUFB(buf,8)=flag;
-#if PACKETVER >= 20090121
- if(flag && battle_config.display_status_timers && sd)
- {
+#if PACKETVER >= 20120618
+ WBUFL(buf,9)=tick;/* at this stage remain and total are the same value I believe */
+ WBUFL(buf,13)=tick;
+ if(flag && battle_config.display_status_timers && sd) {
+ if (tick <= 0)
+ tick = 9999; // this is indeed what official servers do
+
+ WBUFL(buf,17) = val1;
+ WBUFL(buf,21) = val2;
+ WBUFL(buf,25) = val3;
+ }
+#elif PACKETVER >= 20090121
+ if(flag && battle_config.display_status_timers && sd) {
if (tick <= 0)
tick = 9999; // this is indeed what official servers do
@@ -5443,6 +5456,7 @@ void clif_status_change(struct block_list *bl,int type,int flag,int tick,int val
WBUFL(buf,21) = val3;
}
#endif
+ ShowDebug("Len for %d vs %d is %d\n",WBUFW(buf,0),0x983,packet_len(WBUFW(buf,0)));
clif->send(buf,packet_len(WBUFW(buf,0)),bl, (sd && sd->status.option&OPTION_INVISIBLE) ? SELF : AREA);
}
@@ -16791,6 +16805,11 @@ static int packetdb_readdb(void)
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0,
+ //#0x0980
+ 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0,
};
struct {
@@ -17076,6 +17095,7 @@ static int packetdb_readdb(void)
if(str[0]==NULL)
continue;
cmd=strtol(str[0],(char **)NULL,0);
+
if(max_cmd < cmd)
max_cmd = cmd;
if(cmd <= 0 || cmd > MAX_PACKET_DB)
@@ -17135,7 +17155,8 @@ static int packetdb_readdb(void)
clif_config.packet_db_ver = j?j:MAX_PACKET_VER;
}
- ShowStatus("Done reading packet database from '"CL_WHITE"%s"CL_RESET"'. Using default packet version: "CL_WHITE"%d"CL_RESET".\n", "packet_db.txt", clif_config.packet_db_ver);
+ ShowStatus("Done reading packet database from '"CL_WHITE"%s"CL_RESET"'.\n","packet_db.txt");
+ ShowStatus("Using default packet version: "CL_WHITE"%d"CL_RESET".\n", clif_config.packet_db_ver);
return 0;
}
diff --git a/src/map/clif.h b/src/map/clif.h
index 8989cbd96..1892a2f25 100644
--- a/src/map/clif.h
+++ b/src/map/clif.h
@@ -50,7 +50,7 @@ struct eri;
**/
enum {// packet DB
MAX_PACKET_DB = 0xF00,
- MAX_PACKET_VER = 32,
+ MAX_PACKET_VER = 34,
MAX_PACKET_POS = 20,
};