diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm
index 9f414e71d33..34e9799438f 100644
--- a/code/game/objects/items/weapons/storage/boxes.dm
+++ b/code/game/objects/items/weapons/storage/boxes.dm
@@ -26,6 +26,7 @@
desc = "It's just an ordinary box."
icon_state = "box"
item_state = "syringe_kit"
+ use_sound = 'sound/items/storage/box.ogg'
var/foldable = /obj/item/stack/material/cardboard // BubbleWrap - if set, can be folded (when empty) into a sheet of cardboard
var/maxHealth = 20 //health is already defined
@@ -96,6 +97,7 @@
return
// Now make the cardboard
to_chat(user, "You fold [src] flat.")
+ playsound(src.loc, 'sound/items/storage/boxfold.ogg', 30, 1)
new src.foldable(get_turf(src))
qdel(src)
diff --git a/code/modules/paperwork/filingcabinet.dm b/code/modules/paperwork/filingcabinet.dm
index a6e5e467bec..eb3b189b4a9 100644
--- a/code/modules/paperwork/filingcabinet.dm
+++ b/code/modules/paperwork/filingcabinet.dm
@@ -38,8 +38,9 @@
if(istype(P, /obj/item/weapon/paper) || istype(P, /obj/item/weapon/folder) || istype(P, /obj/item/weapon/photo) || istype(P, /obj/item/weapon/paper_bundle))
to_chat(user, "You put [P] in [src].")
user.drop_from_inventory(P,src)
- icon_state = "[initial(icon_state)]-open"
- sleep(5)
+ flick("[initial(icon_state)]-open",src)
+ playsound(loc, 'sound/bureaucracy/filingcabinet.ogg', 50, 1)
+ sleep(40)
icon_state = initial(icon_state)
updateUsrDialog()
else if(P.iswrench())
@@ -90,9 +91,10 @@
if(istype(P) && (P.loc == src) && src.Adjacent(usr))
usr.put_in_hands(P)
updateUsrDialog()
- icon_state = "[initial(icon_state)]-open"
+ flick("[initial(icon_state)]-open",src)
+ playsound(loc, 'sound/bureaucracy/filingcabinet.ogg', 50, 1)
spawn(0)
- sleep(5)
+ sleep(20)
icon_state = initial(icon_state)
diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm
index 0a8bd0ad187..a6283f8c346 100644
--- a/code/modules/paperwork/paper.dm
+++ b/code/modules/paperwork/paper.dm
@@ -91,11 +91,11 @@
to_chat(user, span("notice", "You're going to have to unfold it before you can read it."))
return
if(name != "sheet of paper")
- to_chat(user, "It's titled '[name]'.")
+ to_chat(user,"It's titled '[name]'.")
if(in_range(user, src) || isobserver(user))
show_content(usr)
else
- to_chat(user, "You have to go closer if you want to read it.")
+ to_chat(user, span("notice", "You have to go closer if you want to read it."))
/obj/item/weapon/paper/proc/show_content(mob/user, forceshow)
@@ -112,7 +112,7 @@
set src in usr
if((CLUMSY in usr.mutations) && prob(50))
- to_chat(usr, "You cut yourself on the paper.")
+ to_chat(usr, span("warning", "You cut yourself on the paper."))
return
var/n_name = sanitizeSafe(input(usr, "What would you like to label the paper?", "Paper Labelling", null) as text, MAX_NAME_LEN)
@@ -128,9 +128,10 @@
return
//crumple dat paper
info = stars(info,85)
- user.visible_message("\The [user] crumples \the [src] into a ball!", "You crumple \the [src] into a ball.", "You hear crinkling.")
+ user.visible_message("\The [user] crumples \the [src] into a ball!", "You crumple \the [src] into a ball.")
+ playsound(src, 'sound/bureaucracy/papercrumple.ogg', 50, 1)
icon_state = "scrap"
- throw_range = 8
+ throw_range = 4 //you can now make epic paper ball hoops into the disposals (kinda dumb that you could only throw crumpled paper 1 tile) -wezzy
return
if (user.a_intent == I_GRAB && icon_state != "scrap" && !istype(src, /obj/item/weapon/paper/carbon))
@@ -138,7 +139,8 @@
user.show_message(span("alert", "The paper is already folded into a plane."))
return
user.visible_message(span("notice", "\The [user] carefully folds \the [src] into a plane."),
- span("notice", "You carefully fold \the [src] into a plane."), "You hear paper rustling.")
+ span("notice", "You carefully fold \the [src] into a plane."), "\The [user] folds \the [src] into a plane.")
+ playsound(src, 'sound/bureaucracy/paperfold.ogg', 50, 1)
icon_state = "paper_plane"
throw_range = 8
old_name = name
@@ -147,6 +149,7 @@
if (user.a_intent == I_HELP && old_name && icon_state == "paper_plane")
user.visible_message(span("notice", "\The [user] unfolds \the [src]."), span("notice", "You unfold \the [src]."), "You hear paper rustling.")
+ playsound(src, 'sound/bureaucracy/paperfold.ogg', 50, 1)
icon_state = initial(icon_state)
throw_range = initial(throw_range)
name = old_name
@@ -175,7 +178,7 @@
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H == user)
- to_chat(user, "You wipe off the lipstick with [src].")
+ to_chat(user, span("notice", "You wipe off the lipstick with [src]."))
H.lip_style = null
H.update_body()
else
@@ -317,6 +320,8 @@
user.visible_message("[user] holds \the [P] up to \the [src], it looks like \he's trying to burn it!", \
"You hold \the [P] up to \the [src], burning it slowly.")
+ playsound(src.loc, 'sound/bureaucracy/paperburn.ogg', 50, 1)
+ icon_state = "paper_onfire"
//I was going to add do_after in here, but keeping the current method allows people to burn papers they're holding, while they move. That seems fine to keep -Nanako
spawn(20)
@@ -327,7 +332,7 @@
qdel(src)
else
- to_chat(user, "You must hold \the [P] steady to burn \the [src].")
+ to_chat(user, span("warning", "You must hold \the [P] steady to burn \the [src]."))
/obj/item/weapon/paper/Topic(href, href_list)
@@ -340,7 +345,7 @@
//var/t = strip_html_simple(input(usr, "What text do you wish to add to " + (id=="end" ? "the end of the paper" : "field "+id) + "?", "[name]", null),8192) as message
if(free_space <= 0)
- to_chat(usr, "There isn't enough space left on \the [src] to write anything.")
+ to_chat(usr, span("info", "There isn't enough space left on \the [src] to write anything."))
return
var/t = sanitize(input("Enter what you want to write:", "Write", null, null) as message, free_space, extra = 0)
@@ -375,7 +380,7 @@
if(fields > 50)//large amount of fields creates a heavy load on the server, see updateinfolinks() and addtofield()
- to_chat(usr, "Too many fields. Sorry, you can't do this.")
+ to_chat(usr, span("warning", "Too many fields. Sorry, you can't do this."))
fields = last_fields_value
return
@@ -387,9 +392,9 @@
update_space(t)
- usr << browse("
[name][info_links][stamps]", "window=[name]") // Update the window)
+ usr << browse("[name][info_links][stamps]", "window=[name]") // Update the window
- playsound(src, pick('sound/items/pen1.ogg','sound/items/pen2.ogg'), 10)
+ playsound(src, pick('sound/bureaucracy/pen1.ogg','sound/bureaucracy/pen2.ogg'), 10)
update_icon()
@@ -408,7 +413,7 @@
if (istype(P, /obj/item/weapon/paper/carbon))
var/obj/item/weapon/paper/carbon/C = P
if (!C.iscopy && !C.copied)
- to_chat(user, "Take off the carbon copy first.")
+ to_chat(user, span("notice", "Take off the carbon copy first."))
add_fingerprint(user)
return
var/obj/item/weapon/paper_bundle/B = new(src.loc)
@@ -445,7 +450,7 @@
src.forceMove(get_turf(h_user))
if(h_user.client) h_user.client.screen -= src
h_user.put_in_hands(B)
- to_chat(user, "You clip the [P.name] to [(src.name == "paper") ? "the paper" : src.name].")
+ to_chat(user, span("notice", "You clip the [P.name] to [(src.name == "paper") ? "the paper" : src.name]."))
src.forceMove(B)
B.pages.Add(src)
@@ -455,7 +460,7 @@
else if(istype(P, /obj/item/weapon/pen))
if(icon_state == "scrap")
- to_chat(usr, "\The [src] is too crumpled to write on.")
+ to_chat(user, span("warning", "The [src] is too crumpled to write on."))
return
var/obj/item/weapon/pen/robopen/RP = P
@@ -486,7 +491,7 @@
if(istype(P, /obj/item/weapon/stamp/clown))
if(!clown)
- to_chat(user, "You are totally unable to use the stamp. HONK!")
+ to_chat(user, span("notice", "You are totally unable to use the stamp. HONK!"))
return
if(!ico)
@@ -499,10 +504,10 @@
stamped += P.type
add_overlay(stampoverlay)
- playsound(src, 'sound/items/stamp.ogg', 50, 1)
- to_chat(user, "You stamp the paper with \the [P].")
+ playsound(src, 'sound/bureaucracy/stamp.ogg', 50, 1)
+ to_chat(user, span("notice", "You stamp the paper with \the [P]."))
- else if(istype(P, /obj/item/weapon/flame))
+ else if(istype(P, /obj/item/weapon/flame) || P.iswelder())
burnpaper(P, user)
else if(P.iswelder())
burnpaper(P, user)
diff --git a/code/modules/paperwork/papershredder.dm b/code/modules/paperwork/papershredder.dm
index 22f690ddf60..543c032a793 100644
--- a/code/modules/paperwork/papershredder.dm
+++ b/code/modules/paperwork/papershredder.dm
@@ -46,7 +46,7 @@
if (paper_result > 0)
paperamount += paper_result
qdel(W)
- playsound(src.loc, 'sound/items/pshred.ogg', 75, 1)
+ playsound(src.loc, 'sound/bureaucracy/papershred.ogg', 75, 1)
to_chat(user, span("notice", "You shred the paper."))
flick("papershredder_on", src)
if(paperamount > max_paper)
@@ -107,8 +107,19 @@
paperamount--
return new /obj/item/weapon/shreddedp(get_turf(src))
-/obj/machinery/papershredder/update_icon()
- icon_state = "papershredder[max(0,min(5,Floor(paperamount/2)))]"
+/obj/machinery/papershredder/update_icon() //makes it show how full the papershredder is while covering up the animation. Seemsgood - Wezzy
+ cut_overlays()
+ switch(paperamount)
+ if(2 to 3)
+ add_overlay("papershredder1")
+ if(4 to 5)
+ add_overlay("papershredder2")
+ if(6 to 7)
+ add_overlay("papershredder3")
+ if(8 to 9)
+ add_overlay("papershredder4")
+ if(10)
+ add_overlay("papershredder5")
/obj/item/weapon/shreddedp/attackby(var/obj/item/W as obj, var/mob/user)
if(istype(W, /obj/item/weapon/flame/lighter))
@@ -116,36 +127,49 @@
else
..()
-/obj/item/weapon/shreddedp/proc/burnpaper(var/obj/item/weapon/flame/lighter/P, var/mob/user)
- if(user.restrained())
- return
- if(!P.lit)
- to_chat(user, "\The [P] is not lit.")
- return
- user.visible_message("\The [user] holds \the [P] up to \the [src]. It looks like \he's trying to burn it!", \
- "You hold \the [P] up to \the [src], burning it slowly.")
- if(!do_after(user,20))
- to_chat(user, "You must hold \the [P] steady to burn \the [src].")
- return
- user.visible_message("\The [user] burns right through \the [src], turning it to ash. It flutters through the air before settling on the floor in a heap.", \
- "You burn right through \the [src], turning it to ash. It flutters through the air before settling on the floor in a heap.")
- FireBurn()
+/obj/item/weapon/shreddedp/proc/burnpaper(obj/item/weapon/P, mob/user)
+ var/class = "warning"
+
+ if (!user.restrained())
+ if (istype(P, /obj/item/weapon/flame))
+ var/obj/item/weapon/flame/F = P
+ if (!F.lit)
+ return
+ else if (P.iswelder())
+ var/obj/item/weapon/weldingtool/F = P // NOW THAT'S WHAT I CALL RECYCLING - wezzy
+ if (!F.welding)
+ return
+ if (!F.remove_fuel(1, user))
+ return
+ else
+
+ return
+
+ if(istype(P, /obj/item/weapon/flame/lighter/zippo))
+ class = "rose"
+
+ user.visible_message("[user] holds \the [P] up to \the [src], it looks like \he's trying to burn it!", \
+ "You hold \the [P] up to \the [src], burning it slowly.")
+ playsound(src.loc, 'sound/bureaucracy/paperburn.ogg', 50, 1)
+ icon_state = "shredp_onfire" //no do_after here, so people can walk n' burn at the same time. -wezzy
+
+ spawn(20)
+ if(get_dist(src, user) < 2 && user.get_active_hand() == P)
+ user.visible_message("[user] burns right through \the [src], turning it to ash. It flutters through the air before settling on the floor in a heap.", \
+ "You burn right through \the [src], turning it to ash. It flutters through the air before settling on the floor in a heap.")
+ new /obj/effect/decal/cleanable/ash(src.loc)
+ qdel(src)
+
+ else
+ to_chat(user, span("warning", "You must hold \the [P] steady to burn \the [src]."))
-/obj/item/weapon/shreddedp/proc/FireBurn()
- new /obj/effect/decal/cleanable/ash(get_turf(src))
- qdel(src)
/obj/item/weapon/shreddedp
name = "shredded paper"
+ desc = "The remains of a private, confidential, or otherwise sensitive document."
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "shredp"
throwforce = 0
w_class = 1
throw_range = 3
throw_speed = 1
-
-/obj/item/weapon/shreddedp/New()
- ..()
- pixel_x = rand(-5,5)
- pixel_y = rand(-5,5)
- if(prob(65)) color = pick("#BABABA","#7F7F7F")
diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm
index f26ba8e8bc9..487bc4cc9d0 100644
--- a/code/modules/paperwork/pen.dm
+++ b/code/modules/paperwork/pen.dm
@@ -10,7 +10,7 @@
* Pens
*/
/obj/item/weapon/pen
- desc = "It's a normal black ink pen."
+ desc = "An instrument for writing or drawing with ink. This one is in black. Stylish, classic and professional."
name = "pen"
icon = 'icons/obj/bureaucracy.dmi'
icon_state = "pen"
@@ -25,17 +25,18 @@
/obj/item/weapon/pen/blue
- desc = "It's a normal blue ink pen."
+ 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/weapon/pen/red
- desc = "It's a normal red ink pen."
+ 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/weapon/pen/multi
- desc = "It's a pen with multiple colors of ink!"
+ 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")
@@ -53,7 +54,7 @@
to_chat(user, "Changed color to '[colour].'")
/obj/item/weapon/pen/invisible
- desc = "It's an invisble pen marker."
+ desc = "An instrument for writing or drawing with ink. This one has invisible ink."
icon_state = "pen"
colour = "white"
diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm
index bf4fc3b1b6d..af752dd567a 100644
--- a/code/modules/paperwork/photocopier.dm
+++ b/code/modules/paperwork/photocopier.dm
@@ -2,7 +2,7 @@
name = "photocopier"
icon = 'icons/obj/library.dmi'
icon_state = "photocopier"
- var/insert_anim = "photocopier1"
+ var/insert_anim = "photocopier_scan"
anchored = 1
density = 1
use_power = 1
@@ -179,11 +179,13 @@ VUEUI_MONITOR_VARS(/obj/machinery/photocopier, photocopiermonitor)
toner--
if(toner == 0)
visible_message("A red light on \the [src] flashes, indicating that it is out of toner.")
+ flick("photocopier_notoner", src)
return
c.set_content_unsafe(pname, info)
if (print)
- src.print(c, use_sound, 'sound/items/poster_being_created.ogg', delay)
+ src.print(c, use_sound, 'sound/bureaucracy/print.ogg', delay)
+ flick("photocopier_print", src)
return c
/obj/machinery/photocopier/proc/photocopy(var/obj/item/weapon/photo/photocopy)
@@ -204,6 +206,7 @@ VUEUI_MONITOR_VARS(/obj/machinery/photocopier, photocopiermonitor)
if(toner < 0)
toner = 0
visible_message("A red light on \the [src] flashes, indicating that it is out of toner.")
+ flick("photocopier_notoner", src)
return p
diff --git a/html/changelogs/oversized_sweatshirt_wowzewow.yml b/html/changelogs/oversized_sweatshirt_wowzewow.yml
new file mode 100644
index 00000000000..a1832c9eae5
--- /dev/null
+++ b/html/changelogs/oversized_sweatshirt_wowzewow.yml
@@ -0,0 +1,45 @@
+################################
+# 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: WowzewoW
+
+# 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:
+ - tweak: "Tweaks some bureaucracy and library sprites."
+ - tweak: "Reverts pen sprite with some improvements."
+ - soundadd: "Filing cabinets, boxes and paper have new sounds."
+
+
diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi
index 793b0f2afe6..c1ce0fe7b4a 100644
Binary files a/icons/obj/bureaucracy.dmi and b/icons/obj/bureaucracy.dmi differ
diff --git a/icons/obj/library.dmi b/icons/obj/library.dmi
index a4d64962b24..f96263c25a6 100644
Binary files a/icons/obj/library.dmi and b/icons/obj/library.dmi differ
diff --git a/icons/obj/paper.dmi b/icons/obj/paper.dmi
deleted file mode 100644
index ca4663df18d..00000000000
Binary files a/icons/obj/paper.dmi and /dev/null differ
diff --git a/sound/bureaucracy/filingcabinet.ogg b/sound/bureaucracy/filingcabinet.ogg
new file mode 100644
index 00000000000..48e534f002a
Binary files /dev/null and b/sound/bureaucracy/filingcabinet.ogg differ
diff --git a/sound/bureaucracy/paperburn.ogg b/sound/bureaucracy/paperburn.ogg
new file mode 100644
index 00000000000..7fdec2e8c1b
Binary files /dev/null and b/sound/bureaucracy/paperburn.ogg differ
diff --git a/sound/bureaucracy/papercrumple.ogg b/sound/bureaucracy/papercrumple.ogg
new file mode 100644
index 00000000000..a3c67c700f7
Binary files /dev/null and b/sound/bureaucracy/papercrumple.ogg differ
diff --git a/sound/bureaucracy/paperfold.ogg b/sound/bureaucracy/paperfold.ogg
new file mode 100644
index 00000000000..1b47cb16f90
Binary files /dev/null and b/sound/bureaucracy/paperfold.ogg differ
diff --git a/sound/bureaucracy/papershred.ogg b/sound/bureaucracy/papershred.ogg
new file mode 100644
index 00000000000..2efedc8f3da
Binary files /dev/null and b/sound/bureaucracy/papershred.ogg differ
diff --git a/sound/items/pen1.ogg b/sound/bureaucracy/pen1.ogg
similarity index 100%
rename from sound/items/pen1.ogg
rename to sound/bureaucracy/pen1.ogg
diff --git a/sound/items/pen2.ogg b/sound/bureaucracy/pen2.ogg
similarity index 100%
rename from sound/items/pen2.ogg
rename to sound/bureaucracy/pen2.ogg
diff --git a/sound/bureaucracy/print.ogg b/sound/bureaucracy/print.ogg
new file mode 100644
index 00000000000..ff207abe2a5
Binary files /dev/null and b/sound/bureaucracy/print.ogg differ
diff --git a/sound/items/stamp.ogg b/sound/bureaucracy/stamp.ogg
similarity index 100%
rename from sound/items/stamp.ogg
rename to sound/bureaucracy/stamp.ogg
diff --git a/sound/items/pshred.ogg b/sound/items/pshred.ogg
deleted file mode 100644
index a722f300689..00000000000
Binary files a/sound/items/pshred.ogg and /dev/null differ
diff --git a/sound/items/storage/boxfold.ogg b/sound/items/storage/boxfold.ogg
new file mode 100644
index 00000000000..8049732bdbb
Binary files /dev/null and b/sound/items/storage/boxfold.ogg differ