From 1d4f3187ee65e8ea29c4e2fc644a9b3479f04ca0 Mon Sep 17 00:00:00 2001
From: DGamerL <108773801+DGamerL@users.noreply.github.com>
Date: Wed, 26 Jul 2023 05:14:55 +0200
Subject: [PATCH] Fixes agent IDs not working when you are put into a different
body (#21784)
* needs testing
* okay this works
* pinpointer fix
* Steelslayer review
* my bad, sorry
---
code/game/objects/items/weapons/cards_ids.dm | 10 +++++++---
.../traitor/contractor/items/contractor_pinpointer.dm | 4 ++--
2 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm
index 34727e87d2d..f19604af8b4 100644
--- a/code/game/objects/items/weapons/cards_ids.dm
+++ b/code/game/objects/items/weapons/cards_ids.dm
@@ -410,10 +410,10 @@
src.assignment = u
src.name = "[src.registered_name]'s ID Card ([src.assignment])"
to_chat(user, "You successfully forge the ID card.")
- registered_user = user
- else if(!registered_user || registered_user == user)
+ registered_user = user.mind.current
+ else if(!registered_user || registered_user == user.mind.current)
if(!registered_user)
- registered_user = user
+ registered_user = user.mind.current
switch(alert(user,"Would you like to display \the [src] or edit it?","Choose","Show","Edit"))
if("Show")
@@ -652,6 +652,10 @@
else
..()
+/obj/item/card/id/syndicate/Destroy()
+ registered_user = null
+ return ..()
+
/obj/item/card/id/syndicate_command
name = "syndicate ID card"
desc = "An ID straight from the Syndicate."
diff --git a/code/modules/antagonists/traitor/contractor/items/contractor_pinpointer.dm b/code/modules/antagonists/traitor/contractor/items/contractor_pinpointer.dm
index 205d954db90..119e868abe8 100644
--- a/code/modules/antagonists/traitor/contractor/items/contractor_pinpointer.dm
+++ b/code/modules/antagonists/traitor/contractor/items/contractor_pinpointer.dm
@@ -39,10 +39,10 @@
/obj/item/pinpointer/crew/contractor/attack_self(mob/living/user)
if(owner)
- if(owner != user)
+ if(owner != user.mind.current)
to_chat(user, "[src] refuses to do anything.")
return
else
- owner = user
+ owner = user.mind.current
to_chat(user, "[src] now recognizes you as its sole user.")
return ..()