diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm index ba259d3782d..bb32a9d462c 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm @@ -27,6 +27,7 @@ new /obj/item/storage/photo_album/ce(src) new /obj/item/storage/box/skillchips/engineering(src) new /obj/item/clothing/suit/hooded/wintercoat/engineering/ce(src) + new /obj/item/circuitboard/machine/rodstopper(src) //SKYRAT EDIT ADDITION /obj/structure/closet/secure_closet/engineering_electrical name = "electrical supplies locker" diff --git a/modular_skyrat/modules/rod-stopper/code/immovable_skyrat.dm b/modular_skyrat/modules/rod-stopper/code/immovable_skyrat.dm new file mode 100644 index 00000000000..7cd84137d9e --- /dev/null +++ b/modular_skyrat/modules/rod-stopper/code/immovable_skyrat.dm @@ -0,0 +1,12 @@ +/obj/effect/immovablerod/Bump(atom/clong) + var/should_self_destroy = FALSE + if(istype(clong, /obj/machinery/rodstopper)) + should_self_destroy = TRUE + . = ..() + if(should_self_destroy) + + visible_message("The rod tears into the rodstopper with a reality-rending screech!") + playsound(src.loc,'sound/effects/supermatter.ogg', 200, TRUE) + + new/obj/boh_tear(src.loc) + qdel(src) diff --git a/modular_skyrat/modules/rod-stopper/code/rodstopper.dm b/modular_skyrat/modules/rod-stopper/code/rodstopper.dm new file mode 100644 index 00000000000..6f40a820275 --- /dev/null +++ b/modular_skyrat/modules/rod-stopper/code/rodstopper.dm @@ -0,0 +1,17 @@ +/obj/item/circuitboard/machine/rodstopper + name = "Rodstopper (Machine Board)" + greyscale_colors = CIRCUIT_COLOR_SCIENCE + build_path = /obj/machinery/rodstopper + req_components = list( + /obj/item/stock_parts/matter_bin = 1, + /obj/item/stack/sheet/plasteel = 1) + +/obj/machinery/rodstopper + name = "rodstopper" + desc = "An advanced machine which can halt immovable rods." + icon = 'modular_skyrat/modules/rod-stopper/icons/rodstopper.dmi' + icon_state = "rodstopper" + density = TRUE + use_power = NO_POWER_USE + circuit = /obj/item/circuitboard/machine/rodstopper + layer = BELOW_OBJ_LAYER diff --git a/modular_skyrat/modules/rod-stopper/icons/rodstopper.dmi b/modular_skyrat/modules/rod-stopper/icons/rodstopper.dmi new file mode 100644 index 00000000000..dda7d4fdfad Binary files /dev/null and b/modular_skyrat/modules/rod-stopper/icons/rodstopper.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 511d90352f3..f766dcf7ba6 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -4273,6 +4273,8 @@ #include "modular_skyrat\modules\random_mining\code\mining_maps.dm" #include "modular_skyrat\modules\roboclothes\code\clothing\robotics_clothing.dm" #include "modular_skyrat\modules\roboclothes\code\vending\wardrobes.dm" +#include "modular_skyrat\modules\rod-stopper\code\immovable_skyrat.dm" +#include "modular_skyrat\modules\rod-stopper\code\rodstopper.dm" #include "modular_skyrat\modules\ruins\space.dm" #include "modular_skyrat\modules\ruins\code\datums\shuttles.dm" #include "modular_skyrat\modules\ruins\code\game\area\areas\ruins\space.dm"