diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index 61d55f3a352..19d96b40c12 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -65,6 +65,8 @@ // when we get this many shards, we get a free bulb. var/shards_required = 4 + var/bluespace_toggle = FALSE + /obj/item/lightreplacer/examine(mob/user) . = ..() . += status_string() @@ -232,7 +234,8 @@ /obj/item/lightreplacer/afterattack(atom/T, mob/U, proximity) . = ..() - if(!proximity) + + if(!proximity && !bluespace_toggle) return if(!isturf(T)) return @@ -243,6 +246,9 @@ break used = TRUE if(istype(A, /obj/machinery/light)) + if(!proximity) // only beams if at a distance + U.Beam(A, icon_state = "rped_upgrade", time = 5) + playsound(src, 'sound/items/pshoom.ogg', 40, 1) ReplaceLight(A, U) if(!used) @@ -256,6 +262,18 @@ /obj/item/lightreplacer/cyborg/janicart_insert(mob/user, obj/structure/janitorialcart/J) return +/obj/item/lightreplacer/bluespace + name = "bluespace light replacer" + desc = "A modified light replacer that zaps lights into place. Refill with broken or working light bulbs, or sheets of glass." + icon_state = "lightreplacer_blue0" + bluespace_toggle = TRUE + +/obj/item/lightreplacer/bluespace/emag_act() + return // long range explosions are stupid + +/obj/item/lightreplacer/bluespace/update_icon() // making sure it uses the new icon state names + icon_state = "lightreplacer_blue[(obj_flags & EMAGGED ? 1 : 0)]" + #undef LIGHT_OK #undef LIGHT_EMPTY #undef LIGHT_BROKEN diff --git a/code/modules/research/designs/power_designs.dm b/code/modules/research/designs/power_designs.dm index 1332eb7e739..ef0c39d0164 100644 --- a/code/modules/research/designs/power_designs.dm +++ b/code/modules/research/designs/power_designs.dm @@ -67,6 +67,17 @@ category = list("Power Designs") departmental_flags = DEPARTMENTAL_FLAG_SERVICE | DEPARTMENTAL_FLAG_ENGINEERING +/datum/design/light_replacer_bluespace + name = "Bluespace Light Replacer" + desc = "A device to automatically replace lights from a distance. Refill with working light bulbs." + id = "light_replacer_bluespace" + build_type = PROTOLATHE + materials = list(/datum/material/iron = 1500, /datum/material/silver = 150, /datum/material/glass = 6000, /datum/material/bluespace = 300) + build_path = /obj/item/lightreplacer/bluespace + category = list("Power Designs") + departmental_flags = DEPARTMENTAL_FLAG_SERVICE | DEPARTMENTAL_FLAG_ENGINEERING + + /datum/design/inducer name = "Inducer" desc = "The NT-75 Electromagnetic Power Inducer can wirelessly induce electric charge in an object, allowing you to recharge power cells without having to remove them." diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 501ba15ae65..291ebbeb315 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -12,7 +12,7 @@ design_ids = list("basic_matter_bin", "basic_cell", "basic_scanning", "basic_capacitor", "basic_micro_laser", "micro_mani", "desttagger", "handlabel", "larry", "packagewrap", "destructive_analyzer", "circuit_imprinter", "experimentor", "rdconsole", "design_disk", "tech_disk", "rdserver", "rdservercontrol", "mechfab", "paystand", "space_heater", "beaker", "large_beaker", "bucket", "xlarge_beaker", "sec_rshot", "sec_beanbag_slug", "sec_bshot", "sec_slug", "sec_Islug", "sec_Brslug", "sec_dart", "sec_38", "sec_38b", - "rglass","plasteel","plastitanium","plasmaglass","plasmareinforcedglass","titaniumglass","plastitaniumglass","plumbing_rcd", "antivirus", "glasses_prescription") + "rglass","plasteel","plastitanium","plasmaglass","plasmareinforcedglass","titaniumglass","plastitaniumglass","plumbing_rcd", "antivirus", "glasses_prescription", "light_replacer") /datum/techweb_node/mmi id = "mmi" @@ -753,7 +753,7 @@ display_name = "Advanced Sanitation Technology" description = "Clean things better, faster, stronger, and harder!" prereq_ids = list("adv_engi") - design_ids = list("advmop", "buffer", "blutrash", "light_replacer", "spraybottle", "beartrap") + design_ids = list("advmop", "buffer", "blutrash", "light_replacer_bluespace", "spraybottle", "beartrap") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 diff --git a/icons/obj/janitor.dmi b/icons/obj/janitor.dmi index cafdb528794..ef41ac5b484 100644 Binary files a/icons/obj/janitor.dmi and b/icons/obj/janitor.dmi differ