diff --git a/code/_globalvars/lists/misc.dm b/code/_globalvars/lists/misc.dm index 42e4441034c..e9c50b0f662 100644 --- a/code/_globalvars/lists/misc.dm +++ b/code/_globalvars/lists/misc.dm @@ -3,6 +3,21 @@ GLOBAL_LIST_INIT(alphabet_uppercase, list("A","B","C","D","E","F","G","H","I","J GLOBAL_LIST_INIT(zero_character_only, list("0")) GLOBAL_LIST_INIT(hex_characters, list("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f")) GLOBAL_LIST_INIT(binary, list("0","1")) +GLOBAL_LIST_INIT(html_colors, list("Alice Blue","Antique White","Aqua","Aquamarine","Azure","Beige","Bisque","Black","Blanched Almond","Blue","Blue Violet", + "Brown","Burly Wood","Cadet Blue","Chartreuse","Chocolate","Coral","Cornflower Blue","Cornsilk","Crimson","Cyan", + "Dark Blue","Dark Cyan","Dark Golden Rod","Dark Gray","Dark Green","Dark Khaki","Dark Magenta","Dark Olive Green", + "Dark Orange","Dark Orchid","Dark Red","Dark Salmon","Dark Sea Green","Dark Slate Blue","Dark Slate Gray", + "Dark Turquoise","Dark Violet","Deep Pink","Deep Sky Blue","Dim Gray","Dodger Blue","Fire Brick","Floral White", + "Forest Green","Fuchsia","Gainsboro","Ghost White","Gold","Golden Rod","Gray","Grey","Green","Green Yellow","Honey Dew", + "Hot Pink","Indian Red","Indigo","Ivory","Khaki","Lavender","Lavender Blush","Lawn Green","Lemon Chiffon","Light Blue", + "Light Coral","Light Cyan","Light Golden Rod Yellow","Light Gray","Light Green","Light Pink","Light Salmon","Light Sea Green", + "Light Sky Blue","Light Slate Gray","Light Steel Blue","Light Yellow","Lime","Lime Green","Linen","Magenta","Maroon", + "Medium Aquamarine","Medium Blue","Medium Orchid","Medium Purple","Medium Seagreen","Medium Slate Blue","Medium Spring Green", + "Medium Turquoise","Medium Violet Red","Midnight Blue","Mint Cream","Misty Rose","Moccasin","Navajo White","Navy","Old Lace", + "Olive","Olive Drab","Orange","Orange Red","Orchid","Pale Golden Rod","Pale Green","Pale Turquoise","Pale Violet Red", + "Papaya Whip","Peach Puff","Peru","Pink","Plum","Powder Blue","Purple","Red","Rosy Brown","Royal Blue","Saddle Brown", + "Salmon","Sandy Brown","Sea Green","Sea Shell","Sienna","Silver","Sky Blue","Slate Blue","Slate Gray","Snow","Spring Green", + "Steel Blue","Tan","Teal","Thistle","Tomato","Turquoise","Violet","Wheat","White","White Smoke","Yellow","Yellow Green")) GLOBAL_LIST_INIT(day_names, list("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday")) GLOBAL_LIST_INIT(month_names, list("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December")) diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index c26469dcc6d..a18e03caec6 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -22,6 +22,11 @@ channels = list("Syndicate" = 1) origin_tech = "syndicate=1;engineering=3;bluespace=2" syndie = 1 //Signifies that it de-crypts Syndicate transmissions + var/fake_name = "Agent ALERT_A_CODER" + +/obj/item/encryptionkey/syndicate/New() + ..() + fake_name = "Agent " + pick(GLOB.html_colors) /obj/item/encryptionkey/syndteam icon_state = "cypherkey" diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index 900ab99a345..a3b3fa8867c 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -26,8 +26,12 @@ if(ks1type) keyslot1 = new ks1type(src) + if(keyslot1.syndie) + syndiekey = keyslot1 if(ks2type) keyslot2 = new ks2type(src) + if(keyslot2.syndie) + syndiekey = keyslot2 recalculateChannels(1) @@ -79,7 +83,6 @@ /obj/item/radio/headset/syndicate origin_tech = "syndicate=3" - syndie = 1 ks1type = /obj/item/encryptionkey/syndicate /obj/item/radio/headset/syndicate/alt //undisguised bowman with flash protection @@ -353,7 +356,7 @@ src.channels = list() src.translate_binary = 0 src.translate_hive = 0 - src.syndie = 0 + src.syndiekey = null if(keyslot1) for(var/ch_name in keyslot1.channels) @@ -369,7 +372,7 @@ src.translate_hive = 1 if(keyslot1.syndie) - src.syndie = 1 + src.syndiekey = keyslot1 if(keyslot2) for(var/ch_name in keyslot2.channels) @@ -385,7 +388,7 @@ src.translate_hive = 1 if(keyslot2.syndie) - src.syndie = 1 + src.syndiekey = keyslot2 for(var/ch_name in channels) @@ -414,5 +417,5 @@ /obj/item/radio/headset/proc/make_syndie() // Turns normal radios into Syndicate radios! qdel(keyslot1) keyslot1 = new /obj/item/encryptionkey/syndicate - syndie = 1 + syndiekey = keyslot1 recalculateChannels() \ No newline at end of file diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index a5352005249..ee7488fdd35 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -76,7 +76,7 @@ desc = "Talk through this. Evilly" frequency = SYND_FREQ subspace_transmission = 1 - syndie = 1 + syndiekey = new /obj/item/encryptionkey/syndicate /obj/item/radio/intercom/syndicate/New() ..() @@ -129,7 +129,7 @@ if(isnull(position) || !(position.z in level)) return -1 if(freq in ANTAG_FREQS) - if(!(src.syndie)) + if(!(src.syndiekey)) return -1//Prevents broadcast of messages over devices lacking the encryption return canhear_range diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index b5b0875be6d..a5fd279bb0d 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -36,7 +36,7 @@ var/global/list/default_medbay_channels = list( var/listening = 1 var/list/channels = list() //see communications.dm for full list. First channes is a "default" for :h var/subspace_transmission = 0 - var/syndie = 0//Holder to see if it's a syndicate encrpyed radio + var/obj/item/encryptionkey/syndicate/syndiekey = null //Holder for the syndicate encryption key if present var/disable_timer = 0 //How many times this is disabled by EMPs var/is_special = 0 //For electropacks mostly, skips Topic() checks @@ -131,7 +131,7 @@ var/global/list/default_medbay_channels = list( data["chan_list"] = chanlist data["chan_list_len"] = chanlist.len - if(syndie) + if(syndiekey) data["useSyndMode"] = 1 return data @@ -397,6 +397,10 @@ var/global/list/default_medbay_channels = list( jobname = "Unknown" voicemask = 1 + if(syndiekey && connection.frequency == SYND_FREQ) + displayname = syndiekey.fake_name + jobname = "Unknown" + voicemask = 1 /* ###### Radio headsets can only broadcast through subspace ###### */ @@ -552,7 +556,7 @@ var/global/list/default_medbay_channels = list( if(!position || !(position.z in level)) return -1 if(freq in ANTAG_FREQS) - if(!(syndie))//Checks to see if it's allowed on that frequency, based on the encryption keys + if(!(syndiekey))//Checks to see if it's allowed on that frequency, based on the encryption keys return -1 if(!freq) //recieved on main frequency if(!listening) @@ -652,7 +656,6 @@ var/global/list/default_medbay_channels = list( subspace_transmission = 1 /obj/item/radio/borg/syndicate - syndie = 1 keyslot = new /obj/item/encryptionkey/syndicate /obj/item/radio/borg/syndicate/CanUseTopic(mob/user, datum/topic_state/state) @@ -669,6 +672,7 @@ var/global/list/default_medbay_channels = list( /obj/item/radio/borg/syndicate/New() ..() + syndiekey = keyslot set_frequency(SYND_FREQ) /obj/item/radio/borg/deathsquad @@ -727,7 +731,7 @@ var/global/list/default_medbay_channels = list( /obj/item/radio/borg/proc/recalculateChannels() src.channels = list() - src.syndie = 0 + src.syndiekey = null var/mob/living/silicon/robot/D = src.loc if(D.module) @@ -744,7 +748,7 @@ var/global/list/default_medbay_channels = list( src.channels[ch_name] += keyslot.channels[ch_name] if(keyslot.syndie) - src.syndie = 1 + src.syndiekey = keyslot for(var/ch_name in src.channels) @@ -814,7 +818,7 @@ var/global/list/default_medbay_channels = list( data["chan_list"] = chanlist data["chan_list_len"] = chanlist.len - if(syndie) + if(syndiekey) data["useSyndMode"] = 1 data["has_loudspeaker"] = 1 diff --git a/code/modules/mob/living/simple_animal/bot/medbot.dm b/code/modules/mob/living/simple_animal/bot/medbot.dm index 52de4660908..0812b964373 100644 --- a/code/modules/mob/living/simple_animal/bot/medbot.dm +++ b/code/modules/mob/living/simple_animal/bot/medbot.dm @@ -91,7 +91,7 @@ /mob/living/simple_animal/bot/medbot/syndicate/New() ..() - Radio.syndie = 1 + Radio.syndiekey = new /obj/item/encryptionkey/syndicate /mob/living/simple_animal/bot/medbot/syndicate/emagged emagged = 2