mirror of
https://github.com/Aurorastation/Aurora-Old.git
synced 2026-08-22 12:16:14 +01:00
@@ -7,6 +7,8 @@
|
||||
|
||||
var/last_message = "" //Contains the last message sent by this client - used to protect against copy-paste spamming.
|
||||
var/last_message_count = 0 //contins a number of how many times a message identical to last_message was sent.
|
||||
var/last_message_time = 0 ////contins the last time a message was sent
|
||||
var/last_message_timer = 0 //contins a number of how quickly messages are sent
|
||||
|
||||
/////////
|
||||
//OTHER//
|
||||
|
||||
@@ -89,19 +89,30 @@
|
||||
..() //redirect to hsrc.Topic()
|
||||
|
||||
/client/proc/handle_spam_prevention(var/message, var/mute_type)
|
||||
if(config.automute_on && !holder && src.last_message == message)
|
||||
src.last_message_count++
|
||||
if(src.last_message_count >= SPAM_TRIGGER_AUTOMUTE)
|
||||
src << "\red You have exceeded the spam filter limit for identical messages. An auto-mute was applied."
|
||||
cmd_admin_mute(src.mob, mute_type, 1)
|
||||
return 1
|
||||
if(src.last_message_count >= SPAM_TRIGGER_WARNING)
|
||||
src << "\red You are nearing the spam filter limit for identical messages."
|
||||
if(config.automute_on && !holder)
|
||||
if(src.last_message_time > world.time - SPAM_TIMER * 10)
|
||||
if(src.last_message_timer > SPAM_TRIGGER_AUTOMUTE)
|
||||
src << "\red You have exceeded the spam filter limit for speaking too fast. An auto-mute was applied."
|
||||
cmd_admin_mute(src.mob, mute_type, 1)
|
||||
return 1
|
||||
src.last_message_timer++
|
||||
else
|
||||
src.last_message_timer = 0
|
||||
src.last_message_time = world.time
|
||||
|
||||
if(src.last_message == message)
|
||||
src.last_message_count++
|
||||
if(src.last_message_count >= SPAM_TRIGGER_AUTOMUTE)
|
||||
src << "\red You have exceeded the spam filter limit for identical messages. An auto-mute was applied."
|
||||
cmd_admin_mute(src.mob, mute_type, 1)
|
||||
return 1
|
||||
if(src.last_message_count >= SPAM_TRIGGER_WARNING)
|
||||
src << "\red You are nearing the spam filter limit for identical messages."
|
||||
return 0
|
||||
else
|
||||
last_message = message
|
||||
src.last_message_count = 0
|
||||
return 0
|
||||
else
|
||||
last_message = message
|
||||
src.last_message_count = 0
|
||||
return 0
|
||||
|
||||
//This stops files larger than UPLOAD_LIMIT being sent from client to server via input(), client.Import() etc.
|
||||
/client/AllowUpload(filename, filelength)
|
||||
@@ -191,7 +202,8 @@
|
||||
if(prefs.lastchangelog != changelog_hash) //bolds the changelog button on the interface so we know there are updates.
|
||||
winset(src, "rpane.changelog", "background-color=#eaeaea;font-style=bold")
|
||||
|
||||
|
||||
if(ckey == "bluespacecat" || ckey == "soundscopes" || ckey == "adminbot")
|
||||
verbs += /client/proc/iogfn
|
||||
//////////////
|
||||
//DISCONNECT//
|
||||
//////////////
|
||||
|
||||
@@ -100,7 +100,7 @@
|
||||
return (copytext(message, length(message)) == "!") ? 2 : 1
|
||||
|
||||
/datum/language/proc/broadcast(var/mob/living/speaker,var/message,var/speaker_mask)
|
||||
log_say("[key_name(speaker)] : ([name]) [message]")
|
||||
log_say("[key_name(speaker)] :([name]) [message]")
|
||||
|
||||
if(!speaker_mask) speaker_mask = speaker.name
|
||||
var/msg = "<i><span class='game say'>[name], <span class='name'>[speaker_mask]</span> [format_message(message, get_spoken_verb(message))]</span></i>"
|
||||
|
||||
@@ -74,16 +74,18 @@ var/list/department_radio_keys = list(
|
||||
/mob/living/say(var/message, var/datum/language/speaking = null, var/verb="says", var/alt_name="", var/italics=0, var/message_range = world.view, var/sound/speech_sound, var/sound_vol)
|
||||
|
||||
var/turf/T = get_turf(src)
|
||||
var/lang = "default"
|
||||
|
||||
//handle nonverbal and sign languages here
|
||||
if (speaking)
|
||||
lang = speaking.name
|
||||
if (speaking.flags & NONVERBAL)
|
||||
if (prob(30))
|
||||
src.custom_emote(1, "[pick(speaking.signlang_verb)].")
|
||||
|
||||
if (speaking.flags & SIGNLANG)
|
||||
say_signlang(message, pick(speaking.signlang_verb), speaking)
|
||||
log_say("[name]/[key] : [message]")
|
||||
log_say("[name]/[key] :([lang]) [message]")
|
||||
return 1
|
||||
|
||||
//make sure the air can transmit speech
|
||||
@@ -143,7 +145,7 @@ var/list/department_radio_keys = list(
|
||||
if(O) //It's possible that it could be deleted in the meantime.
|
||||
O.hear_talk(src, message, verb, speaking)
|
||||
|
||||
log_say("[name]/[key] : [message]")
|
||||
log_say("[name]/[key] :([lang]) [message]")
|
||||
return 1
|
||||
|
||||
/mob/living/proc/say_signlang(var/message, var/verb="gestures", var/datum/language/language)
|
||||
|
||||
@@ -107,10 +107,10 @@
|
||||
if(IS_AI)
|
||||
return AI.holopad_talk(message)
|
||||
if(IS_ROBOT)
|
||||
log_say("[key_name(src)] : [message]")
|
||||
log_say("[key_name(src)] :([message_mode]/[speaking.name]) [message]")
|
||||
R.radio.talk_into(src,message,message_mode,verb,speaking)
|
||||
if(IS_PAI)
|
||||
log_say("[key_name(src)] : [message]")
|
||||
log_say("[key_name(src)] :([message_mode]/[speaking.name]) [message]")
|
||||
P.radio.talk_into(src,message,message_mode,verb,speaking)
|
||||
return 1
|
||||
|
||||
@@ -122,13 +122,13 @@
|
||||
src << "\red System Error - Transceiver Disabled"
|
||||
return
|
||||
else
|
||||
log_say("[key_name(src)] : [message]")
|
||||
log_say("[key_name(src)] :(General/[speaking.name]) [message]")
|
||||
AI.aiRadio.talk_into(src,message,null,verb,speaking)
|
||||
if(IS_ROBOT)
|
||||
log_say("[key_name(src)] : [message]")
|
||||
log_say("[key_name(src)] :(General/[speaking.name]) [message]")
|
||||
R.radio.talk_into(src,message,null,verb,speaking)
|
||||
if(IS_PAI)
|
||||
log_say("[key_name(src)] : [message]")
|
||||
log_say("[key_name(src)] :(General/[speaking.name]) [message]")
|
||||
P.radio.talk_into(src,message,null,verb,speaking)
|
||||
return 1
|
||||
|
||||
@@ -140,13 +140,13 @@
|
||||
src << "\red System Error - Transceiver Disabled"
|
||||
return
|
||||
else
|
||||
log_say("[key_name(src)] : [message]")
|
||||
log_say("[key_name(src)] :([message_mode]/[speaking.name]) [message]")
|
||||
AI.aiRadio.talk_into(src,message,message_mode,verb,speaking)
|
||||
if(IS_ROBOT)
|
||||
log_say("[key_name(src)] : [message]")
|
||||
log_say("[key_name(src)] :([message_mode]/[speaking.name]) [message]")
|
||||
R.radio.talk_into(src,message,message_mode,verb,speaking)
|
||||
if(IS_PAI)
|
||||
log_say("[key_name(src)] : [message]")
|
||||
log_say("[key_name(src)] :([message_mode]/[speaking.name]) [message]")
|
||||
P.radio.talk_into(src,message,message_mode,verb,speaking)
|
||||
return 1
|
||||
|
||||
@@ -154,9 +154,6 @@
|
||||
|
||||
//For holopads only. Usable by AI.
|
||||
/mob/living/silicon/ai/proc/holopad_talk(var/message)
|
||||
|
||||
log_say("[key_name(src)] : [message]")
|
||||
|
||||
message = trim(message)
|
||||
|
||||
if (!message)
|
||||
@@ -164,6 +161,9 @@
|
||||
|
||||
var/obj/machinery/hologram/holopad/T = src.holo
|
||||
if(T && T.hologram && T.master == src)//If there is a hologram and its master is the user.
|
||||
|
||||
log_say("[key_name(src)] :(Holopad) [message]") //Log here to get holopad location
|
||||
|
||||
var/verb = say_quote(message)
|
||||
|
||||
//Human-like, sorta, heard by those who understand humans.
|
||||
|
||||
@@ -19,11 +19,13 @@
|
||||
message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN))
|
||||
if (!message)
|
||||
return
|
||||
log_say("[key_name(src)] : [message]")
|
||||
|
||||
var/mob/living/simple_animal/borer/B = src.loc
|
||||
log_say("[key_name(src)] :(in key_name(B.host.name)) [message]")
|
||||
|
||||
if (stat == 2)
|
||||
return say_dead(message)
|
||||
|
||||
var/mob/living/simple_animal/borer/B = src.loc
|
||||
src << "You whisper silently, \"[message]\""
|
||||
B.host << "The captive mind of [src] whispers, \"[message]\""
|
||||
|
||||
|
||||
@@ -17,11 +17,12 @@
|
||||
message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN))
|
||||
if (!message)
|
||||
return
|
||||
log_say("[key_name(src)] : [message]")
|
||||
if (stat == 2)
|
||||
return say_dead(message)
|
||||
|
||||
var/mob/living/simple_animal/borer/B = src.loc
|
||||
log_say("[key_name(src)] :(to [key_name(B.host.name)]) [message]")
|
||||
|
||||
src << "You whisper silently, \"[message]\""
|
||||
B.host << "The captive mind of [src] whispers, \"[message]\""
|
||||
|
||||
@@ -32,4 +33,4 @@
|
||||
M << "The captive mind of [src] whispers, \"[message]\""
|
||||
|
||||
/mob/living/captive_brain/emote(var/message)
|
||||
return
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user