diff --git a/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_interdiction.dm b/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_interdiction.dm index 0d35d56a53e..b774f7b3701 100644 --- a/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_interdiction.dm +++ b/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_interdiction.dm @@ -45,7 +45,7 @@ /datum/game_mode/malfunction/verb/recall_shuttle() set name = "Recall Shuttle" - set desc = "25 CPU - Sends termination signal to quantum relay aborting current shuttle call." + set desc = "25 CPU - Sends termination signal to bluespace relay aborting current shuttle call." set category = "Software" var/price = 25 diff --git a/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_networking.dm b/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_networking.dm index ac3063cbb30..20992c69050 100644 --- a/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_networking.dm +++ b/code/game/gamemodes/malfunction/newmalf_ability_trees/tree_networking.dm @@ -89,7 +89,7 @@ /datum/game_mode/malfunction/verb/advanced_encryption_hack() set category = "Software" set name = "Advanced Encryption Hack" - set desc = "75 CPU - Attempts to bypass encryption on the Command Quantum Relay, giving you ability to fake legitimate messages. Has chance of failing." + set desc = "75 CPU - Attempts to bypass encryption on the Command Bluespace Relay, giving you ability to fake legitimate messages. Has chance of failing." var/price = 75 var/mob/living/silicon/ai/user = usr diff --git a/code/game/objects/items/weapons/circuitboards/machinery/telecomms.dm b/code/game/objects/items/weapons/circuitboards/machinery/telecomms.dm index 5a92b691154..af1cce8d2c4 100644 --- a/code/game/objects/items/weapons/circuitboards/machinery/telecomms.dm +++ b/code/game/objects/items/weapons/circuitboards/machinery/telecomms.dm @@ -62,7 +62,7 @@ "/obj/item/stock_parts/micro_laser/high" = 2) /obj/item/circuitboard/ntnet_relay - name = T_BOARD("NTNet Quantum Relay") + name = T_BOARD("NTNet Bluespace Relay") build_path = /obj/structure/machinery/ntnet_relay board_type = BOARD_MACHINE origin_tech = list(TECH_DATA = 4) diff --git a/code/modules/cciaa/cciaa.dm b/code/modules/cciaa/cciaa.dm index d1c033d0248..1b4f80e153a 100644 --- a/code/modules/cciaa/cciaa.dm +++ b/code/modules/cciaa/cciaa.dm @@ -48,7 +48,7 @@ P.stamped = new P.stamped += /obj/item/stamp P.AddOverlays(stampoverlay) - P.stamps += "
This paper has been stamped by the Central Command Quantum Relay." + P.stamps += "
This paper has been stamped by the Central Command Bluespace Relay." if(fax.receivefax(P)) if(announce == 1) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index b154db77774..eddcd63752a 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -521,7 +521,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list( if((world.time - last_emergency_message_time) < AI_EMERGENCY_MESSAGE_COOLDOWN) to_chat(src, SPAN_WARNING("Arrays are recycling. You need to wait [DisplayTimeText(AI_EMERGENCY_MESSAGE_COOLDOWN - (world.time - last_emergency_message_time))] before you can send another message.")) return FALSE - var/input = sanitize(input(usr, "Please choose a message to transmit to [SSatlas.current_map.boss_short] via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response. There is a 30 second delay before you may send another message, be clear, full and concise.", "To abort, send an empty message.", "")) + var/input = sanitize(input(usr, "Please choose a message to transmit to [SSatlas.current_map.boss_short] via bluespace. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response. There is a 30 second delay before you may send another message, be clear, full and concise.", "To abort, send an empty message.", "")) if(!input) return FALSE diff --git a/code/modules/modular_computers/NTNet/NTNet_relay.dm b/code/modules/modular_computers/NTNet/NTNet_relay.dm index ff9fe9dd897..1281e0c9e6c 100644 --- a/code/modules/modular_computers/NTNet/NTNet_relay.dm +++ b/code/modules/modular_computers/NTNet/NTNet_relay.dm @@ -1,6 +1,6 @@ /obj/structure/machinery/ntnet_relay - name = "NTNet Quantum Relay" - desc = "A very complex core router and transmitter capable of connecting electronic devices together. Looks fragile." + name = "NTNet Bluespace Relay" + desc = "A very complex router and transmitter capable of connecting electronic devices together. Looks fragile." use_power = POWER_USE_ACTIVE active_power_usage = 20000 //20kW, appropriate for machine that keeps massive cross-Zlevel wireless network operational. idle_power_usage = 100 @@ -156,12 +156,12 @@ if((dos_overload > dos_capacity) && !dos_failure) dos_failure = TRUE update_icon() - GLOB.ntnet_global.add_log("Quantum relay switched from normal operation mode to overload recovery mode.") + GLOB.ntnet_global.add_log("Bluespace relay switched from normal operation mode to overload recovery mode.") // If the DoS buffer reaches 0 again, restart. if((dos_overload == 0) && dos_failure) dos_failure = FALSE update_icon() - GLOB.ntnet_global.add_log("Quantum relay switched from overload recovery mode to normal operation mode.") + GLOB.ntnet_global.add_log("Bluespace relay switched from overload recovery mode to normal operation mode.") ..() /obj/structure/machinery/ntnet_relay/ui_interact(mob/user, datum/tgui/ui) @@ -194,11 +194,11 @@ dos_overload = FALSE dos_failure = FALSE update_icon() - GLOB.ntnet_global.add_log("Quantum relay manually restarted from overload recovery mode to normal operation mode.") + GLOB.ntnet_global.add_log("Bluespace relay manually restarted from overload recovery mode to normal operation mode.") . = TRUE if(action=="toggle") enabled = !enabled - GLOB.ntnet_global.add_log("Quantum relay manually [enabled ? "enabled" : "disabled"].") + GLOB.ntnet_global.add_log("Bluespace relay manually [enabled ? "enabled" : "disabled"].") update_icon() . = TRUE @@ -216,7 +216,7 @@ GLOB.ntnet_global.relays.Add(src) NTNet = GLOB.ntnet_global sync_linked() - GLOB.ntnet_global.add_log("New quantum relay activated. Current amount of linked relays: [NTNet.relays.len]") + GLOB.ntnet_global.add_log("New bluespace relay activated. Current amount of linked relays: [NTNet.relays.len]") /obj/structure/machinery/ntnet_relay/LateInitialize() . = ..() @@ -225,7 +225,7 @@ /obj/structure/machinery/ntnet_relay/Destroy() if(GLOB.ntnet_global) GLOB.ntnet_global.relays.Remove(src) - GLOB.ntnet_global.add_log("Quantum relay connection severed. Current amount of linked relays: [NTNet.relays.len]") + GLOB.ntnet_global.add_log("Bluespace relay connection severed. Current amount of linked relays: [NTNet.relays.len]") return ..() /obj/structure/machinery/ntnet_relay/attackby(obj/item/attacking_item, mob/user) diff --git a/code/modules/modular_computers/file_system/programs/command/command_and_communications.dm b/code/modules/modular_computers/file_system/programs/command/command_and_communications.dm index fe77a3024bf..f3e0415f1b7 100644 --- a/code/modules/modular_computers/file_system/programs/command/command_and_communications.dm +++ b/code/modules/modular_computers/file_system/programs/command/command_and_communications.dm @@ -138,7 +138,7 @@ if(centcomm_message_cooldown) to_chat(usr, SPAN_WARNING("Arrays recycling. Please stand by.")) return TRUE - var/input = sanitize(tgui_input_text(usr, "Please choose a message to transmit to \[ABNORMAL ROUTING CORDINATES\] via quantum entanglement.", "Emergency M&#e55sage", multiline = TRUE, encode = FALSE)) + var/input = sanitize(tgui_input_text(usr, "Please choose a message to transmit to \[ABNORMAL ROUTING CORDINATES\] via bluespace.", "Emergency M&#e55sage", multiline = TRUE, encode = FALSE)) if(!input || computer.use_check_and_message(usr)) return FALSE Syndicate_announce(input, usr) @@ -154,7 +154,7 @@ if(!is_relay_online())//Contact Centcom has a check, Syndie doesn't to allow for Traitor funs. to_chat(usr, SPAN_WARNING("No Emergency Bluespace Relay detected. Unable to transmit message.")) return - var/input = sanitize(tgui_input_text(usr, "Please choose a message to transmit to [SSatlas.current_map.boss_name] via quantum entanglement.", "Emergency Message", multiline = TRUE, encode = FALSE)) + var/input = sanitize(tgui_input_text(usr, "Please choose a message to transmit to [SSatlas.current_map.boss_name] via bluespace.", "Emergency Message", multiline = TRUE, encode = FALSE)) if(!input || computer.use_check_and_message(usr)) return Centcomm_announce(input, usr) diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index b0d69799f65..cb33c50cc55 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -45,6 +45,14 @@ var/charge = 1e6 /// actual charge var/max_coils = 0 + /// Coils that this SMES accepts. + var/list/compatible_coils = list( + /obj/item/smes_coil, + /obj/item/smes_coil/weak, + /obj/item/smes_coil/super_capacity, + /obj/item/smes_coil/super_io + ) + /// 1 = attempting to charge, 0 = not attempting to charge var/input_attempt = 0 /// 1 = actually inputting, 0 = not inputting @@ -559,8 +567,8 @@ /obj/structure/machinery/power/smes/magical - name = "quantum power storage unit" - desc = "A high-capacity superconducting magnetic energy storage (SMES) unit. Gains energy from quantum entanglement link." + name = "bluespace power storage unit" + desc = "A high-capacity superconducting magnetic energy storage (SMES) unit. Siphons energy out of bluespace... somehow." capacity = 5000000 output_level = 250000 should_be_mapped = 1 @@ -571,11 +579,48 @@ /obj/structure/machinery/power/smes/buildable/superconducting name = "superconducting cryogenic capacitor" - desc = "An experimental, extremely high-capacity type of SMES. It uses integrated cryogenic cooling and superconducting cables to break conventional limits on power transfer." + desc = "An experimental, extremely high-capacity type of SMES. It uses both integrated cryogenic cooling and superconducting cables to break conventional limits on power transfer." icon_state = "cannon_smes" charge = 0 max_coils = 12 cur_coils = 12 + compatible_coils = list( + /obj/item/smes_coil, + /obj/item/smes_coil/weak, + /obj/item/smes_coil/super_capacity, + /obj/item/smes_coil/super_io, + /obj/item/smes_coil/cryo + ) + +// EE's phoron-free alternative +/obj/structure/machinery/power/smes/buildable/cryogenic + name = "cryogenic power storage unit" + desc = "A superconducting magnetic energy storage (SMES) unit fitted with cryogenic coolant arrays to induce superconductivity in installed coils. \ + The Einstein Engines alternative to phoron-based power systems in the growing Phoron Scarcity crisis; inferior, more hassle, but a phoron-free marvel of engineering!" + icon_state = "smes_cryo" + charge = 0 + max_coils = 4 + cur_coils = 0 + compatible_coils = list( + /obj/item/smes_coil/cryo + ) + +/obj/structure/machinery/power/smes/buildable/cryogenic/Initialize() + . = ..() + component_parts += new /obj/item/smes_coil/cryo(src) + component_parts += new /obj/item/smes_coil/cryo(src) + component_parts += new /obj/item/smes_coil/cryo(src) + cur_coils = 3 // this is set here to stop non-cryo coils being added on /smes/buildable/Initialise() + +/// Intended for phoron-free third party outposts (eg. Einstien Engines, independents avoiding phoron). +/obj/structure/machinery/power/smes/buildable/cryogenic/outpost/Initialize() + . = ..() + + input_attempt = TRUE + output_attempt = TRUE + input_level = 200000 + output_level = 200000 + charge = 5000000 #undef SMES_CLEVEL_1 #undef SMES_CLEVEL_2 diff --git a/code/modules/power/smes_construction.dm b/code/modules/power/smes_construction.dm index 8f42fade1d1..8f11a00efaa 100644 --- a/code/modules/power/smes_construction.dm +++ b/code/modules/power/smes_construction.dm @@ -11,7 +11,8 @@ /// MAGNETIC COILS - These things actually store and transmit power within the SMES. Different types have different properties /obj/item/smes_coil name = "superconductive magnetic coil" - desc = "Standard superconductive magnetic coil with balanced capacity and I/O rating." + desc = "A standard superconductive magnetic coil with balanced capacity and I/O rating." + desc_extended = "One of the primary uses of phoron, these coils rely on phoron as a room-temperature superconductor to store or transmit energy with near zero loss." icon = 'icons/obj/stock_parts.dmi' icon_state = "smes_coil" /// It's LARGE (backpack sized) @@ -30,6 +31,8 @@ /obj/item/smes_coil/weak name = "basic superconductive magnetic coil" desc = "Cheaper model of the standard superconductive magnetic coil. Its capacity and I/O rating are considerably lower." + desc_extended = "One of the primary uses of phoron, these coils rely on phoron as a room-temperature superconductor to store or transmit energy with near zero loss. \ + The phoron in this coil is low-grade and in small quantity." icon_state = "smes_coil_weak" ChargeCapacity = 500000 IOCapacity = 300000 @@ -50,6 +53,14 @@ ChargeCapacity = 250000 IOCapacity = 2000000 +// 75% Charge Capacity, 50% I/O Capacity. +/obj/item/smes_coil/cryo + name = "cryogenic superconductive transmission coil" + desc = "A non-phoronic superconductive coil instead reliant on a proprietary Einstein Engines superhydride compound. It can only be installed in cryogenic SMES units." + icon_state = "smes_coil_cryo" + ChargeCapacity = 1875000 + IOCapacity = 250000 + // SMES SUBTYPES - THESE ARE MAPPED IN AND CONTAIN DIFFERENT TYPES OF COILS // These are used on individual outposts as backup should power line be cut, or engineering outpost lost power. @@ -487,6 +498,10 @@ else if(istype(attacking_item, /obj/item/smes_coil)) if (cur_coils < max_coils) + if(!(attacking_item in compatible_coils)) + to_chat(usr, "This coil isn't compatible with this SMES unit.") + return + if (failure_probability && prob(failure_probability)) total_system_failure(failure_probability, user) return diff --git a/code/modules/research/designs/circuit/tcom_designs.dm b/code/modules/research/designs/circuit/tcom_designs.dm index b7449603ffd..587fe5c914b 100644 --- a/code/modules/research/designs/circuit/tcom_designs.dm +++ b/code/modules/research/designs/circuit/tcom_designs.dm @@ -29,7 +29,7 @@ build_path = /obj/item/circuitboard/telecomms/receiver /datum/design/circuit/tcom/ntnet_relay - name = "NTNet Quantum Relay" + name = "NTNet Bluespace Relay" req_tech = list(TECH_DATA = 4) build_path = /obj/item/circuitboard/ntnet_relay diff --git a/code/modules/research/designs/protolathe/stock_parts_designs.dm b/code/modules/research/designs/protolathe/stock_parts_designs.dm index 73957e678f8..6fb65ccf6ff 100644 --- a/code/modules/research/designs/protolathe/stock_parts_designs.dm +++ b/code/modules/research/designs/protolathe/stock_parts_designs.dm @@ -92,7 +92,7 @@ /datum/design/item/stock_part/subspace_ansible desc = "A component used in telecomms machinery construction." req_tech = list(TECH_DATA = 3, TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2) - materials = list(MATERIAL_STEEL = 80, MATERIAL_SILVER = 20) + materials = list(MATERIAL_STEEL = 80, MATERIAL_SILVER = 50, MATERIAL_PHORON = 500) build_path = /obj/item/stock_parts/subspace/ansible /datum/design/item/stock_part/hyperwave_filter @@ -104,7 +104,7 @@ /datum/design/item/stock_part/subspace_amplifier desc = "A component used in telecomms machinery construction." req_tech = list(TECH_DATA = 3, TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2) - materials = list(MATERIAL_STEEL = 10, MATERIAL_GOLD = 30, MATERIAL_URANIUM = 15) + materials = list(MATERIAL_STEEL = 10, MATERIAL_GOLD = 30, MATERIAL_URANIUM = 15, MATERIAL_PHORON = 100) build_path = /obj/item/stock_parts/subspace/amplifier /datum/design/item/stock_part/subspace_treatment @@ -122,7 +122,7 @@ /datum/design/item/stock_part/subspace_crystal desc = "A component used in telecomms machinery construction." req_tech = list(TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2) - materials = list(MATERIAL_GLASS = 1000, MATERIAL_SILVER = 20, MATERIAL_GOLD = 20) + materials = list(MATERIAL_GLASS = 1000, MATERIAL_SILVER = 20, MATERIAL_GOLD = 20, MATERIAL_PHORON = 500) build_path = /obj/item/stock_parts/subspace/crystal /datum/design/item/stock_part/subspace_transmitter diff --git a/code/modules/research/stockparts.dm b/code/modules/research/stockparts.dm index 79ca113cfb1..0ad095f59ec 100644 --- a/code/modules/research/stockparts.dm +++ b/code/modules/research/stockparts.dm @@ -255,53 +255,57 @@ //TCOMS stock parts /obj/item/stock_parts/subspace/ansible - name = "subspace ansible" - icon_state = "subspace_ansible" - desc = "A compact module capable of sensing extradimensional activity." + name = "bluespace ansible" + icon_state = "ansible_crystal" + desc = "A specially energised bluespace crystal that can be used to receive and transcribe transmissions received from within bluespace." + desc_extended = "Perhaps the most under-valued use of phoron and bluespace, and the backbone of interstellar FTL communications. \ + Without these, it will be back to warp couriers and dreaded sub-luminal radio communications..." origin_tech = list(TECH_DATA = 3, TECH_MAGNET = 5 ,TECH_MATERIAL = 4, TECH_BLUESPACE = 2) - matter = list(MATERIAL_STEEL = 30, MATERIAL_GLASS = 10) + matter = list(MATERIAL_STEEL = 30, MATERIAL_GLASS = 10, MATERIAL_PHORON = 50) /obj/item/stock_parts/subspace/filter name = "hyperwave filter" icon_state = "hyperwave_filter" - desc = "A tiny device capable of filtering and converting super-intense radiowaves." + desc = "A tiny device capable of filtering and converting bluespace transmissions." origin_tech = list(TECH_DATA = 4, TECH_MAGNET = 2) matter = list(MATERIAL_STEEL = 30, MATERIAL_GLASS = 10) /obj/item/stock_parts/subspace/amplifier - name = "subspace amplifier" + name = "bluespace amplifier" icon_state = "subspace_amplifier" - desc = "A compact micro-machine capable of amplifying weak subspace transmissions." + desc = "A compact ampule of phoron gas capable of amplifying weak bluespace transmissions." origin_tech = list(TECH_DATA = 3, TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2) - matter = list(MATERIAL_STEEL = 30, MATERIAL_GLASS = 10) + matter = list(MATERIAL_STEEL = 30, MATERIAL_GLASS = 10, MATERIAL_PHORON = 50) /obj/item/stock_parts/subspace/treatment - name = "subspace treatment disk" + name = "bluespace treatment disk" icon_state = "treatment_disk" - desc = "A compact micro-machine capable of stretching out hyper-compressed radio waves." + desc = "A compact micro-machine capable of stretching out hyper-compressed bluespace transmissions." origin_tech = list(TECH_DATA = 3, TECH_MAGNET = 2, TECH_MATERIAL = 5, TECH_BLUESPACE = 2) matter = list(MATERIAL_STEEL = 30, MATERIAL_GLASS = 10) /obj/item/stock_parts/subspace/analyzer - name = "subspace wavelength analyzer" + name = "bluespace transmission analyzer" icon_state = "wavelength_analyzer" - desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths." + desc = "A sophisticated analyzer capable of analyzing cryptic bluespace transmissions." origin_tech = list(TECH_DATA = 3, TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2) matter = list(MATERIAL_STEEL = 30, MATERIAL_GLASS = 10) /obj/item/stock_parts/subspace/crystal - name = "ansible crystal" + name = "bluespace transmission crystal" icon_state = "ansible_crystal" - desc = "A crystal made from pure glass used to transmit laser databursts to subspace." + desc = "A specially energised bluespace crystal capable of punching tiny micro-portals into bluespace, through which laser databursts can be transmitted FTL." + desc_extended = "Perhaps the most under-valued use of phoron and bluespace, and the backbone of interstellar FTL communications. \ + Without these, it will be back to warp couriers and dreaded sub-luminal radio communications..." origin_tech = list(TECH_MAGNET = 4, TECH_MATERIAL = 4, TECH_BLUESPACE = 2) - matter = list(MATERIAL_GLASS = 50) + matter = list(MATERIAL_PHORON = 50) /obj/item/stock_parts/subspace/transmitter - name = "subspace transmitter" + name = "data laser transmitter" icon_state = "subspace_transmitter" - desc = "A large piece of equipment used to open a window into the subspace dimension." + desc = "A small laser that can be used to transmit data through an opened bluespace micro-portal." origin_tech = list(TECH_MAGNET = 5, TECH_MATERIAL = 5, TECH_BLUESPACE = 3) - matter = list(MATERIAL_STEEL = 50) + matter = list(MATERIAL_STEEL = 25, MATERIAL_GLASS = 25) #undef STOCK_PART_BASIC #undef STOCK_PART_ADVANCED diff --git a/code/modules/world_api/commands/cciaa.dm b/code/modules/world_api/commands/cciaa.dm index a43ab3666d5..469aa5c6d4a 100644 --- a/code/modules/world_api/commands/cciaa.dm +++ b/code/modules/world_api/commands/cciaa.dm @@ -252,7 +252,7 @@ if(stamptext) P.stamps += "
This paper has been stamped [stamptext]." else - P.stamps += "
This paper has been stamped by the Central Command Quantum Relay." + P.stamps += "
This paper has been stamped by the Central Command Bluespace Relay." if(F.receivefax(P)) log_and_message_admins("[senderkey] sent a fax message to the [F.department] fax machine via the api. (JMP)") diff --git a/html/changelogs/kermit-applications-of-phoron.yml b/html/changelogs/kermit-applications-of-phoron.yml new file mode 100644 index 00000000000..085ad7b2fc4 --- /dev/null +++ b/html/changelogs/kermit-applications-of-phoron.yml @@ -0,0 +1,10 @@ +author: kermit + +delete-after: True + +changes: + - rscadd: "Represents phoron lore in SMES units via descs + purple accenting on SMES sprites." + - rscadd: "Adds a phoron-free, cryogenic SMES unit." + - rscadd: "Represents phoron lore in telecomms component descriptions. Adds a phoron manufacture cost to some of them." + - rscadd: "The Quantum Relay has been renamed to Bluespace Relay, as Quantum FTL Communications are not in lore." + diff --git a/icons/obj/power.dmi b/icons/obj/power.dmi index 844b1fce200..d0a07ddec7d 100644 Binary files a/icons/obj/power.dmi and b/icons/obj/power.dmi differ diff --git a/icons/obj/stock_parts.dmi b/icons/obj/stock_parts.dmi index 8fe1cad3e01..a628ae16264 100644 Binary files a/icons/obj/stock_parts.dmi and b/icons/obj/stock_parts.dmi differ