Files
Bubberstation/code/datums/wires/collar_bomb.dm
Ghom 8c6f4180ae Adds a collar bomb to the black market. (#81898)
## About The Pull Request
Originally part of the other blackmarket PR, but it seemed a tad awkward
to have it mandatorily installed on mobs rescued from the holding
facility.

But yeah, this PR adds a neck item that causes the wearer's death with a
5 seconds countdown when triggered, which can be bought from the market
uplinks. The box comes with a yellow button to trigger it, but it can
also hold a signaler (which the wearer cannot tamper) if you wish to use
assemblies. Take note that, upon being worn, the item cannot be removed
by any mean beside beheading iirc (so HARS should counter it), and
fire/acid if you have a ton of patience because of its high armor
values.

## Why It's Good For The Game
More mean and evilish stuff to populate the black market with.

## Changelog

🆑
add: Added a collar bomb to the black market.
add: Added a possible kit to the special syndie bundle B, which also has
uses these collars.
/🆑

---------

Co-authored-by: san7890 <the@san7890.com>
2024-03-16 01:37:10 +00:00

34 lines
1.1 KiB
Plaintext

/datum/wires/collar_bomb
proper_name = "Collar Bomb"
randomize = TRUE // Only one wire, no need for blueprints
holder_type = /obj/item/clothing/neck/collar_bomb
wires = list(WIRE_ACTIVATE)
/datum/wires/collar_bomb/interactable(mob/user)
. = ..()
if(user.get_item_by_slot(ITEM_SLOT_NECK) == holder)
return FALSE
/datum/wires/collar_bomb/on_pulse(wire, mob/user)
var/obj/item/clothing/neck/collar_bomb/collar = holder
if(collar.active)
return ..()
collar.explosive_countdown(ticks_left = 5)
if(!ishuman(collar.loc))
return ..()
var/mob/living/carbon/human/brian = collar.loc
if(brian.get_item_by_slot(ITEM_SLOT_NECK) != collar)
return ..()
var/mob/living/triggerer = user
var/obj/item/assembly/assembly
if(isnull(triggerer))
assembly = assemblies[colors[1]]
if(assembly)
triggerer = get_mob_by_key(assembly.fingerprintslast)
brian.investigate_log("has had their [collar] triggered [triggerer ? "by [user || assembly][assembly ? " last touched by triggerer" : ""]" : ""].", INVESTIGATE_DEATHS)
return ..()
///I'd rather not get people killed by EMP here.
/datum/wires/collar_bomb/emp_pulse()
return