mirror of
https://github.com/Aurorastation/Aurora-Old.git
synced 2026-08-22 12:16:14 +01:00
@@ -480,7 +480,7 @@ client
|
||||
href_list["datumrefresh"] = href_list["mob_player_panel"]
|
||||
|
||||
else if(href_list["give_spell"])
|
||||
if(!check_rights(R_ADMIN|R_FUN)) return
|
||||
if(!check_rights(R_FUN)) return
|
||||
|
||||
var/mob/M = locate(href_list["give_spell"])
|
||||
if(!istype(M))
|
||||
@@ -491,7 +491,7 @@ client
|
||||
href_list["datumrefresh"] = href_list["give_spell"]
|
||||
|
||||
else if(href_list["give_disease"])
|
||||
if(!check_rights(R_ADMIN|R_FUN)) return
|
||||
if(!check_rights(R_FUN)) return
|
||||
|
||||
var/mob/M = locate(href_list["give_disease"])
|
||||
if(!istype(M))
|
||||
@@ -502,7 +502,7 @@ client
|
||||
href_list["datumrefresh"] = href_list["give_spell"]
|
||||
|
||||
else if(href_list["give_disease2"])
|
||||
if(!check_rights(R_ADMIN|R_FUN)) return
|
||||
if(!check_rights(R_FUN)) return
|
||||
|
||||
var/mob/M = locate(href_list["give_disease2"])
|
||||
if(!istype(M))
|
||||
@@ -556,7 +556,7 @@ client
|
||||
href_list["datumrefresh"] = href_list["build_mode"]
|
||||
|
||||
else if(href_list["drop_everything"])
|
||||
if(!check_rights(R_DEBUG|R_ADMIN)) return
|
||||
if(!check_rights(R_DEBUG|R_FUN)) return
|
||||
|
||||
var/mob/M = locate(href_list["drop_everything"])
|
||||
if(!istype(M))
|
||||
@@ -910,7 +910,7 @@ client
|
||||
M.regenerate_icons()
|
||||
|
||||
else if(href_list["adjustDamage"] && href_list["mobToDamage"])
|
||||
if(!check_rights(R_DEBUG|R_ADMIN|R_FUN)) return
|
||||
if(!check_rights(R_DEBUG|R_FUN)) return
|
||||
|
||||
var/mob/living/L = locate(href_list["mobToDamage"])
|
||||
if(!istype(L)) return
|
||||
@@ -946,4 +946,3 @@ client
|
||||
src.debug_variables(DAT)
|
||||
|
||||
return
|
||||
|
||||
|
||||
@@ -167,7 +167,6 @@
|
||||
if (alert(usr, "Are you sure you wish to initiate the takeover? The station hostile runtime detection software is bound to alert everyone. You have hacked [ticker.mode:apcs] APCs.", "Takeover:", "Yes", "No") != "Yes")
|
||||
return
|
||||
|
||||
command_alert("Hostile runtimes detected in all station systems, please deactivate your AI to prevent possible damage to its morality core.", "Anomaly Alert")
|
||||
set_security_level("delta")
|
||||
|
||||
ticker.mode:malf_mode_declared = 1
|
||||
@@ -265,4 +264,4 @@
|
||||
text += ")"
|
||||
|
||||
world << text
|
||||
return 1
|
||||
return 1
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -524,6 +524,7 @@ var/list/liftable_structures = list(\
|
||||
//Number of identical messages required to get the spam-prevention automute thing to trigger warnings and automutes
|
||||
#define SPAM_TRIGGER_WARNING 5
|
||||
#define SPAM_TRIGGER_AUTOMUTE 10
|
||||
#define SPAM_TIMER 5
|
||||
|
||||
//Some constants for DB_Ban
|
||||
#define BANTYPE_PERMA 1
|
||||
|
||||
+12718
-12701
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user