De-snowflakes Dronespeak

This commit is contained in:
Markolie
2016-10-10 23:42:31 +02:00
parent 1b3cae082e
commit 4528e4d469
4 changed files with 24 additions and 43 deletions
+11
View File
@@ -559,6 +559,17 @@
flags = RESTRICTED | HIVEMIND
drone_only = 1
follow = 1
/datum/language/drone
name = "Drone"
desc = "An encrypted stream of data converted to speech patterns."
speech_verb = "states"
ask_verb = "queries"
exclaim_verb = "declares"
key = "]"
flags = RESTRICTED
follow = 1
syllables = list ("beep", "boop")
/datum/language/swarmer
name = "Swarmer"
@@ -13,9 +13,10 @@
lawupdate = 0
density = 0
req_access = list(access_engine, access_robotics)
local_transmit = 1
ventcrawler = 2
magpulse = 1
default_language = "Drone"
// We need to keep track of a few module items so we don't need to do list operations
// every time we need them. These get set in New() after the module is chosen.
@@ -39,7 +40,9 @@
..()
remove_language("Robot Talk")
remove_language("Galactic Common")
add_language("Drone Talk", 1)
add_language("Drone", 1)
if(camera && "Robots" in camera.network)
camera.network.Add("Engineering")
@@ -284,7 +287,7 @@
full_law_reset()
to_chat(src, "<br><b>You are a maintenance drone, a tiny-brained robotic repair machine</b>.")
to_chat(src, "You have no individual will, no personality, and no drives or urges other than your laws.")
to_chat(src, "Use <b>;</b> to talk to other drones, and <b>say</b> to speak silently to your nearby fellows.")
to_chat(src, "Use <b>:d</b> to talk to other drones, and <b>say</b> to speak silently in a language only your fellows understand.")
to_chat(src, "Remember, you are <b>lawed against interference with the crew</b>. Also remember, <b>you DO NOT take orders from the AI.</b>")
to_chat(src, "<b>Don't invade their worksites, don't steal their resources, don't tell them about the changeling in the toilets.</b>")
to_chat(src, "<b>Make sure crew members do not notice you.</b>.")
@@ -1,43 +1,11 @@
/mob/living/silicon/robot/drone/say(var/message)
if(local_transmit)
if(src.client)
if(client.prefs.muted & MUTE_IC)
to_chat(src, "You cannot send IC messages (muted).")
return 0
if(src.client.handle_spam_prevention(message,MUTE_IC))
return 0
message = sanitize(message)
if(stat == 2)
return say_dead(message)
if(copytext(message,1,2) == "*")
return emote(copytext(message,2))
if(copytext(message,1,2) == ";")
var/datum/language/L = all_languages["Drone Talk"]
if(istype(L))
return L.broadcast(src,trim(copytext(message,2)))
//Must be concious to speak
if(stat)
return 0
var/list/listeners = hearers(5,src)
listeners |= src
for(var/mob/living/silicon/D in listeners)
if(D.client && D.local_transmit)
to_chat(D, "<b>[src]</b> transmits, \"[message]\"")
for(var/mob/M in player_list)
if(istype(M, /mob/new_player))
continue
else if(M.stat == 2 && M.client && M.client.prefs.toggles & CHAT_GHOSTEARS)
to_chat(M, "<b>[src]</b> transmits, \"[message]\"")
return 1
return ..(message, 0)
/mob/living/silicon/robot/drone/say(var/message, var/datum/language/speaking = null)
if(!speaking)
speaking = parse_language(message)
if(!speaking)
speaking = istype(get_default_language(), /datum/language) ? get_default_language() : all_languages[get_default_language()]
message = speaking.key + " " + message; // Prepend key to prevent the message from getting trimmed
if(speaking)
return ..()
/mob/living/silicon/robot/drone/whisper_say(var/message, var/datum/language/speaking = null, var/alt_name="", var/verb="whispers")
say(message) //drones do not get to whisper, only speak normally
@@ -32,7 +32,6 @@
var/sec_hud = DATA_HUD_SECURITY_ADVANCED //Determines the sec hud to use
var/d_hud = DATA_HUD_DIAGNOSTIC //There is only one kind of diag hud
var/local_transmit //If set, can only speak to others of the same type within a short range.
var/obj/item/device/radio/common_radio
/mob/living/silicon/New()