Qol and bugfix variety pack (#21367)

changes:
  - qol: "Added detailed extended examine info on mechanics to pens."
- qol: "Added detailed extended examine info on mechanics to the
psychiatrist/chaplain Mesmetron."
- qol: "Added detailed extended examine info on mechanics to
barricades."
- qol: "Added some extended examine info to (hanging) flags, crayons,
misc."
  - code_imp: "Updated dmdocs in many locations."
- bugfix: "You can no longer force-feed people crayons. However, you can
still offer a bite of crayon for them to accept or refuse, for
tradition's sake."
- bugfix: "Reading the contents of a noticeboard now makes you actually
face the noticeboard."
This commit is contained in:
Batrachophreno
2025-09-28 12:12:48 +00:00
committed by GitHub
parent f2a59a207c
commit 28a4128ab8
16 changed files with 216 additions and 53 deletions
+56 -4
View File
@@ -21,7 +21,7 @@
\[br\] : Creates a linebreak.
\[center\] - \[/center\] : Centers the text.
\[h1\] - \[/h1\] : Makes the text a first level heading.
\[h2\] - \[/h2\] : Makes the text a second level headin.
\[h2\] - \[/h2\] : Makes the text a second level heading.
\[h3\] - \[/h3\] : Makes the text a third level heading.
\[b\] - \[/b\] : Makes the text bold.
\[i\] - \[/i\] : Makes the text italic.
@@ -50,8 +50,14 @@
drop_sound = 'sound/items/drop/accessory.ogg'
pickup_sound = 'sound/items/pickup/accessory.ogg'
var/colour = "black" // Ink colour.
var/cursive = FALSE // Done here so other pen variants can access the cursive variable.
/// Ink colour.
var/colour = "black"
/// Done here so other pen variants can access the cursive variable.
var/cursive = FALSE
/obj/item/pen/mechanics_hints(mob/user, distance, is_adjacent)
. += ..()
. += "Pens can be used on paper to write, or on a wide variety of objects, machinery, etc. to label or rename them."
/obj/item/pen/ispen()
return TRUE
@@ -97,7 +103,7 @@
colour = "green"
/obj/item/pen/invisible
desc = "An instrument for writing or drawing with ink. This one has invisible ink."
desc = "An instrument for writing or drawing with ink. This one has invisible (white) ink."
icon_state = "pen"
colour = "white"
@@ -107,6 +113,10 @@
var/selectedColor = 1
var/colors = list("black", "blue", "red", "green", "yellow")
/obj/item/pen/multi/mechanics_hints(mob/user, distance, is_adjacent)
. += ..()
. += "Use this on yourself to change the current pen color."
/obj/item/pen/multi/attack_self(mob/user)
if(++selectedColor > 3)
selectedColor = 1
@@ -134,6 +144,10 @@
throwforce = 1 //pointy
colour = "#1c1713" //dark ashy brownish
/obj/item/pen/fountain/mechanics_hints(mob/user, distance, is_adjacent)
. += ..()
. += "Use this on yourself to toggle between normal and cursive script."
/obj/item/pen/fountain/attack_self(var/mob/user)
playsound(loc, 'sound/items/penclick.ogg', 50, 1)
to_chat(user, SPAN_NOTICE("You snap the nib into position to write [cursive ? "normally" : "in cursive"]."))
@@ -172,6 +186,10 @@
slot_flags = SLOT_BELT
origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5)
/obj/item/pen/reagent/antagonist_hints(mob/user, distance, is_adjacent)
. += ..()
. += "Use this on someone to inject them with its current reagents. They'll definitely notice."
/obj/item/pen/reagent/Initialize()
. = ..()
create_reagents(30)
@@ -203,48 +221,78 @@
/*
* Parapens
*/
/obj/item/pen/reagent/paralysis
icon_state = "pen_red"
colour = "red"
origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5)
reagents_to_add = list(/singleton/reagent/toxin/dextrotoxin = 10) // ~5 minutes worth of paralysis. Measured from falling over to getting up.
/obj/item/pen/reagent/paralysis/antagonist_hints(mob/user, distance, is_adjacent)
. += ..()
. += "You recall this pen contains approximately five minutes' worth of paralyzing agents."
/obj/item/pen/reagent/purge
icon_state = "pen_green"
colour = "green"
origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5)
reagents_to_add = list(/singleton/reagent/fluvectionem = 5)
/obj/item/pen/reagent/purge/antagonist_hints(mob/user, distance, is_adjacent)
. += ..()
. += "You recall this pen contains a paralysis counteragent for removing the effect early if desired."
/obj/item/pen/reagent/healing
icon_state = "pen_green"
colour = "green"
origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5)
reagents_to_add = list(/singleton/reagent/tricordrazine = 10, /singleton/reagent/dermaline = 5, /singleton/reagent/bicaridine = 5)
/obj/item/pen/reagent/healing/antagonist_hints(mob/user, distance, is_adjacent)
. += ..()
. += "You recall this pen contains a number of healing chemicals."
/obj/item/pen/reagent/pacifier
icon_state = "pen_blue"
colour = "blue"
origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5)
reagents_to_add = list(/singleton/reagent/wulumunusha = 2, /singleton/reagent/pacifier = 15, /singleton/reagent/drugs/cryptobiolin = 10)
/obj/item/pen/reagent/pacifier/antagonist_hints(mob/user, distance, is_adjacent)
. += ..()
. += "You recall this pen contains a mixture of chemicals to pacify its victim."
/obj/item/pen/reagent/hyperzine
icon_state = "pen_yellow"
colour = "yellow"
origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5)
reagents_to_add = list(/singleton/reagent/hyperzine = 10)
/obj/item/pen/reagent/hyperzine/antagonist_hints(mob/user, distance, is_adjacent)
. += ..()
. += "You recall this pen contains hyperzine."
/obj/item/pen/reagent/poison
icon_state = "pen_red"
colour = "red"
origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5)
reagents_to_add = list(/singleton/reagent/toxin/cyanide = 1, /singleton/reagent/lexorin = 20)
/obj/item/pen/reagent/poison/antagonist_hints(mob/user, distance, is_adjacent)
. += ..()
. += "You recall this pen contains deadly poison."
/*
* Chameleon pen
*/
/obj/item/pen/chameleon
var/signature = ""
/obj/item/pen/chameleon/antagonist_hints(mob/user, distance, is_adjacent)
. += ..()
. += "Use the Change Pen Colour verb to set the colour you want to use. Note that this pen can write in invisible (white) ink!"
. += "Use this on yourself to set the current signature you want to use. Perfect for forging names on otherwise foolproof signature fields."
/obj/item/pen/chameleon/attack_self(mob/user)
signature = sanitize(input("Enter new signature. Leave blank for 'Anonymous'", "New Signature", signature))
@@ -327,6 +375,10 @@
cursive = FALSE
w_class = WEIGHT_CLASS_TINY
/obj/item/pen/augment/mechanics_hints(mob/user, distance, is_adjacent)
. += ..()
. += "Use this on yourself to change the current pen color, or to toggle between normal and cursive script."
/obj/item/pen/augment/attack_self(mob/user)
var/choice = input(user, "Would you like to change colour or writing style?", "Pen Selector") as null|anything in list("Colour", "Style")
if(!choice)