Allows painting of padded stools, chairs and beds. (#12855)

This commit is contained in:
Wowzewow (Wezzy)
2021-12-26 21:12:36 +01:00
committed by GitHub
parent e2abc62193
commit 96f1c79d0e
8 changed files with 269 additions and 164 deletions
@@ -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.<br>\
@@ -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 <font color='[painted_colour]'>[painted_colour]</font>" : ""]." : " 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))
..()
@@ -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.
@@ -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)