summaryrefslogtreecommitdiff
path: root/src/char/char.c
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2010-04-23 13:19:25 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2010-04-23 13:19:25 +0000
commit6da12760fbcc987747c97f70521bd9add2e0060f (patch)
treed6d4cea55b87e9b596e38b3b8d34e7ad03733258 /src/char/char.c
parentb7bf8d95500877427f62ec5fceb109bc0faaa82f (diff)
downloadhercules-6da12760fbcc987747c97f70521bd9add2e0060f.tar.gz
hercules-6da12760fbcc987747c97f70521bd9add2e0060f.tar.bz2
hercules-6da12760fbcc987747c97f70521bd9add2e0060f.tar.xz
hercules-6da12760fbcc987747c97f70521bd9add2e0060f.zip
Merged a few updates for supporting renewal clients (thanks to Diablo): [Skotlex]
- Updated packet_db entries - Added slot info on packet 0x6b (PACKETVER > 20100413) - Trade add-item use packet 0x80f (PACKETVER > 20100223) - Guild storage add-item use packet 0x1c4 (PACKETVER > 20090603) - Vending list use packet 0x800 (PACKETVER > 20100105) - Allow client to change item-share party settings (PACKETVER > 20090603) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14286 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/char/char.c')
-rw-r--r--src/char/char.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/char/char.c b/src/char/char.c
index 4c4379074..6f65eec37 100644
--- a/src/char/char.c
+++ b/src/char/char.c
@@ -1744,7 +1744,10 @@ int mmo_char_tobuf(uint8* buffer, struct mmo_charstatus* p)
//----------------------------------------
int mmo_char_send006b(int fd, struct char_session_data* sd)
{
- int i, j, found_num;
+ int i, j, found_num, offset = 0;
+#if PACKETVER >= 20100413
+ offset += 3;
+#endif;
found_num = 0;
for(i = 0; i < char_num; i++) {
@@ -1757,10 +1760,15 @@ int mmo_char_send006b(int fd, struct char_session_data* sd)
for(i = found_num; i < MAX_CHARS; i++)
sd->found_char[i] = -1;
- j = 24; // offset
+ j = 24 + offset; // offset
WFIFOHEAD(fd,j + found_num*MAX_CHAR_BUF);
WFIFOW(fd,0) = 0x6b;
- memset(WFIFOP(fd,4), 0, 20); // unknown bytes
+#if PACKETVER >= 20100413
+ WFIFOB(fd,4) = MAX_CHARS; // Max slots.
+ WFIFOB(fd,5) = MAX_CHARS; // Available slots.
+ WFIFOB(fd,6) = MAX_CHARS; // Premium slots.
+#endif
+ memset(WFIFOP(fd,4 + offset), 0, 20); // unknown bytes
for(i = 0; i < found_num; i++)
j += mmo_char_tobuf(WFIFOP(fd,j), &char_dat[sd->found_char[i]].status);
WFIFOW(fd,2) = j; // packet len