Merge pull request #732 from SoundScopes/master

UPdates
This commit is contained in:
SoundScopes
2015-10-13 03:56:48 +01:00
11 changed files with 12775 additions and 12740 deletions
+5 -6
View File
@@ -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
+2
View File
@@ -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//
+25 -13
View File
@@ -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//
//////////////
+1 -1
View File
@@ -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>"
+4 -2
View File
@@ -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)
+11 -11
View File
@@ -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
+1
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff