Fix cyborg flash / Makes cyborgs use item interaction (#89274)

## About The Pull Request

Fixes #89272

- Adds an argument to `is_wire_tool` to fail if the item is secured,
which assemblies are by default. (They must be screwdriver'd to attach
to things)

Makes cyborg use item interaction

- Cleaner, non-deprecated attack chain. 
- Also changes to chats to balloon alerts.

## Changelog

🆑 Melbert
qol: Using items on cyborgs now use balloon alerts instead of chat
messages.
fix: You can flash cyborgs again
refactor: Refactored item interaction on cyborgs. 
/🆑
This commit is contained in:
MrMelbert
2025-01-30 13:07:15 +01:00
committed by GitHub
parent beb525e67b
commit fca806da0c
4 changed files with 236 additions and 184 deletions
+6 -3
View File
@@ -123,10 +123,13 @@
// Check both our's and their's assembly flags to see if either should not duplicate
// If so, and we match types, don't create a holder - block it
if(((new_assembly.assembly_flags|assembly_flags) & ASSEMBLY_NO_DUPLICATES) && istype(new_assembly, type))
balloon_alert(user, "can't attach another of that!")
balloon_alert(user, "can't attach another [new_assembly.name]!")
return
if(new_assembly.secured || secured)
balloon_alert(user, "both devices not assembly_behavior!")
if(new_assembly.secured)
balloon_alert(user, "[new_assembly.name] is not attachable!")
return
if(secured)
balloon_alert(user, "[name] is not attachable!")
return
holder = new /obj/item/assembly_holder(drop_location())