diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index b905aa00ef4..e194bbc3e43 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -326,6 +326,7 @@ throw_range = 5 w_class = 2.0 attack_verb = list("warned", "cautioned", "smashed") + drop_sound = 'sound/items/drop/shoes.ogg' /obj/item/weapon/caution/attack_self(mob/user as mob) if(src.icon_state == "caution") diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index 953962f57a8..1054ee229f3 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -33,6 +33,9 @@ amount = 0 ..(ignore=1) +/obj/effect/decal/cleanable/blood/hide() + return + /obj/effect/decal/cleanable/blood/Destroy() for(var/datum/disease/D in viruses) D.cure(0) diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index f7c737dfa68..5ee6bce5c38 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -37,8 +37,7 @@ name = "light replacer" desc = "A device to automatically replace lights. Refill with working lightbulbs or sheets of glass." - - icon = 'icons/obj/tools/lightreplacer.dmi' + icon = 'icons/obj/janitor.dmi' icon_state = "lightreplacer" item_state = "lightreplacer" contained_sprite = 1 @@ -66,7 +65,6 @@ icon_state = "adv_lightreplacer" item_state = "adv_lightreplacer" - /obj/item/device/lightreplacer/New() failmsg = "The [name]'s refill light blinks red." ..() diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm index 846a8b2a403..0b66efc613a 100644 --- a/code/game/objects/items/weapons/mop.dm +++ b/code/game/objects/items/weapons/mop.dm @@ -22,6 +22,7 @@ return ..() /obj/item/weapon/mop/afterattack(atom/A, mob/user, proximity) + update_icon() if(!proximity) return if(istype(A, /turf) || istype(A, /obj/effect/decal/cleanable) || istype(A, /obj/effect/overlay) || istype(A, /obj/effect/rune)) if(reagents.total_volume < 1) @@ -29,6 +30,7 @@ return user.visible_message("[user] begins to clean \the [get_turf(A)].") + playsound(loc, 'sound/effects/mop.ogg', 25, 1) if(do_after(user, 40)) var/turf/T = get_turf(A) @@ -41,3 +43,12 @@ if(istype(I, /obj/item/weapon/mop) || istype(I, /obj/item/weapon/soap)) return ..() + +/obj/item/weapon/mop/update_icon() + if(reagents.total_volume < 1) + icon_state = "mop" + if(reagents.total_volume > 1) + icon_state = "mop_wet" + +/obj/item/weapon/mop/on_reagent_change() + update_icon() diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index c67298e135b..6d17adfbc62 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -88,10 +88,12 @@ if(I.reagents.total_volume < I.reagents.maximum_volume) if(mybucket.reagents.total_volume < 1) to_chat(user, "[mybucket] is empty!") + update_icon() else mybucket.reagents.trans_to_obj(I, 5) // to_chat(user, "You wet [I] in [mybucket].") playsound(loc, 'sound/effects/slosh.ogg', 25, 1) + update_icon() else to_chat(user, "[I] can't absorb anymore liquid!") else @@ -274,13 +276,14 @@ update_icon() updateUsrDialog() - /obj/structure/janitorialcart/update_icon() cut_overlays() has_items = 0 if(mybucket) add_overlay("cart_bucket") has_items = 1 + if(mybucket.reagents.total_volume > 0) + add_overlay("cart_water") if(mybag) add_overlay("cart_garbage") has_items = 1 diff --git a/code/game/objects/structures/mop_bucket.dm b/code/game/objects/structures/mop_bucket.dm index 0830a8b745b..243fb503aae 100644 --- a/code/game/objects/structures/mop_bucket.dm +++ b/code/game/objects/structures/mop_bucket.dm @@ -30,3 +30,18 @@ reagents.trans_to_obj(I, 5) to_chat(user, "You wet \the [I] in \the [src].") playsound(loc, 'sound/effects/slosh.ogg', 25, 1) + return ..() + update_icon() + +/obj/structure/mopbucket/update_icon() + cut_overlays() + if(reagents.total_volume > 0) + add_overlay("mopbucket_water") + +/obj/structure/mopbucket/on_reagent_change() + . = ..() + if(istype(loc,/obj/structure/janitorialcart)) + var/obj/structure/janitorialcart/cart = loc + cart.update_icon() + else + update_icon() \ No newline at end of file diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index e9b419b9b19..7f517fa4643 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -185,7 +185,7 @@ update_icon() /obj/item/weapon/reagent_containers/glass/bucket - desc = "It's a bucket." + desc = "A blue plastic bucket." name = "bucket" icon = 'icons/obj/janitor.dmi' icon_state = "bucket" @@ -198,6 +198,7 @@ volume = 120 flags = OPENCONTAINER unacidable = 0 + drop_sound = 'sound/items/drop/helm.ogg' /obj/item/weapon/reagent_containers/glass/bucket/attackby(var/obj/D, mob/user as mob) if(isprox(D)) @@ -224,9 +225,14 @@ /obj/item/weapon/reagent_containers/glass/bucket/update_icon() cut_overlays() - if (!is_open_container()) + if(reagents.total_volume > 0) + add_overlay("water_[initial(icon_state)]") + if(!is_open_container()) add_overlay("lid_[initial(icon_state)]") +/obj/item/weapon/reagent_containers/glass/bucket/on_reagent_change() + update_icon() + /obj/item/weapon/reagent_containers/glass/bucket/self_feed_message(var/mob/user) to_chat(user, "You drink heavily from \the [src].") @@ -238,6 +244,7 @@ obj/item/weapon/reagent_containers/glass/bucket/wood icon_state = "woodbucket" item_state = "woodbucket" matter = list("wood" = 50) + drop_sound = 'sound/items/drop/wooden.ogg' /obj/item/weapon/reagent_containers/glass/bucket/wood/attackby(var/obj/D, mob/user as mob) if(isprox(D)) @@ -257,4 +264,4 @@ obj/item/weapon/reagent_containers/glass/bucket/wood playsound(loc, 'sound/effects/slosh.ogg', 25, 1) return else - return ..() \ No newline at end of file + return ..() diff --git a/html/changelogs/wezzyjanitorstuff.yml b/html/changelogs/wezzyjanitorstuff.yml new file mode 100644 index 00000000000..a40ba520c96 --- /dev/null +++ b/html/changelogs/wezzyjanitorstuff.yml @@ -0,0 +1,42 @@ +################################ +# 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: + - imageadd: "Adds new sprites for Janitor stuff, reagent tanks & dispensers (you can even see water in buckets now!)" + - soundadd: "Adds more drop sounds for Janistuff too." diff --git a/icons/mob/items/lefthand.dmi b/icons/mob/items/lefthand.dmi index d1b52e461b3..d1ef19e3880 100644 Binary files a/icons/mob/items/lefthand.dmi and b/icons/mob/items/lefthand.dmi differ diff --git a/icons/mob/items/righthand.dmi b/icons/mob/items/righthand.dmi index 89a153050aa..b84d1819cba 100644 Binary files a/icons/mob/items/righthand.dmi and b/icons/mob/items/righthand.dmi differ diff --git a/icons/obj/aibots.dmi b/icons/obj/aibots.dmi index 9b0f212947b..855243c78ea 100644 Binary files a/icons/obj/aibots.dmi and b/icons/obj/aibots.dmi differ diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi index c1ce0fe7b4a..836217ded3c 100644 Binary files a/icons/obj/bureaucracy.dmi and b/icons/obj/bureaucracy.dmi differ diff --git a/icons/obj/clothing/material_armor.dmi b/icons/obj/clothing/material_armor.dmi index 6f769ce6a9e..06aa0ce4fcc 100644 Binary files a/icons/obj/clothing/material_armor.dmi and b/icons/obj/clothing/material_armor.dmi differ diff --git a/icons/obj/janitor.dmi b/icons/obj/janitor.dmi index e56743d2185..99036be8e72 100644 Binary files a/icons/obj/janitor.dmi and b/icons/obj/janitor.dmi differ diff --git a/icons/obj/objects.dmi b/icons/obj/objects.dmi index 1224f77be50..5b17912d5d5 100644 Binary files a/icons/obj/objects.dmi and b/icons/obj/objects.dmi differ diff --git a/icons/obj/tools/lightreplacer.dmi b/icons/obj/tools/lightreplacer.dmi deleted file mode 100644 index d161eb00516..00000000000 Binary files a/icons/obj/tools/lightreplacer.dmi and /dev/null differ diff --git a/sound/effects/mop.ogg b/sound/effects/mop.ogg new file mode 100644 index 00000000000..07503a83257 Binary files /dev/null and b/sound/effects/mop.ogg differ