mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-21 04:07:52 +01:00
61 lines
2.2 KiB
Plaintext
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]
|