Rewrites BCI implanters to use item_interaction (#95377)

## About The Pull Request

One more refactor, one less attackby

## Changelog
🆑
refactor: Rewrote BCI implanters to use item_interaction
/🆑
This commit is contained in:
SmArtKar
2026-03-15 20:34:36 +01:00
committed by GitHub
parent ff6cf035bb
commit 2711d6d038
@@ -332,27 +332,24 @@
return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN
/obj/machinery/bci_implanter/attackby(obj/item/weapon, mob/user, list/modifiers, list/attack_modifiers)
var/obj/item/organ/cyberimp/bci/new_bci = weapon
if (istype(new_bci))
if (!(locate(/obj/item/integrated_circuit) in new_bci))
balloon_alert(user, "bci has no circuit!")
return
/obj/machinery/bci_implanter/item_interaction(mob/living/user, obj/item/tool, list/modifiers)
if (!istype(tool, /obj/item/organ/cyberimp/bci))
return NONE
var/obj/item/organ/cyberimp/bci/previous_bci_to_implant = bci_to_implant
var/obj/item/organ/cyberimp/bci/new_bci = tool
if (!(locate(/obj/item/integrated_circuit) in new_bci))
balloon_alert(user, "bci has no circuit!")
return ITEM_INTERACT_BLOCKING
user.transferItemToLoc(weapon, src)
bci_to_implant = weapon
if (isnull(previous_bci_to_implant))
balloon_alert(user, "inserted bci")
else
balloon_alert(user, "swapped bci")
user.put_in_hands(previous_bci_to_implant)
return
return ..()
var/obj/item/organ/cyberimp/bci/previous_bci_to_implant = bci_to_implant
user.transferItemToLoc(new_bci, src)
bci_to_implant = new_bci
if (isnull(previous_bci_to_implant))
balloon_alert(user, "inserted bci")
else
balloon_alert(user, "swapped bci")
user.put_in_hands(previous_bci_to_implant)
return ITEM_INTERACT_SUCCESS
/obj/machinery/bci_implanter/attackby_secondary(obj/item/weapon, mob/user, list/modifiers, list/attack_modifiers)
if (!occupant && default_deconstruction_screwdriver(user, icon_state, icon_state, weapon))