diff --git a/code/modules/client/preference_setup/loadout/loadout_factions.dm b/code/modules/client/preference_setup/loadout/loadout_factions.dm index f6f233e1bb9..71c638c8030 100644 --- a/code/modules/client/preference_setup/loadout/loadout_factions.dm +++ b/code/modules/client/preference_setup/loadout/loadout_factions.dm @@ -74,6 +74,7 @@ idris_sunglasses["HUDsunglasses, Idris"] = /obj/item/clothing/glasses/sunglasses/sechud/idris idris_sunglasses["fat HUDsunglasses, Idris"] = /obj/item/clothing/glasses/sunglasses/sechud/big/idris idris_sunglasses["aviator sunglasses, Idris"] = /obj/item/clothing/glasses/sunglasses/sechud/aviator/idris + idris_sunglasses["security HUD, Idris"] = /obj/item/clothing/glasses/hud/security/idris gear_tweaks += new /datum/gear_tweak/path(idris_sunglasses) /datum/gear/faction/idris_labcoat @@ -221,6 +222,7 @@ zavod_sunglasses["HUDsunglasses, Zavodskoi"] = /obj/item/clothing/glasses/sunglasses/sechud/zavod zavod_sunglasses["fat HUDsunglasses, Zavodskoi"] = /obj/item/clothing/glasses/sunglasses/sechud/big/zavod zavod_sunglasses["aviator sunglasses, Zavodskoi"] = /obj/item/clothing/glasses/sunglasses/sechud/aviator/zavod + zavod_sunglasses["security HUD, Zavodskoi"] = /obj/item/clothing/glasses/hud/security/zavod gear_tweaks += new /datum/gear_tweak/path(zavod_sunglasses) /datum/gear/faction/zavodskoi_patch @@ -272,6 +274,25 @@ pmc_sunglasses["HUDsunglasses alt, PMCG"] = /obj/item/clothing/glasses/sunglasses/sechud/pmc/alt pmc_sunglasses["fat HUDsunglasses alt, PMCG"] = /obj/item/clothing/glasses/sunglasses/sechud/big/pmc/alt pmc_sunglasses["aviator sunglasses alt, PMCG"] = /obj/item/clothing/glasses/sunglasses/sechud/aviator/pmc/alt + pmc_sunglasses["security HUD, PMCG"] = /obj/item/clothing/glasses/hud/security/pmc + pmc_sunglasses["security HUD, EPMC"] = /obj/item/clothing/glasses/hud/security/pmc/alt + gear_tweaks += new /datum/gear_tweak/path(pmc_sunglasses) + +/datum/gear/faction/pmc_medglasses + display_name = "PMCG medical HUD selection" + description = "A selection of PMCG medical HUDs." + path = /obj/item/clothing/glasses/hud/health/aviator/pmc + slot = slot_glasses + allowed_roles = list("Physician", "Surgeon", "Chief Medical Officer", "Pharmacist", "First Responder", "Psychiatrist", "Medical Intern") + faction = "Private Military Contracting Group" + +/datum/gear/faction/pmc_medglasses/New() + ..() + var/list/pmc_sunglasses = list() + pmc_sunglasses["aviator sunglasses, PMCG"] = /obj/item/clothing/glasses/hud/health/aviator/pmc + pmc_sunglasses["medical HUD, PMCG"] = /obj/item/clothing/glasses/hud/health/pmc + pmc_sunglasses["aviator sunglasses, EPMC"] = /obj/item/clothing/glasses/hud/health/aviator/pmc/alt + pmc_sunglasses["medical HUD, EPMC"] = /obj/item/clothing/glasses/hud/health/pmc/alt gear_tweaks += new /datum/gear_tweak/path(pmc_sunglasses) /datum/gear/faction/pmc_labcoat @@ -476,6 +497,21 @@ slot = slot_wear_suit faction = "Zeng-Hu Pharmaceuticals" +/datum/gear/faction/zeng_medglasses + display_name = "Zeng-Hu medical HUD selection" + description = "A selection of Zeng-Hu medical HUDs." + path = /obj/item/clothing/glasses/hud/health/aviator/zeng + slot = slot_glasses + allowed_roles = list("Physician", "Surgeon", "Chief Medical Officer", "Pharmacist", "First Responder", "Psychiatrist", "Medical Intern") + faction = "Zeng-Hu Pharmaceuticals" + +/datum/gear/faction/zeng_medglasses/New() + ..() + var/list/zeng_sunglasses = list() + zeng_sunglasses["aviator sunglasses, Zeng-Hu"] = /obj/item/clothing/glasses/hud/health/aviator/zeng + zeng_sunglasses["medical HUD, Zeng-Hu"] = /obj/item/clothing/glasses/hud/health/zeng + gear_tweaks += new /datum/gear_tweak/path(zeng_sunglasses) + //Hephaestus /datum/gear/faction/heph_labcoat display_name = "hephaestus coat selection" @@ -557,6 +593,21 @@ nt_headwear["nanotrasen woolen hat"] = /obj/item/clothing/head/wool/nt gear_tweaks += new /datum/gear_tweak/path(nt_headwear) +/datum/gear/faction/nt_medglasses + display_name = "NanoTrasen medical HUD selection" + description = "A selection of NanoTrasen medical HUDs." + path = /obj/item/clothing/glasses/hud/health/aviator/nt + slot = slot_glasses + allowed_roles = list("Physician", "Surgeon", "Chief Medical Officer", "Pharmacist", "First Responder", "Psychiatrist", "Medical Intern") + faction = "NanoTrasen" + +/datum/gear/faction/nt_medglasses/New() + ..() + var/list/nt_sunglasses = list() + nt_sunglasses["aviator sunglasses, NanoTrasen"] = /obj/item/clothing/glasses/hud/health/aviator/nt + nt_sunglasses["medical HUD, NanoTrasen"] = /obj/item/clothing/glasses/hud/health/nt + gear_tweaks += new /datum/gear_tweak/path(nt_sunglasses) + //Orion /datum/gear/faction/orion_coat display_name = "orion coat selection" diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index d0b060a6b71..b5704c84250 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -147,7 +147,7 @@ BLIND // can't see anything name = "medical HUD aviators" desc = "Modified aviator glasses with a toggled health HUD. Comes with bonus prescription overlay." icon_state = "aviator_med" - off_state = "aviator_med_off" + item_state = "aviator_med" action_button_name = "Toggle Mode" toggleable = 1 activation_sound = 'sound/effects/pop.ogg' @@ -160,11 +160,43 @@ BLIND // can't see anything attack_self(usr) +/obj/item/clothing/glasses/hud/health/aviator/update_icon() + if(active) + icon_state = initial(icon_state) + item_state = initial(item_state) + else + icon_state = "[initial(icon_state)]_off" + item_state = "[initial(item_state)]_off" + +/obj/item/clothing/glasses/hud/health/aviator/pmc + name = "\improper PMCG medical HUD aviators" + desc = "Sunglasses in Private Military Contracting Group colours. They come with a blue-tinted HUD and a chrome finish." + icon_state = "aviator_med_pmc" + item_state = "aviator_med_pmc" + +/obj/item/clothing/glasses/hud/health/aviator/pmc/alt + name = "\improper EPMC medical HUD aviators" + desc = "Sunglasses in Eridani Private Military Contracting colours. They come with a blue-tinted HUD and a chrome finish." + icon_state = "aviator_med_pmc_alt" + item_state = "aviator_med_pmc_alt" + +/obj/item/clothing/glasses/hud/health/aviator/nt + name = "\improper NanoTrasen medical HUD aviators" + desc = "Sunglasses in NanoTrasen colours. They come with a blue-tinted HUD and a chrome finish." + icon_state = "aviator_med_nt" + item_state = "aviator_med_nt" + +/obj/item/clothing/glasses/hud/health/aviator/zeng + name = "\improper Zeng-Hu medical HUD aviators" + desc = "Sunglasses in Zeng-Hu Pharmaceuticals colours. They come with a purple-tinted HUD and a chrome finish." + icon_state = "aviator_med_zeng" + item_state = "aviator_med_zeng" + /obj/item/clothing/glasses/hud/health/aviator/visor name = "medical HUD visor" desc = "Modified visor glasses with a toggled health HUD. Comes with bonus prescription overlay." icon_state = "visor_medhud" - off_state = "visor_medhud_off" + item_state = "visor_medhud" /obj/item/clothing/glasses/science name = "science goggles" @@ -752,7 +784,10 @@ BLIND // can't see anything /obj/item/clothing/glasses/sunglasses/sechud name = "HUDsunglasses" desc = "Sunglasses in the colours of NanoTrasen security. They come with a blue-tinted HUD." + icon = 'icons/obj/item/clothing/eyes/sec_hud.dmi' icon_state = "sunhud" + item_state = "sunhud" + contained_sprite = TRUE /obj/item/clothing/glasses/sunglasses/sechud/Initialize() . = ..() @@ -766,42 +801,51 @@ BLIND // can't see anything name = "fat HUDsunglasses" desc = "Fat sunglasses in the colours of NanoTrasen security. They come with a blue-tinted HUD." icon_state = "bigsunglasses_hud" + item_state = "bigsunglasses_hud" /obj/item/clothing/glasses/sunglasses/sechud/zavod - name = "Zavodskoi HUDsunglasses" + name = "\improper Zavodskoi HUDsunglasses" desc = "Sunglasses in the colours of Zavodskoi Interstellar. They come with a red-tinted HUD." icon_state = "sunhud_zavod" + item_state = "sunhud_zavod" /obj/item/clothing/glasses/sunglasses/sechud/big/zavod name = "fat Zavodskoi HUDsunglasses" desc = "Fat sunglasses in the colours of Zavodskoi Interstellar. They come with a red-tinted HUD." icon_state = "bigsunglasses_hud_zavod" + item_state = "bigsunglasses_hud_zavod" /obj/item/clothing/glasses/sunglasses/sechud/pmc - name = "PMCG HUDsunglasses" - desc = "Sunglasses in the colours of the Private Military Contracting Group. They come with a blue-tinted HUD and a chrome finish." + name = "\improper PMCG HUDsunglasses" + desc = "Sunglasses in Private Military Contracting Group colours. They come with a blue-tinted HUD and a chrome finish." icon_state = "sunhud_pmcg" + item_state = "sunhud_pmcg" /obj/item/clothing/glasses/sunglasses/sechud/pmc/alt icon_state = "sunhud_pmcg_alt" + item_state = "sunhud_pmcg_alt" /obj/item/clothing/glasses/sunglasses/sechud/big/pmc name = "fat PMCG HUDsunglasses" - desc = "Fat sunglasses in the colours of the Private Military Contracting Group. They come with a blue-tinted HUD and a chrome finish." + desc = "Fat sunglasses in Private Military Contracting Group colours. They come with a blue-tinted HUD and a chrome finish." icon_state = "bigsunglasses_hud_pmcg" + item_state = "bigsunglasses_hud_pmcg" /obj/item/clothing/glasses/sunglasses/sechud/big/pmc/alt icon_state = "bigsunglasses_hud_pmcg_alt" + item_state = "bigsunglasses_hud_pmcg_alt" /obj/item/clothing/glasses/sunglasses/sechud/idris - name = "Idris HUDsunglasses" + name = "\improper Idris HUDsunglasses" desc = "Sunglasses in the colours of Idris Incorporated. They come with a teal-tinted HUD and a chrome finish." icon_state = "sunhud_idris" + item_state = "sunhud_idris" /obj/item/clothing/glasses/sunglasses/sechud/big/idris name = "fat Idris HUDsunglasses" desc = "Fat sunglasses in the colours of Idris Incorporated. They come with a teal-tinted HUD and a chrome finish." icon_state = "bigsunglasses_hud_idris" + item_state = "bigsunglasses_hud_idris" /obj/item/clothing/glasses/sunglasses/sechud/tactical name = "tactical HUD" @@ -822,8 +866,7 @@ BLIND // can't see anything desc = "NanoTrasen security aviator glasses that can be switched between HUD and flash protection modes. They come with a built-in prescription overlay." flash_protection = FLASH_PROTECTION_NONE icon_state = "aviator_sec" - off_state = "aviator_sec_off" - item_state_slots = list(slot_r_hand_str = "aviator_sec", slot_l_hand_str = "aviator_sec") + item_state = "aviator_sec" action_button_name = "Toggle Mode" var/on = TRUE toggleable = TRUE @@ -863,8 +906,10 @@ BLIND // can't see anything /obj/item/clothing/glasses/sunglasses/sechud/aviator/update_icon() if(on) icon_state = initial(icon_state) + item_state = initial(item_state) else - icon_state = off_state + icon_state = "[initial(icon_state)]_off" + item_state = "[initial(item_state)]_off" /obj/item/clothing/glasses/sunglasses/sechud/aviator/verb/toggle() set category = "Object" @@ -874,33 +919,32 @@ BLIND // can't see anything attack_self(usr) /obj/item/clothing/glasses/sunglasses/sechud/aviator/zavod - name = "Zavodskoi HUD aviators" + name = "\improper Zavodskoi HUD aviators" desc = "Zavodskoi security aviator glasses that can be switched between HUD and flash protection modes. They come with a built-in prescription overlay." icon_state = "aviator_sec_zavod" - off_state = "aviator_sec_zavod_off" + item_state = "aviator_sec_zavod" /obj/item/clothing/glasses/sunglasses/sechud/aviator/pmc - name = "PMCG HUD aviators" + name = "\improper PMCG HUD aviators" desc = "PMCG security aviator glasses that can be switched between HUD and flash protection modes. They come with a built-in prescription overlay." icon_state = "aviator_sec_pmcg" - off_state = "aviator_sec_pmcg_off" + item_state = "aviator_sec_pmcg" /obj/item/clothing/glasses/sunglasses/sechud/aviator/pmc/alt icon_state = "aviator_sec_pmcg_alt" - off_state = "aviator_sec_pmcg_alt_off" + item_state = "aviator_sec_pmcg_alt" /obj/item/clothing/glasses/sunglasses/sechud/aviator/idris - name = "Idris HUD aviators" + name = "\improper Idris HUD aviators" desc = "Idris security aviator glasses that can be switched between HUD and flash protection modes. They come with a built-in prescription overlay." icon_state = "aviator_sec_idris" - off_state = "aviator_sec_idris_off" + item_state = "aviator_sec_idris" /obj/item/clothing/glasses/sunglasses/sechud/aviator/visor name = "security HUD visor" desc = "NanoTrasen security visor glasses that can be switched between HUD and flash protection modes. They come with a built-in prescription overlay." icon_state = "visor_sec" - off_state = "visor_sec_off" - item_state_slots = list(slot_r_hand_str = "visor_sec", slot_l_hand_str = "visor_sec") + item_state = "visor_sec" /obj/item/clothing/glasses/thermal name = "optical thermal scanner" diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm index 574a9c0c063..8b395991115 100644 --- a/code/modules/clothing/glasses/hud.dm +++ b/code/modules/clothing/glasses/hud.dm @@ -15,9 +15,11 @@ /obj/item/clothing/glasses/hud/health name = "health scanner HUD" desc = "A heads-up display that scans the humans in view and provides accurate data about their health status." + icon = 'icons/obj/item/clothing/eyes/med_hud.dmi' icon_state = "healthhud" item_state = "healthhud" body_parts_covered = 0 + contained_sprite = TRUE /obj/item/clothing/glasses/hud/health/process_hud(var/mob/M) @@ -26,6 +28,30 @@ /obj/item/clothing/glasses/hud/health/is_med_hud() return active +/obj/item/clothing/glasses/hud/health/pmc + name = "\improper PMCG health scanner HUD" + desc = "A heads-up display in Private Military Contracting Group colours." + icon_state = "healthhud_pmc" + item_state = "healthhud_pmc" + +/obj/item/clothing/glasses/hud/health/pmc/alt + name = "\improper EPMC health scanner HUD" + desc = "A heads-up display in Eridani Private Military Contracting colours." + icon_state = "healthhud_pmc_alt" + item_state = "healthhud_pmc_alt" + +/obj/item/clothing/glasses/hud/health/nt + name = "\improper NanoTrasen health scanner HUD" + desc = "A heads-up display in NanoTrasen colours." + icon_state = "healthhud_nt" + item_state = "healthhud_nt" + +/obj/item/clothing/glasses/hud/health/zeng + name = "\improper Zeng-Hu health scanner HUD" + desc = "A heads-up display in Zeng-Hu Pharmaceuticals colours." + icon_state = "healthhud_zeng" + item_state = "healthhud_zeng" + /obj/item/clothing/glasses/hud/health/prescription name = "prescription glasses/HUD assembly" desc = "A medical HUD clipped onto the side of prescription glasses." @@ -47,14 +73,40 @@ /obj/item/clothing/glasses/hud/security name = "security HUD" desc = "A heads-up display that scans the humans in view and provides accurate data about their ID status and security records." + icon = 'icons/obj/item/clothing/eyes/sec_hud.dmi' icon_state = "securityhud" item_state = "securityhud" body_parts_covered = 0 var/global/list/jobs[0] + contained_sprite = TRUE /obj/item/clothing/glasses/hud/security/is_sec_hud() return active +/obj/item/clothing/glasses/hud/security/zavod + name = "\improper Zavodskoi security HUD" + desc = "A heads-up display in the colours of Zavodskoi Interstellar." + icon_state = "securityhud_zavod" + item_state = "securityhud_zavod" + +/obj/item/clothing/glasses/hud/security/pmc + name = "\improper PMCG security HUD" + desc = "A heads-up display in Private Military Contracting Group colours." + icon_state = "securityhud_pmc" + item_state = "securityhud_pmc" + +/obj/item/clothing/glasses/hud/security/pmc/alt + name = "\improper EPMC security HUD" + desc = "A heads-up display in Eridani Private Military Contractor colours." + icon_state = "securityhud_pmc_alt" + item_state = "securityhud_pmc_alt" + +/obj/item/clothing/glasses/hud/security/idris + name = "\improper Idris security HUD" + desc = "A heads-up display in Idris Incorporated colours." + icon_state = "securityhud_idris" + item_state = "securityhud_idris" + /obj/item/clothing/glasses/hud/security/prescription name = "prescription glasses/HUD assembly" desc = "A security HUD clipped onto the side of prescription glasses." diff --git a/html/changelogs/morehuds.yml b/html/changelogs/morehuds.yml new file mode 100644 index 00000000000..426bd6c992d --- /dev/null +++ b/html/changelogs/morehuds.yml @@ -0,0 +1,6 @@ +author: Sparky_hotdog + +delete-after: True + +changes: + - rscadd: "Added new corporate themed security and medical HUDs to the loadout." diff --git a/icons/mob/eyes.dmi b/icons/mob/eyes.dmi index d53bd546e31..a420daccb34 100644 Binary files a/icons/mob/eyes.dmi and b/icons/mob/eyes.dmi differ diff --git a/icons/obj/clothing/glasses.dmi b/icons/obj/clothing/glasses.dmi index 12a74cf487d..344ca1f0923 100644 Binary files a/icons/obj/clothing/glasses.dmi and b/icons/obj/clothing/glasses.dmi differ diff --git a/icons/obj/item/clothing/eyes/med_hud.dmi b/icons/obj/item/clothing/eyes/med_hud.dmi new file mode 100644 index 00000000000..89a13d718a6 Binary files /dev/null and b/icons/obj/item/clothing/eyes/med_hud.dmi differ diff --git a/icons/obj/item/clothing/eyes/sec_hud.dmi b/icons/obj/item/clothing/eyes/sec_hud.dmi new file mode 100644 index 00000000000..a73fba0b0fa Binary files /dev/null and b/icons/obj/item/clothing/eyes/sec_hud.dmi differ