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
/🆑
This commit is contained in:
John Willard
2024-01-17 04:37:03 -05:00
committed by GitHub
parent 6de94bbf9e
commit fa9a2a701a
17 changed files with 208 additions and 161 deletions
@@ -9,15 +9,14 @@
var/lifespan_postmortem = 10 MINUTES
/obj/item/implant/beacon/get_data()
var/dat = {"<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."}
return dat
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
@@ -9,18 +9,17 @@
var/list/implant_sizes = list(1, 5, 10)
/obj/item/implant/chem/get_data()
var/dat = {"<b>Implant Specifications:</b><BR>
<b>Name:</b> Robust Corp MJ-420 Prisoner Management Implant<BR>
<b>Life:</b> Deactivates upon death but remains within the body.<BR>
<b>Important Notes: Due to the system functioning off of nutrients in the implanted subject's body, the subject<BR>
will suffer from an increased appetite.</B><BR>
<b>Implant Details:</b><BR>
<i>Function:</i> Contains a small capsule that can contain various chemicals. Upon receiving a specially encoded signal<BR>
the implant releases the chemicals directly into the blood stream.<BR>
<i>Micro-Capsule</i>- Can be loaded with any sort of chemical agent via the common syringe and can hold 50 units.<BR>
Can only be loaded while still in its original case.<BR>
<b>Integrity:</b> Implant will last so long as the subject is alive, breaking down and releasing all contents on death."}
return dat
return "<b>Implant Specifications:</b><BR> \
<b>Name:</b> Robust Corp MJ-420 Prisoner Management Implant<BR> \
<b>Life:</b> Deactivates upon death but remains within the body.<BR> \
<b>Important Notes: Due to the system functioning off of nutrients in the implanted subject's body, the subject<BR> \
will suffer from an increased appetite.</B><BR> \
<b>Implant Details:</b><BR> \
<i>Function:</i> Contains a small capsule that can contain various chemicals. Upon receiving a specially encoded signal<BR> \
the implant releases the chemicals directly into the blood stream.<BR> \
<i>Micro-Capsule</i>- Can be loaded with any sort of chemical agent via the common syringe and can hold 50 units.<BR> \
Can only be loaded while still in its original case.<BR> \
<b>Integrity:</b> Implant will last so long as the subject is alive, breaking down and releasing all contents on death."
/obj/item/implant/chem/is_shown_on_console(obj/machinery/computer/prisoner/management/console)
return is_valid_z_level(get_turf(console), get_turf(imp_in))
@@ -9,11 +9,10 @@
hud_icon_state = "hud_imp_exile"
/obj/item/implant/exile/get_data()
var/dat = {"<b>Implant Specifications:</b><BR>
<b>Name:</b> Nanotrasen Employee Exile Implant<BR>
<b>Implant Details:</b> The onboard gateway system has been modified to reject entry by individuals containing this implant.
Additionally, station mining shuttles will lock their controls if handled by someone with this implant.<BR>"}
return dat
return "<b>Implant Specifications:</b><BR> \
<b>Name:</b> Nanotrasen Employee Exile Implant<BR> \
<b>Implant Details:</b> The onboard gateway system has been modified to reject entry by individuals containing this implant. \
Additionally, station mining shuttles will lock their controls if handled by someone with this implant.<BR>"
///Used to help the staff of the space hotel resist the urge to use the space hotel's incredibly alluring roundstart teleporter to ignore their flavor/greeting text and come to the station.
@@ -22,10 +21,9 @@
desc = "Uses impressive bluespace grounding techniques to deny the person implanted by this implant the ability to teleport (or be teleported). Used by certain slavers (or particularly strict employers) to keep their slaves from using teleporters to escape their grasp."
/obj/item/implant/exile/noteleport/get_data()
var/dat = {"<b>Implant Specifications:</b><BR>
<b>Name:</b> Anti-Teleportation Implant<BR>
<b>Implant Details:</b> Keeps the implantee from using most teleportation devices. In addition, it spoofs the implant signature of an exile implant to keep the implantee from using certain gateway systems.<BR>"}
return dat
return "<b>Implant Specifications:</b><BR> \
<b>Name:</b> Anti-Teleportation Implant<BR> \
<b>Implant Details:</b> Keeps the implantee from using most teleportation devices. In addition, it spoofs the implant signature of an exile implant to keep the implantee from using certain gateway systems.<BR>"
/obj/item/implant/exile/noteleport/implant(mob/living/target, mob/user, silent = FALSE, force = FALSE)
. = ..()
@@ -7,11 +7,10 @@
hud_icon_state = "hud_imp_noteleport"
/obj/item/implant/teleport_blocker/get_data()
var/dat = {"<b>Implant Specifications:</b><BR>
<b>Name:</b> Robust Corp EXP-001 'Bluespace Grounder'<BR>
<b>Implant Details:</b> Upon implantation, grounds the user's bluespace signature to their currently occupied plane of existence.
Most, if not all forms of teleportation on the implantee will be rendered ineffective. Useful for keeping especially slippery prisoners in place.<BR>"}
return dat
return "<b>Implant Specifications:</b><BR> \
<b>Name:</b> Robust Corp EXP-001 'Bluespace Grounder'<BR> \
<b>Implant Details:</b> Upon implantation, grounds the user's bluespace signature to their currently occupied plane of existence. \
Most, if not all forms of teleportation on the implantee will be rendered ineffective. Useful for keeping especially slippery prisoners in place.<BR>"
/obj/item/implant/teleport_blocker/implant(mob/living/target, mob/user, silent = FALSE, force = FALSE)
. = ..()
@@ -9,17 +9,16 @@
var/lifespan_postmortem = 10 MINUTES
/obj/item/implant/tracking/get_data()
var/dat = {"<b>Implant Specifications:</b><BR>
<b>Name:</b> Robust Corp EYE-5 Convict Parole Implant<BR>
<b>Life:</b> 10 minutes after death of host.<BR>
<HR>
<b>Implant Details:</b> <BR>
<b>Function:</b> Continuously transmits low power signal. Can be tracked from a prisoner management console.<BR>
<b>Special Features:</b><BR>
<i>Neuro-Safe</i>- Specialized shell absorbs excess voltages self-destructing the chip if
a malfunction occurs thereby securing safety of subject. The implant will melt and
disintegrate into bio-safe elements.<BR>"}
return dat
return "<b>Implant Specifications:</b><BR> \
<b>Name:</b> Robust Corp EYE-5 Convict Parole Implant<BR> \
<b>Life:</b> 10 minutes after death of host.<BR> \
<HR> \
<b>Implant Details:</b> <BR> \
<b>Function:</b> Continuously transmits low power signal. Can be tracked from a prisoner management console.<BR> \
<b>Special Features:</b><BR> \
<i>Neuro-Safe</i>- Specialized shell absorbs excess voltages self-destructing the chip if \
a malfunction occurs thereby securing safety of subject. The implant will melt and \
disintegrate into bio-safe elements.<BR>"
/obj/item/implant/tracking/is_shown_on_console(obj/machinery/computer/prisoner/management/console)
if(imp_in.stat == DEAD && imp_in.timeofdeath + lifespan_postmortem < world.time)