diff options
Diffstat (limited to 'src/map/clif.c')
-rw-r--r-- | src/map/clif.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/map/clif.c b/src/map/clif.c index d658866cc..9670983d1 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -8163,10 +8163,20 @@ void clif_parse_Emotion(int fd, struct map_session_data *sd) { nullpo_retv(sd); if (battle_config.basic_skill_check == 0 || pc_checkskill(sd, NV_BASIC) >= 2) { + if (RFIFOB(fd,2) == 34) {// prevent use of the mute emote [Valaris] + clif_skill_fail(sd, 1, 0, 1); + return; + } + // fix flood of emotion icon (ro-proxy): flood only the hacker player + if (sd->emotionlasttime >= time(NULL)) { + sd->emotionlasttime = time(NULL) + 2; // not more than 1 every 2 seconds (normal client is every 3-4 seconds) + clif_skill_fail(sd, 1, 0, 1); + return; + } + sd->emotionlasttime = time(NULL) + 2; // not more than 1 every 2 seconds (normal client is every 3-4 seconds) + WBUFW(buf,0) = 0xc0; WBUFL(buf,2) = sd->bl.id; - if(RFIFOB(fd,2)==34) // prevent use of the mute emote [Valaris] - return; WBUFB(buf,6) = RFIFOB(fd,2); clif_send(buf, packet_len_table[0xc0], &sd->bl, AREA); } else |