summaryrefslogtreecommitdiff
path: root/src/map/clif.c
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-05-30 19:28:41 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-05-30 19:28:41 +0000
commitc8391c9c07abd235b2d40d8cfec39d62827706a7 (patch)
treed28df1f57382478a6b28f6a60f1f63bb44c44171 /src/map/clif.c
parentde96c0071f2e9a2c0a97dca96a34620b9ca0473b (diff)
downloadhercules-c8391c9c07abd235b2d40d8cfec39d62827706a7.tar.gz
hercules-c8391c9c07abd235b2d40d8cfec39d62827706a7.tar.bz2
hercules-c8391c9c07abd235b2d40d8cfec39d62827706a7.tar.xz
hercules-c8391c9c07abd235b2d40d8cfec39d62827706a7.zip
- Fixed Absorb Spirit Spheres
- Added battle_config min_chat_delay (default 0) specifies in ms what is the min delay between player sent chats (whisper/global/party/guild). Messages that exceed this threshold are silently ignored for now (perhaps need to add a "DON'T SPAM" reply to the player?) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6859 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/clif.c')
-rw-r--r--src/map/clif.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/map/clif.c b/src/map/clif.c
index 677bb3ddd..8fe61ae46 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -8623,6 +8623,13 @@ void clif_parse_GlobalMessage(int fd, struct map_session_data *sd) { // S 008c <
(sd->sc.data[SC_BERSERK].timer != -1 || sd->sc.data[SC_NOCHAT].timer != -1 ))
return;
+ if (battle_config.min_chat_delay)
+ { //[Skotlex]
+ if (DIFF_TICK(sd->cantalk_tick, gettick()) > 0)
+ return;
+ sd->cantalk_tick = gettick() + battle_config.min_chat_delay;
+ }
+
if (RFIFOW(fd,2)+4 < 128)
buf = buf2; //Use a static buffer.
else
@@ -8961,6 +8968,13 @@ void clif_parse_Wis(int fd, struct map_session_data *sd) { // S 0096 <len>.w <ni
(sd->sc.data[SC_BERSERK].timer!=-1 || sd->sc.data[SC_NOCHAT].timer != -1))
return;
+ if (battle_config.min_chat_delay)
+ { //[Skotlex]
+ if (DIFF_TICK(sd->cantalk_tick, gettick()) > 0)
+ return;
+ sd->cantalk_tick = gettick() + battle_config.min_chat_delay;
+ }
+
memcpy(&target,RFIFOP(fd, 4),NAME_LENGTH);
target[NAME_LENGTH]='\0';
@@ -10229,6 +10243,13 @@ void clif_parse_PartyMessage(int fd, struct map_session_data *sd) {
))
return;
+ if (battle_config.min_chat_delay)
+ { //[Skotlex]
+ if (DIFF_TICK(sd->cantalk_tick, gettick()) > 0)
+ return;
+ sd->cantalk_tick = gettick() + battle_config.min_chat_delay;
+ }
+
party_send_message(sd, (char*)RFIFOP(fd,4), RFIFOW(fd,2)-4);
}
@@ -10442,6 +10463,13 @@ void clif_parse_GuildMessage(int fd,struct map_session_data *sd) {
))
return;
+ if (battle_config.min_chat_delay)
+ { //[Skotlex]
+ if (DIFF_TICK(sd->cantalk_tick, gettick()) > 0)
+ return;
+ sd->cantalk_tick = gettick() + battle_config.min_chat_delay;
+ }
+
guild_send_message(sd, (char*)RFIFOP(fd,4), RFIFOW(fd,2)-4);
}