diff --git a/code/game/sound.dm b/code/game/sound.dm index 84351cdb95..b7e4e4131e 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -200,5 +200,9 @@ 'sound/vore/prey/death_04.ogg','sound/vore/prey/death_05.ogg','sound/vore/prey/death_06.ogg', 'sound/vore/prey/death_07.ogg','sound/vore/prey/death_08.ogg','sound/vore/prey/death_09.ogg', 'sound/vore/prey/death_10.ogg') + if("clang") + soundin = pick('sound/effects/clang1.ogg', 'sound/effects/clang2.ogg') + if("clangsmall") + soundin = pick('sound/effects/clangsmall1.ogg', 'sound/effects/clangsmall2.ogg') //END OF CIT CHANGES return soundin diff --git a/code/modules/recycling/disposal/pipe.dm b/code/modules/recycling/disposal/pipe.dm index 6c269e44be..9f0fd930d7 100644 --- a/code/modules/recycling/disposal/pipe.dm +++ b/code/modules/recycling/disposal/pipe.dm @@ -1,5 +1,7 @@ // Disposal pipes +#define IFFY 2 + /obj/structure/disposalpipe name = "disposal pipe" desc = "An underfloor disposal pipe." @@ -16,6 +18,7 @@ var/dpdir = NONE // bitmask of pipe directions var/initialize_dirs = NONE // bitflags of pipe directions added on init, see \code\_DEFINES\pipe_construction.dm var/flip_type // If set, the pipe is flippable and becomes this type when flipped + var/canclank = FALSE // Determines if the pipe will cause a clank sound when holders pass by it. use the IFFY define for weird-ass edge cases like the segment subtype var/obj/structure/disposalconstruct/stored @@ -75,6 +78,8 @@ H.merge(H2) H.forceMove(P) + if(P.canclank == TRUE || (P.canclank == IFFY && P.dpdir != 3 && P.dpdir != 12)) + playsound(src, H.hasmob ? "clang" : "clangsmall", H.hasmob ? 50 : 25, 1) return P else // if wasn't a pipe, then they're now in our turf H.forceMove(get_turf(src)) @@ -184,6 +189,7 @@ /obj/structure/disposalpipe/segment icon_state = "pipe" initialize_dirs = DISP_DIR_FLIP + canclank = IFFY // A three-way junction with dir being the dominant direction @@ -191,6 +197,7 @@ icon_state = "pipe-j1" initialize_dirs = DISP_DIR_RIGHT | DISP_DIR_FLIP flip_type = /obj/structure/disposalpipe/junction/flip + canclank = TRUE // next direction to move // if coming in from secondary dirs, then next is primary dir @@ -229,6 +236,7 @@ //a trunk joining to a disposal bin or outlet on the same turf /obj/structure/disposalpipe/trunk icon_state = "pipe-t" + canclank = TRUE var/obj/linked // the linked obj/machinery/disposal or obj/disposaloutlet /obj/structure/disposalpipe/trunk/Initialize() @@ -299,3 +307,5 @@ /obj/structure/disposalpipe/broken/deconstruct() qdel(src) + +#undef IFFY diff --git a/code/modules/recycling/disposal/pipe_sorting.dm b/code/modules/recycling/disposal/pipe_sorting.dm index 5e26e9b767..d85c4bca78 100644 --- a/code/modules/recycling/disposal/pipe_sorting.dm +++ b/code/modules/recycling/disposal/pipe_sorting.dm @@ -5,6 +5,7 @@ desc = "An underfloor disposal pipe with a sorting mechanism." icon_state = "pipe-j1s" initialize_dirs = DISP_DIR_RIGHT | DISP_DIR_FLIP + canclank = TRUE /obj/structure/disposalpipe/sorting/nextdir(obj/structure/disposalholder/H) var/sortdir = dpdir & ~(dir | turn(dir, 180)) diff --git a/sound/effects/clang1.ogg b/sound/effects/clang1.ogg new file mode 100644 index 0000000000..eef118e4d4 Binary files /dev/null and b/sound/effects/clang1.ogg differ diff --git a/sound/effects/clang2.ogg b/sound/effects/clang2.ogg new file mode 100644 index 0000000000..175fe98fd1 Binary files /dev/null and b/sound/effects/clang2.ogg differ diff --git a/sound/effects/clangsmall1.ogg b/sound/effects/clangsmall1.ogg new file mode 100644 index 0000000000..7824db66cf Binary files /dev/null and b/sound/effects/clangsmall1.ogg differ diff --git a/sound/effects/clangsmall2.ogg b/sound/effects/clangsmall2.ogg new file mode 100644 index 0000000000..3211e66b75 Binary files /dev/null and b/sound/effects/clangsmall2.ogg differ