diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm index 0b4a0a45c51..3fd876a43f4 100644 --- a/code/game/objects/items/weapons/cards_ids.dm +++ b/code/game/objects/items/weapons/cards_ids.dm @@ -141,24 +141,24 @@ update_label("John Doe", "Clowny") if(user.mind.special_role) usr << "The card's microscanners activate as you pass it over the ID, copying its access." +/obj/item/weapon/card/id/syndicate/CtrlClick(mob/user) + if(loc == user) + if(istype(user, /mob/living) && user.mind) + if(user.mind.special_role) + var t = copytext(sanitize(input(user, "What name would you like to put on this card?", "Agent card name", registered_name ? registered_name : (ishuman(user) ? user.real_name : user.name))as text | null),1,26) + if(!t || t == "Unknown" || t == "floor" || t == "wall" || t == "r-wall") //Same as mob/new_player/prefrences.dm + if (t) + alert("Invalid name.") + return + registered_name = t -/obj/item/weapon/card/id/syndicate/attack_self(mob/user) - if(!src.registered_name) - //Stop giving the players unsanitized unputs! You are giving ways for players to intentionally crash clients! -Nodrak - var t = copytext(sanitize(input(user, "What name would you like to put on this card?", "Agent card name", ishuman(user) ? user.real_name : user.name)as text | null),1,26) - if(!t || t == "Unknown" || t == "floor" || t == "wall" || t == "r-wall") //Same as mob/new_player/prefrences.dm - if (t) - alert("Invalid name.") - return - src.registered_name = t - - var u = copytext(sanitize(input(user, "What occupation would you like to put on this card?\nNote: This will not grant any access levels other than Maintenance.", "Agent card job assignment", "Assistant")as text | null),1,MAX_MESSAGE_LEN) - if(!u) - src.registered_name = "" - return - src.assignment = u - update_label() - user << "You successfully forge the ID card." + var u = copytext(sanitize(input(user, "What occupation would you like to put on this card?\nNote: This will not grant any access levels other than Maintenance.", "Agent card job assignment", "Assistant")as text | null),1,MAX_MESSAGE_LEN) + if(!u) + registered_name = "" + return + assignment = u + update_label() + user << "You successfully forge the ID card." else ..() diff --git a/html/changelogs/xxalpha-rw_agent.yml b/html/changelogs/xxalpha-rw_agent.yml new file mode 100644 index 00000000000..558b3868ae0 --- /dev/null +++ b/html/changelogs/xxalpha-rw_agent.yml @@ -0,0 +1,6 @@ +author: xxalpha + +delete-after: True + +changes: + - tweak: "Agent IDs are now rewrittable. Use Ctrl+Click to forge!"