mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user