Adds the Stealth implant, available to traitors (#21235)

* adds the stealth implant

* changes

- rename "implant" to "bio-chip"
- removes the stealth implant box in favor of spawning implant directly for the traitor
- makes the fake box not show up on right click. Makes the real box not show up on right click when invis

* sirryan pt1

* lewcc review 1

* fix conflict

* fix conflict

* signal handler
This commit is contained in:
SteelSlayer
2023-07-01 11:20:18 +01:00
committed by GitHub
parent 980fee9b60
commit 05c08aa01d
11 changed files with 213 additions and 19 deletions
+11 -5
View File
@@ -1,8 +1,10 @@
#define AB_CHECK_RESTRAINED 1
#define AB_CHECK_STUNNED 2
#define AB_CHECK_LYING 4
#define AB_CHECK_CONSCIOUS 8
#define AB_CHECK_TURF 16
#define AB_CHECK_RESTRAINED (1<<0)
#define AB_CHECK_STUNNED (1<<1)
#define AB_CHECK_LYING (1<<2)
#define AB_CHECK_CONSCIOUS (1<<3)
#define AB_CHECK_TURF (1<<4)
#define AB_CHECK_HANDS_BLOCKED (1<<5)
#define AB_CHECK_IMMOBILE (1<<6)
/datum/action
@@ -72,6 +74,10 @@
/datum/action/proc/IsAvailable()// returns 1 if all checks pass
if(!owner)
return FALSE
if((check_flags & AB_CHECK_HANDS_BLOCKED) && HAS_TRAIT(owner, TRAIT_HANDS_BLOCKED))
return FALSE
if((check_flags & AB_CHECK_IMMOBILE) && HAS_TRAIT(owner, TRAIT_IMMOBILIZED))
return FALSE
if(check_flags & AB_CHECK_RESTRAINED)
if(owner.restrained())
return FALSE
@@ -672,6 +672,14 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
item = /obj/item/implanter/adrenalin
cost = 8
/datum/uplink_item/implants/stealthimplant
name = "Stealth Bio-chip"
desc = "This one-of-a-kind implant will make you almost invisible if you play your cards right. \
On activation, it will conceal you inside a chameleon cardboard box that is only revealed once someone bumps into it."
reference = "SI"
item = /obj/item/implanter/stealth
cost = 8
// POINTLESS BADASSERY
/datum/uplink_item/badass