mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
Adds Nanite & Wound scans to ghost; Adds Med/Chem/nanite/Wound Scan UI Elements (#15932)
* kill me * Why do the geneva convention prevent us from having anything red and plus shaped.
This commit is contained in:
@@ -193,3 +193,7 @@
|
||||
#define ui_ghost_spawners "SOUTH: 6, CENTER+1:24"
|
||||
#define ui_ghost_language_menu "SOUTH: 22,CENTER+2:8"
|
||||
#define ui_ghost_pai "SOUTH: 6,CENTER+2:8"
|
||||
#define ui_ghost_med "SOUTH: 6,CENTER+3:-8"
|
||||
#define ui_ghost_chem "SOUTH: 22,CENTER+3:-8"
|
||||
#define ui_ghost_nanite "SOUTH: 6,CENTER+3:8"
|
||||
#define ui_ghost_wound "SOUTH: 22,CENTER+3:8"
|
||||
|
||||
@@ -68,6 +68,22 @@
|
||||
using.screen_loc = ui_ghost_spawners
|
||||
static_inventory += using
|
||||
|
||||
using = new /obj/screen/ghost/med_scan()
|
||||
using.screen_loc = ui_ghost_med
|
||||
static_inventory += using
|
||||
|
||||
using = new /obj/screen/ghost/chem_scan()
|
||||
using.screen_loc = ui_ghost_chem
|
||||
static_inventory += using
|
||||
|
||||
using = new /obj/screen/ghost/nanite_scan()
|
||||
using.screen_loc = ui_ghost_nanite
|
||||
static_inventory += using
|
||||
|
||||
using = new /obj/screen/ghost/wound_scan()
|
||||
using.screen_loc = ui_ghost_wound
|
||||
static_inventory += using
|
||||
|
||||
using = new /obj/screen/ghost/pai()
|
||||
using.screen_loc = ui_ghost_pai
|
||||
static_inventory += using
|
||||
|
||||
@@ -102,6 +102,46 @@
|
||||
var/mob/dead/observer/G = usr
|
||||
G.register_pai()
|
||||
|
||||
/obj/screen/ghost/med_scan
|
||||
name = "Toggle Medical Scan"
|
||||
icon = 'icons/mob/screen_midnight.dmi'
|
||||
icon_state = "med_scan"
|
||||
screen_loc = ui_ghost_med
|
||||
|
||||
/obj/screen/ghost/med_scan/Click()
|
||||
var/mob/dead/observer/G = usr
|
||||
G.toggle_health_scan()
|
||||
|
||||
/obj/screen/ghost/chem_scan
|
||||
name = "Toggle Chemical Scan"
|
||||
icon = 'icons/mob/screen_midnight.dmi'
|
||||
icon_state = "chem_scan"
|
||||
screen_loc = ui_ghost_chem
|
||||
|
||||
/obj/screen/ghost/chem_scan/Click()
|
||||
var/mob/dead/observer/G = usr
|
||||
G.toggle_chemical_scan()
|
||||
|
||||
/obj/screen/ghost/nanite_scan
|
||||
name = "Toggle Nanite Scan"
|
||||
icon = 'icons/mob/screen_midnight.dmi'
|
||||
icon_state = "nanite_scan"
|
||||
screen_loc = ui_ghost_nanite
|
||||
|
||||
/obj/screen/ghost/nanite_scan/Click()
|
||||
var/mob/dead/observer/G = usr
|
||||
G.toggle_nanite_scan()
|
||||
|
||||
/obj/screen/ghost/wound_scan
|
||||
name = "Toggle Wound Scan"
|
||||
icon = 'icons/mob/screen_midnight.dmi'
|
||||
icon_state = "wound_scan"
|
||||
screen_loc = ui_ghost_wound
|
||||
|
||||
/obj/screen/ghost/wound_scan/Click()
|
||||
var/mob/dead/observer/G = usr
|
||||
G.toggle_wound_scan()
|
||||
|
||||
/obj/screen/language_menu/ghost
|
||||
screen_loc = ui_ghost_language_menu
|
||||
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
#define SCAN_CHEM (1<<0)
|
||||
#define SCAN_HEALTH (1<<1)
|
||||
#define SCAN_NANITE (1<<2)
|
||||
#define SCAN_WOUND (1<<3)
|
||||
|
||||
/mob/dead/observer/DblClickOn(atom/A, params)
|
||||
if(check_click_intercept(params, A))
|
||||
return
|
||||
@@ -58,10 +63,17 @@
|
||||
return FALSE
|
||||
|
||||
/mob/living/attack_ghost(mob/dead/observer/user)
|
||||
if(user.client && user.health_scan)
|
||||
healthscan(user, src, 1, TRUE)
|
||||
if(user.client && user.chem_scan)
|
||||
chemscan(user, src)
|
||||
if(user?.client)
|
||||
if(user.scanmode & SCAN_HEALTH)
|
||||
healthscan(user, src, TRUE)
|
||||
if(user.scanmode & SCAN_CHEM)
|
||||
chemscan(user, src)
|
||||
if(user.scanmode & SCAN_NANITE)
|
||||
var/response = SEND_SIGNAL(src, COMSIG_NANITE_SCAN, user, TRUE)
|
||||
if(!response)
|
||||
to_chat(user, span_info("No nanites detected in the subject."))
|
||||
if(user.scanmode & SCAN_WOUND)
|
||||
woundscan(user, src)
|
||||
return ..()
|
||||
|
||||
// ---------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user