Adds an implant tracking program to mod pcs (#12748)

Just a subtype of the radar app changed to track people with implants
This commit is contained in:
nmajask
2021-11-25 12:51:04 -05:00
committed by GitHub
parent ba2ed9b8f9
commit 259b81ecf4

View File

@@ -261,7 +261,7 @@
//Nuke Disk Finder App//
////////////////////////
///A program that tracks crew members via suit sensors
///A program that tracks important items like the nuke disk
/datum/computer_file/program/radar/fission360
filename = "Fission360"
filedesc = "Fission360"
@@ -301,3 +301,49 @@
name = disk.name,
)
objects += list(nukeinfo)
///////////////////////
//Implant Tracker App//
///////////////////////
///A program that tracks people via tracking implants
/datum/computer_file/program/radar/implant
filename = "implanttracker"
filedesc = "Implant Tracker"
extended_desc = "This program allows for tracking those implanted with tracking implants."
requires_ntnet = TRUE
transfer_access = ACCESS_SECURITY
available_on_ntnet = TRUE
program_icon = "microchip"
/datum/computer_file/program/radar/implant/find_atom()
return locate(selected) in GLOB.mob_living_list
/datum/computer_file/program/radar/implant/scan()
if(world.time < next_scan)
return
next_scan = world.time + (2 SECONDS)
objects = list()
for(var/obj/item/implant/imp in GLOB.tracked_implants)
var/mob/living/target = imp.imp_in
if(!istype(target))
continue
if(!trackable(target))
continue
var/crewmember_name = "Unknown"
if(istype(target, /mob/living/carbon/human))
var/mob/living/carbon/human/humanoid = target
if(humanoid.wear_id)
var/obj/item/card/id/ID = humanoid.wear_id.GetID()
if(ID && ID.registered_name)
crewmember_name = ID.registered_name
var/list/crewinfo = list(
ref = REF(target),
name = crewmember_name,
)
objects += list(crewinfo)
/datum/computer_file/program/radar/implant/trackable(mob/living/target)
if(!target || !istype(target))
return FALSE
return TRUE