diff --git a/code/game/objects/items/circuitboards/circuitboard.dm b/code/game/objects/items/circuitboards/circuitboard.dm index be2112fb719..d065a16391d 100644 --- a/code/game/objects/items/circuitboards/circuitboard.dm +++ b/code/game/objects/items/circuitboards/circuitboard.dm @@ -40,6 +40,15 @@ return +/** + * Used to allow the circuitboard to configure a machine in some way, shape or form. + * + * Arguments: + * * machine - The machine to attempt to configure. + */ +/obj/item/circuitboard/proc/configure_machine(obj/machinery/machine) + return + // Circuitboard/machine /*Common Parts: Parts List: Ignitor, Timer, Infra-red laser, Infra-red sensor, t_scanner, Capacitor, Valve, sensor unit, micro-manipulator, console screen, beaker, Microlaser, matter bin, power cells. diff --git a/code/game/objects/items/circuitboards/computer_circuitboards.dm b/code/game/objects/items/circuitboards/computer_circuitboards.dm index 0a8c0666ddf..e3dcba60f33 100644 --- a/code/game/objects/items/circuitboards/computer_circuitboards.dm +++ b/code/game/objects/items/circuitboards/computer_circuitboards.dm @@ -500,6 +500,16 @@ obj_flags |= EMAGGED to_chat(user, "You adjust [src]'s routing and receiver spectrum, unlocking special supplies and contraband.") +/obj/item/circuitboard/computer/cargo/configure_machine(obj/machinery/computer/cargo/machine) + if(!istype(machine)) + CRASH("Cargo board attempted to configure incorrect machine type: [machine] ([machine?.type])") + + machine.contraband = contraband + if (obj_flags & EMAGGED) + machine.obj_flags |= EMAGGED + else + machine.obj_flags &= ~EMAGGED + /obj/item/circuitboard/computer/cargo/express name = "Express Supply Console (Computer Board)" build_path = /obj/machinery/computer/cargo/express diff --git a/code/modules/cargo/console.dm b/code/modules/cargo/console.dm index cfb66e92f63..ac95cf078c7 100644 --- a/code/modules/cargo/console.dm +++ b/code/modules/cargo/console.dm @@ -29,12 +29,6 @@ /obj/machinery/computer/cargo/Initialize() . = ..() radio = new /obj/item/radio/headset/headset_cargo(src) - var/obj/item/circuitboard/computer/cargo/board = circuit - contraband = board.contraband - if (board.obj_flags & EMAGGED) - obj_flags |= EMAGGED - else - obj_flags &= ~EMAGGED /obj/machinery/computer/cargo/Destroy() QDEL_NULL(radio) @@ -63,6 +57,10 @@ board.obj_flags |= EMAGGED update_static_data(user) +/obj/machinery/computer/cargo/on_construction() + . = ..() + circuit.configure_machine(src) + /obj/machinery/computer/cargo/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) if(!ui)