From 5656f3409ad1a9c56d5776b1ece310d099ecc91e Mon Sep 17 00:00:00 2001 From: Drsmail <60036448+Drsmail@users.noreply.github.com> Date: Wed, 27 Nov 2024 08:16:52 +0300 Subject: [PATCH] [FEATURE] New chameleon pen for forging [signs] (#27128) * Added a new item - Chameleon pen for Forging signatures and also made a new kit with it and chameleon stamp * Fixed shorted nemes and replaced spaces with tabs (I hope) * Last space fixed * Apply suggestions from code review Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Signed-off-by: Drsmail <60036448+Drsmail@users.noreply.github.com> * Chameleon pen now have same discription as a regular pen, also retested evrething again. * Apply suggestions from code review and the one i missed by mistake Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Signed-off-by: Drsmail <60036448+Drsmail@users.noreply.github.com> * Update code/datums/uplink_items/uplink_general.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Signed-off-by: Drsmail <60036448+Drsmail@users.noreply.github.com> * Update code/datums/uplink_items/uplink_general.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Signed-off-by: Drsmail <60036448+Drsmail@users.noreply.github.com> * changed the cost. Added proper logs. Adjacency checks * removed duplicated code * Applied suggested changes from code review --------- Signed-off-by: Drsmail <60036448+Drsmail@users.noreply.github.com> Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> --- code/__HELPERS/text.dm | 8 +++++++- code/datums/uplink_items/uplink_general.dm | 15 ++++++++------- .../objects/items/weapons/storage/uplink_kits.dm | 7 +++++++ code/modules/paperwork/paper.dm | 5 +++-- code/modules/paperwork/pen.dm | 14 ++++++++++++++ 5 files changed, 39 insertions(+), 10 deletions(-) diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm index 1f69a92d3f8..2c8e2e1fd1b 100644 --- a/code/__HELPERS/text.dm +++ b/code/__HELPERS/text.dm @@ -463,7 +463,13 @@ text = replacetext(text, "\[signfont\]", "") text = replacetext(text, "\[/signfont\]", "") if(sign) - text = replacetext(text, "\[sign\]", "[user ? user.real_name : "Anonymous"]") + if(istype(P, /obj/item/pen/chameleon)) // if we are using chameleon pen use fake name from the pen + var/obj/item/pen/chameleon/chameleon_pen = P + add_attack_logs(user, "paper", "Has signed paper as [chameleon_pen.forge_name]") + // small tip for a player if the left forge_name empty + text = replacetext(text, "\[sign\]", "[chameleon_pen.forge_name ? chameleon_pen.forge_name : "No name was provided"]") + else + text = replacetext(text, "\[sign\]", "[user ? user.real_name : "Anonymous"]") if(fields) text = replacetext(text, "\[field\]", "") if(format) diff --git a/code/datums/uplink_items/uplink_general.dm b/code/datums/uplink_items/uplink_general.dm index 18a1484f669..956fa75b400 100644 --- a/code/datums/uplink_items/uplink_general.dm +++ b/code/datums/uplink_items/uplink_general.dm @@ -494,13 +494,14 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) /datum/uplink_item/stealthy_tools category = "Stealth and Camouflage Items" -/datum/uplink_item/stealthy_tools/chameleon_stamp - name = "Chameleon Stamp" - desc = "A stamp that can be activated to imitate an official Nanotrasen Stamp. The disguised stamp will work exactly like the real stamp and will allow you to forge false documents to gain access or equipment; \ - it can also be used in a washing machine to forge clothing." - reference = "CHST" - item = /obj/item/stamp/chameleon - cost = 1 +/datum/uplink_item/stealthy_tools/forgers_kit + name = "Forger's Kit" + desc = "A set consisting of a stamp and a special pen. The stamp can be activated to imitate an official Nanotrasen Stamp, \ + allowing you to forge false documents for access or equipment, and can also be used in a washing machine to create counterfeit clothing. \ + The included pen lets you create fake signatures, further enhancing your forgery capabilities." + reference = "FGK" + item = /obj/item/storage/box/syndie_kit/forgers_kit + cost = 10 surplus = 35 /datum/uplink_item/stealthy_tools/chameleonflag diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index c20b7ffcd2a..9ef1d21384e 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -570,3 +570,10 @@ /obj/item/storage/box/syndie_kit/decoy/populate_contents() for(var/i in 1 to 5) new /obj/item/grenade/firecracker/decoy(src) + +/obj/item/storage/box/syndie_kit/forgers_kit + name = "\improper Forger's kit" + +/obj/item/storage/box/syndie_kit/forgers_kit/populate_contents() + new /obj/item/stamp/chameleon(src) + new /obj/item/pen/chameleon(src) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index d617653ab1c..0f1f530f16e 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -39,6 +39,7 @@ var/contact_poison // Reagent ID to transfer on contact var/contact_poison_volume = 0 var/contact_poison_poisoner = null + /// Width of the window that opens var/paper_width = 600 /// Height of the window that opens @@ -702,7 +703,7 @@ name = "mission briefing" info = {"