diff --git a/code/__defines/materials.dm b/code/__defines/materials.dm index e3e5f111637..682b02d2488 100644 --- a/code/__defines/materials.dm +++ b/code/__defines/materials.dm @@ -57,13 +57,6 @@ #define MATERIAL_CLOTH "cloth" #define MATERIAL_COTTON "cotton" #define MATERIAL_CARPET "carpet" -#define MATERIAL_CLOTH_TEAL "teal" -#define MATERIAL_CLOTH_BLACK "black" -#define MATERIAL_CLOTH_GREEN "green" -#define MATERIAL_CLOTH_PURPLE "purple" -#define MATERIAL_CLOTH_BLUE "blue" -#define MATERIAL_CLOTH_BEIGE "beige" -#define MATERIAL_CLOTH_LIME "lime" #define MATERIAL_ALTERATION_NONE 0 #define MATERIAL_ALTERATION_NAME 1 diff --git a/code/game/objects/items/devices/floor_painter.dm b/code/game/objects/items/devices/floor_painter.dm index 407a148ef94..54855ed8b88 100644 --- a/code/game/objects/items/devices/floor_painter.dm +++ b/code/game/objects/items/devices/floor_painter.dm @@ -76,14 +76,23 @@ var/obj/structure/heavy_vehicle_frame/EF = A if(istype(EF)) + playsound(get_turf(src), 'sound/effects/spray3.ogg', 30, 1, -6) EF.set_colour(paint_colour) return var/obj/item/mech_component/MC = A if(istype(MC)) + playsound(get_turf(src), 'sound/effects/spray3.ogg', 30, 1, -6) MC.set_colour(paint_colour) return + var/obj/structure/bed/B = A + if(istype(B)) + playsound(get_turf(src), 'sound/effects/spray3.ogg', 30, 1, -6) + B.set_colour(paint_colour) + B.update_icon() + return + var/turf/simulated/floor/F = A if(!istype(F)) to_chat(user, "\The [src] can only be used on station flooring.") diff --git a/code/game/objects/structures/stool_bed_chair_nest/bed.dm b/code/game/objects/structures/stool_bed_chair_nest/bed.dm index faaa4d84047..d24c1a0aea4 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm @@ -25,6 +25,8 @@ var/material_alteration = MATERIAL_ALTERATION_ALL var/buckling_sound = 'sound/effects/buckle.ogg' + var/painted_colour // Used for paint gun and preset colours. I know this name sucks. + var/can_dismantle = TRUE var/can_pad = TRUE @@ -41,7 +43,7 @@ . = ..() LAZYADD(can_buckle, /mob/living) -/obj/structure/bed/New(newloc, new_material = MATERIAL_STEEL, new_padding_material) +/obj/structure/bed/New(newloc, new_material = MATERIAL_STEEL, new_padding_material, new_painted_colour) ..(newloc) if(can_buckle) desc_info = "Click and drag yourself (or anyone) to this to buckle in. Click on this with an empty hand to undo the buckles.
\ @@ -55,6 +57,8 @@ return if(new_padding_material) padding_material = SSmaterials.get_material_by_name(new_padding_material) + if(new_painted_colour) + painted_colour = new_painted_colour update_icon() /obj/structure/bed/buckle(mob/living/M) @@ -80,10 +84,13 @@ // Padding overlay. if(padding_material) var/padding_cache_key = "[base_icon]-[padding_material.name]-padding" - if(!furniture_cache[padding_cache_key]) + if(!furniture_cache[padding_cache_key] || painted_colour) //avoid having to regenerate the image everytime unless painted. var/image/I = image(icon, "[base_icon]_padding") if(material_alteration & MATERIAL_ALTERATION_COLOR) - I.color = padding_material.icon_colour + if(painted_colour) + I.color = painted_colour + else + I.color = padding_material.icon_colour furniture_cache[padding_cache_key] = I add_overlay(furniture_cache[padding_cache_key]) @@ -93,8 +100,13 @@ if(material_alteration & MATERIAL_ALTERATION_DESC) desc = initial(desc) - desc += padding_material ? " It's made of [material.use_name] and covered with [padding_material.use_name]." : " It's made of [material.use_name]." + desc += padding_material ? " It's made of [material.use_name] and covered with [padding_material.use_name][painted_colour ? ", colored in [painted_colour]" : ""]." : " It's made of [material.use_name]." //Yeah plain hex codes suck but at least it's a little funny and less of a headache for players. +/obj/structure/bed/proc/set_colour(new_colour) + if(padding_material) + var/last_colour = painted_colour + painted_colour = new_colour + return painted_colour != last_colour /obj/structure/bed/forceMove(atom/dest) . = ..() @@ -162,6 +174,7 @@ return to_chat(user, "You remove the padding from \the [src].") playsound(src, 'sound/items/wirecutter.ogg', 100, 1) + painted_colour = null remove_padding() else if (W.isscrewdriver()) @@ -197,6 +210,9 @@ W.pixel_x = 10 //make sure they reach the pillow W.pixel_y = -6 + else if(istype(W, /obj/item/device/floor_painter)) + return + else if(!istype(W, /obj/item/bedsheet)) ..() diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm index 3852781ab3e..76523e045fe 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm @@ -84,33 +84,42 @@ if(mover.density && isliving(mover) && (reverse_dir[dir] & angle2dir(Get_Angle(src, mover)))) return FALSE return ..() - + /obj/structure/bed/stool/chair/padded/brown/New(var/newloc) ..(newloc, MATERIAL_STEEL, MATERIAL_LEATHER) +/obj/structure/bed/stool/chair/padded/black/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_DARK_GRAY) + +/obj/structure/bed/stool/chair/padded/beige/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_BEIGE) + /obj/structure/bed/stool/chair/padded/red/New(var/newloc) ..(newloc, MATERIAL_STEEL, MATERIAL_CARPET) -/obj/structure/bed/stool/chair/padded/teal/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_TEAL) +/obj/structure/bed/stool/chair/padded/orange/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_ORANGE) -/obj/structure/bed/stool/chair/padded/black/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_BLACK) +/obj/structure/bed/stool/chair/padded/yellow/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_YELLOW) /obj/structure/bed/stool/chair/padded/green/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_GREEN) - -/obj/structure/bed/stool/chair/padded/purp/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_PURPLE) - -/obj/structure/bed/stool/chair/padded/blue/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_BLUE) - -/obj/structure/bed/stool/chair/padded/beige/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_BEIGE) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_GREEN) /obj/structure/bed/stool/chair/padded/lime/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_LIME) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_LIME) + +/obj/structure/bed/stool/chair/padded/blue/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_BLUE) + +/obj/structure/bed/stool/chair/padded/teal/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_TEAL) + +/obj/structure/bed/stool/chair/padded/purple/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_PURPLE) + +/obj/structure/bed/stool/chair/padded/violet/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_VIOLET) /obj/structure/bed/stool/chair/sofa name = "sofa" @@ -121,29 +130,38 @@ /obj/structure/bed/stool/chair/sofa/brown/New(var/newloc) ..(newloc, MATERIAL_STEEL, MATERIAL_LEATHER) +/obj/structure/bed/stool/chair/sofa/black/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_DARK_GRAY) + +/obj/structure/bed/stool/chair/sofa/beige/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_BEIGE) + /obj/structure/bed/stool/chair/sofa/red/New(var/newloc) ..(newloc, MATERIAL_STEEL, MATERIAL_CARPET) -/obj/structure/bed/stool/chair/sofa/teal/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_TEAL) +/obj/structure/bed/stool/chair/sofa/orange/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_ORANGE) -/obj/structure/bed/stool/chair/sofa/black/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_BLACK) +/obj/structure/bed/stool/chair/sofa/yellow/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_YELLOW) /obj/structure/bed/stool/chair/sofa/green/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_GREEN) - -/obj/structure/bed/stool/chair/sofa/purp/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_PURPLE) - -/obj/structure/bed/stool/chair/sofa/blue/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_BLUE) - -/obj/structure/bed/stool/chair/sofa/beige/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_GREEN) /obj/structure/bed/stool/chair/sofa/lime/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_LIME) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_LIME) + +/obj/structure/bed/stool/chair/sofa/blue/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_BLUE) + +/obj/structure/bed/stool/chair/sofa/teal/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_TEAL) + +/obj/structure/bed/stool/chair/sofa/purple/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_PURPLE) + +/obj/structure/bed/stool/chair/sofa/violet/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_VIOLET) /obj/structure/bed/stool/chair/sofa/left icon_state = "sofaend_left_preview" @@ -152,29 +170,38 @@ /obj/structure/bed/stool/chair/sofa/left/brown/New(var/newloc) ..(newloc, MATERIAL_STEEL, MATERIAL_LEATHER) +/obj/structure/bed/stool/chair/sofa/left/black/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_DARK_GRAY) + +/obj/structure/bed/stool/chair/sofa/left/beige/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_BEIGE) + /obj/structure/bed/stool/chair/sofa/left/red/New(var/newloc) ..(newloc, MATERIAL_STEEL, MATERIAL_CARPET) -/obj/structure/bed/stool/chair/sofa/left/teal/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_TEAL) +/obj/structure/bed/stool/chair/sofa/left/orange/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_ORANGE) -/obj/structure/bed/stool/chair/sofa/left/black/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_BLACK) +/obj/structure/bed/stool/chair/sofa/left/yellow/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_YELLOW) /obj/structure/bed/stool/chair/sofa/left/green/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_GREEN) - -/obj/structure/bed/stool/chair/sofa/left/purp/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_PURPLE) - -/obj/structure/bed/stool/chair/sofa/left/blue/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_BLUE) - -/obj/structure/bed/stool/chair/sofa/left/beige/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_GREEN) /obj/structure/bed/stool/chair/sofa/left/lime/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_LIME) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_LIME) + +/obj/structure/bed/stool/chair/sofa/left/blue/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_BLUE) + +/obj/structure/bed/stool/chair/sofa/left/teal/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_TEAL) + +/obj/structure/bed/stool/chair/sofa/left/purple/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_PURPLE) + +/obj/structure/bed/stool/chair/sofa/left/violet/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_VIOLET) /obj/structure/bed/stool/chair/sofa/right icon_state = "sofaend_right_preview" @@ -183,29 +210,39 @@ /obj/structure/bed/stool/chair/sofa/right/brown/New(var/newloc) ..(newloc, MATERIAL_STEEL, MATERIAL_LEATHER) +/obj/structure/bed/stool/chair/sofa/right/black/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_DARK_GRAY) + +/obj/structure/bed/stool/chair/sofa/right/beige/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_BEIGE) + /obj/structure/bed/stool/chair/sofa/right/red/New(var/newloc) ..(newloc, MATERIAL_STEEL, MATERIAL_CARPET) -/obj/structure/bed/stool/chair/sofa/right/teal/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_TEAL) +/obj/structure/bed/stool/chair/sofa/right/orange/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_ORANGE) -/obj/structure/bed/stool/chair/sofa/right/black/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_BLACK) +/obj/structure/bed/stool/chair/sofa/right/yellow/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_YELLOW) /obj/structure/bed/stool/chair/sofa/right/green/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_GREEN) - -/obj/structure/bed/stool/chair/sofa/right/purp/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_PURPLE) - -/obj/structure/bed/stool/chair/sofa/right/blue/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_BLUE) - -/obj/structure/bed/stool/chair/sofa/right/beige/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_GREEN) /obj/structure/bed/stool/chair/sofa/right/lime/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_LIME) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_LIME) + +/obj/structure/bed/stool/chair/sofa/right/blue/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_BLUE) + +/obj/structure/bed/stool/chair/sofa/right/teal/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_TEAL) + +/obj/structure/bed/stool/chair/sofa/right/purple/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_PURPLE) + +/obj/structure/bed/stool/chair/sofa/right/violet/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_VIOLET) + /obj/structure/bed/stool/chair/sofa/corner icon_state = "sofacorner_preview" @@ -214,29 +251,38 @@ /obj/structure/bed/stool/chair/sofa/corner/brown/New(var/newloc) ..(newloc, MATERIAL_STEEL, MATERIAL_LEATHER) +/obj/structure/bed/stool/chair/sofa/corner/black/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_DARK_GRAY) + +/obj/structure/bed/stool/chair/sofa/corner/beige/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_BEIGE) + /obj/structure/bed/stool/chair/sofa/corner/red/New(var/newloc) ..(newloc, MATERIAL_STEEL, MATERIAL_CARPET) -/obj/structure/bed/stool/chair/sofa/corner/teal/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_TEAL) +/obj/structure/bed/stool/chair/sofa/corner/orange/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_ORANGE) -/obj/structure/bed/stool/chair/sofa/corner/black/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_BLACK) +/obj/structure/bed/stool/chair/sofa/corner/yellow/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_YELLOW) /obj/structure/bed/stool/chair/sofa/corner/green/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_GREEN) - -/obj/structure/bed/stool/chair/sofa/corner/purp/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_PURPLE) - -/obj/structure/bed/stool/chair/sofa/corner/blue/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_BLUE) - -/obj/structure/bed/stool/chair/sofa/corner/beige/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_GREEN) /obj/structure/bed/stool/chair/sofa/corner/lime/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_LIME) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_LIME) + +/obj/structure/bed/stool/chair/sofa/corner/blue/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_BLUE) + +/obj/structure/bed/stool/chair/sofa/corner/teal/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_TEAL) + +/obj/structure/bed/stool/chair/sofa/corner/purple/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_PURPLE) + +/obj/structure/bed/stool/chair/sofa/corner/violet/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_VIOLET) /obj/structure/bed/stool/chair/office // For the love of god, don't use this. diff --git a/code/game/objects/structures/stool_bed_chair_nest/stools.dm b/code/game/objects/structures/stool_bed_chair_nest/stools.dm index b6590f0ad32..10c27632dd8 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/stools.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/stools.dm @@ -28,12 +28,15 @@ S.name = name // Get the name and desc of the stool, rather. We already went through all the trouble in New in bed.dm if(material_alteration & MATERIAL_ALTERATION_DESC) S.desc = desc + if(painted_colour) + S.painted_colour = painted_colour if(blood_DNA) S.blood_DNA |= blood_DNA // Transfer blood, if any. S.add_blood() S.dir = dir S.add_fingerprint(usr) usr.put_in_hands(S) + S.update_icon() qdel(src) /obj/structure/bed/stool/wood/New(var/newloc) @@ -45,29 +48,38 @@ /obj/structure/bed/stool/padded/brown/New(var/newloc) ..(newloc, MATERIAL_STEEL, MATERIAL_LEATHER) +/obj/structure/bed/stool/padded/black/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_DARK_GRAY) + +/obj/structure/bed/stool/padded/beige/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_BEIGE) + /obj/structure/bed/stool/padded/red/New(var/newloc) ..(newloc, MATERIAL_STEEL, MATERIAL_CARPET) -/obj/structure/bed/stool/padded/teal/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_TEAL) +/obj/structure/bed/stool/padded/orange/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_ORANGE) -/obj/structure/bed/stool/padded/black/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_BLACK) +/obj/structure/bed/stool/padded/yellow/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_YELLOW) /obj/structure/bed/stool/padded/green/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_GREEN) - -/obj/structure/bed/stool/padded/purp/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_PURPLE) - -/obj/structure/bed/stool/padded/blue/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_BLUE) - -/obj/structure/bed/stool/padded/beige/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_BEIGE) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_GREEN) /obj/structure/bed/stool/padded/lime/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_LIME) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_LIME) + +/obj/structure/bed/stool/padded/blue/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_BLUE) + +/obj/structure/bed/stool/padded/teal/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_TEAL) + +/obj/structure/bed/stool/padded/purple/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_PURPLE) + +/obj/structure/bed/stool/padded/violet/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_VIOLET) /obj/structure/bed/stool/wood/New(var/newloc) ..(newloc, MATERIAL_WOOD) @@ -86,32 +98,45 @@ /obj/structure/bed/stool/bar/padded icon_state = "bar_stool_padded_preview" +// ROYGBIV colors for convenience. Mappers can use custom hex codes or defines if they want special colors. + + /obj/structure/bed/stool/bar/padded/brown/New(var/newloc) ..(newloc, MATERIAL_STEEL, MATERIAL_LEATHER) +/obj/structure/bed/stool/bar/padded/black/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_DARK_GRAY) + +/obj/structure/bed/stool/bar/padded/beige/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_BEIGE) + /obj/structure/bed/stool/bar/padded/red/New(var/newloc) ..(newloc, MATERIAL_STEEL, MATERIAL_CARPET) -/obj/structure/bed/stool/bar/padded/teal/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_TEAL) +/obj/structure/bed/stool/bar/padded/orange/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_ORANGE) -/obj/structure/bed/stool/bar/padded/black/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_BLACK) +/obj/structure/bed/stool/bar/padded/yellow/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_YELLOW) /obj/structure/bed/stool/bar/padded/green/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_GREEN) - -/obj/structure/bed/stool/bar/padded/purp/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_PURPLE) - -/obj/structure/bed/stool/bar/padded/blue/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_BLUE) - -/obj/structure/bed/stool/bar/padded/beige/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_BEIGE) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_GREEN) /obj/structure/bed/stool/bar/padded/lime/New(var/newloc) - ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH_LIME) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_LIME) + +/obj/structure/bed/stool/bar/padded/blue/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_BLUE) + +/obj/structure/bed/stool/bar/padded/teal/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_TEAL) + +/obj/structure/bed/stool/bar/padded/purple/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_PURPLE) + +/obj/structure/bed/stool/bar/padded/violet/New(var/newloc) + ..(newloc, MATERIAL_STEEL, MATERIAL_CLOTH, COLOR_VIOLET) + /obj/structure/bed/stool/bar/wood/New(var/newloc) ..(newloc, MATERIAL_WOOD) @@ -152,6 +177,7 @@ var/material/padding_material var/obj/structure/bed/stool/origin_type = /obj/structure/bed/stool var/deploy_verb = "right" + var/painted_colour /obj/item/material/stool/New(var/newloc, var/new_material, var/new_padding_material) ..(newloc, new_material) // new_material handled in material_weapons.dm @@ -231,7 +257,10 @@ padding_overlay.appearance_flags = RESET_COLOR build_from_parts = TRUE worn_overlay = "padding" - if(padding_material.icon_colour) + if(painted_colour) + padding_overlay.color = painted_colour + worn_overlay_color = painted_colour + else if(padding_material.icon_colour) padding_overlay.color = padding_material.icon_colour worn_overlay_color = padding_material.icon_colour add_overlay(padding_overlay) diff --git a/code/modules/materials/material_sheets.dm b/code/modules/materials/material_sheets.dm index e31abc45a56..c8cd3f89c43 100644 --- a/code/modules/materials/material_sheets.dm +++ b/code/modules/materials/material_sheets.dm @@ -13,6 +13,7 @@ var/material/material var/perunit var/apply_colour //temp pending icon rewrite + var/painted_colour var/use_material_sound = TRUE /obj/item/stack/material/Initialize(mapload, amount) @@ -32,7 +33,9 @@ perunit = SHEET_MATERIAL_AMOUNT if(apply_colour) - color = material.icon_colour + var/image/I = new(icon, icon_state) + I.color = material.icon_colour + add_overlay(I) if(use_material_sound) // SEE MATERIALS.DM drop_sound = material.drop_sound @@ -61,8 +64,16 @@ /obj/item/stack/material/update_icon() . = ..() + cut_overlays() if(material) update_strings() + if(apply_colour) // This is ass, but stops maptext from getting colored. + var/image/I = new(icon, icon_state) + if(!painted_colour) + I.color = material.icon_colour + else + I.color = painted_colour + add_overlay(I) /obj/item/stack/material/transfer_to(obj/item/stack/S, var/tamount=null, var/type_verified) var/obj/item/stack/material/M = S @@ -92,7 +103,7 @@ name = "iron" icon_state = "sheet-silver" default_type = MATERIAL_IRON - apply_colour = 1 + apply_colour = TRUE /obj/item/stack/material/iron/full/Initialize() . = ..() @@ -223,7 +234,7 @@ name = "tritium" icon_state = "sheet-silver" default_type = MATERIAL_TRITIUM - apply_colour = 1 + apply_colour = TRUE /obj/item/stack/material/tritium/full/Initialize() . = ..() @@ -234,7 +245,7 @@ name = "osmium" icon_state = "sheet-silver" default_type = MATERIAL_OSMIUM - apply_colour = 1 + apply_colour = TRUE /obj/item/stack/material/osmium/full/Initialize() . = ..() @@ -315,6 +326,7 @@ icon_state = "sheet-cloth" default_type = MATERIAL_CLOTH icon_has_variants = TRUE + apply_colour = TRUE /obj/item/stack/material/cloth/full/Initialize() . = ..() diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index 965f517e117..6b42033b2a6 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -893,48 +893,6 @@ pickup_sound = 'sound/items/pickup/cloth.ogg' weapon_hitsound = 'sound/weapons/towelwhip.ogg' -/material/cloth/teal - name = MATERIAL_CLOTH_TEAL - display_name ="teal" - use_name = "teal cloth" - icon_colour = "#00EAFA" - -/material/cloth/black - name = MATERIAL_CLOTH_BLACK - display_name = "black" - use_name = "black cloth" - icon_colour = "#505050" - -/material/cloth/green - name = MATERIAL_CLOTH_GREEN - display_name = "green" - use_name = "green cloth" - icon_colour = "#01C608" - -/material/cloth/purple - name = MATERIAL_CLOTH_PURPLE - display_name = "purple" - use_name = "purple cloth" - icon_colour = "#9C56C4" - -/material/cloth/blue - name = MATERIAL_CLOTH_BLUE - display_name = "blue" - use_name = "blue cloth" - icon_colour = "#6B6FE3" - -/material/cloth/beige - name = MATERIAL_CLOTH_BEIGE - display_name = "beige" - use_name = "beige cloth" - icon_colour = "#E8E7C8" - -/material/cloth/lime - name = MATERIAL_CLOTH_LIME - display_name = "lime" - use_name = "lime cloth" - icon_colour = "#62E36C" - /material/hide //TODO make different hides somewhat different among them name = MATERIAL_HIDE stack_origin_tech = list(TECH_MATERIAL = 2) diff --git a/html/changelogs/wezzy_paint_stuff.yml b/html/changelogs/wezzy_paint_stuff.yml new file mode 100644 index 00000000000..d650ff2a28c --- /dev/null +++ b/html/changelogs/wezzy_paint_stuff.yml @@ -0,0 +1,42 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: Wowzewow (Wezzy) + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "You can now paint padded chairs, beds, and stools using the paint gun." + - bugfix: "Fixes colored materials coloring the stack number weirdly."