From 447d0e74ce3cfa9dcd9be7e33cd768d192ab2979 Mon Sep 17 00:00:00 2001 From: Zuhayr Date: Sat, 2 Jan 2016 06:25:21 +1030 Subject: [PATCH] Added a colour selector to the floor painter, added the floor painter to the construction and drone modules. --- .../objects/items/devices/floor_painter.dm | 70 ++++--------------- .../mob/living/silicon/robot/robot_modules.dm | 4 ++ 2 files changed, 19 insertions(+), 55 deletions(-) diff --git a/code/game/objects/items/devices/floor_painter.dm b/code/game/objects/items/devices/floor_painter.dm index 1b087f17913..92515407d0b 100644 --- a/code/game/objects/items/devices/floor_painter.dm +++ b/code/game/objects/items/devices/floor_painter.dm @@ -6,7 +6,7 @@ var/decal = "remove all decals" var/paint_dir = "precise" - var/paint_colour = "white" + var/paint_colour = "#FFFFFF" var/list/decals = list( "quarter-turf" = list("path" = /obj/effect/floor_decal/corner, "precise" = 1, "coloured" = 1), @@ -39,37 +39,6 @@ "northeast" = NORTHEAST, "precise" = 0 ) - var/list/paint_colours = list( - "white" = COLOR_WHITE, - "light gray" = COLOR_SILVER, - "dark gray" = COLOR_GRAY, - "blue-gray" = COLOR_BLUE_GRAY, - "pale blue-gray" = COLOR_PALE_BLUE_GRAY, - "green-gray" = COLOR_GREEN_GRAY, - "pale green-gray" = COLOR_PALE_GREEN_GRAY, - "red-gray" = COLOR_RED_GRAY, - "pale red-gray" = COLOR_PALE_RED_GRAY, - "purple-gray" = COLOR_PURPLE_GRAY, - "pale purple-gray" = COLOR_PALE_PURPLE_GRAY, - "black" = COLOR_BLACK, - "red" = COLOR_RED, - "dark red" = COLOR_MAROON, - "yellow" = COLOR_YELLOW, - "dark yellow" = COLOR_OLIVE, - "green" = COLOR_LIME, - "dark green" = COLOR_GREEN, - "cyan" = COLOR_CYAN, - "teal" = COLOR_TEAL, - "blue" = COLOR_BLUE, - "dark blue" = COLOR_NAVY, - "magenta" = COLOR_PINK, - "purple" = COLOR_PURPLE, - "orange" = COLOR_ORANGE, - "dark orange" = COLOR_DARK_ORANGE, - "dark brown" = COLOR_DARK_BROWN, - "brown" = COLOR_BROWN, - "pale brown" = COLOR_BEIGE - ) /obj/item/device/floor_painter/afterattack(var/atom/A, var/mob/user, proximity, params) if(!proximity) @@ -127,36 +96,25 @@ painting_dir = paint_dirs[paint_dir] var/painting_colour - if(paint_colour && !isnull(paint_colours[paint_colour]) && decal_data["coloured"]) - painting_colour = paint_colours[paint_colour] + if(decal_data["coloured"] && paint_colour) + painting_colour = paint_colour new painting_decal(F, painting_dir, painting_colour) -/obj/item/device/floor_painter/attack_self(mob/user as mob) - +/obj/item/device/floor_painter/attack_self(var/mob/user) var/choice = input("Do you wish to change the decal type, paint direction, or paint colour?") as null|anything in list("Decal","Direction", "Colour") - if(choice == "Decal") - var/new_decal = input("Select a decal.") as null|anything in decals - if(new_decal && !isnull(decals[new_decal])) - decal = new_decal - user << "You set \the [src] decal to '[decal]'." + choose_decal() else if(choice == "Direction") - var/new_dir = input("Select a direction.") as null|anything in paint_dirs - if(new_dir && !isnull(paint_dirs[new_dir])) - paint_dir = new_dir - user << "You set \the [src] direction to '[paint_dir]'." + choose_direction() else if(choice == "Colour") - var/new_colour = input("Select a colour.") as null|anything in paint_colours - if(new_colour && !isnull(paint_colours[new_colour])) - paint_colour = new_colour - user << "You set \the [src] colour to '[paint_colour]'." + choose_colour() /obj/item/device/floor_painter/examine(mob/user) ..(user) user << "It is configured to produce the '[decal]' decal with a direction of '[paint_dir]' using [paint_colour] paint." -/obj/item/device/floor_painter/verb/choose_colour(new_colour in paint_colours) +/obj/item/device/floor_painter/verb/choose_colour() set name = "Choose Colour" set desc = "Choose a floor painter colour." set category = "Object" @@ -164,12 +122,12 @@ if(usr.incapacitated()) return - - if(new_colour && !isnull(paint_colours[new_colour])) + var/new_colour = input(usr, "Choose a colour.", "Floor painter", paint_colour) as color|null + if(new_colour && new_colour != paint_colour) paint_colour = new_colour - usr << "You set \the [src] colour to '[paint_colour]'." + usr << "You set \the [src] to paint with a new colour." -/obj/item/device/floor_painter/verb/choose_decal(new_decal in decals) +/obj/item/device/floor_painter/verb/choose_decal() set name = "Choose Decal" set desc = "Choose a floor painter decal." set category = "Object" @@ -178,11 +136,12 @@ if(usr.incapacitated()) return + var/new_decal = input("Select a decal.") as null|anything in decals if(new_decal && !isnull(decals[new_decal])) decal = new_decal usr << "You set \the [src] decal to '[decal]'." -/obj/item/device/floor_painter/verb/choose_direction(new_dir in paint_dirs) +/obj/item/device/floor_painter/verb/choose_direction() set name = "Choose Direction" set desc = "Choose a floor painter direction." set category = "Object" @@ -191,6 +150,7 @@ if(usr.incapacitated()) return + var/new_dir = input("Select a direction.") as null|anything in paint_dirs if(new_dir && !isnull(paint_dirs[new_dir])) paint_dir = new_dir usr << "You set \the [src] direction to '[paint_dir]'." diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 302b8eb1013..a23d328bd33 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -313,6 +313,7 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/weapon/crowbar(src) src.modules += new /obj/item/weapon/pickaxe/plasmacutter(src) src.modules += new /obj/item/device/pipe_painter(src) + src.modules += new /obj/item/device/floor_painter(src) var/datum/matter_synth/metal = new /datum/matter_synth/metal() var/datum/matter_synth/plasteel = new /datum/matter_synth/plasteel() @@ -353,6 +354,7 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/device/analyzer(src) src.modules += new /obj/item/taperoll/engineering(src) src.modules += new /obj/item/weapon/gripper(src) + src.modules += new /obj/item/device/lightreplacer(src) src.modules += new /obj/item/device/pipe_painter(src) src.emag = new /obj/item/borg/stun(src) @@ -676,6 +678,8 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/weapon/gripper(src) src.modules += new /obj/item/weapon/soap(src) src.modules += new /obj/item/weapon/extinguisher(src) + src.modules += new /obj/item/device/pipe_painter(src) + src.modules += new /obj/item/device/floor_painter(src) robot.internals = new/obj/item/weapon/tank/jetpack/carbondioxide(src) src.modules += robot.internals