Allows you to choose how much to insert into protolathe/exofab/circuitprinter/dronedispenser (#31399)

* precision

* precision

* sanity checks

* itt kevinz doesn't know how cyberboss procs work

* fixes

* allows user cancellation

* im dumb

* itt: im still dumb

* fixes stuff, makes it set on init

* refactors reagentgrinder code

* more fixes, prevents melee attacks from going anyways

* ...? wtf is with usetopic

* Finally found out what's wrongw ith this thing.

* fixes a mistake
This commit is contained in:
kevinz000
2017-10-10 01:11:22 -07:00
committed by CitadelStationBot
parent eb9737912c
commit a6ac800db0
7 changed files with 424 additions and 426 deletions
+1
View File
@@ -56,6 +56,7 @@
. = ..()
var/datum/component/material_container/materials = AddComponent(/datum/component/material_container, list(MAT_METAL, MAT_GLASS), MINERAL_MATERIAL_AMOUNT * MAX_STACK_SIZE * 2, TRUE)
materials.insert_amount(starting_amount)
materials.precise_insertion = TRUE
using_materials = list(MAT_METAL=metal_cost, MAT_GLASS=glass_cost)
/obj/machinery/droneDispenser/preloaded
+2 -1
View File
@@ -35,9 +35,10 @@
)
/obj/machinery/mecha_part_fabricator/Initialize()
AddComponent(/datum/component/material_container,
var/datum/component/material_container/materials = AddComponent(/datum/component/material_container,
list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE),
FALSE, list(/obj/item/stack, /obj/item/ore/bluespace_crystal), CALLBACK(src, .proc/is_insertion_ready))
materials.precise_insertion = TRUE
. = ..()
files = new /datum/research(src) //Setup the research data holder.