Files
Bubberstation/code/game/objects/items/implants/security/implant_beacon.dm
John Willard fa9a2a701a Implant pad TGUI (#80978)
## About The Pull Request

I was messing a little bit with TGUI stuff and ended up turning the
implant pad TGUI, so why not.
On top of the new UI, I replaced the messages to chat with nice and
consistent balloon alerts which will hopefully make it not seem like an
ancient piece of shit.

Video demonstration


https://github.com/tgstation/tgstation/assets/53777086/a1ebe0d4-005b-4e29-a623-2c1b352cd017

I also removed ``INTERACT_MACHINE_SET_MACHINE`` from the prisoner
console, because it was accidentally left in when the console was moved
to TGUI

## Why It's Good For The Game

I'm still going down the list of things that need to be TGUI, and I
ended up doing this cause I just felt like it while messing with some
other stuff.
Rest of the list is visible here:
https://hackmd.io/@sClqlHM0T4yZfn-qa5KnAg/S152Tl2hh

## Changelog

🆑
refactor: Implant pads now use TGUI
/🆑
2024-01-17 04:37:03 -05:00

43 lines
1.7 KiB
Plaintext

///Essentially, just turns the implantee into a teleport beacon.
/obj/item/implant/beacon
name = "beacon implant"
desc = "Teleports things."
actions_types = null
implant_flags = IMPLANT_TYPE_SECURITY
hud_icon_state = "hud_imp_beacon"
///How long will the implant be teleportable to after death?
var/lifespan_postmortem = 10 MINUTES
/obj/item/implant/beacon/get_data()
return "<b>Implant Specifications:</b><BR> \
<b>Name:</b> Robust Corp JMP-21 Fugitive Retrieval Implant<BR> \
<b>Life:</b> Deactivates upon death after ten minutes, but remains within the body.<BR> \
<b>Important Notes: N/A</B><BR> \
<HR> \
<b>Implant Details: </b><BR> \
<b>Function:</b> Acts as a teleportation beacon that can be tracked by any standard bluespace transponder. \
Using this, you can teleport directly to whoever has this implant inside of them."
/obj/item/implant/beacon/is_shown_on_console(obj/machinery/computer/prisoner/management/console)
return TRUE
/obj/item/implant/beacon/get_management_console_data()
var/list/info_shown = ..()
var/area/destination_area = get_area(imp_in)
if(isnull(destination_area) || (destination_area.area_flags & NOTELEPORT))
info_shown["Status"] = "Implant carrier teleport signal cannot be reached!"
else
var/turf/turf_to_check = get_turf(imp_in)
info_shown["Status"] = "Implant carrier is in [is_safe_turf(turf_to_check, dense_atoms = TRUE) ? "a safe environment." : "a hazardous environment!"]"
return info_shown
/obj/item/implanter/beacon
imp_type = /obj/item/implant/beacon
/obj/item/implantcase/beacon
name = "implant case - 'Beacon'"
desc = "A glass case containing a beacon implant."
imp_type = /obj/item/implant/beacon