diff --git a/code/game/objects/items/devices/pipe_painter.dm b/code/game/objects/items/devices/pipe_painter.dm index c386e64a19d..5fb3f3dc597 100644 --- a/code/game/objects/items/devices/pipe_painter.dm +++ b/code/game/objects/items/devices/pipe_painter.dm @@ -33,7 +33,7 @@ /obj/item/pipe_painter/attack_self(mob/user as mob) - mode = input("Which colour do you want to use?", "Pipe Painter", mode) in modes + mode = input("Which colour do you want to use?", name, mode) in modes /obj/item/pipe_painter/examine(mob/user) . = ..() diff --git a/code/game/objects/items/devices/window_painter.dm b/code/game/objects/items/devices/window_painter.dm new file mode 100644 index 00000000000..ae7d379cfd4 --- /dev/null +++ b/code/game/objects/items/devices/window_painter.dm @@ -0,0 +1,22 @@ +/obj/item/pipe_painter/window_painter + name = "window painter" + icon_state = "window_painter" + + var/list/paintable_windows = list( + /obj/structure/window/reinforced, + /obj/structure/window/basic, + /obj/structure/window/full/reinforced, + /obj/structure/window/full/basic, + /obj/machinery/door/window) + +/obj/item/pipe_painter/window_painter/afterattack(atom/A, mob/user as mob) + if(!is_type_in_list(A, paintable_windows) || !in_range(user, A)) + return + var/obj/structure/window/W = A + + if(W.color == GLOB.pipe_colors[mode]) + to_chat(user, "This window is aready painted [mode]!") + return + + playsound(loc, usesound, 30, TRUE) + W.color = GLOB.pipe_colors[mode] diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm index a014a6be34b..6d274a47ed3 100644 --- a/code/modules/research/designs/autolathe_designs.dm +++ b/code/modules/research/designs/autolathe_designs.dm @@ -187,6 +187,14 @@ build_path = /obj/item/pipe_painter category = list("initial", "Miscellaneous") +/datum/design/window_painter + name = "Window Painter" + id = "window_painter" + build_type = AUTOLATHE + materials = list(MAT_METAL = 5000, MAT_GLASS = 2000) + build_path = /obj/item/pipe_painter/window_painter + category = list("initial", "Miscellaneous") + /datum/design/floorpainter name = "Floor painter" id = "floor_painter" diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index 668d53ea644..a5fdfa24d1d 100644 Binary files a/icons/obj/device.dmi and b/icons/obj/device.dmi differ diff --git a/paradise.dme b/paradise.dme index 5281e747d8f..5034f1fc089 100644 --- a/paradise.dme +++ b/paradise.dme @@ -914,6 +914,7 @@ #include "code\game\objects\items\devices\uplinks.dm" #include "code\game\objects\items\devices\voice.dm" #include "code\game\objects\items\devices\whistle.dm" +#include "code\game\objects\items\devices\window_painter.dm" #include "code\game\objects\items\devices\radio\beacon.dm" #include "code\game\objects\items\devices\radio\electropack.dm" #include "code\game\objects\items\devices\radio\encryptionkey.dm"