From b4d1bd141134c797bf89b47d42a4cf48d19b8901 Mon Sep 17 00:00:00 2001 From: Kenionatus Date: Tue, 22 Oct 2024 11:47:12 +0200 Subject: [PATCH] Fixes Newscaster Treatment of Wallets (#27121) * move GetNameAndAssignmentFromId to cards_ids file * simplyfiy and fix newscaster's get_scanned_user Use human/get_id_card proc instead of custom solution. * rename M to human_user * Update code/modules/newscaster/obj/newscaster.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Signed-off-by: Sean <12197162+S34NW@users.noreply.github.com> --------- Signed-off-by: Sean <12197162+S34NW@users.noreply.github.com> Co-authored-by: Sean <12197162+S34NW@users.noreply.github.com> Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> --- code/defines/procs/announcer_datum.dm | 4 ---- code/game/objects/items/weapons/cards_ids.dm | 4 ++++ code/modules/newscaster/obj/newscaster.dm | 15 +++------------ 3 files changed, 7 insertions(+), 16 deletions(-) diff --git a/code/defines/procs/announcer_datum.dm b/code/defines/procs/announcer_datum.dm index 56df6f949aa..f5c5f3f47dd 100644 --- a/code/defines/procs/announcer_datum.dm +++ b/code/defines/procs/announcer_datum.dm @@ -137,10 +137,6 @@ GLOBAL_DATUM_INIT(major_announcement, /datum/announcer, new(config_type = /datum log_game("[key_name(usr)] has made \a [config.log_name]: [message_title] - [message] - [author]") message_admins("[key_name_admin(usr)] has made \a [config.log_name].", 1) -/proc/GetNameAndAssignmentFromId(obj/item/card/id/I) - // Format currently matches that of newscaster feeds: Registered Name (Assigned Rank) - return I.assignment ? "[I.registered_name] ([I.assignment])" : I.registered_name - /datum/announcement_configuration/event default_title = ANNOUNCE_KIND_EVENT sound = sound('sound/misc/notice2.ogg') diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm index c748ed862a8..741357eb01c 100644 --- a/code/game/objects/items/weapons/cards_ids.dm +++ b/code/game/objects/items/weapons/cards_ids.dm @@ -1191,3 +1191,7 @@ return "Thunderdome Green" else return capitalize(skin) + +/proc/GetNameAndAssignmentFromId(obj/item/card/id/I) + // Format currently matches that of newscaster feeds: Registered Name (Assigned Rank) + return I.assignment ? "[I.registered_name] ([I.assignment])" : I.registered_name diff --git a/code/modules/newscaster/obj/newscaster.dm b/code/modules/newscaster/obj/newscaster.dm index f086ec662bb..872bf29a8c1 100644 --- a/code/modules/newscaster/obj/newscaster.dm +++ b/code/modules/newscaster/obj/newscaster.dm @@ -645,18 +645,9 @@ GLOBAL_LIST_EMPTY(allNewscasters) /obj/machinery/newscaster/proc/get_scanned_user(mob/user) . = list(name = "Unknown", security = user.can_admin_interact()) if(ishuman(user)) - var/mob/living/carbon/human/M = user - // No ID, no luck - if(!M.wear_id) - return - // Try to get the ID - var/obj/item/card/id/ID - if(istype(M.wear_id, /obj/item/pda)) - var/obj/item/pda/P = M.wear_id - ID = P.id - else if(istype(M.wear_id, /obj/item/card/id)) - ID = M.wear_id - if(istype(ID)) + var/mob/living/carbon/human/human_user = user + var/obj/item/card/id/ID = human_user.get_id_card() + if(ID) return list(name = "[ID.registered_name] ([ID.assignment])", security = has_access(list(), list(ACCESS_SECURITY), ID.access)) else if(issilicon(user)) var/mob/living/silicon/ai_user = user