diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 038b52b7a91..61366698333 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -312,6 +312,8 @@ var/list/blood_splatter_icons = list() blood_DNA = null return 1 +/atom/proc/wash_cream() + return 1 /atom/proc/get_global_map_pos() if(!islist(global_map) || isemptylist(global_map)) return diff --git a/code/game/objects/items/weapons/clown_items.dm b/code/game/objects/items/weapons/clown_items.dm index 4912b1e5854..ccc8fc78ce6 100644 --- a/code/game/objects/items/weapons/clown_items.dm +++ b/code/game/objects/items/weapons/clown_items.dm @@ -80,6 +80,7 @@ var/obj/effect/decal/cleanable/C = locate() in target qdel(C) target.clean_blood() + target.wash_cream() return diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 099f0da18fa..509263147b8 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -259,6 +259,7 @@ /obj/machinery/shower/proc/wash_mob(mob/living/L) + L.wash_cream() L.ExtinguishMob() L.adjust_fire_stacks(-20) //Douse ourselves with water to avoid fire more easily if(iscarbon(L)) @@ -407,6 +408,7 @@ var/mob/living/carbon/human/H = user H.lip_style = null //Washes off lipstick H.lip_color = initial(H.lip_color) + H.wash_cream() H.regenerate_icons() user.drowsyness = max(user.drowsyness - rand(2,3), 0) //Washing your face wakes you up if you're falling asleep else diff --git a/code/modules/detectivework/footprints_and_rag.dm b/code/modules/detectivework/footprints_and_rag.dm index 19345e4d476..17e5b467066 100644 --- a/code/modules/detectivework/footprints_and_rag.dm +++ b/code/modules/detectivework/footprints_and_rag.dm @@ -47,4 +47,5 @@ if(do_after(user,30, target = A)) user.visible_message("[user] finishes wiping off the [A]!", "You finish wiping off the [A].") A.clean_blood() + A.wash_cream() return diff --git a/code/modules/food&drinks/food/snacks_pie.dm b/code/modules/food&drinks/food/snacks_pie.dm index 17b7241b5b7..f3cd98cd458 100644 --- a/code/modules/food&drinks/food/snacks_pie.dm +++ b/code/modules/food&drinks/food/snacks_pie.dm @@ -27,6 +27,19 @@ var/turf/T = get_turf(hit_atom) new/obj/effect/decal/cleanable/pie_smudge(T) reagents.reaction(hit_atom, TOUCH) + + if(ishuman(hit_atom)) + var/mob/living/carbon/human/H = hit_atom + var/image/creamoverlay = image('icons/effects/creampie.dmi') + if(H.dna.species.id == "lizard") + creamoverlay.icon_state = "creampie_lizard" + else + creamoverlay.icon_state = "creampie_human" + H.Weaken(1) //splat! + H.adjust_blurriness(1) + visible_message("[H] was creamed by the [src]!!") + H.overlays += creamoverlay + qdel(src) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index d3818e71d5a..9187f04b1ab 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -872,6 +872,11 @@ update_icons() //apply the now updated overlays to the mob +/mob/living/carbon/human/wash_cream() + //clean both to prevent a rare bug + overlays -=image('icons/effects/creampie.dmi', "creampie_lizard") + overlays -=image('icons/effects/creampie.dmi', "creampie_human") + //Turns a mob black, flashes a skeleton overlay //Just like a cartoon! diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 2c3db69ef8e..3d1ebfaa7cd 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -956,6 +956,7 @@ cleaned_human.shoes.clean_blood() cleaned_human.update_inv_shoes() cleaned_human.clean_blood() + cleaned_human.wash_cream() cleaned_human << "[src] cleans your face!" return diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index d843c966b6a..92716ddc9d3 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -751,8 +751,10 @@ if(H.shoes) if(H.shoes.clean_blood()) H.update_inv_shoes() + H.wash_cream() M.clean_blood() + /datum/reagent/cryptobiolin name = "Cryptobiolin" id = "cryptobiolin" diff --git a/icons/effects/creampie.dmi b/icons/effects/creampie.dmi new file mode 100644 index 00000000000..2a0365773b7 Binary files /dev/null and b/icons/effects/creampie.dmi differ