RCD update

This commit is contained in:
Azarak
2020-01-29 12:45:53 +01:00
parent b842a2105d
commit e63c7b37f3
14 changed files with 311 additions and 35 deletions
@@ -822,6 +822,21 @@
return ..()
/obj/machinery/airalarm/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd)
if((buildstage == 0) && (the_rcd.upgrade & RCD_UPGRADE_SIMPLE_CIRCUITS))
return list("mode" = RCD_UPGRADE_SIMPLE_CIRCUITS, "delay" = 20, "cost" = 1)
return FALSE
/obj/machinery/airalarm/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode)
switch(passed_mode)
if(RCD_UPGRADE_SIMPLE_CIRCUITS)
user.visible_message("<span class='notice'>[user] fabricates a circuit and places it into [src].</span>", \
"<span class='notice'>You adapt an air alarm circuit and slot it into the assembly.</span>")
buildstage = 1
update_icon()
return TRUE
return FALSE
/obj/machinery/airalarm/AltClick(mob/user)
..()
if(!user.canUseTopic(src, !issilicon(user)) || !isturf(loc))
+46
View File
@@ -701,6 +701,52 @@
else
return ..()
/obj/machinery/power/apc/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd)
if(the_rcd.upgrade & RCD_UPGRADE_SIMPLE_CIRCUITS)
if(!has_electronics)
if(stat & BROKEN)
to_chat(user, "<span class='warning'>[src]'s frame is too damaged to support a circuit.</span>")
return FALSE
return list("mode" = RCD_UPGRADE_SIMPLE_CIRCUITS, "delay" = 20, "cost" = 1)
else if(!cell)
if(stat & MAINT)
to_chat(user, "<span class='warning'>There's no connector for a power cell.</span>")
return FALSE
return list("mode" = RCD_UPGRADE_SIMPLE_CIRCUITS, "delay" = 50, "cost" = 10) //16 for a wall
else
to_chat(user, "<span class='warning'>[src] has both electronics and a cell.</span>")
return FALSE
return FALSE
/obj/machinery/power/apc/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode)
switch(passed_mode)
if(RCD_UPGRADE_SIMPLE_CIRCUITS)
if(!has_electronics)
if(stat & BROKEN)
to_chat(user, "<span class='warning'>[src]'s frame is too damaged to support a circuit.</span>")
return
user.visible_message("<span class='notice'>[user] fabricates a circuit and places it into [src].</span>", \
"<span class='notice'>You adapt a power control board and click it into place in [src]'s guts.</span>")
has_electronics = TRUE
locked = TRUE
return TRUE
else if(!cell)
if(stat & MAINT)
to_chat(user, "<span class='warning'>There's no connector for a power cell.</span>")
return FALSE
var/obj/item/stock_parts/cell/crap/empty/C = new(src)
C.forceMove(src)
cell = C
chargecount = 0
user.visible_message("<span class='notice'>[user] fabricates a weak power cell and places it into [src].</span>", \
"<span class='warning'>Your [the_rcd.name] whirrs with strain as you create a weak power cell and place it into [src]!</span>")
update_icon()
return TRUE
else
to_chat(user, "<span class='warning'>[src] has both electronics and a cell.</span>")
return FALSE
return FALSE
/obj/machinery/power/apc/AltClick(mob/user)
..()
if(!user.canUseTopic(src, !issilicon(user)) || !isturf(loc))
@@ -423,6 +423,26 @@
////////////Tools//////////////
///////////////////////////////
/datum/design/rcd_upgrade/frames
name = "RCD frames designs upgrade"
desc = "Adds the computer frame and machine frame to the RCD."
id = "rcd_upgrade_frames"
build_type = PROTOLATHE
materials = list(MAT_METAL = 5000, MAT_GLASS = 2500, MAT_SILVER = 1500, MAT_TITANIUM = 2000)
build_path = /obj/item/rcd_upgrade/frames
category = list("Equipment")
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
/datum/design/rcd_upgrade/simple_circuits
name = "RCD simple circuits designs upgrade"
desc = "Adds the simple circuits to the RCD."
id = "rcd_upgrade_simple_circuits"
build_type = PROTOLATHE
materials = list(MAT_METAL = 5000, MAT_GLASS = 2500, MAT_SILVER = 1500, MAT_TITANIUM = 2000)
build_path = /obj/item/rcd_upgrade/simple_circuits
category = list("Equipment")
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
/datum/design/exwelder
name = "Experimental Welding Tool"
desc = "An experimental welder capable of self-fuel generation."
@@ -453,6 +473,26 @@
category = list("Equipment")
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
/datum/design/rcd_loaded
name = "Rapid Construction Device (RCD)"
desc = "A tool that can construct and deconstruct walls, airlocks and floors on the fly."
id = "rcd_loaded"
build_type = PROTOLATHE
materials = list(MAT_METAL=48000, MAT_GLASS=32000) // costs more than what it did in the autolathe, this one comes loaded.
build_path = /obj/item/construction/rcd/loaded
category = list("Equipment")
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
/datum/design/rpd
name = "Rapid Pipe Dispenser (RPD)"
desc = "A tool that can construct and deconstruct pipes on the fly."
id = "rpd"
build_type = PROTOLATHE
materials = list(MAT_METAL = 75000, MAT_GLASS = 37500)
build_path = /obj/item/pipe_dispenser
category = list("Equipment")
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
/datum/design/alienwrench
name = "Alien Wrench"
desc = "An advanced wrench obtained through Abductor technology."
+1 -1
View File
@@ -173,7 +173,7 @@
display_name = "Advanced Engineering"
description = "Pushing the boundaries of physics, one chainsaw-fist at a time."
prereq_ids = list("engineering", "emp_basic")
design_ids = list("engine_goggles", "magboots", "forcefield_projector", "weldingmask", "tray_goggles_prescription", "engine_goggles_prescription", "mesons_prescription", "double_emergency_oxygen")
design_ids = list("engine_goggles", "magboots", "forcefield_projector", "weldingmask", "tray_goggles_prescription", "engine_goggles_prescription", "mesons_prescription", "double_emergency_oxygen","rcd_loaded", "rpd","rcd_upgrade_frames", "rcd_upgrade_simple_circuits")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 4000)
export_price = 5000
+1 -1
View File
@@ -8,7 +8,7 @@
/obj/item/storage/bag/construction = 5,
/obj/item/clothing/glasses/welding = 5,
/obj/item/multitool = 5,
/obj/item/construction/rcd/loaded = 3,
/obj/item/construction/rcd/loaded/upgraded = 3,
/obj/item/grenade/chem_grenade/smart_metal_foam = 10,
/obj/item/geiger_counter = 6,
/obj/item/stock_parts/cell/high = 10,