summaryrefslogtreecommitdiff
path: root/src/char
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2019-04-12 00:31:40 +0300
committerAndrei Karas <akaras@inbox.ru>2019-04-14 01:14:56 +0300
commit5b502a267b6546ade4adb116d11354f0bf929cbf (patch)
treecbfe974ab458c6accf7c2db35b2cb1aceb8d7b28 /src/char
parentab81d4012eac5c2c00c485971fc9b89bf69761be (diff)
downloadhercules-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.c5
-rw-r--r--src/char/int_rodex.h2
-rw-r--r--src/char/inter.c2
-rw-r--r--src/char/mapif.c9
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);
}
/*==========================================