diff --git a/code/datums/components/shell.dm b/code/datums/components/shell.dm index dda89f9debb..33a72babf07 100644 --- a/code/datums/components/shell.dm +++ b/code/datums/components/shell.dm @@ -16,7 +16,7 @@ var/locked = FALSE -/datum/component/shell/Initialize(unremovable_circuit_components, capacity, shell_flags) +/datum/component/shell/Initialize(unremovable_circuit_components, capacity, shell_flags, starting_circuit) . = ..() if(!ismovable(parent)) return COMPONENT_INCOMPATIBLE @@ -25,6 +25,9 @@ src.capacity = capacity || src.capacity set_unremovable_circuit_components(unremovable_circuit_components) + if(starting_circuit) + attach_circuit(starting_circuit) + /datum/component/shell/RegisterWithParent() RegisterSignal(parent, COMSIG_PARENT_ATTACKBY, .proc/on_attack_by) RegisterSignal(parent, COMSIG_PARENT_EXAMINE, .proc/on_examine) diff --git a/code/modules/wiremod/shell/brain_computer_interface.dm b/code/modules/wiremod/shell/brain_computer_interface.dm index 7dc38f8cc16..032e8a33552 100644 --- a/code/modules/wiremod/shell/brain_computer_interface.dm +++ b/code/modules/wiremod/shell/brain_computer_interface.dm @@ -9,12 +9,12 @@ /obj/item/organ/cyberimp/bci/Initialize() . = ..() + var/obj/item/integrated_circuit/circuit = new(src) + circuit.add_component(new /obj/item/circuit_component/bci_action(null, "One")) + AddComponent(/datum/component/shell, list( new /obj/item/circuit_component/bci_core, - new /obj/item/circuit_component/bci_action(null, "One"), - new /obj/item/circuit_component/bci_action(null, "Two"), - new /obj/item/circuit_component/bci_action(null, "Three"), - ), SHELL_CAPACITY_SMALL) + ), SHELL_CAPACITY_SMALL, starting_circuit = circuit) /obj/item/organ/cyberimp/bci/Insert(mob/living/carbon/reciever, special, drop_if_replaced) . = ..()