[MIRROR] Makes decals only caught on mapload & removes turf_loc_check [MDB IGNORE] (#22051)

* Makes decals only caught on mapload & removes turf_loc_check (#76130)

Theres one player-facing change in this PR and it's that I removed human
gibs from being valid in space turfs, making it more consistent with the
other gib decals.

I've cleaned up many instances of decals spawning in bad turfs on
mapload in https://github.com/tgstation/tgstation/pull/75189, but making
it error anytime in-game a decal is put over an invalid turf is bad as
it punishes contributors for not optimizing their decals properly.
This changes it so it only errors if it's on mapload, unit testing or
not.

I've also removed ``turf_loc_check`` and replaced instances of it with
overwriting ``NeverShouldHaveComeHere``, which gives us greater control
of where decals can be placed.
This let me remove 2 subtypes that were made to have decals in specific
places (which then got placed elsewhere, ruining it all).

Mappers are still able to set decals to be placed anywhere, they just
need to add it as a valid turf for that decal.

* Makes decals only caught on mapload & removes turf_loc_check

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
This commit is contained in:
SkyratBot
2023-06-24 16:06:58 -07:00
committed by GitHub
co-authored by John Willard
parent f2157f7554
commit fd3b832bb8
12 changed files with 168 additions and 166 deletions
@@ -7,7 +7,7 @@
/turf/open/misc/asteroid/airless,
/area/space)
"d" = (
/obj/effect/decal/remains/human/grave,
/obj/effect/decal/remains/human,
/turf/open/misc/asteroid/airless,
/area/space)
"e" = (
+139 -139
View File
@@ -6376,17 +6376,6 @@
/obj/machinery/light/small/directional/east,
/turf/open/floor/iron/dark/herringbone,
/area/station/ai_monitored/command/nuke_storage)
"cIe" = (
/obj/machinery/atmospherics/pipe/smart/manifold/pink/visible{
dir = 1
},
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/remains/human/grave{
pixel_x = 6;
pixel_y = 6
},
/turf/open/floor/iron/dark,
/area/station/engineering/atmos)
"cIs" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/yellow{
@@ -11793,27 +11782,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron,
/area/station/security/prison/rec)
"eJX" = (
/obj/effect/turf_decal/siding/thinplating_new/terracotta{
dir = 1
},
/obj/structure/table/glass,
/obj/effect/turf_decal/siding/yellow,
/obj/machinery/recharger{
pixel_x = -7;
pixel_y = 3
},
/obj/item/folder/yellow{
pixel_x = 6;
pixel_y = 3
},
/obj/item/assembly/signaler{
pixel_x = 5;
pixel_y = 6
},
/obj/machinery/digital_clock/directional/south,
/turf/open/floor/wood/tile,
/area/station/command/bridge)
"eJZ" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -13652,20 +13620,6 @@
/obj/machinery/door/poddoor/incinerator_atmos_aux,
/turf/open/floor/engine/airless,
/area/station/maintenance/disposal/incinerator)
"fuJ" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/door/airlock/research{
name = "Research Division Access"
},
/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
cycle_id = "sci-entrance"
},
/obj/effect/mapping_helpers/airlock/access/all/science/general,
/obj/machinery/door/firedoor,
/turf/open/floor/iron/white/textured_half{
dir = 1
},
/area/station/science/research)
"fuL" = (
/obj/docking_port/stationary/escape_pod{
dir = 2
@@ -16441,6 +16395,20 @@
/obj/effect/landmark/start/scientist,
/turf/open/floor/iron/white/small,
/area/station/science/lab)
"gtk" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/door/airlock/research{
name = "Research Division Access"
},
/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
cycle_id = "sci-entrance"
},
/obj/effect/mapping_helpers/airlock/access/all/science/general,
/obj/machinery/door/firedoor,
/turf/open/floor/iron/white/textured_half{
dir = 1
},
/area/station/science/research)
"gtl" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -18574,6 +18542,27 @@
/obj/effect/turf_decal/siding/yellow,
/turf/open/floor/wood/tile,
/area/station/command/bridge)
"hcJ" = (
/obj/effect/turf_decal/siding/thinplating_new/terracotta{
dir = 1
},
/obj/structure/table/glass,
/obj/effect/turf_decal/siding/yellow,
/obj/machinery/recharger{
pixel_x = -7;
pixel_y = 3
},
/obj/item/folder/yellow{
pixel_x = 6;
pixel_y = 3
},
/obj/item/assembly/signaler{
pixel_x = 5;
pixel_y = 6
},
/obj/machinery/digital_clock/directional/south,
/turf/open/floor/wood/tile,
/area/station/command/bridge)
"hcY" = (
/obj/structure/table,
/obj/item/paper_bin{
@@ -23283,15 +23272,6 @@
/obj/structure/sign/warning/no_smoking/circle/directional/north,
/turf/open/floor/iron/dark,
/area/station/science/ordnance)
"iJZ" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/tile/dark_red/half/contrasted,
/obj/machinery/camera/autoname/directional/north,
/obj/machinery/digital_clock/directional/north,
/turf/open/floor/iron,
/area/station/security/execution/transfer)
"iKe" = (
/obj/structure/cable,
/obj/effect/turf_decal/tile/blue{
@@ -25375,22 +25355,6 @@
"jxD" = (
/turf/open/floor/iron,
/area/station/maintenance/starboard/greater)
"jxX" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/door/airlock/research{
name = "Development Division Access"
},
/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
cycle_id = "sci-entrance"
},
/obj/effect/mapping_helpers/airlock/access/all/science/general,
/obj/machinery/door/firedoor,
/turf/open/floor/iron/white/textured_half{
dir = 1
},
/area/station/science/lobby)
"jxZ" = (
/obj/effect/turf_decal/siding/blue{
dir = 6
@@ -29658,6 +29622,15 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
"kXe" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/tile/dark_red/half/contrasted,
/obj/machinery/camera/autoname/directional/north,
/obj/machinery/digital_clock/directional/north,
/turf/open/floor/iron,
/area/station/security/execution/transfer)
"kXl" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -40953,6 +40926,20 @@
/obj/effect/turf_decal/tile/neutral/fourcorners,
/turf/open/floor/iron,
/area/station/hallway/primary/port)
"paT" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/door/airlock/research{
name = "Development Division Access"
},
/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
cycle_id = "sci-entrance"
},
/obj/effect/mapping_helpers/airlock/access/all/science/general,
/obj/machinery/door/firedoor,
/turf/open/floor/iron/white/textured_half{
dir = 1
},
/area/station/science/lobby)
"paV" = (
/obj/structure/cable,
/obj/structure/disposalpipe/segment{
@@ -42099,6 +42086,11 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/iron/grimy,
/area/station/service/library)
"puT" = (
/obj/structure/bookcase/random/nonfiction,
/obj/machinery/digital_clock/directional/north,
/turf/open/floor/wood/tile,
/area/station/service/bar)
"pvg" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -45137,17 +45129,6 @@
/obj/machinery/light/small/directional/west,
/turf/open/floor/iron/dark/small,
/area/station/hallway/secondary/dock)
"qrj" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/tile/dark_red/half/contrasted,
/obj/machinery/light/cold/directional/north,
/obj/machinery/digital_clock/directional/north,
/turf/open/floor/iron,
/area/station/security)
"qrm" = (
/obj/structure/cable,
/obj/machinery/power/apc/auto_name/directional/south,
@@ -51882,6 +51863,17 @@
},
/turf/open/floor/grass,
/area/station/cargo/storage)
"swY" = (
/obj/structure/cable,
/obj/machinery/door/airlock{
name = "Maintenance"
},
/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
/obj/effect/mapping_helpers/airlock/unres{
dir = 1
},
/turf/open/floor/plating,
/area/station/maintenance/aft)
"sxm" = (
/turf/closed/wall,
/area/station/tcommsat/server)
@@ -52386,20 +52378,6 @@
/obj/machinery/light/small/directional/north,
/turf/open/floor/sepia,
/area/station/maintenance/aft)
"sFZ" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/door/airlock/research{
name = "Development Division Access"
},
/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
cycle_id = "sci-entrance"
},
/obj/effect/mapping_helpers/airlock/access/all/science/general,
/obj/machinery/door/firedoor,
/turf/open/floor/iron/white/textured_half{
dir = 1
},
/area/station/science/lobby)
"sGh" = (
/obj/structure/window/reinforced/spawner/directional/east,
/obj/effect/turf_decal/stripes/white/line{
@@ -56988,6 +56966,23 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/wood/parquet,
/area/station/medical/psychology)
"ugS" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/door/airlock/research{
name = "Research Division Access"
},
/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
cycle_id = "sci-entrance"
},
/obj/effect/mapping_helpers/airlock/access/all/science/general,
/obj/machinery/door/firedoor,
/turf/open/floor/iron/white/textured_half{
dir = 1
},
/area/station/science/research)
"ugX" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -59038,17 +59033,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plating,
/area/station/maintenance/central/greater)
"uPf" = (
/obj/structure/cable,
/obj/machinery/door/airlock{
name = "Maintenance"
},
/obj/effect/mapping_helpers/airlock/access/any/service/maintenance,
/obj/effect/mapping_helpers/airlock/unres{
dir = 1
},
/turf/open/floor/plating,
/area/station/maintenance/aft)
"uPp" = (
/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -59417,6 +59401,17 @@
/obj/machinery/newscaster/directional/east,
/turf/open/floor/iron,
/area/station/service/hydroponics)
"uUV" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/effect/turf_decal/tile/dark_red/half/contrasted,
/obj/machinery/light/cold/directional/north,
/obj/machinery/digital_clock/directional/north,
/turf/open/floor/iron,
/area/station/security)
"uVb" = (
/obj/structure/cable,
/obj/machinery/power/apc/auto_name/directional/west,
@@ -61327,23 +61322,6 @@
},
/turf/open/floor/iron/dark,
/area/station/command/corporate_dock)
"vzr" = (
/obj/structure/disposalpipe/segment{
dir = 4
},
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/door/airlock/research{
name = "Research Division Access"
},
/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
cycle_id = "sci-entrance"
},
/obj/effect/mapping_helpers/airlock/access/all/science/general,
/obj/machinery/door/firedoor,
/turf/open/floor/iron/white/textured_half{
dir = 1
},
/area/station/science/research)
"vzv" = (
/obj/item/cultivator/rake,
/obj/machinery/light/small/directional/west,
@@ -63134,6 +63112,22 @@
/obj/effect/turf_decal/tile/red/fourcorners,
/turf/open/floor/iron,
/area/station/security/courtroom)
"vZF" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/obj/machinery/door/airlock/research{
name = "Development Division Access"
},
/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{
cycle_id = "sci-entrance"
},
/obj/effect/mapping_helpers/airlock/access/all/science/general,
/obj/machinery/door/firedoor,
/turf/open/floor/iron/white/textured_half{
dir = 1
},
/area/station/science/lobby)
"vZJ" = (
/obj/structure/cable,
/obj/machinery/camera/directional/north{
@@ -66503,11 +66497,6 @@
"xaN" = (
/turf/closed/wall,
/area/station/maintenance/starboard/central)
"xaO" = (
/obj/structure/bookcase/random/nonfiction,
/obj/machinery/digital_clock/directional/north,
/turf/open/floor/wood/tile,
/area/station/service/bar)
"xaP" = (
/turf/closed/wall/r_wall,
/area/station/security/checkpoint/customs)
@@ -67463,6 +67452,17 @@
/obj/effect/turf_decal/delivery/white,
/turf/open/floor/iron,
/area/station/cargo/sorting)
"xnp" = (
/obj/machinery/atmospherics/pipe/smart/manifold/pink/visible{
dir = 1
},
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/remains/human{
pixel_x = 6;
pixel_y = 6
},
/turf/open/floor/iron/dark,
/area/station/engineering/atmos)
"xnC" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -83484,7 +83484,7 @@ dvR
dIe
dRE
ecF
cIe
xnp
hjT
ioQ
eQe
@@ -85879,7 +85879,7 @@ qVP
hiq
lUV
gEH
qrj
uUV
iWE
tAs
tAs
@@ -88775,7 +88775,7 @@ wbf
prq
mTP
qPN
iJZ
kXe
ccs
kPk
wjZ
@@ -91761,7 +91761,7 @@ paV
wLJ
oXe
jVM
xaO
puT
ycS
tEI
ycS
@@ -94817,7 +94817,7 @@ gFv
uFm
cKV
xsh
eJX
hcJ
xGJ
oTF
jwi
@@ -112347,7 +112347,7 @@ rUI
xDg
wtT
pWl
jxX
vZF
phZ
wbp
wMH
@@ -112861,7 +112861,7 @@ qEe
sRj
jkz
ifU
sFZ
paT
cAb
xjb
pAF
@@ -113103,9 +113103,9 @@ dDF
vkn
vMC
xFA
fuJ
gtk
xFA
vzr
ugS
xFA
mdt
mdt
@@ -115712,7 +115712,7 @@ gky
lrh
gky
vbm
uPf
swY
xEc
gky
niZ
@@ -51,7 +51,7 @@
/obj/effect/decal/cleanable/xenoblood/xgibs/proc/spread_movement_effects(datum/move_loop/has_target/source)
SIGNAL_HANDLER
if(isclosedturf(loc) || (isgroundlessturf(loc) && !SSmapping.get_turf_below(loc)))
if(NeverShouldHaveComeHere(loc))
return
new /obj/effect/decal/cleanable/xenoblood/xsplatter(loc)
@@ -73,9 +73,11 @@
layer = ABOVE_WINDOW_LAYER
plane = GAME_PLANE
vis_flags = VIS_INHERIT_PLANE
turf_loc_check = FALSE
alpha = 180
/obj/effect/decal/cleanable/blood/splatter/over_window/NeverShouldHaveComeHere(turf/here_turf)
return isgroundlessturf(here_turf)
/obj/effect/decal/cleanable/blood/tracks
icon_state = "tracks"
desc = "They look like tracks left by wheels."
@@ -103,7 +105,6 @@
plane = GAME_PLANE
random_icon_states = list("gib1", "gib2", "gib3", "gib4", "gib5", "gib6")
mergeable_decal = FALSE
turf_loc_check = FALSE
dryname = "rotting gibs"
drydesc = "They look bloody and gruesome while some terrible smell fills the air."
@@ -169,7 +170,7 @@
/obj/effect/decal/cleanable/blood/gibs/proc/spread_movement_effects(datum/move_loop/has_target/source)
SIGNAL_HANDLER
if(isclosedturf(loc) || (isgroundlessturf(loc) && !SSmapping.get_turf_below(loc)))
if(NeverShouldHaveComeHere(loc))
return
new /obj/effect/decal/cleanable/blood/splatter(loc, streak_diseases)
@@ -20,9 +20,8 @@
pixel_x = base_pixel_x + rand(-5, 5)
pixel_y = base_pixel_y + rand(-5, 5)
/obj/effect/decal/cleanable/ash/crematorium
//crematoriums need their own ash cause default ash deletes itself if created in an obj
turf_loc_check = FALSE
/obj/effect/decal/cleanable/ash/NeverShouldHaveComeHere(turf/here_turf)
return !istype(here_turf, /obj/structure/bodycontainer/crematorium) && ..()
/obj/effect/decal/cleanable/ash/large
name = "large pile of ashes"
@@ -36,7 +36,7 @@
/obj/effect/decal/cleanable/robot_debris/proc/spread_movement_effects(datum/move_loop/has_target/source)
SIGNAL_HANDLER
if(isclosedturf(loc) || (isgroundlessturf(loc) && !SSmapping.get_turf_below(loc)))
if(NeverShouldHaveComeHere(loc))
return
if (prob(40))
new /obj/effect/decal/cleanable/oil/streak(loc)
+2 -2
View File
@@ -31,8 +31,8 @@
add_atom_colour(paint_colour, FIXED_COLOUR_PRIORITY)
RegisterSignal(src, COMSIG_OBJ_PAINTED, PROC_REF(on_painted))
/obj/effect/decal/cleanable/crayon/NeverShouldHaveComeHere(turf/T)
return isgroundlessturf(T)
/obj/effect/decal/cleanable/crayon/NeverShouldHaveComeHere(turf/here_turf)
return isgroundlessturf(here_turf)
/obj/effect/decal/cleanable/crayon/proc/on_painted(datum/source, mob/user, obj/item/toy/crayon/spraycan/spraycan, is_dark_color)
SIGNAL_HANDLER
+7 -7
View File
@@ -8,12 +8,11 @@
/obj/effect/decal/Initialize(mapload)
. = ..()
if(turf_loc_check && NeverShouldHaveComeHere(loc))
#ifdef UNIT_TESTS
stack_trace("[name] spawned in a bad turf ([loc]) at [AREACOORD(src)] in \the [get_area(src)]. Please remove it or set turf_loc_check to FALSE on the decal if intended.")
#else
if(NeverShouldHaveComeHere(loc))
if(mapload)
stack_trace("[name] spawned in a bad turf ([loc]) at [AREACOORD(src)] in \the [get_area(src)]. \
Please remove it or allow it to pass NeverShouldHaveComeHere if it's intended.")
return INITIALIZE_HINT_QDEL
#endif
var/static/list/loc_connections = list(
COMSIG_TURF_CHANGE = PROC_REF(on_decal_move),
)
@@ -23,8 +22,9 @@
if(B && B.loc == loc)
qdel(src)
/obj/effect/decal/proc/NeverShouldHaveComeHere(turf/T)
return isclosedturf(T) || (isgroundlessturf(T) && !SSmapping.get_turf_below(T))
///Checks if we are allowed to be in `here_turf`, and returns that result. Subtypes should override this when necessary.
/obj/effect/decal/proc/NeverShouldHaveComeHere(turf/here_turf)
return isclosedturf(here_turf) || (isgroundlessturf(here_turf) && !SSmapping.get_turf_below(here_turf))
/obj/effect/decal/ex_act(severity, target)
qdel(src)
+6 -1
View File
@@ -14,6 +14,9 @@
desc = "They look like human remains. They have a strange aura about them."
icon_state = "remains"
/obj/effect/decal/remains/human/NeverShouldHaveComeHere(turf/here_turf)
return !istype(here_turf, /obj/structure/closet/crate/grave/filled) && ..()
/obj/effect/decal/remains/human/smokey
desc = "They look like human remains. They have a strange, smokey aura about them..."
///Our proximity monitor, for detecting nearby looters.
@@ -48,7 +51,9 @@
/obj/effect/decal/remains/plasma
icon_state = "remainsplasma"
turf_loc_check = FALSE
/obj/effect/decal/remains/plasma/NeverShouldHaveComeHere(turf/here_turf)
return isclosedturf(here_turf)
/obj/effect/decal/remains/xeno
desc = "They look like the remains of something... alien. They have a strange aura about them."
+2 -2
View File
@@ -236,7 +236,7 @@ GLOBAL_LIST_EMPTY(bodycontainers) //Let them act as spawnpoints for revenants an
if(!length(compiled)) // No mobs?
icon_state = "morgue3"
return ..()
if(!(obj_flags & EMAGGED))
for(var/mob/living/occupant as anything in compiled)
var/mob/living/mob_occupant = get_mob_or_brainmob(occupant)
@@ -341,7 +341,7 @@ GLOBAL_LIST_EMPTY(crematoriums)
qdel(O)
if(!locate(/obj/effect/decal/cleanable/ash) in get_step(src, dir))//prevent pile-up
new/obj/effect/decal/cleanable/ash/crematorium(src)
new/obj/effect/decal/cleanable/ash(src)
sleep(3 SECONDS)
@@ -94,7 +94,7 @@
playsound(src, SFX_SPARKS, 100, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
visible_message(span_warning("[src] fizzles and breaks apart!"))
magnification = null
new /obj/effect/decal/cleanable/ash/crematorium(drop_location()) //just in case they're in a locker or other containers it needs to use crematorium ash, see the path itself for an explanation
new /obj/effect/decal/cleanable/ash(drop_location()) //just in case they're in a locker or other containers it needs to use crematorium ash, see the path itself for an explanation
/obj/item/clothing/head/helmet/monkey_sentience/dropped(mob/user)
. = ..()
@@ -73,7 +73,7 @@
if(prob(10))
new /obj/item/stack/ore/iron(src, 1)
new /obj/item/stack/ore/glass(src, 1)
new /obj/effect/decal/remains/human/grave(src, 1)
new /obj/effect/decal/remains/human(src, 1)
else
new /obj/item/stack/sheet/bone(src, 1)
@@ -166,7 +166,7 @@
/obj/structure/closet/crate/grave/filled/PopulateContents() //GRAVEROBBING IS NOW A FEATURE
..()
new /obj/effect/decal/remains/human/grave(src)
new /obj/effect/decal/remains/human(src)
switch(rand(1,8))
if(1)
new /obj/item/coin/gold(src)
@@ -278,9 +278,6 @@
new /obj/effect/decal/cleanable/blood/gibs/old(src)
new /obj/item/book/granter/crafting_recipe/boneyard_notes(src)
/obj/effect/decal/remains/human/grave
turf_loc_check = FALSE
//***Fluff items for lore/intrigue
/obj/item/paper/crumpled/muddy/fluff/elephant_graveyard
name = "posted warning"