diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 6c1642ca8b..452a080be0 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -57072,7 +57072,7 @@ /turf/open/floor/plating, /area/space) "sRH" = ( -/obj/machinery/autolathe{ +/obj/machinery/autolathe/secure{ name = "public autolathe" }, /turf/open/floor/plasteel, diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 1abdd85019..13597584ae 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -34904,7 +34904,7 @@ /obj/effect/turf_decal/tile/brown{ dir = 8 }, -/obj/machinery/autolathe{ +/obj/machinery/autolathe/secure{ name = "public autolathe" }, /turf/open/floor/plasteel, diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 1be18fdfeb..3c8e251bb1 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -31856,7 +31856,7 @@ /obj/effect/turf_decal/tile/brown{ dir = 8 }, -/obj/machinery/autolathe{ +/obj/machinery/autolathe/secure{ name = "public autolathe" }, /turf/open/floor/plasteel, diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 495e90d305..c9d26905f5 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -17,6 +17,7 @@ var/list/L = list() var/list/LL = list() var/hacked = FALSE + var/hackable = TRUE var/disabled = 0 var/shocked = FALSE var/hack_wire @@ -371,6 +372,8 @@ /obj/machinery/autolathe/proc/adjust_hacked(state) hacked = state + if(!hackable && hacked) + return for(var/id in SSresearch.techweb_designs) var/datum/design/D = SSresearch.techweb_design_by_id(id) if((D.build_type & AUTOLATHE) && ("hacked" in D.category)) @@ -383,6 +386,12 @@ . = ..() adjust_hacked(TRUE) +/obj/machinery/autolathe/secure + name = "secured autolathe" + desc = "An autolathe reprogrammed with security protocols to prevent hacking." + hackable = FALSE + circuit = /obj/item/circuitboard/machine/autolathe/secure + //Called when the object is constructed by an autolathe //Has a reference to the autolathe so you can do !!FUN!! things with hacked lathes /obj/item/proc/autolathe_crafted(obj/machinery/autolathe/A) diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index 2196246b03..df0a4e6cf3 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -35,6 +35,10 @@ /obj/item/stock_parts/manipulator = 1, /obj/item/stack/sheet/glass = 1) +/obj/item/circuitboard/machine/autolathe/secure + name = "Secure Autolathe (Machine Board)" + build_path = /obj/machinery/autolathe/secure + /obj/item/circuitboard/machine/bloodbankgen name = "Blood Bank Generator (Machine Board)" build_path = /obj/machinery/bloodbankgen diff --git a/code/modules/research/designs/machine_desings/machine_designs_all_misc.dm b/code/modules/research/designs/machine_desings/machine_designs_all_misc.dm index b4d67315ba..6ccbf32615 100644 --- a/code/modules/research/designs/machine_desings/machine_designs_all_misc.dm +++ b/code/modules/research/designs/machine_desings/machine_designs_all_misc.dm @@ -26,6 +26,14 @@ category = list ("Misc. Machinery") departmental_flags = DEPARTMENTAL_FLAG_ALL +/datum/design/board/autolathe_secure + name = "Machine Design (Secure Autolathe Board)" + desc = "The circuit board for an autolathe. This one is programmed to not allow hacking." + id = "autolathe_secure" + build_path = /obj/item/circuitboard/machine/autolathe/secure + category = list ("Misc. Machinery") + departmental_flags = DEPARTMENTAL_FLAG_ALL + /datum/design/board/recharger name = "Machine Design (Weapon Recharger Board)" desc = "The circuit board for a Weapon Recharger." diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index c1416502d7..75b71611d5 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -190,7 +190,7 @@ description = "A refresher course on modern engineering technology." prereq_ids = list("base") design_ids = list("solarcontrol", "recharger", "powermonitor", "rped", "pacman", "adv_capacitor", "adv_scanning", "emitter", "high_cell", "adv_matter_bin", - "atmosalerts", "atmos_control", "recycler", "autolathe", "high_micro_laser", "nano_mani", "mesons", "thermomachine", "rad_collector", "tesla_coil", "grounding_rod", + "atmosalerts", "atmos_control", "recycler", "autolathe", "autolathe_secure", "high_micro_laser", "nano_mani", "mesons", "thermomachine", "rad_collector", "tesla_coil", "grounding_rod", "apc_control", "cell_charger", "power control", "airlock_board", "firelock_board", "airalarm_electronics", "firealarm_electronics", "cell_charger", "stack_console", "stack_machine", "rcd_ammo") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 6000) export_price = 5000