diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index ef23f12bdb6..063d7ec8bd8 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -185,6 +185,7 @@ var/global/list/image/splatter_cache=list() /obj/effect/decal/cleanable/blood/gibs/New() ..() + noclear = 1 reagents.add_reagent("liquidgibs", 5) diff --git a/code/game/objects/items/weapons/soap.dm b/code/game/objects/items/weapons/soap.dm index b416022b4ac..78d314e4c4e 100644 --- a/code/game/objects/items/weapons/soap.dm +++ b/code/game/objects/items/weapons/soap.dm @@ -35,8 +35,13 @@ user << "You 'clean' \the [target.name]." if(istype(target, /turf/simulated)) new /obj/effect/decal/cleanable/blood/gibs(target) - else if (istype(target,/mob/living/)) - add_blood(target) + else if (istype(target,/mob/living/carbon)) + for(var/obj/item/carried_item in target.contents) + if(!istype(carried_item, /obj/item/weapon/implant))//If it's not an implant. + carried_item.add_blood(target)//Oh yes, there will be blood... + var/mob/living/carbon/human/H = target + H.bloody_hands(target,0) + H.bloody_body(target) return diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index 68b1a1e8147..ebb0b8ce1a2 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -153,7 +153,7 @@ var/see_ghosts = 0 //for the spoop of it -/obj/item/device/camera/CheckParts() +/obj/item/device/camera/spooky/CheckParts() var/obj/item/device/camera/C = locate(/obj/item/device/camera) in contents if(C) pictures_max = C.pictures_max @@ -166,6 +166,16 @@ name = "camera obscura" desc = "A polaroid camera, some say it can see ghosts!" see_ghosts = 1 +/////spooky helpers!///// +/obj/effect/spookyghost + name = "Spooky Ghost" + desc = "It's a g-g-g-g-ghooooost!" //jinkies! + icon = 'icons/mob/mob.dmi' + icon_state = "ghost" + layer = 4 + density = 0 + anchored = 1 // don't get pushed around + invisibility = INVISIBILITY_OBSERVER /obj/item/device/camera/verb/change_size() set name = "Set Photo Focus" @@ -215,14 +225,20 @@ atoms.Add(the_turf); // As well as anything that isn't invisible. for(var/atom/A in the_turf) + var/obj/effect/spookyghost/SPOOK if(A.invisibility ) if(see_ghosts && istype(A,/mob/dead/observer)) var/mob/dead/observer/O = A if(O.following) //so you dont see ghosts following people like antags, etc. continue + else + SPOOK = new(A.loc) + A = SPOOK else continue atoms.Add(A) + if(SPOOK) + qdel(SPOOK) // Sort the atoms into their layers var/list/sorted = sort_atoms_by_layer(atoms)