diff --git a/code/game/objects/structures/__structure.dm b/code/game/objects/structures/__structure.dm index 7d04f64b169..33bb9fb9102 100644 --- a/code/game/objects/structures/__structure.dm +++ b/code/game/objects/structures/__structure.dm @@ -254,6 +254,12 @@ ) victim.standard_weapon_hit_effects(S, user, S.expend_attack_force()*2, BP_HEAD) qdel(grab) + return TRUE + else if(can_buckle && !buckled_mob && istype(victim) && istype(user)) + user.visible_message(SPAN_NOTICE("\The [user] attempts to put \the [victim] onto \the [src]!")) + if(do_after(user, 2 SECONDS, src) && !QDELETED(victim) && !QDELETED(user) && !QDELETED(grab) && user_buckle_mob(victim, user)) + qdel(grab) + return TRUE else if(atom_flags & ATOM_FLAG_CLIMBABLE) var/obj/occupied = turf_is_crowded() if (occupied) diff --git a/code/game/objects/structures/_structure_icon.dm b/code/game/objects/structures/_structure_icon.dm index 3f3c7e7e4ec..12bbc26f160 100644 --- a/code/game/objects/structures/_structure_icon.dm +++ b/code/game/objects/structures/_structure_icon.dm @@ -56,6 +56,7 @@ var/global/list/default_noblend_objects = list(/obj/machinery/door/window, /obj/ var/list/dirs var/list/other_dirs + // TODO: Allow structures to limit dirs? for(var/direction in global.alldirs) var/turf/T = get_step(src, direction) if(T) diff --git a/code/game/objects/structures/beds/bed.dm b/code/game/objects/structures/beds/bed.dm index fdcdff9a143..d46f354729b 100644 --- a/code/game/objects/structures/beds/bed.dm +++ b/code/game/objects/structures/beds/bed.dm @@ -2,12 +2,11 @@ // TODO by end of Q2 2025: Repath /obj/structure/bed/chair to just /obj/structure/chair. // Remaining steps: // - Move padding interactions and padding_color var onto an extension -// - Allow /obj/structure/grab_attack to handle buckling /obj/structure/bed name = "bed" desc = "A raised, padded platform for sleeping on. This one has straps for ensuring restful snoozing in microgravity." - icon = 'icons/obj/furniture.dmi' - icon_state = "bed" + icon = 'icons/obj/structures/furniture/bed.dmi' + icon_state = ICON_STATE_WORLD anchored = TRUE can_buckle = TRUE buckle_dir = SOUTH @@ -20,7 +19,6 @@ parts_type = /obj/item/stack/material/rods user_comfort = 1 obj_flags = OBJ_FLAG_SUPPORT_MOB - var/base_icon = "bed" var/padding_color /obj/structure/bed/user_can_mousedrop_onto(mob/user, atom/being_dropped, incapacitation_flags, params) @@ -37,13 +35,16 @@ /obj/structure/bed/get_surgery_success_modifier(delicate) return delicate ? -5 : 0 -/obj/structure/bed/update_material_name() +/obj/structure/bed/update_material_name(override_name) + var/base_name = override_name || initial(name) + var/new_name = base_name if(reinf_material) - SetName("[reinf_material.adjective_name] [initial(name)]") + new_name = "[reinf_material.adjective_name] [base_name]" else if(material) - SetName("[material.adjective_name] [initial(name)]") - else - SetName(initial(name)) + new_name = "[material.adjective_name] [base_name]" + if(name_prefix) + new_name = "[name_prefix] [new_name]" + SetName(new_name) /obj/structure/bed/update_material_desc() if(reinf_material) @@ -51,10 +52,12 @@ else desc = "[initial(desc)] It's made of [material.use_name]." -// Reuse the cache/code from stools, todo maybe unify. +/obj/structure/bed/proc/get_base_icon() + return ICON_STATE_WORLD + /obj/structure/bed/on_update_icon() ..() - icon_state = base_icon + icon_state = get_base_icon() if(istype(reinf_material)) if(material_alteration & MAT_FLAG_ALTERATION_COLOR) add_overlay(overlay_image(icon, "[icon_state]_padding", padding_color || reinf_material.color, RESET_COLOR)) @@ -122,15 +125,6 @@ remove_padding() return TRUE -/obj/structure/bed/grab_attack(obj/item/grab/grab, mob/user) - var/mob/living/victim = grab.get_affecting_mob() - if(istype(victim) && istype(user)) - user.visible_message(SPAN_NOTICE("\The [user] attempts to put \the [victim] onto \the [src]!")) - if(do_after(user, 2 SECONDS, src) && !QDELETED(victim) && !QDELETED(user) && !QDELETED(grab) && user_buckle_mob(victim, user)) - qdel(grab) - return TRUE - return ..() - /obj/structure/bed/proc/add_padding(var/padding_type, var/new_padding_color) reinf_material = GET_DECL(padding_type) padding_color = new_padding_color @@ -149,7 +143,7 @@ /obj/structure/bed/psych name = "psychiatrist's couch" desc = "For prime comfort during psychiatric evaluations." - icon_state = "psychbed" + icon = 'icons/obj/structures/furniture/bed_psych.dmi' material = /decl/material/solid/organic/wood/walnut /obj/structure/bed/psych/leather diff --git a/code/game/objects/structures/beds/bedroll.dm b/code/game/objects/structures/beds/bedroll.dm index 27d710d9cdb..27971d1b66f 100644 --- a/code/game/objects/structures/beds/bedroll.dm +++ b/code/game/objects/structures/beds/bedroll.dm @@ -1,7 +1,7 @@ /obj/item/bedroll name = "bedroll" desc = "A thick, padded bag big enough for a human to huddle in, rolled into a tight tube for easy-ish transport." - icon = 'icons/obj/structures/bedroll.dmi' + icon = 'icons/obj/structures/bedroll_rolled.dmi' icon_state = ICON_STATE_WORLD w_class = ITEM_SIZE_LARGE material = /decl/material/solid/organic/leather @@ -44,8 +44,6 @@ desc = "A thick, padded bag big enough for a human to huddle in. It's better than sleeping on the ground." user_comfort = 0.65 icon = 'icons/obj/structures/bedroll.dmi' - icon_state = "bedroll" - base_icon = "bedroll" w_class = ITEM_SIZE_LARGE anchored = FALSE material = /decl/material/solid/organic/leather diff --git a/code/game/objects/structures/beds/simple_bed.dm b/code/game/objects/structures/beds/simple_bed.dm index 100527ea293..b12a5d5201e 100644 --- a/code/game/objects/structures/beds/simple_bed.dm +++ b/code/game/objects/structures/beds/simple_bed.dm @@ -1,6 +1,6 @@ /obj/structure/bed/simple desc = "A slatted wooden bed." - icon = 'icons/obj/structures/simple_bed.dmi' + icon = 'icons/obj/structures/furniture/bed_simple.dmi' icon_state = "bed_padded_preview" // For map editor preview purposes parts_type = /obj/item/stack/material/plank material = /decl/material/solid/organic/wood/oak diff --git a/code/game/objects/structures/beds/travois.dm b/code/game/objects/structures/beds/travois.dm deleted file mode 100644 index b1ce37f8540..00000000000 --- a/code/game/objects/structures/beds/travois.dm +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Travois used to drag mobs in low-tech settings. - */ -// TODO: Should this really be a bed subtype? -// Only really needs the base_icon and grab_attack handling from beds, doesn't it? -/obj/structure/bed/travois - name = "travois" - anchored = FALSE - icon_state = ICON_STATE_WORLD - base_icon = ICON_STATE_WORLD - icon = 'icons/obj/structures/travois.dmi' - buckle_pixel_shift = list("x" = 0, "y" = 0, "z" = 6) - movable_flags = MOVABLE_FLAG_WHEELED - user_comfort = 0 - material = /decl/material/solid/organic/wood/oak - -/obj/structure/bed/travois/can_apply_padding() - return FALSE \ No newline at end of file diff --git a/code/game/objects/structures/benches/bench.dm b/code/game/objects/structures/benches/bench.dm index c2b6fb98c3b..8e8ed2688a3 100644 --- a/code/game/objects/structures/benches/bench.dm +++ b/code/game/objects/structures/benches/bench.dm @@ -2,109 +2,98 @@ /obj/structure/bed/chair/bench name = "bench" desc = "A simple slatted bench." - icon = 'icons/obj/structures/benches.dmi' - icon_state = "bench_standing" - base_icon = "bench" + icon = 'icons/obj/structures/furniture/bench.dmi' + icon_state = ICON_STATE_WORLD + "_standing" color = WOOD_COLOR_GENERIC reinf_material = null material = /decl/material/solid/organic/wood/oak obj_flags = 0 anchored = TRUE - var/connect_neighbors = TRUE + /// A bitfield of connected neighbors. + var/neighbors = 0 /obj/structure/bed/chair/bench/should_have_alpha_mask() - return simulated && isturf(loc) && connect_neighbors && !(locate(/obj/structure/bed/chair/bench) in get_step(loc, SOUTH)) + if(!simulated || !isturf(loc)) + return FALSE + var/obj/structure/bed/chair/bench/south_neighbor = locate() in get_step(loc, SOUTH) + if(can_visually_connect_to(south_neighbor)) // if we're connected to a south neighbor don't add an alpha mask + return TRUE + return TRUE -/obj/structure/bed/chair/bench/single - name = "slatted seat" - base_icon = "bench_standing" - anchored = FALSE - connect_neighbors = FALSE +// TODO: make this use the generic structure smoothing system? +/obj/structure/bed/chair/bench/can_visually_connect_to(var/obj/structure/bed/chair/bench/other) + return istype(other) && other.dir == dir && other.icon == icon && other.material == material /obj/structure/bed/chair/bench/Initialize(mapload) - . = ..() - if(connect_neighbors) - . = INITIALIZE_HINT_LATELOAD + ..() + return INITIALIZE_HINT_LATELOAD /obj/structure/bed/chair/bench/LateInitialize(mapload) ..() - if(connect_neighbors) - if(mapload) - update_base_icon() - else - update_neighbors() + if(mapload) + recalculate_connections() + else + update_neighbors() /obj/structure/bed/chair/bench/Destroy() var/oldloc = loc . = ..() - if(connect_neighbors) - update_neighbors(oldloc) + update_neighbors(oldloc) /obj/structure/bed/chair/bench/set_dir() var/olddir = dir . = ..() - if(. && connect_neighbors) + if(.) update_neighbors(update_dir = olddir, skip_icon_update = TRUE) update_neighbors(update_dir = dir) /obj/structure/bed/chair/bench/Move() var/oldloc = loc . = ..() - if(. && connect_neighbors) + if(.) update_neighbors(oldloc, skip_icon_update = TRUE) update_neighbors(loc) /obj/structure/bed/chair/bench/proc/update_neighbors(update_loc = loc, update_dir = dir, skip_icon_update) - if(!connect_neighbors) - return if(!skip_icon_update) - update_base_icon() + recalculate_connections() if(!isturf(update_loc)) return for(var/stepdir in list(turn(update_dir, -90), turn(update_dir, 90))) for(var/obj/structure/bed/chair/bench/other in get_step(update_loc, stepdir)) - other.update_base_icon() - -/obj/structure/bed/chair/bench/proc/update_base_icon() - - if(!connect_neighbors) - return - - base_icon = initial(base_icon) + other.recalculate_connections() +// TODO: Make this use base structure smoothing eventually? Somehow? +/obj/structure/bed/chair/bench/proc/recalculate_connections() + neighbors = 0 if(!isturf(loc)) - base_icon = "[base_icon]_standing" + neighbors = 0 else - var/neighbors = 0 - var/left_dir = turn(dir, -90) - var/right_dir = turn(dir, 90) - for(var/checkdir in list(left_dir, right_dir)) + for(var/checkdir in list(turn(dir, -90), turn(dir, 90))) var/turf/check_turf = get_step(loc, checkdir) for(var/obj/structure/bed/chair/bench/other in check_turf) - if(other.connect_neighbors && other.dir == dir && initial(other.base_icon) == base_icon && other.material == material) + // TODO: Make this use normal structure smoothing helpers. + if(other.dir == dir && other.icon == icon && other.material == material) neighbors |= checkdir break - - if(neighbors & left_dir) - if(neighbors & right_dir) - base_icon = "[base_icon]_middle" - else - base_icon = "[base_icon]_right" - else if(neighbors & right_dir) - base_icon = "[base_icon]_left" - else - base_icon = "[base_icon]_standing" - update_icon() -/obj/structure/bed/chair/bench/proc/get_material_icon() - return material?.bench_icon - -/obj/structure/bed/chair/bench/update_materials() +/obj/structure/bed/chair/bench/get_base_icon() . = ..() - var/icon/material_icon = get_material_icon() - if(material_icon) - icon = material_icon + var/left_dir = turn(dir, -90) + var/right_dir = turn(dir, 90) + if(neighbors & left_dir) + if(neighbors & right_dir) + . += "_middle" + else + . += "_right" + else if(neighbors & right_dir) + . += "_left" + else + . += "_standing" + +/obj/structure/bed/chair/bench/get_material_icon() + return material?.bench_icon || initial(icon) /obj/structure/bed/chair/bench/mahogany color = WOOD_COLOR_RICH diff --git a/code/game/objects/structures/benches/lounge.dm b/code/game/objects/structures/benches/lounge.dm index 046ccc3c034..b426a84b3f7 100644 --- a/code/game/objects/structures/benches/lounge.dm +++ b/code/game/objects/structures/benches/lounge.dm @@ -1,12 +1,11 @@ /obj/structure/bed/chair/bench/lounge name = "lounge" desc = "An elegant lounge, perfect for reclining on." - icon = 'icons/obj/structures/lounge.dmi' - icon_state = "lounge_standing" - base_icon = "lounge" + icon = 'icons/obj/structures/furniture/lounge.dmi' +// Just use the existing icon. /obj/structure/bed/chair/bench/lounge/get_material_icon() - return icon + return icon || initial(icon) /obj/structure/bed/chair/bench/lounge/mapped color = /decl/material/solid/organic/wood/mahogany::color diff --git a/code/game/objects/structures/benches/pew.dm b/code/game/objects/structures/benches/pew.dm index 272d62c5116..0b5f9211d81 100644 --- a/code/game/objects/structures/benches/pew.dm +++ b/code/game/objects/structures/benches/pew.dm @@ -1,18 +1,10 @@ /obj/structure/bed/chair/bench/pew name = "pew" desc = "A long bench with a backboard, commonly found in places of worship, courtrooms and so on. Not known for being particularly comfortable." - icon = 'icons/obj/structures/pews.dmi' - icon_state = "pew_standing" - base_icon = "pew" + icon = 'icons/obj/structures/furniture/pew.dmi' /obj/structure/bed/chair/bench/pew/get_material_icon() - return material?.pew_icon - -/obj/structure/bed/chair/bench/pew/single - name = "backed chair" - desc = "A tall chair with a sturdy back. Not very comfortable." - base_icon = "pew_standing" - connect_neighbors = FALSE + return material?.pew_icon || initial(icon) /obj/structure/bed/chair/bench/pew/mahogany color = /decl/material/solid/organic/wood/mahogany::color diff --git a/code/game/objects/structures/chairs/chairs.dm b/code/game/objects/structures/chairs/chairs.dm index f2e6ebadec4..aa255dad7b9 100644 --- a/code/game/objects/structures/chairs/chairs.dm +++ b/code/game/objects/structures/chairs/chairs.dm @@ -1,13 +1,13 @@ -//YES, chairs are a type of bed, which are a type of stool. This works, believe me. -Pete +//YES, chairs are a type of bed. Hopefully this will be fixed by the end of Q2 2025. /obj/structure/bed/chair name = "chair" desc = "You sit in this, either by will or force." - icon_state = "chair_preview" + icon = 'icons/obj/structures/furniture/chair.dmi' + icon_state = "world_preview" color = "#666666" buckle_dir = 0 buckle_lying = 0 //force people to sit up in chairs when buckled obj_flags = OBJ_FLAG_ROTATABLE | OBJ_FLAG_SUPPORT_MOB - base_icon = "chair" user_comfort = 0.5 var/propelled = 0 // Check for fire-extinguisher-driven chairs @@ -22,40 +22,50 @@ update_icon() return ..() -/obj/structure/bed/chair/on_update_icon() - ..() - icon_state = base_icon +/// Returns an alternate icon based on our material. +/// Mostly used by benches. +/// TODO: Refactor to eliminate? +/obj/structure/bed/chair/proc/get_material_icon() + return icon +/obj/structure/bed/chair/update_materials() + . = ..() + var/icon/material_icon = get_material_icon() + if(material_icon) + icon = material_icon + +/obj/structure/bed/chair/on_update_icon() + ..() // handles setting icon_state to get_base_icon(), and adds padding var/base_color = get_color() var/reinf_color = padding_color || reinf_material?.color - var/image/I = image(icon, "[base_icon]_over") + var/image/I = image(icon, "[icon_state]_over") I.layer = buckled_mob ? ABOVE_HUMAN_LAYER : FLOAT_LAYER if(material && (material_alteration & MAT_FLAG_ALTERATION_COLOR)) I.appearance_flags |= RESET_COLOR I.color = base_color add_overlay(I) - I = image(icon, "[base_icon]_armrest") + I = image(icon, "[icon_state]_armrest") I.layer = buckled_mob ? ABOVE_HUMAN_LAYER : FLOAT_LAYER if(material && (material_alteration & MAT_FLAG_ALTERATION_COLOR)) I.appearance_flags |= RESET_COLOR I.color = base_color add_overlay(I) if(reinf_material) - I = image(icon, "[base_icon]_padding_over") + I = image(icon, "[icon_state]_padding_over") I.layer = buckled_mob ? ABOVE_HUMAN_LAYER : FLOAT_LAYER if(material_alteration & MAT_FLAG_ALTERATION_COLOR) I.appearance_flags |= RESET_COLOR I.color = reinf_color add_overlay(I) - I = image(icon, "[base_icon]_padding_armrest") + I = image(icon, "[icon_state]_padding_armrest") I.layer = buckled_mob ? ABOVE_HUMAN_LAYER : FLOAT_LAYER if(material_alteration & MAT_FLAG_ALTERATION_COLOR) I.appearance_flags |= RESET_COLOR I.color = reinf_color add_overlay(I) if(has_special_overlay) - I = image(icon, "[base_icon]_special") + I = image(icon, "[icon_state]_special") I.layer = buckled_mob ? ABOVE_HUMAN_LAYER : FLOAT_LAYER if(material && (material_alteration & MAT_FLAG_ALTERATION_COLOR)) I.appearance_flags |= RESET_COLOR @@ -97,8 +107,7 @@ /obj/structure/bed/chair/comfy name = "comfy chair" desc = "It's a chair. It looks comfy." - icon_state = "comfychair_preview" - base_icon = "comfychair" + icon = 'icons/obj/structures/furniture/chair_comfy.dmi' reinf_material = /decl/material/solid/organic/cloth /obj/structure/bed/chair/comfy/unpadded @@ -127,8 +136,7 @@ /obj/structure/bed/chair/comfy/captain name = "captain chair" desc = "It's a chair. Only for the highest ranked asses." - icon_state = "capchair_preview" - base_icon = "capchair" + icon = 'icons/obj/structures/furniture/chair_captain.dmi' buckle_movable = 1 material = /decl/material/solid/metal/steel reinf_material = /decl/material/solid/organic/cloth @@ -138,8 +146,7 @@ /obj/structure/bed/chair/armchair name = "armchair" desc = "It's an armchair. It looks comfy." - icon_state = "armchair_preview" - base_icon = "armchair" + icon = 'icons/obj/structures/furniture/armchair.dmi' reinf_material = /decl/material/solid/organic/cloth /obj/structure/bed/chair/armchair/unpadded @@ -167,8 +174,7 @@ /obj/structure/bed/chair/office name = "office chair" - icon_state = "officechair_preview" - base_icon = "officechair" + icon = 'icons/obj/structures/furniture/chair_office.dmi' anchored = FALSE buckle_movable = 1 movable_flags = MOVABLE_FLAG_WHEELED @@ -188,7 +194,8 @@ /obj/structure/bed/chair/office/Bump(atom/A) ..() - if(!buckled_mob) return + if(!buckled_mob) + return if(propelled) var/mob/living/occupant = unbuckle_mob() @@ -219,8 +226,7 @@ /obj/structure/bed/chair/office/comfy name = "comfy office chair" desc = "It's an office chair. It looks comfy." - icon_state = "comfyofficechair_preview" - base_icon = "comfyofficechair" + icon = 'icons/obj/structures/furniture/chair_comfy_office.dmi' /obj/structure/bed/chair/office/comfy/unpadded reinf_material = null @@ -248,8 +254,7 @@ /obj/structure/bed/chair/rounded name = "rounded chair" desc = "It's a rounded chair. It looks comfy." - icon_state = "roundedchair_preview" - base_icon = "roundedchair" + icon = 'icons/obj/structures/furniture/chair_rounded.dmi' /obj/structure/bed/chair/rounded/brown reinf_material = /decl/material/solid/organic/leather @@ -275,19 +280,16 @@ /obj/structure/bed/chair/shuttle name = "shuttle seat" desc = "A comfortable, secure seat. It has a sturdy-looking buckling system for smoother flights." - icon_state = "shuttle_chair_preview" - base_icon = "shuttle_chair" + icon = 'icons/obj/structures/furniture/chair_shuttle.dmi' buckle_sound = 'sound/effects/metal_close.ogg' material = /decl/material/solid/metal/steel reinf_material = /decl/material/solid/organic/cloth has_special_overlay = TRUE -/obj/structure/bed/chair/shuttle/post_buckle_mob() - if(buckled_mob) - base_icon = "shuttle_chair-b" - else - base_icon = "shuttle_chair" - ..() +/obj/structure/bed/chair/shuttle/get_base_icon() + . = ..() + if (buckled_mob) + . += "_buckled" /obj/structure/bed/chair/shuttle/blue padding_color = "#46698c" @@ -297,10 +299,9 @@ padding_color = "#f0f0f0" /obj/structure/bed/chair/wood - name = "classic chair" + name_prefix = "classic" desc = "Old is never too old to not be in fashion." - icon_state = "wooden_chair_preview" - base_icon = "wooden_chair" + icon = 'icons/obj/structures/furniture/chair_wooden.dmi' color = WOOD_COLOR_GENERIC material = /decl/material/solid/organic/wood/oak @@ -322,8 +323,7 @@ /obj/structure/bed/chair/wood/wings name = "winged chair" - icon_state = "wooden_chair_wings_preview" - base_icon = "wooden_chair_wings" + icon = 'icons/obj/structures/furniture/chair_wooden_wings.dmi' /obj/structure/bed/chair/wood/wings/mahogany color = WOOD_COLOR_RICH @@ -337,3 +337,25 @@ /obj/structure/bed/chair/wood/wings/walnut color = WOOD_COLOR_CHOCOLATE material = /decl/material/solid/organic/wood/walnut + +/obj/structure/bed/chair/backed + name_prefix = "backed" + desc = "A tall chair with a sturdy back. Not very comfortable." + icon = 'icons/obj/structures/furniture/chair_backed.dmi' + reinf_material = null + material = /decl/material/solid/organic/wood/oak + color = /decl/material/solid/organic/wood/oak::color + +/obj/structure/bed/chair/backed/get_material_icon() + return material?.backed_chair_icon || initial(icon) + +/obj/structure/bed/chair/slatted + name = "seat" + name_prefix = "slatted" // slatted wooden seat vs wooden slatted seat + icon = 'icons/obj/structures/furniture/chair_slatted.dmi' + reinf_material = null + material = /decl/material/solid/organic/wood/oak + color = /decl/material/solid/organic/wood/oak::color + +/obj/structure/bed/chair/slatted/get_material_icon() + return material?.slatted_seat_icon || initial(icon) \ No newline at end of file diff --git a/code/game/objects/structures/chairs/rustic_chairs.dm b/code/game/objects/structures/chairs/rustic_chairs.dm index 100e94deedc..8ca7bef74df 100644 --- a/code/game/objects/structures/chairs/rustic_chairs.dm +++ b/code/game/objects/structures/chairs/rustic_chairs.dm @@ -1,18 +1,15 @@ /obj/structure/bed/chair/rustic + name_prefix = "rustic" desc = "A simple, rustic-looking chair. Looks like it'd hurt to sit on for too long..." - icon = 'icons/obj/structures/rustic_chair.dmi' + icon = 'icons/obj/structures/furniture/chair_rustic.dmi' material = /decl/material/solid/organic/wood/walnut color = /decl/material/solid/organic/wood/walnut::color user_comfort = -0.5 -/obj/structure/bed/chair/rustic/update_material_name(override_name) - . = ..() - SetName("rustic [name]") // rustic oaken chair, not oaken rustic chair - /obj/structure/bed/chair/rustic_fancy - name = "chair" + name_prefix = "fancy" desc = "An ornate, detailed chair made from wood. It has armrests!" - icon = 'icons/obj/structures/fancy_rustic_chair.dmi' + icon = 'icons/obj/structures/furniture/chair_rustic_fancy.dmi' material = /decl/material/solid/organic/wood/oak color = COLOR_WHITE // preview state is precolored reinf_material = /decl/material/solid/organic/cloth @@ -21,7 +18,3 @@ /obj/structure/bed/chair/rustic_fancy/ebony material = /decl/material/solid/organic/wood/ebony - -/obj/structure/bed/chair/rustic_fancy/update_material_name(override_name) - . = ..() - SetName("fancy [name]") // see above, 'fancy ebony chair' not 'ebony fancy chair' \ No newline at end of file diff --git a/code/game/objects/structures/chairs/wheelchair.dm b/code/game/objects/structures/chairs/wheelchair.dm index c6b882a2a67..46035193325 100644 --- a/code/game/objects/structures/chairs/wheelchair.dm +++ b/code/game/objects/structures/chairs/wheelchair.dm @@ -1,7 +1,7 @@ /obj/structure/bed/chair/wheelchair name = "wheelchair" desc = "Now we're getting somewhere." - icon_state = "wheelchair" + icon = 'icons/obj/structures/furniture/wheelchair.dmi' anchored = FALSE buckle_movable = TRUE movement_handlers = list( @@ -9,7 +9,8 @@ /datum/movement_handler/delay = list(5), /datum/movement_handler/move_relay_self ) - tool_interaction_flags = 0 + tool_interaction_flags = TOOL_INTERACTION_NONE + material_alteration = MAT_FLAG_ALTERATION_NONE var/item_form_type = /obj/item/wheelchair_kit // TODO: Replace with reagent holder? This doesn't even properly handle non-human bloodstains. @@ -21,9 +22,6 @@ if(!item_form_type) verbs -= .verb/collapse -/obj/structure/bed/chair/wheelchair/on_update_icon() - set_overlays(image(icon = 'icons/obj/furniture.dmi', icon_state = "w_overlay", layer = ABOVE_HUMAN_LAYER)) - /obj/structure/bed/chair/wheelchair/can_apply_padding() return FALSE @@ -129,8 +127,7 @@ name = "compressed wheelchair kit" desc = "Collapsed parts, prepared to immediately spring into the shape of a wheelchair." icon = 'icons/obj/items/wheelchairkit.dmi' - icon_state = "wheelchair-item" - item_state = "rbed" + icon_state = ICON_STATE_WORLD w_class = ITEM_SIZE_LARGE max_health = 50 var/structure_form_type = /obj/structure/bed/chair/wheelchair @@ -142,7 +139,7 @@ user.visible_message("[user] starts to lay out \the [src].") if(do_after(user, 4 SECONDS, src)) var/obj/structure/bed/chair/wheelchair/W = new structure_form_type(get_turf(user)) - user.visible_message(SPAN_NOTICE("[user] lays out \the [W].")) + user.visible_message("[user] lays out \the [W].") W.add_fingerprint(user) qdel(src) diff --git a/code/game/objects/structures/defensive_barrier.dm b/code/game/objects/structures/defensive_barrier.dm index 7545fcc0641..97b999566c0 100644 --- a/code/game/objects/structures/defensive_barrier.dm +++ b/code/game/objects/structures/defensive_barrier.dm @@ -7,7 +7,7 @@ throwpass = TRUE anchored = TRUE atom_flags = ATOM_FLAG_CLIMBABLE | ATOM_FLAG_CHECKS_BORDER - can_buckle = TRUE + can_buckle = TRUE // TODO: Is it actually... intended that you can buckle stuff to this? material = /decl/material/solid/metal/steel material_alteration = MAT_FLAG_ALTERATION_DESC | MAT_FLAG_ALTERATION_NAME max_health = 200 diff --git a/code/game/objects/structures/dogbed.dm b/code/game/objects/structures/dogbed.dm index 803746b9f9f..d26621b8668 100644 --- a/code/game/objects/structures/dogbed.dm +++ b/code/game/objects/structures/dogbed.dm @@ -3,6 +3,6 @@ desc = "A bed made especially for dogs, or other similarly sized pets." icon = 'icons/obj/furniture.dmi' icon_state = "dogbed" - can_buckle = 1 + can_buckle = TRUE buckle_dir = SOUTH - buckle_lying = 1 \ No newline at end of file + buckle_lying = TRUE \ No newline at end of file diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index fb9f17eeb07..9dab13138ec 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -181,7 +181,7 @@ name = "janicart" icon = 'icons/obj/vehicles.dmi' icon_state = "pussywagon" - base_icon = "pussywagon" + color = null anchored = FALSE density = TRUE material_alteration = MAT_FLAG_ALTERATION_NONE @@ -197,6 +197,9 @@ var/obj/item/bag/trash/mybag = null var/callme = "pimpin' ride" //how do people refer to it? +/obj/structure/bed/chair/janicart/get_base_icon() + return initial(icon_state) + /obj/structure/bed/chair/janicart/Initialize() // Handled in init due to dirs needing to be stringified buckle_pixel_shift = list( diff --git a/code/game/objects/structures/quicksand.dm b/code/game/objects/structures/quicksand.dm index d891b03a6ea..fbbd3393c87 100644 --- a/code/game/objects/structures/quicksand.dm +++ b/code/game/objects/structures/quicksand.dm @@ -6,7 +6,7 @@ icon_state = "open" density = FALSE anchored = TRUE - can_buckle = 1 + can_buckle = TRUE buckle_dir = SOUTH var/exposed = 0 var/busy diff --git a/code/game/objects/structures/sofa.dm b/code/game/objects/structures/sofa.dm index 93cfc6b1c5c..05d544531d8 100644 --- a/code/game/objects/structures/sofa.dm +++ b/code/game/objects/structures/sofa.dm @@ -1,8 +1,7 @@ /obj/structure/bed/sofa name = "sofa" desc = "A wide and comfy sofa - no assistants were harmed to produce it!" - icon_state = "sofa_preview" - base_icon = "sofa" + icon = 'icons/obj/structures/furniture/sofa_middle.dmi' color = "#666666" buckle_dir = FALSE buckle_lying = FALSE //force people to sit up in chairs when buckled @@ -23,9 +22,7 @@ return ..() /obj/structure/bed/sofa/on_update_icon() - ..() - var/use_base_color = get_color() var/use_reinf_color = padding_color || ((material_alteration & MAT_FLAG_ALTERATION_COLOR) ? reinf_material?.color : null) @@ -89,9 +86,7 @@ paint_color = "#ffbf00" /obj/structure/bed/sofa/right - name = "sofa" - icon_state = "sofa_r_preview" - base_icon = "sofa_r" + icon = 'icons/obj/structures/furniture/sofa_right.dmi' /obj/structure/bed/sofa/right/unpadded reinf_material = null /obj/structure/bed/sofa/right/red @@ -117,8 +112,7 @@ /obj/structure/bed/sofa/left name = "sofa" - icon_state = "sofa_l_preview" - base_icon = "sofa_l" + icon = 'icons/obj/structures/furniture/sofa_left.dmi' /obj/structure/bed/sofa/left/unpadded reinf_material = null /obj/structure/bed/sofa/left/red diff --git a/code/game/objects/structures/travois.dm b/code/game/objects/structures/travois.dm new file mode 100644 index 00000000000..bcf23f16081 --- /dev/null +++ b/code/game/objects/structures/travois.dm @@ -0,0 +1,22 @@ +/* + * Travois used to drag mobs in low-tech settings. + */ +/obj/structure/travois + name = "travois" + desc = "An assemblage of sticks, commonly used to make it easier to transport animal carcasses." + anchored = FALSE + icon_state = ICON_STATE_WORLD + icon = 'icons/obj/structures/travois.dmi' + can_buckle = TRUE + buckle_dir = SOUTH + buckle_lying = TRUE + buckle_sound = 'sound/effects/buckle.ogg' + buckle_pixel_shift = list("x" = 0, "y" = 0, "z" = 6) + obj_flags = OBJ_FLAG_SUPPORT_MOB + movable_flags = MOVABLE_FLAG_WHEELED + tool_interaction_flags = TOOL_INTERACTION_DECONSTRUCT + user_comfort = 0 + parts_amount = 1 + parts_type = /obj/item/stack/material/log + material_alteration = MAT_FLAG_ALTERATION_ALL + material = /decl/material/solid/organic/wood/oak diff --git a/code/modules/atmospherics/pipes.dm b/code/modules/atmospherics/pipes.dm index 28ef33e3644..f054a258a91 100644 --- a/code/modules/atmospherics/pipes.dm +++ b/code/modules/atmospherics/pipes.dm @@ -8,7 +8,7 @@ stat_immune = NOSCREEN | NOINPUT | NOPOWER interact_offline = TRUE //Needs to be set so that pipes don't say they lack power in their description - can_buckle = 1 + can_buckle = TRUE buckle_require_restraints = 1 buckle_lying = -1 build_icon_state = "simple" diff --git a/code/modules/crafting/stack_recipes/recipes_hardness_integrity.dm b/code/modules/crafting/stack_recipes/recipes_hardness_integrity.dm index eafa6e89d73..423740def13 100644 --- a/code/modules/crafting/stack_recipes/recipes_hardness_integrity.dm +++ b/code/modules/crafting/stack_recipes/recipes_hardness_integrity.dm @@ -52,15 +52,9 @@ result_type = /obj/structure/bed/chair/bench category = "seating" -/decl/stack_recipe/hardness/integrity/furniture/bench/single - result_type = /obj/structure/bed/chair/bench/single - /decl/stack_recipe/hardness/integrity/furniture/bench/pew result_type = /obj/structure/bed/chair/bench/pew -/decl/stack_recipe/hardness/integrity/furniture/bench/pew/single - result_type = /obj/structure/bed/chair/bench/pew/single - /decl/stack_recipe/hardness/integrity/furniture/bench/lounge result_type = /obj/structure/bed/chair/bench/lounge difficulty = MAT_VALUE_VERY_HARD_DIY @@ -92,6 +86,12 @@ /decl/stack_recipe/hardness/integrity/furniture/chair/roundedchair result_type = /obj/structure/bed/chair/rounded +/decl/stack_recipe/hardness/integrity/furniture/chair/backed + result_type = /obj/structure/bed/chair/backed + +/decl/stack_recipe/hardness/integrity/furniture/chair/slatted + result_type = /obj/structure/bed/chair/slatted + /decl/stack_recipe/hardness/integrity/furniture/drying_rack result_type = /obj/structure/drying_rack diff --git a/code/modules/crafting/stack_recipes/recipes_logs.dm b/code/modules/crafting/stack_recipes/recipes_logs.dm index 608ca509501..150f36cd102 100644 --- a/code/modules/crafting/stack_recipes/recipes_logs.dm +++ b/code/modules/crafting/stack_recipes/recipes_logs.dm @@ -4,7 +4,7 @@ forbidden_craft_stack_types = /obj/item/stack/material/ore /decl/stack_recipe/logs/travois - result_type = /obj/structure/bed/travois + result_type = /obj/structure/travois difficulty = MAT_VALUE_EASY_DIY /decl/stack_recipe/turfs/wall/logs diff --git a/code/modules/materials/_materials.dm b/code/modules/materials/_materials.dm index d5965e1caa1..ba4020aa2f2 100644 --- a/code/modules/materials/_materials.dm +++ b/code/modules/materials/_materials.dm @@ -135,8 +135,15 @@ INITIALIZE_IMMEDIATE(/obj/effect/gas_overlay) var/table_icon_base = "metal" var/table_icon_reinforced = "reinf_metal" - var/bench_icon = 'icons/obj/structures/benches.dmi' - var/pew_icon = 'icons/obj/structures/pews.dmi' + // TODO: Refactor these to just apply a generic material overlay (e.g. wood grain) instead of entirely-separate icon files? + // Alternatively, find some other way for icon variation based on material. + // You can't do it by having separate states in the base icons, + // because then modpacked materials can't add new states, + // and what if we really really want a special nullglass pew sprite or something? + var/bench_icon = 'icons/obj/structures/furniture/bench.dmi' + var/pew_icon = 'icons/obj/structures/furniture/pew.dmi' + var/slatted_seat_icon = 'icons/obj/structures/furniture/chair_slatted.dmi' + var/backed_chair_icon = 'icons/obj/structures/furniture/chair_backed.dmi' var/list/stack_origin_tech = @'{"materials":1}' // Research level for stacks. diff --git a/code/modules/materials/definitions/solids/materials_solid_wood.dm b/code/modules/materials/definitions/solids/materials_solid_wood.dm index e4cb6575b1c..2f7f3e8f7d8 100644 --- a/code/modules/materials/definitions/solids/materials_solid_wood.dm +++ b/code/modules/materials/definitions/solids/materials_solid_wood.dm @@ -21,8 +21,10 @@ ) use_reinf_state = null table_icon_base = "wood" - bench_icon = 'icons/obj/structures/wood_benches.dmi' - pew_icon = 'icons/obj/structures/wood_pews.dmi' + bench_icon = 'icons/obj/structures/furniture/bench_wood.dmi' + pew_icon = 'icons/obj/structures/furniture/pew_wood.dmi' + slatted_seat_icon = 'icons/obj/structures/furniture/chair_slatted_wood.dmi' + backed_chair_icon = 'icons/obj/structures/furniture/chair_backed_wood.dmi' explosion_resistance = 2 shard_type = SHARD_SPLINTER shard_can_repair = 0 // you can't weld splinters back into planks @@ -153,8 +155,10 @@ adjective_name = "oak laminate" uid = "solid_wood_chipboard_oak" lore_text = "Also known as particle board, this material is made from various kinds of oak wood chips and resin, with a plastic laminate." - bench_icon = 'icons/obj/structures/benches.dmi' - pew_icon = 'icons/obj/structures/pews.dmi' + bench_icon = 'icons/obj/structures/furniture/bench.dmi' + pew_icon = 'icons/obj/structures/furniture/pew.dmi' + slatted_seat_icon = 'icons/obj/structures/furniture/chair_slatted.dmi' + backed_chair_icon = 'icons/obj/structures/furniture/chair_backed.dmi' door_icon_base = "metal" table_icon_base = "metal" color = WOOD_COLOR_GENERIC diff --git a/icons/obj/furniture.dmi b/icons/obj/furniture.dmi index 00943fee562..46c6c0e16dd 100644 Binary files a/icons/obj/furniture.dmi and b/icons/obj/furniture.dmi differ diff --git a/icons/obj/items/wheelchairkit.dmi b/icons/obj/items/wheelchairkit.dmi index d887fffc810..d6615844f79 100644 Binary files a/icons/obj/items/wheelchairkit.dmi and b/icons/obj/items/wheelchairkit.dmi differ diff --git a/icons/obj/structures/bedroll.dmi b/icons/obj/structures/bedroll.dmi index 8d18e280829..9363491681a 100644 Binary files a/icons/obj/structures/bedroll.dmi and b/icons/obj/structures/bedroll.dmi differ diff --git a/icons/obj/structures/bedroll_rolled.dmi b/icons/obj/structures/bedroll_rolled.dmi new file mode 100644 index 00000000000..7670a224845 Binary files /dev/null and b/icons/obj/structures/bedroll_rolled.dmi differ diff --git a/icons/obj/structures/benches.dmi b/icons/obj/structures/benches.dmi index 5a56743224b..80fda7a9a16 100644 Binary files a/icons/obj/structures/benches.dmi and b/icons/obj/structures/benches.dmi differ diff --git a/icons/obj/structures/fancy_rustic_chair.dmi b/icons/obj/structures/fancy_rustic_chair.dmi deleted file mode 100644 index 9062f59e4aa..00000000000 Binary files a/icons/obj/structures/fancy_rustic_chair.dmi and /dev/null differ diff --git a/icons/obj/structures/furniture/armchair.dmi b/icons/obj/structures/furniture/armchair.dmi new file mode 100644 index 00000000000..aada0c0681d Binary files /dev/null and b/icons/obj/structures/furniture/armchair.dmi differ diff --git a/icons/obj/structures/furniture/bed.dmi b/icons/obj/structures/furniture/bed.dmi new file mode 100644 index 00000000000..f9d1d7dda97 Binary files /dev/null and b/icons/obj/structures/furniture/bed.dmi differ diff --git a/icons/obj/structures/furniture/bed_psych.dmi b/icons/obj/structures/furniture/bed_psych.dmi new file mode 100644 index 00000000000..57e6943f54d Binary files /dev/null and b/icons/obj/structures/furniture/bed_psych.dmi differ diff --git a/icons/obj/structures/furniture/bed_simple.dmi b/icons/obj/structures/furniture/bed_simple.dmi new file mode 100644 index 00000000000..4e5bf1701a9 Binary files /dev/null and b/icons/obj/structures/furniture/bed_simple.dmi differ diff --git a/icons/obj/structures/furniture/bench.dmi b/icons/obj/structures/furniture/bench.dmi new file mode 100644 index 00000000000..80fda7a9a16 Binary files /dev/null and b/icons/obj/structures/furniture/bench.dmi differ diff --git a/icons/obj/structures/wood_benches.dmi b/icons/obj/structures/furniture/bench_wood.dmi similarity index 98% rename from icons/obj/structures/wood_benches.dmi rename to icons/obj/structures/furniture/bench_wood.dmi index 24014a51b54..f6c0043b957 100644 Binary files a/icons/obj/structures/wood_benches.dmi and b/icons/obj/structures/furniture/bench_wood.dmi differ diff --git a/icons/obj/structures/furniture/chair.dmi b/icons/obj/structures/furniture/chair.dmi new file mode 100644 index 00000000000..dbd8dd3a62e Binary files /dev/null and b/icons/obj/structures/furniture/chair.dmi differ diff --git a/icons/obj/structures/furniture/chair_backed.dmi b/icons/obj/structures/furniture/chair_backed.dmi new file mode 100644 index 00000000000..66eb3ecea7e Binary files /dev/null and b/icons/obj/structures/furniture/chair_backed.dmi differ diff --git a/icons/obj/structures/furniture/chair_backed_wood.dmi b/icons/obj/structures/furniture/chair_backed_wood.dmi new file mode 100644 index 00000000000..5eae485abf7 Binary files /dev/null and b/icons/obj/structures/furniture/chair_backed_wood.dmi differ diff --git a/icons/obj/structures/furniture/chair_captain.dmi b/icons/obj/structures/furniture/chair_captain.dmi new file mode 100644 index 00000000000..56287d4ec89 Binary files /dev/null and b/icons/obj/structures/furniture/chair_captain.dmi differ diff --git a/icons/obj/structures/furniture/chair_comfy.dmi b/icons/obj/structures/furniture/chair_comfy.dmi new file mode 100644 index 00000000000..4a3a63ca12e Binary files /dev/null and b/icons/obj/structures/furniture/chair_comfy.dmi differ diff --git a/icons/obj/structures/furniture/chair_comfy_office.dmi b/icons/obj/structures/furniture/chair_comfy_office.dmi new file mode 100644 index 00000000000..780dea823e6 Binary files /dev/null and b/icons/obj/structures/furniture/chair_comfy_office.dmi differ diff --git a/icons/obj/structures/furniture/chair_office.dmi b/icons/obj/structures/furniture/chair_office.dmi new file mode 100644 index 00000000000..6c1bbcf54a4 Binary files /dev/null and b/icons/obj/structures/furniture/chair_office.dmi differ diff --git a/icons/obj/structures/furniture/chair_rounded.dmi b/icons/obj/structures/furniture/chair_rounded.dmi new file mode 100644 index 00000000000..6ab3ce4b0da Binary files /dev/null and b/icons/obj/structures/furniture/chair_rounded.dmi differ diff --git a/icons/obj/structures/furniture/chair_rustic.dmi b/icons/obj/structures/furniture/chair_rustic.dmi new file mode 100644 index 00000000000..e94faecc209 Binary files /dev/null and b/icons/obj/structures/furniture/chair_rustic.dmi differ diff --git a/icons/obj/structures/furniture/chair_rustic_fancy.dmi b/icons/obj/structures/furniture/chair_rustic_fancy.dmi new file mode 100644 index 00000000000..5191fc5d4b4 Binary files /dev/null and b/icons/obj/structures/furniture/chair_rustic_fancy.dmi differ diff --git a/icons/obj/structures/furniture/chair_shuttle.dmi b/icons/obj/structures/furniture/chair_shuttle.dmi new file mode 100644 index 00000000000..6031f7edd6d Binary files /dev/null and b/icons/obj/structures/furniture/chair_shuttle.dmi differ diff --git a/icons/obj/structures/furniture/chair_slatted.dmi b/icons/obj/structures/furniture/chair_slatted.dmi new file mode 100644 index 00000000000..d05d846ed2e Binary files /dev/null and b/icons/obj/structures/furniture/chair_slatted.dmi differ diff --git a/icons/obj/structures/furniture/chair_slatted_wood.dmi b/icons/obj/structures/furniture/chair_slatted_wood.dmi new file mode 100644 index 00000000000..640d8da1db9 Binary files /dev/null and b/icons/obj/structures/furniture/chair_slatted_wood.dmi differ diff --git a/icons/obj/structures/furniture/chair_wooden.dmi b/icons/obj/structures/furniture/chair_wooden.dmi new file mode 100644 index 00000000000..3d77d82ebb8 Binary files /dev/null and b/icons/obj/structures/furniture/chair_wooden.dmi differ diff --git a/icons/obj/structures/furniture/chair_wooden_wings.dmi b/icons/obj/structures/furniture/chair_wooden_wings.dmi new file mode 100644 index 00000000000..928512cfc8f Binary files /dev/null and b/icons/obj/structures/furniture/chair_wooden_wings.dmi differ diff --git a/icons/obj/structures/lounge.dmi b/icons/obj/structures/furniture/lounge.dmi similarity index 89% rename from icons/obj/structures/lounge.dmi rename to icons/obj/structures/furniture/lounge.dmi index 49843d472ca..1323daaccd6 100644 Binary files a/icons/obj/structures/lounge.dmi and b/icons/obj/structures/furniture/lounge.dmi differ diff --git a/icons/obj/structures/furniture/pew.dmi b/icons/obj/structures/furniture/pew.dmi new file mode 100644 index 00000000000..5f19d36b246 Binary files /dev/null and b/icons/obj/structures/furniture/pew.dmi differ diff --git a/icons/obj/structures/wood_pews.dmi b/icons/obj/structures/furniture/pew_wood.dmi similarity index 97% rename from icons/obj/structures/wood_pews.dmi rename to icons/obj/structures/furniture/pew_wood.dmi index bd9e0fe651e..cfc0b9d578e 100644 Binary files a/icons/obj/structures/wood_pews.dmi and b/icons/obj/structures/furniture/pew_wood.dmi differ diff --git a/icons/obj/structures/furniture/sofa_left.dmi b/icons/obj/structures/furniture/sofa_left.dmi new file mode 100644 index 00000000000..d64661b633a Binary files /dev/null and b/icons/obj/structures/furniture/sofa_left.dmi differ diff --git a/icons/obj/structures/furniture/sofa_middle.dmi b/icons/obj/structures/furniture/sofa_middle.dmi new file mode 100644 index 00000000000..92a69a0146e Binary files /dev/null and b/icons/obj/structures/furniture/sofa_middle.dmi differ diff --git a/icons/obj/structures/furniture/sofa_right.dmi b/icons/obj/structures/furniture/sofa_right.dmi new file mode 100644 index 00000000000..82f801624ba Binary files /dev/null and b/icons/obj/structures/furniture/sofa_right.dmi differ diff --git a/icons/obj/structures/furniture/wheelchair.dmi b/icons/obj/structures/furniture/wheelchair.dmi new file mode 100644 index 00000000000..e4e13d08e60 Binary files /dev/null and b/icons/obj/structures/furniture/wheelchair.dmi differ diff --git a/icons/obj/structures/pews.dmi b/icons/obj/structures/pews.dmi deleted file mode 100644 index f384a3f127b..00000000000 Binary files a/icons/obj/structures/pews.dmi and /dev/null differ diff --git a/icons/obj/structures/rustic_chair.dmi b/icons/obj/structures/rustic_chair.dmi deleted file mode 100644 index 1e48dd9c579..00000000000 Binary files a/icons/obj/structures/rustic_chair.dmi and /dev/null differ diff --git a/icons/obj/structures/simple_bed.dmi b/icons/obj/structures/simple_bed.dmi deleted file mode 100644 index fe9a8ba32ea..00000000000 Binary files a/icons/obj/structures/simple_bed.dmi and /dev/null differ diff --git a/mods/species/ascent/_ascent.dme b/mods/species/ascent/_ascent.dme index 461ef828f3a..acb7c9b9a93 100644 --- a/mods/species/ascent/_ascent.dme +++ b/mods/species/ascent/_ascent.dme @@ -40,7 +40,6 @@ #include "mobs\nymph\nymph_inventory.dm" #include "mobs\nymph\nymph_life.dm" #include "mobs\nymph\nymph_ui.dm" -#include "structures\furniture.dm" #include "structures\ship_furniture.dm" #include "turfs\ship.dm" // END_INCLUDE diff --git a/mods/species/ascent/icons/furniture/chair_nest.dmi b/mods/species/ascent/icons/furniture/chair_nest.dmi new file mode 100644 index 00000000000..d4e79af000c Binary files /dev/null and b/mods/species/ascent/icons/furniture/chair_nest.dmi differ diff --git a/mods/species/ascent/icons/furniture/chair_nest_large.dmi b/mods/species/ascent/icons/furniture/chair_nest_large.dmi new file mode 100644 index 00000000000..b95c2c1a338 Binary files /dev/null and b/mods/species/ascent/icons/furniture/chair_nest_large.dmi differ diff --git a/mods/species/ascent/structures/furniture.dm b/mods/species/ascent/structures/furniture.dm deleted file mode 100644 index 4971e113047..00000000000 --- a/mods/species/ascent/structures/furniture.dm +++ /dev/null @@ -1,17 +0,0 @@ -MANTIDIFY(/obj/structure/bed/chair/padded/purple, "mantid nest", "resting place") - -/obj/structure/bed/chair/padded/purple/ascent - icon_state = "nest_chair" - pixel_z = 0 - -/obj/structure/bed/chair/padded/purple/ascent/gyne - name = "mantid throne" - icon_state = "nest_chair_large" - -/obj/structure/ascent_spawn - name = "mantid cryotank" - desc = "A liquid-filled, cloudy tank with strange forms twitching inside." - icon = 'icons/obj/cryogenics.dmi' - icon_state = "cellold2" - anchored = TRUE - density = TRUE diff --git a/mods/species/ascent/structures/ship_furniture.dm b/mods/species/ascent/structures/ship_furniture.dm index 1e29e7d74d7..812a9ae2cd0 100644 --- a/mods/species/ascent/structures/ship_furniture.dm +++ b/mods/species/ascent/structures/ship_furniture.dm @@ -1,12 +1,11 @@ -MANTIDIFY(/obj/structure/bed/chair/padded/purple, "mantid nest", "resting place") +MANTIDIFY(/obj/structure/bed/chair/padded/purple, "mantid nest", "resting place") // sets up name, description and color -/obj/structure/bed/chair/padded/purple/ascent - icon_state = "nest_chair" - pixel_z = 0 +/obj/structure/bed/chair/padded/purple/ascent // sets up icon and offsets + icon = 'mods/species/ascent/icons/furniture/chair_nest.dmi' /obj/structure/bed/chair/padded/purple/ascent/gyne name = "mantid throne" - icon_state = "nest_chair_large" + icon = 'mods/species/ascent/icons/furniture/chair_nest_large.dmi' /obj/structure/ascent_spawn name = "mantid cryotank" diff --git a/nebula.dme b/nebula.dme index 93d673c2f55..34e663b2b29 100644 --- a/nebula.dme +++ b/nebula.dme @@ -1476,6 +1476,7 @@ #include "code\game\objects\structures\target_stake.dm" #include "code\game\objects\structures\town_bell.dm" #include "code\game\objects\structures\transit_tubes.dm" +#include "code\game\objects\structures\travois.dm" #include "code\game\objects\structures\under_wardrobe.dm" #include "code\game\objects\structures\wall_frame.dm" #include "code\game\objects\structures\wall_sconce.dm" @@ -1493,7 +1494,6 @@ #include "code\game\objects\structures\beds\mattress.dm" #include "code\game\objects\structures\beds\rollerbed.dm" #include "code\game\objects\structures\beds\simple_bed.dm" -#include "code\game\objects\structures\beds\travois.dm" #include "code\game\objects\structures\benches\bench.dm" #include "code\game\objects\structures\benches\lounge.dm" #include "code\game\objects\structures\benches\pew.dm"