diff --git a/code/datums/supplypacks/recreation.dm b/code/datums/supplypacks/recreation.dm
index 7bfdaaeeb6..7f801ea1b3 100644
--- a/code/datums/supplypacks/recreation.dm
+++ b/code/datums/supplypacks/recreation.dm
@@ -39,6 +39,7 @@
name = "Arts and Crafts supplies"
contains = list(
/obj/item/weapon/storage/fancy/crayons,
+ /obj/item/weapon/storage/fancy/markers,
/obj/item/device/camera,
/obj/item/device/camera_film = 2,
/obj/item/weapon/storage/photo_album,
diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm
index 31bb9160f8..2ad51ca887 100644
--- a/code/game/objects/items/crayons.dm
+++ b/code/game/objects/items/crayons.dm
@@ -46,11 +46,11 @@
if(colour != "#FFFFFF" && shadeColour != "#000000")
colour = "#FFFFFF"
shadeColour = "#000000"
- user << "You will now draw in white and black with this crayon."
+ to_chat(usr,"You will now draw in white and black with this crayon.")
else
colour = "#000000"
shadeColour = "#FFFFFF"
- user << "You will now draw in black and white with this crayon."
+ to_chat(usr,"You will now draw in black and white with this crayon.")
return
/obj/item/weapon/pen/crayon/rainbow
@@ -72,22 +72,22 @@
switch(drawtype)
if("letter")
drawtype = input("Choose the letter.", "Crayon scribbles") in list("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z")
- user << "You start drawing a letter on the [target.name]."
+ to_chat(usr,"You start drawing a letter on the [target.name].")
if("graffiti")
- user << "You start drawing graffiti on the [target.name]."
+ to_chat(usr,"You start drawing graffiti on the [target.name].")
if("rune")
- user << "You start drawing a rune on the [target.name]."
+ to_chat(usr,"You start drawing a rune on the [target.name].")
if("arrow")
drawtype = input("Choose the arrow.", "Crayon scribbles") in list("left", "right", "up", "down")
- user << "You start drawing an arrow on the [target.name]."
+ to_chat(usr,"You start drawing an arrow on the [target.name].")
if(instant || do_after(user, 50))
new /obj/effect/decal/cleanable/crayon(target,colour,shadeColour,drawtype)
- user << "You finish drawing."
+ to_chat(usr,"You finish drawing.")
target.add_fingerprint(user) // Adds their fingerprints to the floor the crayon is drawn on.
if(uses)
uses--
if(!uses)
- user << "You used up your crayon!"
+ to_chat(usr,"You used up your crayon!")
qdel(src)
return
@@ -99,7 +99,93 @@
if(uses)
uses -= 5
if(uses <= 0)
- user << "You ate your crayon!"
+ to_chat(user,"You ate your crayon!")
qdel(src)
else
..()
+
+/obj/item/weapon/pen/crayon/marker/black
+ icon_state = "markerblack"
+ colour = "#2D2D2D"
+ shadeColour = "#000000"
+ colourName = "black"
+
+/obj/item/weapon/pen/crayon/marker/red
+ icon_state = "markerred"
+ colour = "#DA0000"
+ shadeColour = "#810C0C"
+ colourName = "red"
+
+/obj/item/weapon/pen/crayon/marker/orange
+ icon_state = "markerorange"
+ colour = "#FF9300"
+ shadeColour = "#A55403"
+ colourName = "orange"
+
+/obj/item/weapon/pen/crayon/marker/yellow
+ icon_state = "markeryellow"
+ colour = "#FFF200"
+ shadeColour = "#886422"
+ colourName = "yellow"
+
+/obj/item/weapon/pen/crayon/marker/green
+ icon_state = "markergreen"
+ colour = "#A8E61D"
+ shadeColour = "#61840F"
+ colourName = "green"
+
+/obj/item/weapon/pen/crayon/marker/blue
+ icon_state = "markerblue"
+ colour = "#00B7EF"
+ shadeColour = "#0082A8"
+ colourName = "blue"
+
+/obj/item/weapon/pen/crayon/marker/purple
+ icon_state = "markerpurple"
+ colour = "#DA00FF"
+ shadeColour = "#810CFF"
+ colourName = "purple"
+
+/obj/item/weapon/pen/crayon/marker/mime
+ icon_state = "markermime"
+ desc = "A very sad-looking marker."
+ colour = "#FFFFFF"
+ shadeColour = "#000000"
+ colourName = "mime"
+ uses = 0
+
+/obj/item/weapon/pen/crayon/marker/mime/attack_self(mob/living/user as mob) //inversion
+ if(colour != "#FFFFFF" && shadeColour != "#000000")
+ colour = "#FFFFFF"
+ shadeColour = "#000000"
+ to_chat(usr,"You will now draw in white and black with this marker.")
+ else
+ colour = "#000000"
+ shadeColour = "#FFFFFF"
+ to_chat(usr,"You will now draw in black and white with this marker.")
+ return
+
+/obj/item/weapon/pen/crayon/marker/rainbow
+ icon_state = "markerrainbow"
+ colour = "#FFF000"
+ shadeColour = "#000FFF"
+ colourName = "rainbow"
+ uses = 0
+
+/obj/item/weapon/pen/crayon/marker/rainbow/attack_self(mob/living/user as mob)
+ colour = input(user, "Please select the main colour.", "Marker colour") as color
+ shadeColour = input(user, "Please select the shade colour.", "Marker colour") as color
+ return
+
+/obj/item/weapon/pen/crayon/marker/attack(mob/M as mob, mob/user as mob)
+ if(M == user)
+ to_chat(usr,"You take a bite of the marker and swallow it.")
+ user.nutrition += 1
+ user.reagents.add_reagent("marker_ink",6)
+ if(uses)
+ uses -= 5
+ if(uses <= 0)
+ to_chat(user,"You ate the marker!")
+ qdel(src)
+ else
+ ..()
\ No newline at end of file
diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm
index c390cb0abd..fc34e0999d 100644
--- a/code/game/objects/items/weapons/storage/fancy.dm
+++ b/code/game/objects/items/weapons/storage/fancy.dm
@@ -114,6 +114,48 @@
return
..()
+/obj/item/weapon/storage/fancy/markers
+ name = "box of markers"
+ desc = "A very professional looking box of permanent markers."
+ icon = 'icons/obj/crayons.dmi'
+ icon_state = "markerbox"
+ w_class = ITEMSIZE_SMALL
+ icon_type = "marker"
+ can_hold = list(
+ /obj/item/weapon/pen/crayon/marker
+ )
+ starts_with = list(
+ /obj/item/weapon/pen/crayon/marker/black,
+ /obj/item/weapon/pen/crayon/marker/red,
+ /obj/item/weapon/pen/crayon/marker/orange,
+ /obj/item/weapon/pen/crayon/marker/yellow,
+ /obj/item/weapon/pen/crayon/marker/green,
+ /obj/item/weapon/pen/crayon/marker/blue,
+ /obj/item/weapon/pen/crayon/marker/purple
+ )
+
+/obj/item/weapon/storage/fancy/markers/initialize()
+ . = ..()
+ update_icon()
+
+/obj/item/weapon/storage/fancy/markers/update_icon()
+ var/mutable_appearance/ma = new(src)
+ ma.overlays = list()
+ for(var/obj/item/weapon/pen/crayon/marker/marker in contents)
+ ma.overlays += image('icons/obj/crayons.dmi',"m"+marker.colourName)
+ appearance = ma
+
+/obj/item/weapon/storage/fancy/markers/attackby(obj/item/W as obj, mob/user as mob)
+ if(istype(W,/obj/item/weapon/pen/crayon/marker))
+ switch(W:colourName)
+ if("mime")
+ to_chat(usr,"This marker is too depressing to be contained in this box.")
+ return
+ if("rainbow")
+ to_chat(usr,"This marker is too childish to be contained in this box.")
+ return
+ ..()
+
////////////
//CIG PACK//
////////////
@@ -253,15 +295,17 @@
reagents.trans_to_obj(C, (reagents.total_volume/contents.len))
..()
-/obj/item/weapon/storage/rollingpapers
+/obj/item/weapon/storage/fancy/rollingpapers
name = "rolling paper pack"
desc = "A small cardboard pack containing several folded rolling papers."
icon_state = "paperbox"
icon = 'icons/obj/cigarettes.dmi'
w_class = ITEMSIZE_TINY
- throwforce = 1
+ throwforce = 2
+ slot_flags = SLOT_BELT
storage_slots = 14
can_hold = list(/obj/item/weapon/rollingpaper)
+ icon_type = "paper"
starts_with = list(/obj/item/weapon/rollingpaper = 14)
/*
diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm
index 7b310ccaa7..b11151b01d 100644
--- a/code/modules/paperwork/pen.dm
+++ b/code/modules/paperwork/pen.dm
@@ -195,11 +195,18 @@
var/instant = 0
var/colourName = "red" //for updateIcon purposes
- suicide_act(mob/user)
- var/datum/gender/TU = gender_datums[user.get_visible_gender()]
- viewers(user) << "[user] is jamming the [src.name] up [TU.his] nose and into [TU.his] brain. It looks like [TU.he] [TU.is] trying to commit suicide."
- return (BRUTELOSS|OXYLOSS)
+/obj/item/weapon/pen/crayon/suicide_act(mob/user)
+ var/datum/gender/TU = gender_datums[user.get_visible_gender()]
+ viewers(user) << "[user] is jamming the [src.name] up [TU.his] nose and into [TU.his] brain. It looks like [TU.he] [TU.is] trying to commit suicide."
+ return (BRUTELOSS|OXYLOSS)
- New()
- name = "[colourName] crayon"
- ..()
+/obj/item/weapon/pen/crayon/New()
+ name = "[colourName] crayon"
+
+/obj/item/weapon/pen/crayon/marker
+ name = "marker"
+ desc = "A chisel-tip permanent marker. Hopefully non-toxic."
+ icon_state = "markerred"
+
+/obj/item/weapon/pen/crayon/marker/New()
+ name = "[colourName] marker"
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm
index 9b15c07b70..6c83b0e26d 100644
--- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm
@@ -49,6 +49,60 @@
id = "crayon_dust_brown"
color = "#846F35"
+/datum/reagent/marker_ink
+ name = "Marker ink"
+ id = "marker_ink"
+ description = "Intensely coloured ink used in markers."
+ taste_description = "extremely bitter"
+ reagent_state = LIQUID
+ color = "#888888"
+ overdose = 5
+
+/datum/reagent/marker_ink/black
+ name = "Black marker ink"
+ id = "marker_ink_black"
+ color = "#000000"
+
+/datum/reagent/marker_ink/red
+ name = "Red marker ink"
+ id = "marker_ink_red"
+ color = "#FE191A"
+
+/datum/reagent/marker_ink/orange
+ name = "Orange marker ink"
+ id = "marker_ink_orange"
+ color = "#FFBE4F"
+
+/datum/reagent/marker_ink/yellow
+ name = "Yellow marker ink"
+ id = "marker_ink_yellow"
+ color = "#FDFE7D"
+
+/datum/reagent/marker_ink/green
+ name = "Green marker ink"
+ id = "marker_ink_green"
+ color = "#18A31A"
+
+/datum/reagent/marker_ink/blue
+ name = "Blue marker ink"
+ id = "marker_ink_blue"
+ color = "#247CFF"
+
+/datum/reagent/marker_ink/purple
+ name = "Purple marker ink"
+ id = "marker_ink_purple"
+ color = "#CC0099"
+
+/datum/reagent/marker_ink/grey //Mime
+ name = "Grey marker ink"
+ id = "marker_ink_grey"
+ color = "#808080"
+
+/datum/reagent/marker_ink/brown //Rainbow
+ name = "Brown marker ink"
+ id = "marker_ink_brown"
+ color = "#846F35"
+
/datum/reagent/paint
name = "Paint"
id = "paint"
diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm
index 37634ac28a..4539a70516 100644
--- a/code/modules/reagents/Chemistry-Recipes.dm
+++ b/code/modules/reagents/Chemistry-Recipes.dm
@@ -868,7 +868,7 @@
name = "Red paint"
id = "red_paint"
result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_red" = 1)
+ required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_red" = 1)
result_amount = 5
/datum/chemical_reaction/red_paint/send_data()
@@ -878,7 +878,7 @@
name = "Orange paint"
id = "orange_paint"
result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_orange" = 1)
+ required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_orange" = 1)
result_amount = 5
/datum/chemical_reaction/orange_paint/send_data()
@@ -888,7 +888,7 @@
name = "Yellow paint"
id = "yellow_paint"
result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_yellow" = 1)
+ required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_yellow" = 1)
result_amount = 5
/datum/chemical_reaction/yellow_paint/send_data()
@@ -898,7 +898,7 @@
name = "Green paint"
id = "green_paint"
result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_green" = 1)
+ required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_green" = 1)
result_amount = 5
/datum/chemical_reaction/green_paint/send_data()
@@ -908,7 +908,7 @@
name = "Blue paint"
id = "blue_paint"
result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_blue" = 1)
+ required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_blue" = 1)
result_amount = 5
/datum/chemical_reaction/blue_paint/send_data()
@@ -918,7 +918,7 @@
name = "Purple paint"
id = "purple_paint"
result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_purple" = 1)
+ required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_purple" = 1)
result_amount = 5
/datum/chemical_reaction/purple_paint/send_data()
@@ -928,7 +928,7 @@
name = "Grey paint"
id = "grey_paint"
result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_grey" = 1)
+ required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_grey" = 1)
result_amount = 5
/datum/chemical_reaction/grey_paint/send_data()
@@ -938,7 +938,7 @@
name = "Brown paint"
id = "brown_paint"
result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "crayon_dust_brown" = 1)
+ required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_brown" = 1)
result_amount = 5
/datum/chemical_reaction/brown_paint/send_data()
diff --git a/html/changelogs/Billybangles - Markers.yml b/html/changelogs/Billybangles - Markers.yml
new file mode 100644
index 0000000000..afab2bf8cb
--- /dev/null
+++ b/html/changelogs/Billybangles - Markers.yml
@@ -0,0 +1,38 @@
+################################
+# 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
+#################################
+
+# Your name.
+author: battlefieldCommander
+
+# 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 permanent markers, an alternative to crayons."
+ - tweak: "The chemistry recipe for paint now uses marker ink instead of crayon dust."
+ - rscdel: "Removed crayon boxes from the map. They can still be ordered from cargo in case you need a snack."
diff --git a/icons/obj/crayons.dmi b/icons/obj/crayons.dmi
index 7ebabd5a81..80ab2d153c 100644
Binary files a/icons/obj/crayons.dmi and b/icons/obj/crayons.dmi differ