mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-27 07:08:00 +01:00
[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:
co-authored by
John Willard
parent
f2157f7554
commit
fd3b832bb8
@@ -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" = (
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user