diff options
author | Andrei Karas <akaras@inbox.ru> | 2019-04-12 00:31:40 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2019-04-14 01:14:56 +0300 |
commit | 5b502a267b6546ade4adb116d11354f0bf929cbf (patch) | |
tree | cbfe974ab458c6accf7c2db35b2cb1aceb8d7b28 /src/char | |
parent | ab81d4012eac5c2c00c485971fc9b89bf69761be (diff) | |
download | hercules-5b502a267b6546ade4adb116d11354f0bf929cbf.tar.gz hercules-5b502a267b6546ade4adb116d11354f0bf929cbf.tar.bz2 hercules-5b502a267b6546ade4adb116d11354f0bf929cbf.tar.xz hercules-5b502a267b6546ade4adb116d11354f0bf929cbf.zip |
Add account id and char id into inter server rodex update packet
Diffstat (limited to 'src/char')
-rw-r--r-- | src/char/int_rodex.c | 5 | ||||
-rw-r--r-- | src/char/int_rodex.h | 2 | ||||
-rw-r--r-- | src/char/inter.c | 2 | ||||
-rw-r--r-- | src/char/mapif.c | 9 |
4 files changed, 12 insertions, 6 deletions
diff --git a/src/char/int_rodex.c b/src/char/int_rodex.c index 5725c3777..a21629344 100644 --- a/src/char/int_rodex.c +++ b/src/char/int_rodex.c @@ -349,8 +349,11 @@ static int64 inter_rodex_savemessage(struct rodex_message *msg) /*========================================== * Update/Delete mail *------------------------------------------*/ -static bool inter_rodex_updatemail(int64 mail_id, int8 flag) +static bool inter_rodex_updatemail(int fd, int account_id, int char_id, int64 mail_id, uint8 opentype, int8 flag) { + Assert_retr(false, fd >= 0); + Assert_retr(false, account_id > 0); + Assert_retr(false, char_id > 0); Assert_retr(false, mail_id > 0); Assert_retr(false, flag >= 0 && flag <= 4); diff --git a/src/char/int_rodex.h b/src/char/int_rodex.h index 7fae77d8d..f081d96c6 100644 --- a/src/char/int_rodex.h +++ b/src/char/int_rodex.h @@ -36,7 +36,7 @@ struct inter_rodex_interface { bool (*hasnew) (int char_id, int account_id); bool (*checkname) (const char *name, int *target_char_id, int *target_class, int *target_level); int64 (*savemessage) (struct rodex_message* msg); - bool (*updatemail) (int64 mail_id, int8 flag); + bool (*updatemail) (int fd, int account_id, int char_id, int64 mail_id, uint8 opentype, int8 flag); }; #ifdef HERCULES_CORE diff --git a/src/char/inter.c b/src/char/inter.c index 1f1750e32..64c840c16 100644 --- a/src/char/inter.c +++ b/src/char/inter.c @@ -79,7 +79,7 @@ static int inter_recv_packet_length[] = { 6,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3060- Quest system [Kevin] [Inkfish] -1,10, 6,-1, 0, 0, 0, 0, 0, 0, 0, 0, -1,10, 6,-1, // 3070- Mercenary packets [Zephyrus], Elemental packets [pakpil] 56,14,-1, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 3080- - -1,10,-1, 6, 0, 20,10,11, -1,6 + NAME_LENGTH, 0, 0, 0, 0, 0, 0, // 3090- Homunculus packets [albator], RoDEX packets + -1,10,-1, 6, 0, 20,10,20, -1,6 + NAME_LENGTH, 0, 0, 0, 0, 0, 0, // 3090- Homunculus packets [albator], RoDEX packets }; static struct DBMap *wis_db = NULL; // int wis_id -> struct WisData* diff --git a/src/char/mapif.c b/src/char/mapif.c index fb904a46d..7e8f253bc 100644 --- a/src/char/mapif.c +++ b/src/char/mapif.c @@ -1744,10 +1744,13 @@ static void mapif_rodex_sendhasnew(int fd, int char_id, bool has_new) *------------------------------------------*/ static void mapif_parse_rodex_updatemail(int fd) { - int64 mail_id = RFIFOL(fd, 2); - int8 flag = RFIFOB(fd, 10); + int account_id = RFIFOL(fd, 2); + int char_id = RFIFOL(fd, 6); + int64 mail_id = RFIFOQ(fd, 10); + uint8 opentype = RFIFOB(fd, 18); + int8 flag = RFIFOB(fd, 19); - inter_rodex->updatemail(mail_id, flag); + inter_rodex->updatemail(fd, account_id, char_id, mail_id, opentype, flag); } /*========================================== |