From a452b89e3653c7553b9bb81d3dbd1c86b1890d78 Mon Sep 17 00:00:00 2001 From: Casey Date: Sun, 23 Oct 2022 14:52:06 -0400 Subject: [PATCH 1/2] Merge pull request #13943 from FunnyCatEnjoyer/FunnyCat2 Adds the tactical AR visor. --- code/datums/supplypacks/security.dm | 3 +- .../loadout/loadout_eyes_vr.dm | 4 ++ code/modules/clothing/glasses/glasses_vr.dm | 39 ++++++++++++++++++ code/modules/economy/vending_machines.dm | 1 + icons/inventory/eyes/item_vr.dmi | Bin 1119 -> 1998 bytes icons/inventory/eyes/mob_vr.dmi | Bin 4059 -> 10087 bytes 6 files changed, 46 insertions(+), 1 deletion(-) diff --git a/code/datums/supplypacks/security.dm b/code/datums/supplypacks/security.dm index 5c4ddf1a6a..fc8d9b373b 100644 --- a/code/datums/supplypacks/security.dm +++ b/code/datums/supplypacks/security.dm @@ -444,7 +444,8 @@ /obj/item/weapon/storage/belt/security = 3, /obj/item/clothing/glasses/sunglasses/sechud = 3, /obj/item/device/radio/headset/headset_sec/alt = 3, - /obj/item/clothing/suit/storage/hooded/wintercoat/security = 3 + /obj/item/clothing/suit/storage/hooded/wintercoat/security = 3, + /obj/item/clothing/glasses/sunglasses/sechud/tactical_sec_vis = 3 ) cost = 10 containertype = /obj/structure/closet/crate/nanothreads diff --git a/code/modules/client/preference_setup/loadout/loadout_eyes_vr.dm b/code/modules/client/preference_setup/loadout/loadout_eyes_vr.dm index 23c3d490e1..e444dcaa85 100644 --- a/code/modules/client/preference_setup/loadout/loadout_eyes_vr.dm +++ b/code/modules/client/preference_setup/loadout/loadout_eyes_vr.dm @@ -66,6 +66,10 @@ display_name = "Security HUDpatch MKII" path = /obj/item/clothing/glasses/hud/security/eyepatch2 +/datum/gear/eyes/security/tac_sec_visor + display_name = "Tactical AR visor (Security)" + path = /obj/item/clothing/glasses/sunglasses/sechud/tactical_sec_vis + /datum/gear/eyes/medical/medpatch display_name = "Health HUDpatch" path = /obj/item/clothing/glasses/hud/health/eyepatch diff --git a/code/modules/clothing/glasses/glasses_vr.dm b/code/modules/clothing/glasses/glasses_vr.dm index 63be852414..880547db4b 100644 --- a/code/modules/clothing/glasses/glasses_vr.dm +++ b/code/modules/clothing/glasses/glasses_vr.dm @@ -72,6 +72,45 @@ off_state = "eyepatch" enables_planes = list(VIS_CH_STATUS,VIS_CH_HEALTH,VIS_FULLBRIGHT,VIS_MESONS) +/obj/item/clothing/glasses/sunglasses/sechud/tactical_sec_vis + name = "tactical AR visor" + desc = "Special AR visor designed for security teams, protects your eyes and provides useful data. The red lights provide extra style and intimidation." + icon_state = "tacsecvis1" + icon = 'icons/inventory/eyes/item_vr.dmi' + icon_override = 'icons/inventory/eyes/mob_vr.dmi' + enables_planes = list(VIS_CH_ID,VIS_CH_WANTED,VIS_CH_IMPTRACK,VIS_CH_IMPLOYAL,VIS_CH_IMPCHEM) + flash_protection = FLASH_PROTECTION_MODERATE + item_flags = AIRTIGHT + body_parts_covered = EYES + action_button_name = "Change scanning pattern" + action_button_is_hands_free = TRUE + var/static/list/tac_sec_vis_anim = list() + +/obj/item/clothing/glasses/sunglasses/sechud/tactical_sec_vis/Initialize(mapload) + . = ..() + tac_sec_vis_anim = list( + "Scanning pattern 1" = image(icon = src.icon, icon_state = "tacsecvis1"), + "Scanning pattern 2" = image(icon = src.icon, icon_state = "tacsecvis2"), + "Scanning pattern 3" = image(icon = src.icon, icon_state = "tacsecvis3"), + "Scanning pattern 4" = image(icon = src.icon, icon_state = "tacsecvis4"), + ) + +/obj/item/clothing/glasses/sunglasses/sechud/tactical_sec_vis/attack_self(mob/user) + . = ..() + if(!istype(user) || user.incapacitated()) + return + + var/static/list/options = list("Scanning pattern 1" = "tacsecvis1", "Scanning pattern 2" = "tacsecvis2", "Scanning pattern 3" = "tacsecvis3","Scanning pattern 4" ="tacsecvis4") + + var/choice = show_radial_menu(user, src, tac_sec_vis_anim, custom_check = FALSE, radius = 36, require_near = TRUE) + + if(src && choice && !user.incapacitated() && in_range(user,src)) + icon_state = options[choice] + user.update_inv_glasses() + user.update_action_buttons() + to_chat(user, "Your [src] now displays [choice] .") + return 1 + /*---Tajaran-specific Eyewear---*/ /obj/item/clothing/glasses/tajblind diff --git a/code/modules/economy/vending_machines.dm b/code/modules/economy/vending_machines.dm index bfe1d36746..101df4b4dc 100644 --- a/code/modules/economy/vending_machines.dm +++ b/code/modules/economy/vending_machines.dm @@ -1237,6 +1237,7 @@ /obj/item/clothing/mask/bandana/red = 5, /obj/item/clothing/suit/storage/hooded/wintercoat/security = 5, /obj/item/clothing/accessory/armband = 5, + /obj/item/clothing/glasses/sunglasses/sechud/tactical_sec_vis = 5, //VoreStation edit - cool visor!!! /obj/item/clothing/glasses/hud/security/eyepatch2 = 5, //VoreStation edit - cool eyepatch! /obj/item/clothing/accessory/holster/armpit = 2, //VOREStation edit - gives some variety of available holsters for those who forgot to bring their own /obj/item/clothing/accessory/holster/waist = 2, //VOREStation edit - But also reduces the number per type, so there's 8 overall rather than like, 20 diff --git a/icons/inventory/eyes/item_vr.dmi b/icons/inventory/eyes/item_vr.dmi index 4822216c871ad10958184bfd908d69f177e237db..cc158df7ad6f2c0e4ca83f7ae51b4e6ffb5c7d2f 100644 GIT binary patch delta 1781 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