From 72432af1310fcb8e85882c49f8ee8e2782a40310 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Wed, 11 Nov 2020 19:13:54 +0000 Subject: [PATCH 1/2] Holobadges for the Detective --- .../preference/loadout/loadout_accessories.dm | 4 +-- code/modules/clothing/suits/armor.dm | 14 ++++---- .../clothing/under/accessories/accessory.dm | 32 +++++++++---------- 3 files changed, 24 insertions(+), 26 deletions(-) diff --git a/code/modules/client/preference/loadout/loadout_accessories.dm b/code/modules/client/preference/loadout/loadout_accessories.dm index b9318fd9e8c..98485d1f6c4 100644 --- a/code/modules/client/preference/loadout/loadout_accessories.dm +++ b/code/modules/client/preference/loadout/loadout_accessories.dm @@ -66,12 +66,12 @@ /datum/gear/accessory/holobadge display_name = "holobadge, pin" path = /obj/item/clothing/accessory/holobadge - allowed_roles = list("Head of Security", "Warden", "Security Officer", "Security Pod Pilot") + allowed_roles = list("Head of Security", "Warden", "Detective", "Security Officer", "Security Pod Pilot") /datum/gear/accessory/holobadge_n display_name = "holobadge, cord" path = /obj/item/clothing/accessory/holobadge/cord - allowed_roles = list("Head of Security", "Warden", "Security Officer", "Security Pod Pilot") + allowed_roles = list("Head of Security", "Warden", "Detective", "Security Officer", "Security Pod Pilot") /datum/gear/accessory/tieblue display_name = "tie, blue" diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index e884c9573f4..36fd6a370a5 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -47,12 +47,12 @@ item_state = "armor" var/obj/item/clothing/accessory/holobadge/attached_badge -/obj/item/clothing/suit/armor/vest/security/attackby(obj/item/W as obj, mob/user as mob, params) - if(istype(W, /obj/item/clothing/accessory/holobadge)) - if(user.unEquip(W)) +/obj/item/clothing/suit/armor/vest/security/attackby(obj/item/I, mob/user, params) + if(istype(I, /obj/item/clothing/accessory/holobadge)) + if(user.unEquip(I)) add_fingerprint(user) - W.forceMove(src) - attached_badge = W + I.forceMove(src) + attached_badge = I var/datum/action/A = new /datum/action/item_action/remove_badge(src) A.Grant(user) icon_state = "armorsec" @@ -62,7 +62,7 @@ return ..() -/obj/item/clothing/suit/armor/vest/security/attack_self(mob/user as mob) +/obj/item/clothing/suit/armor/vest/security/attack_self(mob/user) if(attached_badge) add_fingerprint(user) user.put_in_hands(attached_badge) @@ -75,11 +75,9 @@ user.update_inv_wear_suit() desc = "An armored vest that protects against some damage. This one has a clip for a holobadge." to_chat(user, "You remove [attached_badge] from [src].") - attached_badge = null return - ..() /obj/item/clothing/suit/armor/vest/blueshield diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm index bd485a732ce..6a443747ab7 100644 --- a/code/modules/clothing/under/accessories/accessory.dm +++ b/code/modules/clothing/under/accessories/accessory.dm @@ -270,53 +270,53 @@ item_color = "holobadge" slot_flags = SLOT_BELT | SLOT_TIE - var/emagged = 0 //Emagging removes Sec check. + var/emagged = FALSE //Emagging removes Sec check. var/stored_name = null /obj/item/clothing/accessory/holobadge/cord icon_state = "holobadge-cord" item_color = "holobadge-cord" -/obj/item/clothing/accessory/holobadge/attack_self(mob/user as mob) +/obj/item/clothing/accessory/holobadge/attack_self(mob/user) if(!stored_name) to_chat(user, "Waving around a badge before swiping an ID would be pretty pointless.") return if(isliving(user)) - user.visible_message("[user] displays [user.p_their()] Nanotrasen Internal Security Legal Authorization Badge.\nIt reads: [stored_name], NT Security.","You display your Nanotrasen Internal Security Legal Authorization Badge.\nIt reads: [stored_name], NT Security.") + user.visible_message("[user] displays [user.p_their()] Nanotrasen Internal Security Legal Authorization Badge.\nIt reads: [stored_name], NT Security.", + "You display your Nanotrasen Internal Security Legal Authorization Badge.\nIt reads: [stored_name], NT Security.") -/obj/item/clothing/accessory/holobadge/attackby(var/obj/item/O as obj, var/mob/user as mob, params) - if(istype(O, /obj/item/card/id) || istype(O, /obj/item/pda)) +/obj/item/clothing/accessory/holobadge/attackby(obj/item/I, mob/user, params) + if(istype(I, /obj/item/card/id) || istype(I, /obj/item/pda)) var/obj/item/card/id/id_card = null - if(istype(O, /obj/item/card/id)) - id_card = O + if(istype(I, /obj/item/card/id)) + id_card = I else - var/obj/item/pda/pda = O + var/obj/item/pda/pda = I id_card = pda.id - if(ACCESS_SECURITY in id_card.access || emagged) - to_chat(user, "You imprint your ID details onto the badge.") + if(ACCESS_SEC_DOORS in id_card.access || emagged) + to_chat(user, "You imprint your ID details onto the badge.") stored_name = id_card.registered_name name = "holobadge ([stored_name])" desc = "This glowing blue badge marks [stored_name] as THE LAW." else - to_chat(user, "[src] rejects your insufficient access rights.") + to_chat(user, "[src] rejects your insufficient access rights.") return ..() -/obj/item/clothing/accessory/holobadge/emag_act(user as mob) +/obj/item/clothing/accessory/holobadge/emag_act(user) if(emagged) to_chat(user, "[src] is already cracked.") - return else - emagged = 1 + emagged = TRUE to_chat(user, "You swipe the card and crack the holobadge security checks.") - return /obj/item/clothing/accessory/holobadge/attack(mob/living/carbon/human/M, mob/living/user) if(isliving(user)) - user.visible_message("[user] invades [M]'s personal space, thrusting [src] into [M.p_their()] face insistently.","You invade [M]'s personal space, thrusting [src] into [M.p_their()] face insistently. You are the law.") + user.visible_message("[user] invades [M]'s personal space, thrusting [src] into [M.p_their()] face insistently.", + "You invade [M]'s personal space, thrusting [src] into [M.p_their()] face insistently. You are the law.") ////////////// //OBJECTION!// From f2261c6d8169307cfb7b3929b37eadc12d815029 Mon Sep 17 00:00:00 2001 From: SabreML <57483089+SabreML@users.noreply.github.com> Date: Sat, 14 Nov 2020 17:22:50 +0000 Subject: [PATCH 2/2] Review stuff --- code/modules/clothing/under/accessories/accessory.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm index 6a443747ab7..497277e16e8 100644 --- a/code/modules/clothing/under/accessories/accessory.dm +++ b/code/modules/clothing/under/accessories/accessory.dm @@ -306,17 +306,17 @@ return ..() -/obj/item/clothing/accessory/holobadge/emag_act(user) +/obj/item/clothing/accessory/holobadge/emag_act(mob/user) if(emagged) to_chat(user, "[src] is already cracked.") else emagged = TRUE to_chat(user, "You swipe the card and crack the holobadge security checks.") -/obj/item/clothing/accessory/holobadge/attack(mob/living/carbon/human/M, mob/living/user) +/obj/item/clothing/accessory/holobadge/attack(mob/living/carbon/human/H, mob/living/user) if(isliving(user)) - user.visible_message("[user] invades [M]'s personal space, thrusting [src] into [M.p_their()] face insistently.", - "You invade [M]'s personal space, thrusting [src] into [M.p_their()] face insistently. You are the law.") + user.visible_message("[user] invades [H]'s personal space, thrusting [src] into [H.p_their()] face insistently.", + "You invade [H]'s personal space, thrusting [src] into [H.p_their()] face insistently. You are the law.") ////////////// //OBJECTION!//