Buildable and upgradable All-In-One Grinder (#35451)
Circuit is in "Biological Processing" techweb node
This commit is contained in:
committed by
CitadelStationBot
parent
7f7bea7468
commit
cdcb5fc72f
@@ -584,6 +584,12 @@
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/circuitboard/machine/reagentgrinder
|
||||
name = "Machine Design (All-In-One Grinder)"
|
||||
build_path = /obj/machinery/reagentgrinder/constructed
|
||||
req_components = list(
|
||||
/obj/item/stock_parts/manipulator = 1)
|
||||
|
||||
/obj/item/circuitboard/machine/chem_master/condi
|
||||
name = "CondiMaster 3000 (Machine Board)"
|
||||
build_path = /obj/machinery/chem_master/condimaster
|
||||
|
||||
@@ -11,11 +11,13 @@
|
||||
use_power = IDLE_POWER_USE
|
||||
idle_power_usage = 5
|
||||
active_power_usage = 100
|
||||
circuit = /obj/item/circuitboard/machine/reagentgrinder
|
||||
pass_flags = PASSTABLE
|
||||
resistance_flags = ACID_PROOF
|
||||
var/operating = FALSE
|
||||
var/obj/item/reagent_containers/beaker = null
|
||||
var/limit = 10
|
||||
var/speed = 1
|
||||
var/list/holdingitems
|
||||
|
||||
/obj/machinery/reagentgrinder/Initialize()
|
||||
@@ -24,8 +26,15 @@
|
||||
beaker = new /obj/item/reagent_containers/glass/beaker/large(src)
|
||||
beaker.desc += " May contain blended dust. Don't breathe this in!"
|
||||
|
||||
/obj/machinery/reagentgrinder/Destroy()
|
||||
/obj/machinery/reagentgrinder/constructed/Initialize()
|
||||
. = ..()
|
||||
holdingitems = list()
|
||||
QDEL_NULL(beaker)
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/reagentgrinder/Destroy()
|
||||
if(beaker)
|
||||
beaker.forceMove(drop_location())
|
||||
drop_all_items()
|
||||
return ..()
|
||||
|
||||
@@ -33,6 +42,11 @@
|
||||
if(beaker)
|
||||
beaker.ex_act(severity, target)
|
||||
|
||||
/obj/machinery/reagentgrinder/RefreshParts()
|
||||
speed = 1
|
||||
for(var/obj/item/stock_parts/manipulator/M in component_parts)
|
||||
speed = M.rating
|
||||
|
||||
/obj/machinery/reagentgrinder/handle_atom_del(atom/A)
|
||||
. = ..()
|
||||
if(A == beaker)
|
||||
@@ -48,10 +62,6 @@
|
||||
AM.forceMove(drop_location())
|
||||
holdingitems = list()
|
||||
|
||||
/obj/machinery/reagentgrinder/deconstruct(disassembled = TRUE)
|
||||
new /obj/item/stack/sheet/metal (drop_location(), 3)
|
||||
qdel(src)
|
||||
|
||||
/obj/machinery/reagentgrinder/update_icon()
|
||||
if(beaker)
|
||||
icon_state = "juicer1"
|
||||
@@ -59,9 +69,19 @@
|
||||
icon_state = "juicer0"
|
||||
|
||||
/obj/machinery/reagentgrinder/attackby(obj/item/I, mob/user, params)
|
||||
//You can only screw open empty grinder
|
||||
if(!beaker && !length(holdingitems) && default_deconstruction_screwdriver(user, icon_state, icon_state, I))
|
||||
return
|
||||
|
||||
if(default_deconstruction_crowbar(I))
|
||||
return
|
||||
|
||||
if(default_unfasten_wrench(user, I))
|
||||
return
|
||||
|
||||
if(panel_open) //Can't insert objects when its screwed open
|
||||
return TRUE
|
||||
|
||||
if (istype(I, /obj/item/reagent_containers) && !(I.flags_1 & ABSTRACT_1) && I.is_open_container())
|
||||
if (!beaker)
|
||||
if(!user.transferItemToLoc(I, src))
|
||||
@@ -231,7 +251,7 @@
|
||||
pixel_x = old_px
|
||||
|
||||
/obj/machinery/reagentgrinder/proc/operate_for(time, silent = FALSE, juicing = FALSE)
|
||||
shake_for(time)
|
||||
shake_for(time / speed)
|
||||
updateUsrDialog()
|
||||
operating = TRUE
|
||||
if(!silent)
|
||||
@@ -239,7 +259,7 @@
|
||||
playsound(src, 'sound/machines/blender.ogg', 50, 1)
|
||||
else
|
||||
playsound(src, 'sound/machines/juicer.ogg', 20, 1)
|
||||
addtimer(CALLBACK(src, .proc/stop_operating), time)
|
||||
addtimer(CALLBACK(src, .proc/stop_operating), time / speed)
|
||||
|
||||
/obj/machinery/reagentgrinder/proc/stop_operating()
|
||||
operating = FALSE
|
||||
|
||||
@@ -153,6 +153,13 @@
|
||||
build_path = /obj/item/circuitboard/machine/smoke_machine
|
||||
category = list ("Medical Machinery")
|
||||
|
||||
/datum/design/board/reagentgrinder
|
||||
name = "Machine Design (All-In-One Grinder)"
|
||||
desc = "The circuit board for an All-In-One Grinder."
|
||||
id = "reagentgrinder"
|
||||
build_path = /obj/item/circuitboard/machine/reagentgrinder
|
||||
category = list ("Medical Machinery")
|
||||
|
||||
/datum/design/board/clonecontrol
|
||||
name = "Computer Design (Cloning Machine Console)"
|
||||
desc = "Allows for the construction of circuit boards used to build a new Cloning Machine console."
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
display_name = "Biological Processing"
|
||||
description = "From slimes to kitchens."
|
||||
prereq_ids = list("biotech")
|
||||
design_ids = list("smartfridge", "gibber", "deepfryer", "monkey_recycler", "processor", "gibber", "microwave")
|
||||
design_ids = list("smartfridge", "gibber", "deepfryer", "monkey_recycler", "processor", "gibber", "microwave", "reagentgrinder")
|
||||
research_cost = 2500
|
||||
export_price = 5000
|
||||
|
||||
|
||||
Reference in New Issue
Block a user