summaryrefslogtreecommitdiff
path: root/src/char_sql/char.c
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-12-22 14:19:39 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-12-22 14:19:39 +0000
commita65e4681cd29db1d0936523cc8ff5646dc7dca5b (patch)
tree11f6e3b19a7a829252caa983e62a2ad4c19baf02 /src/char_sql/char.c
parent34f200c644ba8598448e20f4aa69a504e55d3c8f (diff)
downloadhercules-a65e4681cd29db1d0936523cc8ff5646dc7dca5b.tar.gz
hercules-a65e4681cd29db1d0936523cc8ff5646dc7dca5b.tar.bz2
hercules-a65e4681cd29db1d0936523cc8ff5646dc7dca5b.tar.xz
hercules-a65e4681cd29db1d0936523cc8ff5646dc7dca5b.zip
- Added support for the new "make new char" packet that has the rename button data. Thanks to Sara-chan for the format change update.
- Fixed itemdb.c sql compilation - Now when you specify a max level beyond what the exp table has, the last entry of the exp table will be duplicated to fill in the remaining levels. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9558 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/char_sql/char.c')
-rw-r--r--src/char_sql/char.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/char_sql/char.c b/src/char_sql/char.c
index 77e72805d..0333798d1 100644
--- a/src/char_sql/char.c
+++ b/src/char_sql/char.c
@@ -1680,11 +1680,7 @@ int mmo_char_send006b(int fd, struct char_session_data *sd) {
int i, j, found_num = 0;
struct mmo_charstatus *p = NULL;
const int offset = 24;
-#if PACKETVER > 7
WFIFOHEAD(fd, offset +9*108);
-#else
- WFIFOHEAD(fd, offset +9*106);
-#endif
set_char_online(-1, 99,sd->account_id);
@@ -1712,6 +1708,7 @@ int mmo_char_send006b(int fd, struct char_session_data *sd) {
WFIFOW(fd, 0) = 0x6b;
#if PACKETVER > 7
+ //Updated packet structure with rename-button included. Credits to Sara-chan
memset(WFIFOP(fd, 0), 0, offset + found_num * 108);
WFIFOW(fd, 2) = offset + found_num * 108;
#else
@@ -1773,6 +1770,7 @@ int mmo_char_send006b(int fd, struct char_session_data *sd) {
WFIFOB(fd,j+102) = (p->dex > UCHAR_MAX) ? UCHAR_MAX : p->dex;
WFIFOB(fd,j+103) = (p->luk > UCHAR_MAX) ? UCHAR_MAX : p->luk;
#if PACKETVER > 7
+ //Updated packet structure with rename-button included. Credits to Sara-chan
WFIFOW(fd,j+104) = p->char_num;
WFIFOB(fd,j+106) = 1; //TODO: Handle this rename bit: 0 to enable renaming
#else
@@ -3435,12 +3433,12 @@ int parse_char(int fd) {
break;
}
{ //Send data.
- WFIFOHEAD(fd, 108);
+ WFIFOHEAD(fd, 110);
WFIFOW(fd, 0) = 0x6d;
- memset(WFIFOP(fd, 2), 0x00, 106);
+ memset(WFIFOP(fd, 2), 0x00, 108);
mmo_char_fromsql_short(i, &char_dat); //Only the short data is needed.
- WFIFOL(fd, 2) = char_dat.char_id;
+ WFIFOL(fd,2) = char_dat.char_id;
WFIFOL(fd,2+4) = char_dat.base_exp>LONG_MAX?LONG_MAX:char_dat.base_exp;
WFIFOL(fd,2+8) = char_dat.zeny;
WFIFOL(fd,2+12) = char_dat.job_exp>LONG_MAX?LONG_MAX:char_dat.job_exp;
@@ -3474,9 +3472,15 @@ int parse_char(int fd) {
WFIFOB(fd,2+101) = char_dat.int_>UCHAR_MAX?UCHAR_MAX:char_dat.int_;
WFIFOB(fd,2+102) = char_dat.dex>UCHAR_MAX?UCHAR_MAX:char_dat.dex;
WFIFOB(fd,2+103) = char_dat.luk>UCHAR_MAX?UCHAR_MAX:char_dat.luk;
+#if PACKETVER > 7
+ //Updated packet structure with rename-button included. Credits to Sara-chan
+ WFIFOW(fd,2+104) = char_dat.char_num;
+ WFIFOB(fd,2+106) = 1; //Rename bit.
+ WFIFOSET(fd, 110);
+#else
WFIFOB(fd,2+104) = char_dat.char_num;
-
WFIFOSET(fd, 108);
+#endif
RFIFOSKIP(fd, 37);
}
//to do