diff --git a/code/defines/obj.dm b/code/defines/obj.dm
index 2bee1af4cdb..0c122622acb 100644
--- a/code/defines/obj.dm
+++ b/code/defines/obj.dm
@@ -309,6 +309,7 @@
m_amt = 50
g_amt = 20
origin_tech = "magnets=1;engineering=1"
+ var/obj/machinery/telecomms/buffer // simple machine buffer for device linkage
/obj/item/blueprints
name = "station blueprints"
diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm
index e48d0c44f56..d56b83bad31 100644
--- a/code/defines/obj/weapon.dm
+++ b/code/defines/obj/weapon.dm
@@ -458,6 +458,7 @@
var/registered = null
var/assignment = null
var/obj/item/weapon/photo/PHOTO = null
+ var/dorm = 0 // determines if this ID has claimed a dorm already
/obj/item/weapon/card/id/gold
name = "identification card"
@@ -1668,6 +1669,63 @@
rating = 3
m_amt = 80
+// Subspace stock parts
+
+/obj/item/weapon/stock_parts/subspace/ansible
+ name = "Subspace Ansible"
+ icon_state = "subspace_ansible"
+ desc = "A compact module capable of sensing extradimensional activity."
+ origin_tech = "programming=3;magnets=5;materials=4;bluespace=2"
+ m_amt = 30
+ g_amt = 10
+
+/obj/item/weapon/stock_parts/subspace/filter
+ name = "Hyperwave Filter"
+ icon_state = "hyperwave_filter"
+ desc = "A tiny device capable of filtering and converting super-intense radiowaves."
+ origin_tech = "programming=4;magnets=2"
+ m_amt = 30
+ g_amt = 10
+
+/obj/item/weapon/stock_parts/subspace/amplifier
+ name = "Subspace Amplifier"
+ icon_state = "subspace_amplifier"
+ desc = "A compact micro-machine capable of amplifying weak subspace transmissions."
+ origin_tech = "programming=3;magnets=4;materials=4;bluespace=2"
+ m_amt = 30
+ g_amt = 10
+
+/obj/item/weapon/stock_parts/subspace/treatment
+ name = "Subspace Treatment Disk"
+ icon_state = "treatment_disk"
+ desc = "A compact micro-machine capable of stretching out hyper-compressed radio waves."
+ origin_tech = "programming=3;magnets=2;materials=5;bluespace=2"
+ m_amt = 30
+ g_amt = 10
+
+/obj/item/weapon/stock_parts/subspace/analyzer
+ name = "Subspace Wavelength Analyzer"
+ icon_state = "treatment_disk"
+ desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths."
+ origin_tech = "programming=3;magnets=4;materials=4;bluespace=2"
+ m_amt = 30
+ g_amt = 10
+
+/obj/item/weapon/stock_parts/subspace/crystal
+ name = "Ansible Crystal"
+ icon_state = "ansible_crystal"
+ desc = "A crystal made from pure glass used to transmit laser databursts to subspace."
+ origin_tech = "magnets=4;materials=4;bluespace=2"
+ g_amt = 50
+
+/obj/item/weapon/stock_parts/subspace/transmitter
+ name = "Subspace Transmitter"
+ icon_state = "subspace_transmitter"
+ desc = "A large piece of equipment used to open a window into the subspace dimension."
+ origin_tech = "magnets=5;materials=5;bluespace=3"
+ m_amt = 50
+
+
/obj/item/weapon/ectoplasm
name = "ectoplasm"
desc = "spooky"
diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm
index b813c76ef5b..7d00f02fdef 100644
--- a/code/game/machinery/constructable_frame.dm
+++ b/code/game/machinery/constructable_frame.dm
@@ -234,3 +234,73 @@ obj/item/weapon/circuitboard/rdserver
"/obj/item/weapon/stock_parts/micro_laser" = 1,
"/obj/item/weapon/stock_parts/console_screen" = 1,
"/obj/item/weapon/cable_coil" = 2,)
+
+
+// Telecomms circuit boards:
+
+/obj/item/weapon/circuitboard/telecomms/receiver
+ name = "Circuit Board (Subspace Receiver)"
+ build_path = "/obj/machinery/telecomms/receiver"
+ board_type = "machine"
+ origin_tech = "programming=4;engineering=3;bluespace=2"
+ frame_desc = "Requires 1 Subspace Ansible, 1 Hyperwave Filter, 2 Manipulators, and 1 Advanced Scanning Module."
+ req_components = list(
+ "/obj/item/weapon/stock_parts/subspace/ansible" = 1,
+ "/obj/item/weapon/stock_parts/subspace/filter" = 1,
+ "/obj/item/weapon/stock_parts/manipulator" = 2,
+ "/obj/item/weapon/stock_parts/scanning_module/adv" = 1)
+
+/obj/item/weapon/circuitboard/telecomms/bus
+ name = "Circuit Board (Bus Mainframe)"
+ build_path = "/obj/machinery/telecomms/bus"
+ board_type = "machine"
+ origin_tech = "programming=4;engineering=4"
+ frame_desc = "Requires 2 Manipulators, 1 Cable Coil and 1 Hyperwave Filter."
+ req_components = list(
+ "/obj/item/weapon/stock_parts/manipulator" = 2,
+ "/obj/item/weapon/cable_coil" = 1,
+ "/obj/item/weapon/stock_parts/subspace/filter" = 1)
+
+/obj/item/weapon/circuitboard/telecomms/processor
+ name = "Circuit Board (Processor Unit)"
+ build_path = "/obj/machinery/telecomms/processor"
+ board_type = "machine"
+ origin_tech = "programming=4;engineering=4"
+ frame_desc = "Requires 5 Manipulators, 1 Hyperwave Filter, 2 Treatment Disks, 1 Wavelength Analyzer, 2 Cable Coils and 1 Subspace Amplifier."
+ req_components = list(
+ "/obj/item/weapon/stock_parts/manipulator" = 5,
+ "/obj/item/weapon/stock_parts/subspace/filter" = 1,
+ "/obj/item/weapon/stock_parts/subspace/treatment" = 2,
+ "/obj/item/weapon/stock_parts/subspace/analyzer" = 1,
+ "/obj/item/weapon/cable_coil" = 2,
+ "/obj/item/weapon/stock_parts/subspace/amplifier" = 1)
+
+/obj/item/weapon/circuitboard/telecomms/server
+ name = "Circuit Board (Telecommunication Server)"
+ build_path = "/obj/machinery/telecomms/server"
+ board_type = "machine"
+ origin_tech = "programming=4;engineering=4"
+ frame_desc = "Requires 2 Manipulators, 1 Cable Coil and 1 Hyperwave Filter."
+ req_components = list(
+ "/obj/item/weapon/stock_parts/manipulator" = 2,
+ "/obj/item/weapon/cable_coil" = 1,
+ "/obj/item/weapon/stock_parts/subspace/filter" = 1)
+
+/obj/item/weapon/circuitboard/telecomms/broadcaster
+ name = "Circuit Board (Bus Mainframe)"
+ build_path = "/obj/machinery/telecomms/broadcaster"
+ board_type = "machine"
+ origin_tech = "programming=4;engineering=4;bluespace=2"
+ frame_desc = "Requires 2 Manipulators, 1 Cable Coil, 1 Hyperwave Filter, 1 Ansible Crystal, 1 Subspace Transmitter, 1 Subspace Amplifier and 4 High-Powered Micro-Lasers. "
+ req_components = list(
+ "/obj/item/weapon/stock_parts/manipulator" = 2,
+ "/obj/item/weapon/cable_coil" = 1,
+ "/obj/item/weapon/stock_parts/subspace/filter" = 1,
+ "/obj/item/weapon/stock_parts/subspace/crystal" = 1,
+ "/obj/item/weapon/stock_parts/subspace/transmitter" = 1,
+ "/obj/item/weapon/stock_parts/subspace/amplifier" = 1,
+ "/obj/item/weapon/stock_parts/micro_laser/high" = 4)
+
+
+
+
diff --git a/code/game/machinery/telecomms/broadcaster.dm b/code/game/machinery/telecomms/broadcaster.dm
index 7687a04959a..437ee6daeb3 100644
--- a/code/game/machinery/telecomms/broadcaster.dm
+++ b/code/game/machinery/telecomms/broadcaster.dm
@@ -7,7 +7,7 @@
/obj/machinery/telecomms/broadcaster
- name = "subspace broadcaster"
+ name = "Subspace Broadcaster"
icon = 'stationobjs.dmi'
icon_state = "broadcaster"
desc = "A dish-shaped machine used to broadcast processed subspace signals."
@@ -31,6 +31,11 @@
signal.data["done"] = 1 // mark the signal as being broadcasted
+ // Search for the original signal and mark it as done as well
+ var/datum/signal/original = signal.data["original"]
+ if(original)
+ original.data["done"] = 1
+
/* --- Do a snazzy animation! --- */
flick("broadcaster_send", src)
@@ -295,7 +300,5 @@
else
R.show_message(rendered, 2)
- // If the signal doesn't need to be used by intercoms or anything:
-
diff --git a/code/game/machinery/telecomms/logbrowser.dm b/code/game/machinery/telecomms/logbrowser.dm
index b8092cad6f8..f28f31d4ed5 100644
--- a/code/game/machinery/telecomms/logbrowser.dm
+++ b/code/game/machinery/telecomms/logbrowser.dm
@@ -59,26 +59,36 @@
var/race // The actual race of the mob
var/language = "Human" // MMIs, pAIs, Cyborgs and humans all speak Human
var/mobtype = "[C.parameters["mobtype"]]"
- switch(mobtype)
+ var/mob/M = new mobtype
- if("/mob/living/carbon/human")
- race = "Human"
+ if(istype(M, /mob/living/carbon/human))
+ race = "Human"
- if("/mob/living/carbon/monkey")
- race = "Monkey"
- language = race
+ else if(istype(M, /mob/living/carbon/monkey))
+ race = "Monkey"
+ language = race
- if("/mob/living/carbon/metroid")
- race = "Metroid"
- language = race
+ else if(istype(M, /mob/living/carbon/alien) || istype(M, /mob/living/carbon/metroid))
+ race = "Alien"
+ language = race
- if("/mob/living/carbon/alien")
- race = "Alien"
- language = race
-
- if(findtext("C.parameters["mobtype"]", "/mob/living/silicon"))
+ else if(istype(M, /mob/living/silicon))
race = "Artificial Life"
+ else if(istype(M, /mob/living/simple_animal/corgi))
+ race = "Dog"
+ language = race
+
+ else if(istype(M, /mob/living/simple_animal/cat))
+ race = "Cat"
+ language = race
+
+ else
+ race = "Unidentifiable"
+ language = race
+
+ del(M)
+
// -- If the orator is a human, or universal translate is active, OR mob has universal speech on --
if(language == "Human" || universal_translate || C.parameters["uspeech"])
@@ -139,7 +149,7 @@
if("scan")
if(servers.len > 0)
- temp = "- FAILED: CANNOT PROBE WHEN BUFFER FULL -"
+ temp = "- FAILED: CANNOT PROBE WHEN BUFFER FULL -"
else
for(var/obj/machinery/telecomms/server/T in range(25, src))
@@ -147,9 +157,9 @@
servers.Add(T)
if(!servers.len)
- temp = "- FAILED: UNABLE TO LOCATE SERVERS IN \[[network]\] -"
+ temp = "- FAILED: UNABLE TO LOCATE SERVERS IN \[[network]\] -"
else
- temp = "- [servers.len] SERVERS PROBED & BUFFERED -"
+ temp = "- [servers.len] SERVERS PROBED & BUFFERED -"
screen = 0
@@ -158,20 +168,28 @@
var/datum/comm_log_entry/D = SelectedServer.log_entries[text2num(href_list["delete"])]
- temp = "- DELETED ENTRY: [D.name] -"
+ temp = "- DELETED ENTRY: [D.name] -"
SelectedServer.log_entries.Remove(D)
del(D)
+ else
+ temp = "- FAILED: NO SELECTED MACHINE -"
if(href_list["input"])
var/newnet = input(usr, "Which network do you want to view?", "Comm Monitor", network) as null|text
- if(newnet && usr in range(1, src))
- network = newnet
- screen = 0
- machines = list()
- temp = "- NEW NETWORK TAG SET IN ADDRESS \[[network]\] -"
+
+ if(newnet && usr in range(1, src) && newnet != network)
+ if(length(newnet) > 15)
+ temp = "- FAILED: NETWORK TAG STRING TOO LENGHTLY -"
+
+ else
+
+ network = newnet
+ screen = 0
+ machines = list()
+ temp = "- NEW NETWORK TAG SET IN ADDRESS \[[network]\] -"
updateUsrDialog()
return
diff --git a/code/game/machinery/telecomms/telecomunications.dm b/code/game/machinery/telecomms/telecomunications.dm
index ce3818d14fc..b1e7e627435 100644
--- a/code/game/machinery/telecomms/telecomunications.dm
+++ b/code/game/machinery/telecomms/telecomunications.dm
@@ -16,9 +16,11 @@
list/links = list() // list of machines this machine is linked to
traffic = 0 // value increases as traffic increases
list/autolinkers = list() // list of text/number values to link with
- id = "" // identification string
+ id = "NULL" // identification string
network = "NULL" // the network of the machinery
+ list/freq_listening = list() // list of frequencies to tune into: if none, will listen to all
+
machinetype = 0 // just a hacky way of preventing alike machines from pairing
@@ -48,6 +50,13 @@
// receive information from linked machinery
..()
+ proc/is_freq_listening(datum/signal/signal)
+ // return 1 if found, 0 if not found
+ if((signal.frequency in freq_listening) || (!freq_listening.len))
+ return 1
+ else
+ return 0
+
New()
..()
if(autolinkers.len)
@@ -68,7 +77,7 @@
*/
/obj/machinery/telecomms/receiver
- name = "subspace receiver"
+ name = "Subspace Receiver"
icon = 'stationobjs.dmi'
icon_state = "broadcast receiver"
desc = "This machine has a dish-like shape and green lights. It is designed to detect and process subspace radio activity."
@@ -77,18 +86,16 @@
use_power = 1
idle_power_usage = 30
machinetype = 1
- var
- list/freq_listening = list() // list of frequencies that are being tuned into
- // you can use "ALL" on any machine using this var
receive_signal(datum/signal/signal)
if(signal.transmission_method == 2)
- if( (signal.frequency in freq_listening) || ("ALL" in freq_listening) ) // detect subspace signals
+ if(is_freq_listening(signal)) // detect subspace signals
var/datum/signal/copy = new
copy.copy_from(signal) // copy information to new signal
+ copy.data["original"] = signal
relay_information(copy) // ideally relay the information to bus units
@@ -103,7 +110,7 @@
*/
/obj/machinery/telecomms/bus
- name = "bus mainframe"
+ name = "Bus Mainframe"
icon = 'stationobjs.dmi'
icon_state = "bus1"
desc = "A mighty piece of hardware used to send massive amounts of data quickly."
@@ -115,20 +122,21 @@
receive_information(datum/signal/signal, obj/machinery/telecomms/machine_from)
- if(signal.data["compression"]) // if signal is still compressed from subspace transmission
- // send to one linked processor unit
+ if(is_freq_listening(signal))
+ if(signal.data["compression"]) // if signal is still compressed from subspace transmission
+ // send to one linked processor unit
- var/send_to_processor = relay_information(signal, "/obj/machinery/telecomms/processor", 1)
+ var/send_to_processor = relay_information(signal, "/obj/machinery/telecomms/processor", 1)
- if(!send_to_processor) // failed to send to a processor, relay information anyway
+ if(!send_to_processor) // failed to send to a processor, relay information anyway
+ relay_information(signal, "/obj/machinery/telecomms/server")
+
+
+ else // the signal has been decompressed by a processor unit
+ // send to all linked server units
relay_information(signal, "/obj/machinery/telecomms/server")
- else // the signal has been decompressed by a processor unit
- // send to all linked server units
- relay_information(signal, "/obj/machinery/telecomms/server")
-
-
/*
The processor is a very simple machine that decompresses subspace signals and
@@ -137,7 +145,7 @@
*/
/obj/machinery/telecomms/processor
- name = "processor unit"
+ name = "Processor Unit"
icon = 'stationobjs.dmi'
icon_state = "processor_on"
desc = "This machine is used to process large quantities of information."
@@ -149,8 +157,9 @@
receive_information(datum/signal/signal, obj/machinery/telecomms/machine_from)
- signal.data["compression"] = 0 // uncompress subspace signal
- relay_direct_information(signal, machine_from) // send the signal back to the machine
+ if(is_freq_listening(signal))
+ signal.data["compression"] = 0 // uncompress subspace signal
+ relay_direct_information(signal, machine_from) // send the signal back to the machine
@@ -163,7 +172,7 @@
/obj/machinery/telecomms/server
- name = "telecommunication server"
+ name = "Telecommunication Server"
icon = 'stationobjs.dmi'
icon_state = "comm_server"
desc = "A machine used to store data and network statistics."
@@ -173,14 +182,13 @@
idle_power_usage = 15
machinetype = 4
var
- list/freq_listening = list()
list/log_entries = list()
receive_information(datum/signal/signal, obj/machinery/telecomms/machine_from)
if(signal.data["message"] && !signal.data["compression"])
- if( (signal.frequency in freq_listening) || ("ALL" in freq_listening) )
+ if(is_freq_listening(signal))
// if signal contains discernable data
diff --git a/code/game/machinery/telecomms/telemonitor.dm b/code/game/machinery/telecomms/telemonitor.dm
index de1f36d8646..71d61628706 100644
--- a/code/game/machinery/telecomms/telemonitor.dm
+++ b/code/game/machinery/telecomms/telemonitor.dm
@@ -95,7 +95,7 @@
if("probe")
if(machines.len > 0)
- temp = "- FAILED: CANNOT PROBE WHEN BUFFER FULL -"
+ temp = "- FAILED: CANNOT PROBE WHEN BUFFER FULL -"
else
for(var/obj/machinery/telecomms/T in range(25, src))
@@ -103,9 +103,9 @@
machines.Add(T)
if(!machines.len)
- temp = "- FAILED: UNABLE TO LOCATE NETWORK ENTITIES IN \[[network]\] -"
+ temp = "- FAILED: UNABLE TO LOCATE NETWORK ENTITIES IN \[[network]\] -"
else
- temp = "- [machines.len] ENTITIES LOCATED & BUFFERED -"
+ temp = "- [machines.len] ENTITIES LOCATED & BUFFERED -"
screen = 0
@@ -113,11 +113,15 @@
if(href_list["input"])
var/newnet = input(usr, "Which network do you want to view?", "Comm Monitor", network) as null|text
- if(newnet && usr in range(1, src))
- network = newnet
- screen = 0
- machines = list()
- temp = "- NEW NETWORK TAG SET IN ADDRESS \[[network]\] -"
+ if(newnet && usr in range(1, src) && newnet != network)
+ if(length(newnet) > 15)
+ temp = "- FAILED: NETWORK TAG STRING TOO LENGHTLY -"
+
+ else
+ network = newnet
+ screen = 0
+ machines = list()
+ temp = "- NEW NETWORK TAG SET IN ADDRESS \[[network]\] -"
updateUsrDialog()
return
diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm
index 0babc79fccb..5c9ad3cef24 100644
--- a/code/modules/research/designs.dm
+++ b/code/modules/research/designs.dm
@@ -478,6 +478,51 @@ datum
build_path = "/obj/item/weapon/aiModule/tyrant"
+
+///////////////////////////////////
+/////Subspace Telecomms////////////
+///////////////////////////////////
+ subspace_receiver
+ name = "Circuit Design (Subspace Receiver)"
+ desc = "Allows for the construction of Subspace Receiver equipment."
+ id = "s-receiver"
+ req_tech = list("programming" = 4, "engineering" = 3, "bluespace" = 2)
+ build_type = IMPRINTER
+ materials = list("$glass" = 2000, "acid" = 20)
+
+ telecomms_bus
+ name = "Circuit Design (Bus Mainframe)"
+ desc = "Allows for the construction of Telecommunications Bus Mainframes."
+ id = "s-bus"
+ req_tech = list("programming" = 4, "engineering" = 4)
+ build_type = IMPRINTER
+ materials = list("$glass" = 2000, "acid" = 20)
+
+ telecomms_processor
+ name = "Circuit Design (Processor Unit)"
+ desc = "Allows for the construction of Telecommunications Processor equipment."
+ id = "s-processor"
+ req_tech = list("programming" = 4, "engineering" = 4)
+ build_type = IMPRINTER
+ materials = list("$glass" = 2000, "acid" = 20)
+
+ telecomms_server
+ name = "Circuit Design (Subspace Receiver)"
+ desc = "Allows for the construction of Telecommunications Servers."
+ id = "s-server"
+ req_tech = list("programming" = 4, "engineering" = 4)
+ build_type = IMPRINTER
+ materials = list("$glass" = 2000, "acid" = 20)
+
+ subspace_broadcaster
+ name = "Circuit Design (Subspace Broadcaster)"
+ desc = "Allows for the construction of Subspace Broadcasting equipment."
+ id = "s-broadcaster"
+ req_tech = list("programming" = 4, "engineering" = 4, "bluespace" = 2)
+ build_type = IMPRINTER
+ materials = list("$glass" = 2000, "acid" = 20)
+
+
///////////////////////////////////
/////Non-Board Computer Stuff//////
///////////////////////////////////
@@ -897,6 +942,71 @@ datum
reliability_base = 75
build_path = "/obj/item/weapon/stock_parts/matter_bin/super"
+
+
+ subspace_ansible
+ name = "Subspace Ansible"
+ desc = "A compact module capable of sensing extradimensional activity."
+ id = "s-ansible"
+ req_tech = list("programming" = 3, "magnets" = 4, "materials" = 4, "bluespace" = 2)
+ build_type = PROTOLATHE
+ materials = list("$metal" = 80, "$silver" = 20)
+ build_path = "/obj/item/weapon/stock_parts/subspace/ansible"
+
+ hyperwave_filter
+ name = "Hyperwave Filter"
+ desc = "A tiny device capable of filtering and converting super-intense radiowaves."
+ id = "s-filter"
+ req_tech = list("programming" = 3, "magnets" = 3)
+ build_type = PROTOLATHE
+ materials = list("$metal" = 40, "$silver" = 10)
+ build_path = "/obj/item/weapon/stock_parts/subspace/filter"
+
+ subspace_amplifier
+ name = "Subspace Amplifier"
+ desc = "A compact micro-machine capable of amplifying weak subspace transmissions."
+ id = "s-amplifier"
+ req_tech = list("programming" = 3, "magnets" = 4, "materials" = 4, "bluespace" = 2)
+ build_type = PROTOLATHE
+ materials = list("$metal" = 10, "$gold" = 30, "$uranium" = 15)
+ build_path = "/obj/item/weapon/stock_parts/subspace/amplifier"
+
+ subspace_treatment
+ name = "Subspace Treatment Disk"
+ desc = "A compact micro-machine capable of stretching out hyper-compressed radio waves."
+ id = "s-amplifier"
+ req_tech = list("programming" = 3, "magnets" = 2, "materials" = 4, "bluespace" = 2)
+ build_type = PROTOLATHE
+ materials = list("$metal" = 10, "$silver" = 20)
+ build_path = "/obj/item/weapon/stock_parts/subspace/treatment"
+
+ subspace_analyzer
+ name = "Subspace Treatment Disk"
+ desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths."
+ id = "s-amplifier"
+ req_tech = list("programming" = 3, "magnets" = 4, "materials" = 4, "bluespace" = 2)
+ build_type = PROTOLATHE
+ materials = list("$metal" = 10, "$gold" = 15)
+ build_path = "/obj/item/weapon/stock_parts/subspace/analyzer"
+
+ subspace_crystal
+ name = "Ansible Crystal"
+ desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths."
+ id = "s-amplifier"
+ req_tech = list("magnets" = 4, "materials" = 4, "bluespace" = 2)
+ build_type = PROTOLATHE
+ materials = list("$glass" = 1000, "$silver" = 20, "$gold" = 20)
+ build_path = "/obj/item/weapon/stock_parts/subspace/crystal"
+
+ subspace_transmitter
+ name = "Subspace Transmitter"
+ desc = "A large piece of equipment used to open a window into the subspace dimension."
+ id = "s-amplifier"
+ req_tech = list("magnets" = 5, "materials" = 5, "bluespace" = 3)
+ build_type = PROTOLATHE
+ materials = list("$glass" = 100, "$silver" = 10, "$uranium" = 15)
+ build_path = "/obj/item/weapon/stock_parts/subspace/transmitter"
+
////////////////////////////////////////
//////////////////Power/////////////////
////////////////////////////////////////
diff --git a/icons/obj/stationobjs.dmi b/icons/obj/stationobjs.dmi
index 6c7baeccfca..8d1e646f0ff 100644
Binary files a/icons/obj/stationobjs.dmi and b/icons/obj/stationobjs.dmi differ
diff --git a/icons/obj/stock_parts.dmi b/icons/obj/stock_parts.dmi
index 6856b3da237..5af3cce8f9c 100644
Binary files a/icons/obj/stock_parts.dmi and b/icons/obj/stock_parts.dmi differ