From b4409352f8aae56483133b4086a580e60660f761 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 10 Aug 2017 23:31:48 +0300 Subject: Dont send rodex icon packet to old clients. --- src/emap/clif.c | 14 ++++++++++++++ src/emap/clif.h | 2 ++ src/emap/init.c | 1 + 3 files changed, 17 insertions(+) diff --git a/src/emap/clif.c b/src/emap/clif.c index 0745cbb..6d02284 100644 --- a/src/emap/clif.c +++ b/src/emap/clif.c @@ -1270,3 +1270,17 @@ void eclif_parse_NpcStringInput(int fd, safestrncpy(global_npc_str, message, message_len); npc->scriptcont(sd, npcid, false); } + +void eclif_rodex_icon_pre(int *fdPtr, + bool *showPtr __attribute__ ((unused))) +{ + struct map_session_data *sd = sockt->session[*fdPtr]->session_data; + struct SessionExt *data = session_get_bysd(sd); + if (!data) + return; + if (data->clientVersion < 23) + { + hookStop(); + return; + } +} diff --git a/src/emap/clif.h b/src/emap/clif.h index 59d2f15..ab0bcca 100644 --- a/src/emap/clif.h +++ b/src/emap/clif.h @@ -87,4 +87,6 @@ void eclif_party_info_post(struct party_data *p, struct map_session_data *sd); void eclif_parse_NpcStringInput(int fd, struct map_session_data* sd) __attribute__((nonnull (2))); +void eclif_rodex_icon_pre(int *fdPtr, + bool *showPtr); #endif // EVOL_MAP_CLIF diff --git a/src/emap/init.c b/src/emap/init.c index e7669a7..6b46b0a 100644 --- a/src/emap/init.c +++ b/src/emap/init.c @@ -251,6 +251,7 @@ HPExport void plugin_init (void) addHookPre(clif, skillinfoblock, eclif_skillinfoblock_pre); addHookPre(clif, addskill, eclif_addskill_pre); addHookPre(clif, skillinfo, eclif_skillinfo_pre); + addHookPre(clif, rodex_icon, eclif_rodex_icon_pre); addHookPre(itemdb, is_item_usable, eitemdb_is_item_usable_pre); addHookPre(itemdb, readdb_additional_fields, eitemdb_readdb_additional_fields_pre); addHookPre(itemdb, destroy_item_data, edestroy_item_data_pre); -- cgit v1.2.3-60-g2f50