Merge pull request #12810 from ItsSelis/circuit-update

Circuitry Update
This commit is contained in:
Casey
2022-04-26 17:12:22 -04:00
committed by CHOMPStation2
parent 96ccd4af68
commit a2f6f33a64
10 changed files with 262 additions and 5 deletions

View File

@@ -376,7 +376,7 @@
if(battery)
var/lost = battery.use(amount * CELLRATE)
net_power -= lost
return lost > 0
return lost
return FALSE
// Ditto for giving.

View File

@@ -11,11 +11,21 @@
var/debug = FALSE // If true, metal is infinite.
var/upgraded = FALSE // When hit with an upgrade disk, will turn true, allowing it to print the higher tier circuits.
var/illegal_upgraded = FALSE // When hit with an illegal upgrade disk, will turn true, allowing it to print the illegal circuits.
var/can_clone = FALSE // Same for above, but will allow the printer to duplicate a specific assembly. (Not implemented)
// var/static/list/recipe_list = list()
var/obj/item/device/electronic_assembly/assembly_to_clone = null // Not implemented x3
var/dirty_items = FALSE
/obj/item/device/integrated_circuit_printer/all_upgrades
upgraded = TRUE
illegal_upgraded = TRUE
can_clone = TRUE
/obj/item/device/integrated_circuit_printer/illegal
illegal_upgraded = TRUE
can_clone = TRUE
/obj/item/device/integrated_circuit_printer/upgraded
upgraded = TRUE
can_clone = TRUE
@@ -24,6 +34,7 @@
name = "fractal integrated circuit printer"
desc = "A portable(ish) machine that makes modular circuitry seemingly out of thin air."
upgraded = TRUE
illegal_upgraded = TRUE
can_clone = TRUE
debug = TRUE
@@ -68,6 +79,16 @@
attack_self(user)
return TRUE
if(istype(O,/obj/item/weapon/disk/integrated_circuit/upgrade/illegal))
if(illegal_upgraded)
to_chat(user, span("warning", "\The [src] already has this upgrade."))
return TRUE
to_chat(user, span("notice", "You install \the [O] into \the [src]."))
illegal_upgraded = TRUE
dirty_items = TRUE
attack_self(user)
return TRUE
if(istype(O,/obj/item/weapon/disk/integrated_circuit/upgrade/clone))
if(can_clone)
to_chat(user, span("warning", "\The [src] already has this upgrade."))
@@ -110,6 +131,8 @@
"name" = category,
"items" = null
)
if(cat_obj["name"] == "Illegal Parts" && !illegal_upgraded)
continue
var/list/circuit_list = SScircuit.circuit_fabricator_recipe_list[category]
var/list/items = list()
for(var/path in circuit_list)
@@ -212,6 +235,12 @@
name = "integrated circuit printer upgrade disk - advanced designs"
desc = "Install this into your integrated circuit printer to enhance it. This one adds new, advanced designs to the printer."
/obj/item/weapon/disk/integrated_circuit/upgrade/illegal
name = "integrated circuit printer upgrade disk - illegal designs"
desc = "Install this into your integrated circuit printer to enhance it. This one adds new, but illegal designs to the printer."
icon_state = "upgrade_disk_illegal"
origin_tech = list(TECH_ENGINEERING = 3, TECH_DATA = 4, TECH_ILLEGAL = 1)
// To be implemented later.
/obj/item/weapon/disk/integrated_circuit/upgrade/clone
name = "integrated circuit printer upgrade disk - circuit cloner"