Files
CHOMPStation2/code/defines/procs/hud_vr.dm
T
2017-04-03 19:35:09 -04:00

61 lines
2.2 KiB
Plaintext

var/global/list/gen_hud_users = list() // List of all entities using a generic AR shades.
var/global/list/eng_hud_users = list() // List of all entities using a engineer HUD.
var/global/list/sci_hud_users = list() // List of all entities using a science HUD.
var/global/list/vantag_hud_users = list() // List of all mobs with the VANTAG hud on.
/proc/broadcast_engineering_hud_message(var/message, var/broadcast_source)
broadcast_hud_message(message, broadcast_source, eng_hud_users, /obj/item/clothing/glasses/omnihud/eng)
/proc/broadcast_science_hud_message(var/message, var/broadcast_source)
broadcast_hud_message(message, broadcast_source, sci_hud_users, /obj/item/clothing/glasses/omnihud/rnd)
proc/process_omni_hud(var/mob/M, var/mode, var/mob/Alt)
if(!can_process_hud(M))
return
var/datum/arranged_hud_process/P
switch(mode)
if("med")
P = arrange_hud_process(M, Alt, med_hud_users)
if("sec")
P = arrange_hud_process(M, Alt, sec_hud_users)
if("eng")
P = arrange_hud_process(M, Alt, eng_hud_users)
if("sci")
P = arrange_hud_process(M, Alt, sci_hud_users)
if("best")
P = arrange_hud_process(M, Alt, sec_hud_users)
else
P = arrange_hud_process(M, Alt, gen_hud_users)
for(var/mob/living/carbon/human/guy in P.Mob.in_view(P.Turf))
if(P.Mob.see_invisible < guy.invisibility)
continue
P.Client.images += guy.hud_list[ID_HUD]
P.Client.images += guy.hud_list[HEALTH_VR_HUD]
if(mode == "med") //Medical advanced version
P.Client.images += guy.hud_list[STATUS_R_HUD]
P.Client.images += guy.hud_list[BACKUP_HUD]
if(mode == "sec") //Security advanced version
P.Client.images += guy.hud_list[WANTED_HUD]
if(mode == "best") //Command/omni advanced version
P.Client.images += guy.hud_list[WANTED_HUD]
P.Client.images += guy.hud_list[STATUS_R_HUD]
P.Client.images += guy.hud_list[BACKUP_HUD]
proc/process_vantag_hud(var/mob/M)
if(!M.vantag_hud || !can_process_hud(M))
return
var/datum/arranged_hud_process/P = arrange_hud_process(M, null, vantag_hud_users)
for(var/mob/living/carbon/human/guy in P.Mob.in_view(P.Turf))
if(P.Mob.see_invisible < guy.invisibility)
continue
P.Client.images += guy.hud_list[VANTAG_HUD]