diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm
index 4152a1dd2e9..0f447c8e3d9 100644
--- a/code/datums/supplypacks.dm
+++ b/code/datums/supplypacks.dm
@@ -35,8 +35,9 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee
/obj/item/grenade/smokebomb,
/obj/item/grenade/smokebomb,
/obj/item/grenade/smokebomb,
- /obj/item/pen/reagent/paralysis,
+ /obj/item/storage/box/syndie_kit/special_pens,
/obj/item/grenade/chem_grenade/incendiary)
+
cost = 20
containertype = /obj/structure/closet/crate
containername = "crate"
diff --git a/code/datums/uplink/stealthy and inconspicuous weapons.dm b/code/datums/uplink/stealthy and inconspicuous weapons.dm
index a785a4b2405..e6b8eb14f52 100644
--- a/code/datums/uplink/stealthy and inconspicuous weapons.dm
+++ b/code/datums/uplink/stealthy and inconspicuous weapons.dm
@@ -24,8 +24,14 @@
item_cost = 4
path = /obj/item/cartridge/syndicate
+/datum/uplink_item/item/stealthy_weapons/pens
+ name = "Pen-jector Kit"
+ desc = "A kit that contains four differently coloured pens. A red poison pen, a blue pacifying pen, a green pen containing healing chemicals, and a yellow hyperzine pen."
+ item_cost = 6
+ path = /obj/item/storage/box/syndie_kit/special_pens
+
/datum/uplink_item/item/stealthy_weapons/parapen
- name = "Paralysis Pen"
+ name = "Paralysis pen"
item_cost = 6
path = /obj/item/pen/reagent/paralysis
@@ -37,4 +43,4 @@
/datum/uplink_item/item/stealthy_weapons/sleepy_ring
name = "Sleepy Ring"
item_cost = 7
- path = /obj/item/clothing/ring/reagent/sleepy
\ No newline at end of file
+ path = /obj/item/clothing/ring/reagent/sleepy
diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm
index 41a466f479d..1c1e5dace5e 100644
--- a/code/game/objects/items/weapons/storage/uplink_kits.dm
+++ b/code/game/objects/items/weapons/storage/uplink_kits.dm
@@ -11,7 +11,10 @@
if("stealth")
new /obj/item/gun/energy/crossbow(src)
- new /obj/item/pen/reagent/paralysis(src)
+ new /obj/item/pen/reagent/healing(src)
+ new /obj/item/pen/reagent/pacifier(src)
+ new /obj/item/pen/reagent/hyperzine(src)
+ new /obj/item/pen/reagent/poison(src)
new /obj/item/device/chameleon(src)
return
@@ -136,6 +139,16 @@
/obj/item/hand_labeler = 1
)
+/obj/item/storage/box/syndie_kit/special_pens
+ name = "box (P)"
+ starts_with = list(
+ /obj/item/pen/reagent/healing = 1,
+ /obj/item/pen/reagent/pacifier = 1,
+ /obj/item/pen/reagent/hyperzine = 1,
+ /obj/item/pen/reagent/poison = 1
+
+ )
+
/obj/item/storage/box/syndie_kit/spy
name = "spy kit"
desc = "For when you want to conduct voyeurism from afar."
diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm
index 46705b242c9..de391574ac7 100644
--- a/code/modules/paperwork/pen.dm
+++ b/code/modules/paperwork/pen.dm
@@ -1,267 +1,299 @@
-/* Pens!
- * Contains:
- * Pens
- * PDA Pens
- * Sleepy Pens
- * Coloured Pens
- * Parapens
- * Fountain Pens
- */
-
-
-/*
- * Pens
- */
-/obj/item/pen
- desc = "An instrument for writing or drawing with ink. This one is in black, in a classic, grey casing. Stylish, classic and professional."
- name = "pen"
- icon = 'icons/obj/bureaucracy.dmi'
- icon_state = "pen"
- item_state = "pen"
- slot_flags = SLOT_BELT | SLOT_EARS
- throwforce = 0
- w_class = 1.0
- throw_speed = 7
- throw_range = 15
- matter = list(DEFAULT_WALL_MATERIAL = 10)
- var/colour = "black" //what colour the ink is!
- drop_sound = 'sound/items/drop/accessory.ogg'
-
-/obj/item/pen/ispen()
- return TRUE
-
-/*
- * PDA Pens
- */
-
-/obj/item/pen/black
- desc = "An instrument for writing or drawing with ink. This one is in black, in a sleek, black casing. Stylish, classic and professional."
- icon_state = "pen_black"
-
-/obj/item/pen/silver
- desc = "An instrument for writing or drawing with ink. This one is in black, in a shiny, silver casing. Stylish, classic and professional."
- icon_state = "pen_silver"
-
-/obj/item/pen/white
- desc = "An instrument for writing or drawing with ink. This one is in black, in a sterile, white casing. Stylish, classic and professional."
- icon_state = "pen_white"
-
-/*
- * Coloured Pens
- */
-
-/obj/item/pen/blue
- desc = "An instrument for writing or drawing with ink. This one is in blue. Ironically used mostly by white-collar workers."
- icon_state = "pen_blue"
- colour = "blue"
-
-/obj/item/pen/red
- desc = "An instrument for writing or drawing with ink. This one is in red. Favored by teachers and creeps who like to pretend to write in blood."
- icon_state = "pen_red"
- colour = "red"
-
-/obj/item/pen/invisible
- desc = "An instrument for writing or drawing with ink. This one has invisible ink."
- icon_state = "pen"
- colour = "white"
-
-/obj/item/pen/multi
- desc = "An instrument for writing or drawing with ink. This one comes with with multiple colors! Push down all three simultaneously to rule the universe."
- icon_state = "pen_multi"
- var/selectedColor = 1
- var/colors = list("black","blue","red")
-
-/obj/item/pen/multi/attack_self(mob/user)
- if(++selectedColor > 3)
- selectedColor = 1
-
- colour = colors[selectedColor]
-
- if(colour == "black")
- icon_state = "pen"
- else
- icon_state = "pen_[colour]"
-
- to_chat(user, "Changed color to '[colour].'")
-
-/obj/item/pen/attack(mob/M as mob, mob/user as mob, var/target_zone)
- if(!ismob(M))
- return
- to_chat(user, "You stab [M] with \the [src].")
-// to_chat(M, "\red You feel a tiny prick!" //That's a whole lot of meta!)
- M.attack_log += text("\[[time_stamp()]\] Has been stabbed with [name] by [user.name] ([user.ckey])")
- user.attack_log += text("\[[time_stamp()]\] Used the [name] to stab [M.name] ([M.ckey])")
- msg_admin_attack("[user.name] ([user.ckey]) Used the [name] to stab [M.name] ([M.ckey]) (JMP)",ckey=key_name(user),ckey_target=key_name(M))
- return
-
-/obj/item/pen/attack_self(var/mob/user)
- playsound(loc, 'sound/items/penclick.ogg', 50, 1)
-
-/*
- * Fountain Pens
- */
-
-/obj/item/pen/fountain
- name = "fountain pen"
- desc = "A traditional fountain pen. Guaranteed never to leak."
- icon_state = "pen_fountain"
- throwforce = 1 //pointy
- colour = "#1c1713" //dark ashy brownish
- var/cursive = TRUE
-
-/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"]."))
- cursive = !cursive
-
-/*
- * PDA Fountain Pens
- */
-/obj/item/pen/fountain/black
- desc = "It's an expensive Sleek Black fountain pen. Guaranteed never to leak."
- icon_state = "pen_fountain-b"
-
-/obj/item/pen/fountain/silver
- desc = "It's an expensive Shiny Silver fountain pen. Guaranteed never to leak."
- icon_state = "pen_fountain-s"
-
-/obj/item/pen/fountain/white
- desc = "It's an expensive Sterile White fountain pen. Guaranteed never to leak."
- icon_state = "pen_fountain-w"
-
-/obj/item/pen/fountain/head
- name = "command fountain pen"
- desc = "It's an expensive Command Navy Blue fountain pen, embellished with silver. Guaranteed never to leak."
- icon_state = "pen_fountain-nb"
-
-/obj/item/pen/fountain/captain
- name = "captain's fountain pen"
- desc = "It's an expensive Command Navy Blue fountain pen, embellished with ornate gold detailing. Guaranteed never to leak."
- icon_state = "pen_fountain-nbc"
-
-/*
- * Reagent pens
- */
-
-/obj/item/pen/reagent
- flags = OPENCONTAINER
- slot_flags = SLOT_BELT
- origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5)
-
-/obj/item/pen/reagent/New()
- ..()
- create_reagents(30)
-
-/obj/item/pen/reagent/attack(mob/living/M as mob, mob/user as mob)
-
- if(!istype(M))
- return
-
- . = ..()
-
- if(M.can_inject(user,1))
- if(reagents.total_volume)
- if(M.reagents)
- var/contained_reagents = reagents.get_reagents()
- var/trans = reagents.trans_to_mob(M, 30, CHEM_BLOOD)
- admin_inject_log(user, M, src, contained_reagents, reagents.get_temperature(), trans)
-
-/*
- * Sleepy Pens
- */
-/obj/item/pen/reagent/sleepy
- desc = "It's a black ink pen with a sharp point and a carefully engraved \"Waffle Co.\""
- origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5)
-
-/obj/item/pen/reagent/sleepy/New()
- ..()
- reagents.add_reagent("chloralhydrate", 22) //Used to be 100 sleep toxin//30 Chloral seems to be fatal, reducing it to 22./N
-
-
-/*
- * Parapens
- */
-/obj/item/pen/reagent/paralysis
- origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5)
-
-/obj/item/pen/reagent/paralysis/New()
- ..()
- reagents.add_reagent("dextrotoxin", 10)
-/*
- * Chameleon pen
- */
-/obj/item/pen/chameleon
- var/signature = ""
-
-/obj/item/pen/chameleon/attack_self(mob/user as mob)
- signature = sanitize(input("Enter new signature. Leave blank for 'Anonymous'", "New Signature", signature))
-
-/obj/item/pen/proc/get_signature(var/mob/user)
- if (user)
- if (user.mind && user.mind.signature)
- return user.mind.signature
- else if (user.real_name)
- return "[user.real_name]"
-
- return "Anonymous"
-
-/obj/item/pen/chameleon/get_signature(var/mob/user)
- return signature ? "[signature]" : "Anonymous"
-
-/obj/item/pen/chameleon/verb/set_colour()
- set name = "Change Pen Colour"
- set category = "Object"
-
- var/list/possible_colours = list ("Yellow", "Green", "Pink", "Blue", "Orange", "Cyan", "Red", "Invisible", "Black")
- var/selected_type = input("Pick new colour.", "Pen Colour", null, null) as null|anything in possible_colours
-
- if(selected_type)
- switch(selected_type)
- if("Yellow")
- colour = COLOR_YELLOW
- if("Green")
- colour = COLOR_LIME
- if("Pink")
- colour = COLOR_PINK
- if("Blue")
- colour = COLOR_BLUE
- if("Orange")
- colour = COLOR_ORANGE
- if("Cyan")
- colour = COLOR_CYAN
- if("Red")
- colour = COLOR_RED
- if("Invisible")
- colour = COLOR_WHITE
- else
- colour = COLOR_BLACK
- to_chat(usr, "You select the [lowertext(selected_type)] ink container.")
-
-
-/*
- * Crayons
- */
-
-/obj/item/pen/crayon
- name = "crayon"
- desc = "A colourful crayon. Please refrain from eating it or putting it in your nose."
- icon = 'icons/obj/crayons.dmi'
- icon_state = "crayonred"
- drop_sound = 'sound/items/drop/gloves.ogg'
- w_class = 1.0
- attack_verb = list("attacked", "coloured")
- colour = "#FF0000" //RGB
- var/shadeColour = "#220000" //RGB
- var/instant = 0
- var/colourName = "red" //for updateIcon purposes
- var/chem_volume = 10 //crayon dust
- var/dust = "crayon_dust"
-
-/obj/item/pen/crayon/New()
- name = "[colourName] crayon"
- ..()
-
-/obj/item/pen/crayon/Initialize()
- . = ..()
- create_reagents(chem_volume)
- reagents.add_reagent(dust,chem_volume)
\ No newline at end of file
+/* Pens!
+ * Contains:
+ * Pens
+ * PDA Pens
+ * Sleepy Pens
+ * Coloured Pens
+ * Parapens
+ * Fountain Pens
+ */
+
+
+/*
+ * Pens
+ */
+/obj/item/pen
+ desc = "An instrument for writing or drawing with ink. This one is in black, in a classic, grey casing. Stylish, classic and professional."
+ name = "pen"
+ icon = 'icons/obj/bureaucracy.dmi'
+ icon_state = "pen"
+ item_state = "pen"
+ slot_flags = SLOT_BELT | SLOT_EARS
+ throwforce = 0
+ w_class = 1.0
+ throw_speed = 7
+ throw_range = 15
+ matter = list(DEFAULT_WALL_MATERIAL = 10)
+ var/colour = "black" //what colour the ink is!
+ drop_sound = 'sound/items/drop/accessory.ogg'
+
+/obj/item/pen/ispen()
+ return TRUE
+
+/*
+ * PDA Pens
+ */
+
+/obj/item/pen/black
+ desc = "An instrument for writing or drawing with ink. This one is in black, in a sleek, black casing. Stylish, classic and professional."
+ icon_state = "pen_black"
+
+/obj/item/pen/silver
+ desc = "An instrument for writing or drawing with ink. This one is in black, in a shiny, silver casing. Stylish, classic and professional."
+ icon_state = "pen_silver"
+
+/obj/item/pen/white
+ desc = "An instrument for writing or drawing with ink. This one is in black, in a sterile, white casing. Stylish, classic and professional."
+ icon_state = "pen_white"
+
+/*
+ * Coloured Pens
+ */
+
+/obj/item/pen/blue
+ desc = "An instrument for writing or drawing with ink. This one is in blue. Ironically used mostly by white-collar workers."
+ icon_state = "pen_blue"
+ colour = "blue"
+
+/obj/item/pen/red
+ desc = "An instrument for writing or drawing with ink. This one is in red. Favored by teachers and creeps who like to pretend to write in blood."
+ icon_state = "pen_red"
+ colour = "red"
+
+/obj/item/pen/yellow
+ desc = "An instrument for writing or drawing with ink. Favored by artists who like to draw using bright colors."
+ icon_state = "pen_yellow"
+ colour = "yellow"
+
+/obj/item/pen/green
+ desc = "An instrument for writing or drawing with ink. This one is in green. Favored by students who like to have their notes extra organized with colors."
+ icon_state = "pen_green"
+ colour = "green"
+
+/obj/item/pen/invisible
+ desc = "An instrument for writing or drawing with ink. This one has invisible ink."
+ icon_state = "pen"
+ colour = "white"
+
+/obj/item/pen/multi
+ desc = "An instrument for writing or drawing with ink. This one comes with with multiple colors! Push down all three simultaneously to rule the universe."
+ icon_state = "pen_multi"
+ var/selectedColor = 1
+ var/colors = list("black", "blue", "red", "green", "yellow")
+
+/obj/item/pen/multi/attack_self(mob/user)
+ if(++selectedColor > 3)
+ selectedColor = 1
+
+ colour = colors[selectedColor]
+
+ if(colour == "black")
+ icon_state = "pen"
+ else
+ icon_state = "pen_[colour]"
+
+ to_chat(user, "Changed color to '[colour].'")
+
+/obj/item/pen/attack(mob/M as mob, mob/user as mob, var/target_zone)
+ if(!ismob(M))
+ return
+ to_chat(user, "You stab [M] with \the [src].")
+// to_chat(M, "\red You feel a tiny prick!" //That's a whole lot of meta!)
+ M.attack_log += text("\[[time_stamp()]\] Has been stabbed with [name] by [user.name] ([user.ckey])")
+ user.attack_log += text("\[[time_stamp()]\] Used the [name] to stab [M.name] ([M.ckey])")
+ msg_admin_attack("[user.name] ([user.ckey]) Used the [name] to stab [M.name] ([M.ckey]) (JMP)",ckey=key_name(user),ckey_target=key_name(M))
+ return
+
+/obj/item/pen/attack_self(var/mob/user)
+ playsound(loc, 'sound/items/penclick.ogg', 50, 1)
+
+/*
+ * Fountain Pens
+ */
+
+/obj/item/pen/fountain
+ name = "fountain pen"
+ desc = "A traditional fountain pen. Guaranteed never to leak."
+ icon_state = "pen_fountain"
+ throwforce = 1 //pointy
+ colour = "#1c1713" //dark ashy brownish
+ var/cursive = TRUE
+
+/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"]."))
+ cursive = !cursive
+
+/*
+ * PDA Fountain Pens
+ */
+/obj/item/pen/fountain/black
+ desc = "It's an expensive Sleek Black fountain pen. Guaranteed never to leak."
+ icon_state = "pen_fountain-b"
+
+/obj/item/pen/fountain/silver
+ desc = "It's an expensive Shiny Silver fountain pen. Guaranteed never to leak."
+ icon_state = "pen_fountain-s"
+
+/obj/item/pen/fountain/white
+ desc = "It's an expensive Sterile White fountain pen. Guaranteed never to leak."
+ icon_state = "pen_fountain-w"
+
+/obj/item/pen/fountain/head
+ name = "command fountain pen"
+ desc = "It's an expensive Command Navy Blue fountain pen, embellished with silver. Guaranteed never to leak."
+ icon_state = "pen_fountain-nb"
+
+/obj/item/pen/fountain/captain
+ name = "captain's fountain pen"
+ desc = "It's an expensive Command Navy Blue fountain pen, embellished with ornate gold detailing. Guaranteed never to leak."
+ icon_state = "pen_fountain-nbc"
+
+/*
+ * Reagent pens
+ */
+
+/obj/item/pen/reagent
+ flags = OPENCONTAINER
+ slot_flags = SLOT_BELT
+ origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5)
+ var/list/pen_reagents = list()
+
+/obj/item/pen/reagent/New()
+ ..()
+ create_reagents(30)
+ for (var/i in pen_reagents)
+ reagents.add_reagent(i, pen_reagents[i])
+
+/obj/item/pen/reagent/attack(mob/living/M as mob, mob/user as mob)
+
+ if(!istype(M))
+ return
+
+ . = ..()
+
+ if(M.can_inject(user,1))
+ if(reagents.total_volume)
+ if(M.reagents)
+ var/contained_reagents = reagents.get_reagents()
+ var/trans = reagents.trans_to_mob(M, 30, CHEM_BLOOD)
+ admin_inject_log(user, M, src, contained_reagents, reagents.get_temperature(), trans)
+
+/*
+ * Sleepy Pens
+ */
+/obj/item/pen/reagent/sleepy
+ desc = "It's a black ink pen with a sharp point and a carefully engraved \"Waffle Co.\""
+ origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5)
+ pen_reagents = list("chloralhydrate" = 22)
+
+
+/*
+ * Parapens
+ */
+/obj/item/pen/reagent/paralysis
+ origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5)
+ pen_reagents = list("dextrotoxin" = 10)
+
+/obj/item/pen/reagent/healing
+ origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5)
+ pen_reagents = list("tricordrazine" = 10, "dermaline" = 5, "bicaridine" = 5)
+ icon_state = "pen_green"
+ colour = "green"
+
+/obj/item/pen/reagent/pacifier
+ origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5)
+ pen_reagents = list("wulumunusha" = 2, "paxazide" = 15, "cryptobiolin" = 10)
+ icon_state = "pen_blue"
+ colour = "blue"
+
+/obj/item/pen/reagent/hyperzine
+ origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5)
+ pen_reagents = list("hyperzine" = 10)
+ icon_state = "pen_yellow"
+ colour = "yellow"
+
+/obj/item/pen/reagent/poison
+ origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5)
+ pen_reagents = list("cyanide" = 1, "lexorin" = 20)
+ icon_state = "pen_red"
+ colour = "red"
+
+/*
+ * Chameleon pen
+ */
+/obj/item/pen/chameleon
+ var/signature = ""
+
+/obj/item/pen/chameleon/attack_self(mob/user as mob)
+ signature = sanitize(input("Enter new signature. Leave blank for 'Anonymous'", "New Signature", signature))
+
+/obj/item/pen/proc/get_signature(var/mob/user)
+ if (user)
+ if (user.mind && user.mind.signature)
+ return user.mind.signature
+ else if (user.real_name)
+ return "[user.real_name]"
+
+ return "Anonymous"
+
+/obj/item/pen/chameleon/get_signature(var/mob/user)
+ return signature ? "[signature]" : "Anonymous"
+
+/obj/item/pen/chameleon/verb/set_colour()
+ set name = "Change Pen Colour"
+ set category = "Object"
+
+ var/list/possible_colours = list ("Yellow", "Green", "Pink", "Blue", "Orange", "Cyan", "Red", "Invisible", "Black")
+ var/selected_type = input("Pick new colour.", "Pen Colour", null, null) as null|anything in possible_colours
+
+ if(selected_type)
+ switch(selected_type)
+ if("Yellow")
+ colour = COLOR_YELLOW
+ if("Green")
+ colour = COLOR_LIME
+ if("Pink")
+ colour = COLOR_PINK
+ if("Blue")
+ colour = COLOR_BLUE
+ if("Orange")
+ colour = COLOR_ORANGE
+ if("Cyan")
+ colour = COLOR_CYAN
+ if("Red")
+ colour = COLOR_RED
+ if("Invisible")
+ colour = COLOR_WHITE
+ else
+ colour = COLOR_BLACK
+ to_chat(usr, "You select the [lowertext(selected_type)] ink container.")
+
+
+/*
+ * Crayons
+ */
+
+/obj/item/pen/crayon
+ name = "crayon"
+ desc = "A colourful crayon. Please refrain from eating it or putting it in your nose."
+ icon = 'icons/obj/crayons.dmi'
+ icon_state = "crayonred"
+ drop_sound = 'sound/items/drop/gloves.ogg'
+ w_class = 1.0
+ attack_verb = list("attacked", "coloured")
+ colour = "#FF0000" //RGB
+ var/shadeColour = "#220000" //RGB
+ var/instant = 0
+ var/colourName = "red" //for updateIcon purposes
+ var/chem_volume = 10 //crayon dust
+ var/dust = "crayon_dust"
+
+/obj/item/pen/crayon/New()
+ name = "[colourName] crayon"
+ ..()
+
+/obj/item/pen/crayon/Initialize()
+ . = ..()
+ create_reagents(chem_volume)
+ reagents.add_reagent(dust,chem_volume)
diff --git a/html/changelogs/Sindorman-pens.yml b/html/changelogs/Sindorman-pens.yml
new file mode 100644
index 00000000000..d00e6a45315
--- /dev/null
+++ b/html/changelogs/Sindorman-pens.yml
@@ -0,0 +1,44 @@
+################################
+# Example Changelog File
+#
+# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
+#
+# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
+# When it is, any changes listed below will disappear.
+#
+# Valid Prefixes:
+# bugfix
+# wip (For works in progress)
+# tweak
+# soundadd
+# sounddel
+# rscadd (general adding of nice things)
+# rscdel (general deleting of nice things)
+# imageadd
+# imagedel
+# maptweak
+# spellcheck (typo fixes)
+# experiment
+# balance
+# admin
+# backend
+# security
+# refactor
+#################################
+
+# Your name.
+author: PoZe
+
+# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
+delete-after: True
+
+# Any changes you've made. See valid prefix list above.
+# INDENT WITH TWO SPACES. NOT TABS. SPACES.
+# SCREW THIS UP AND IT WON'T WORK.
+# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes:
+ - rscadd: "Added yellow and green pens"
+ - tweak: "Multi-color pens now also have yellow and green."
+ - rscadd: "Added 4 special pens. Red pen - poison pen, blue pen - pacifier pen, green pen - healing pen, yellow pen - hyperzine pen."
+ - tweak: "Added 4 special pens kit to traitor uplink, random kit and special ops cargo."
diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi
index 9543ca4b57f..8278f7e0b3c 100644
Binary files a/icons/obj/bureaucracy.dmi and b/icons/obj/bureaucracy.dmi differ