Reworks the poison pen (#20353)

* paperwork so boring it kills you

* it's worth a bit more now

* Backup in case you poison yourself

* Virologist gets it, accurate description

* I promise im literate

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* No more charcoal, time for gloves

* Turns comments into auto-doc

---------

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
This commit is contained in:
BiancaWilkson
2023-02-25 00:08:40 -06:00
committed by GitHub
co-authored by Henri215
parent e68cb3656f
commit ceed4e89f9
6 changed files with 49 additions and 22 deletions
+4 -4
View File
@@ -431,12 +431,12 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
/datum/uplink_item/jobspecific/poison_pen
name = "Poison Pen"
desc = "Cutting edge of deadly writing implements technology, this gadget will infuse any piece of paper with delayed contact poison."
desc = "Cutting edge of deadly writing implements technology, this gadget will infuse any piece of paper with various delayed poisons based on the selected color. Black ink is normal ink, red ink is a highly lethal poison, green ink causes radiation, blue ink will periodically shock the victim, and yellow ink will paralyze. The included gloves will protect you from your own poisons."
reference = "PP"
item = /obj/item/pen/poison
cost = 1
item = /obj/item/storage/box/syndie_kit/poisoner
cost = 2
excludefrom = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST)
job = list("Head of Personnel", "Quartermaster", "Cargo Technician", "Librarian")
job = list("Head of Personnel", "Quartermaster", "Cargo Technician", "Librarian", "Coroner", "Psychiatrist", "Virologist")
// DANGEROUS WEAPONS
@@ -182,6 +182,13 @@
new /obj/item/grenade/empgrenade(src)
new /obj/item/implanter/emp/(src)
/obj/item/storage/box/syndie_kit/poisoner
name = "poisoner's kit"
/obj/item/storage/box/syndie_kit/poisoner/populate_contents()
new /obj/item/pen/multi/poison(src)
new /obj/item/clothing/gloves/color/black/poisoner(src)
/obj/item/storage/box/syndie_kit/c4
name = "pack of C-4 explosives"
+6 -2
View File
@@ -257,7 +257,8 @@
//Gloves
/obj/item/clothing/gloves
name = "gloves"
gender = PLURAL //Carn: for grammarically correct text-parsing
///Carn: for grammarically correct text-parsing
gender = PLURAL
w_class = WEIGHT_CLASS_SMALL
icon = 'icons/obj/clothing/gloves.dmi'
siemens_coefficient = 0.50
@@ -265,8 +266,11 @@
slot_flags = SLOT_GLOVES
attack_verb = list("challenged")
var/transfer_prints = FALSE
var/pickpocket = 0 //Master pickpocket?
///Master pickpocket?
var/pickpocket = 0
var/clipped = 0
///Do they protect the wearer from poison ink?
var/safe_from_poison = FALSE
strip_delay = 20
put_on_delay = 40
+4
View File
@@ -124,6 +124,10 @@
return
..()
/obj/item/clothing/gloves/color/black/poisoner
desc = "These gloves are fire-resistant. They seem thicker than usual."
safe_from_poison = TRUE
/obj/item/clothing/gloves/color/orange
name = "orange gloves"
desc = "A pair of gloves, they don't look special in any way."
+2 -2
View File
@@ -785,10 +785,10 @@
if(contact_poison && ishuman(user))
var/mob/living/carbon/human/H = user
var/obj/item/clothing/gloves/G = H.gloves
if(!istype(G) || G.transfer_prints)
if(!istype(G) || !G.safe_from_poison)
H.reagents.add_reagent(contact_poison, contact_poison_volume)
add_attack_logs(src, user, "Picked up [src], coated with [contact_poison] by [contact_poison_poisoner]")
contact_poison = null
add_attack_logs(src, user, "Picked up [src], the paper poisoned by [contact_poison_poisoner]")
. = ..()
/obj/item/paper/researchnotes
+26 -14
View File
@@ -211,18 +211,30 @@
/obj/item/proc/on_write(obj/item/paper/P, mob/user)
return
/obj/item/pen/poison
var/uses_left = 3
/obj/item/pen/multi/poison
var/current_poison = null
/obj/item/pen/poison/on_write(obj/item/paper/P, mob/user)
if(P.contact_poison_volume)
to_chat(user, "<span class='warning'>[P] is already coated.</span>")
else if(uses_left)
uses_left--
P.contact_poison = "amanitin"
P.contact_poison_volume = 15
P.contact_poison_poisoner = user.name
add_attack_logs(user, P, "Poison pen'ed")
to_chat(user, "<span class='warning'>You apply the poison to [P].</span>")
else
to_chat(user, "<span class='warning'>[src] clicks. It seems to be depleted.</span>")
/obj/item/pen/multi/poison/attack_self(mob/living/user)
. = ..()
switch(colour)
if("black")
current_poison = null
if("red")
current_poison = "amanitin"
if("green")
current_poison = "polonium"
if("blue")
current_poison = "teslium"
if("yellow")
current_poison = "pancuronium"
/obj/item/pen/multi/poison/on_write(obj/item/paper/P, mob/user)
if(current_poison)
if(P.contact_poison)
to_chat(user, "<span class='warning'>[P] is already coated.</span>")
else
P.contact_poison = current_poison
P.contact_poison_volume = 20
P.contact_poison_poisoner = user.name
add_attack_logs(user, P, "Poison pen'ed")
to_chat(user, "<span class='warning'>You apply the poison to [P].</span>")