summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshennetsind <ind@henn.et>2013-10-23 04:47:49 -0200
committershennetsind <ind@henn.et>2013-10-23 04:47:49 -0200
commit8c5e0386874450ef667adb5155f3b3340d0299f1 (patch)
tree8e8d8305ae89ffbac4610a0e21bd855cd5e0fc14
parentf304c3637f82a5a3ab3a979c5d4b463ab26e7d72 (diff)
downloadhercules-8c5e0386874450ef667adb5155f3b3340d0299f1.tar.gz
hercules-8c5e0386874450ef667adb5155f3b3340d0299f1.tar.bz2
hercules-8c5e0386874450ef667adb5155f3b3340d0299f1.tar.xz
hercules-8c5e0386874450ef667adb5155f3b3340d0299f1.zip
Fixed char deletion on latest clients freezing
Newer clients freeze unless the char select list is resent, Haru and I confirmed official servers re-send the list upon deletion (we were not able to identify when this started though, its currently set to 2013 onwards -- if you have info on this please contact us so we can fix the range :D). Special Thanks to LuLu, Haruna. Signed-off-by: shennetsind <ind@henn.et>
-rw-r--r--src/char/char.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/char/char.c b/src/char/char.c
index 574e4f66b..0b35c0143 100644
--- a/src/char/char.c
+++ b/src/char/char.c
@@ -3585,6 +3585,14 @@ void char_delete2_ack(int fd, int char_id, uint32 result, time_t delete_date)
/// Any (0x718): An unknown error has occurred.
void char_delete2_accept_ack(int fd, int char_id, uint32 result)
{// HC: <082a>.W <char id>.L <Msg:0-5>.L
+
+#if PACKETVER >= 20130000 /* not sure the exact date -- must refresh or client gets stuck */
+ if( result == 1 ) {
+ struct char_session_data* sd = (struct char_session_data*)session[fd]->session_data;
+ mmo_char_send099d(fd, sd);
+ }
+#endif
+
WFIFOHEAD(fd,10);
WFIFOW(fd,0) = 0x82a;
WFIFOL(fd,2) = char_id;