Adds Flock Tables and Shelves (#32361)

* Adds flock tables

* Flock!

* Update shelves.dm

* crafting

* Apply suggestion from @alfalfascout

Co-authored-by: Alan <alfalfascout@users.noreply.github.com>
Signed-off-by: CRUNCH <143041327+CRUNCH-Borg@users.noreply.github.com>

* comma

* Update code/__DEFINES/icon_smoothing_defines.dm

Co-authored-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
Signed-off-by: CRUNCH <143041327+CRUNCH-Borg@users.noreply.github.com>

---------

Signed-off-by: CRUNCH <143041327+CRUNCH-Borg@users.noreply.github.com>
Co-authored-by: Alan <alfalfascout@users.noreply.github.com>
Co-authored-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
This commit is contained in:
CRUNCH
2026-08-25 04:49:20 +00:00
committed by GitHub
co-authored by Alan PollardTheDragon
parent e871d9cde4
commit bd9bcd55ab
9 changed files with 83 additions and 1 deletions
+1
View File
@@ -114,6 +114,7 @@ DEFINE_BITFIELD(smoothing_flags, list(
#define SMOOTH_GROUP_GLASS_TABLES S_OBJ(55) ///obj/structure/table/glass
#define SMOOTH_GROUP_REINFORCED_TABLES S_OBJ(56) ///obj/structure/table/reinforced, /obj/structure/table/glass/reinforced
#define SMOOTH_GROUP_CULT_TABLES S_OBJ(57) ///obj/structire/table/reinforced/cult
#define SMOOTH_GROUP_FLOCK_TABLES S_OBJ(58) /// obj/structure/table/reinforced/flock
#define SMOOTH_GROUP_ALIEN_RESIN S_OBJ(60) ///obj/structure/alien/resin
#define SMOOTH_GROUP_ALIEN_WALLS S_OBJ(61) ///obj/structure/alien/resin/wall,
@@ -141,6 +141,8 @@ GLOBAL_LIST_INIT(adamantine_recipes, list(
GLOBAL_LIST_INIT(gnesis_recipes, list (
new /datum/stack_recipe("flock chair", /obj/structure/chair/comfy/flock, 2, time = 1 SECONDS, one_per_turf = TRUE, on_floor = TRUE),
new /datum/stack_recipe("flock table", /obj/structure/table/reinforced/flock, 2, time = 5.5 SECONDS, one_per_turf = TRUE, on_floor = TRUE),
new /datum/stack_recipe("flock shelf", /obj/structure/shelf/flock, 5, time = 2.5 SECONDS, one_per_turf = TRUE, on_floor = TRUE),
new /datum/stack_recipe("flock closet", /obj/structure/closet/flock, 2, time = 10 SECONDS, one_per_turf = TRUE, on_floor = TRUE),
new /datum/stack_recipe("flock grille", /obj/structure/grille/flock, 1, time = 5 SECONDS, one_per_turf = TRUE, on_floor = TRUE),
new /datum/stack_recipe("flock door", /obj/machinery/door/flock, 10, time = 10 SECONDS, one_per_turf = TRUE, on_floor = TRUE),
+4
View File
@@ -85,6 +85,10 @@ GLOBAL_LIST_INIT(shelf_colors, list("basic", "sci", "sup", "serv", "med", "sec",
new build_stack_type(get_turf(src), 5)
return ..()
/obj/structure/shelf/try_flock_convert(datum/flock/flock, force)
new /obj/structure/shelf/flock(loc)
qdel(src)
/obj/structure/shelf/engineering
icon_state = "shelf_engi"
shelf_style = "engi"
@@ -105,6 +105,10 @@
new /obj/structure/table/reinforced/cult(loc)
qdel(src)
/obj/structure/table/try_flock_convert(datum/flock/flock, force)
new /obj/structure/table/reinforced/flock(loc)
qdel(src)
/obj/structure/table/start_climb(mob/living/user)
. = ..()
item_placed(user)
@@ -0,0 +1,26 @@
/obj/structure/shelf/flock
name = "strange shelf"
desc = "A shelf (most likely), made of a strange material."
icon_state = "shelf_flock"
shelf_style = "flock"
build_stack_type = /obj/item/stack/sheet/gnesis
/obj/structure/shelf/flock/Initialize(mapload, datum/flock/join_flock)
. = ..()
AddComponent(/datum/component/flock_protection, FALSE, TRUE, FALSE, FALSE)
ADD_TRAIT(src, TRAIT_FLOCK_EXAMINE, INNATE_TRAIT)
ADD_TRAIT(src, TRAIT_FLOCK_THING, INNATE_TRAIT)
/obj/structure/shelf/flock/examine(mob/user)
if(!isflockmob(user))
return ..()
. = list(
SPAN_FLOCKSAY("<b>###=- Ident confirmed, data packet received.</b>"),
SPAN_FLOCKSAY("<b>ID:</b> Vertical material storage rack."),
SPAN_FLOCKSAY("<b>System Integrity:</b> [get_integrity_percentage()]%"),
SPAN_FLOCKSAY("<b>###=-</b>")
)
/obj/structure/shelf/flock/try_flock_convert(datum/flock/flock, force)
return
@@ -0,0 +1,43 @@
/obj/structure/table/reinforced/flock
name = "odd slab"
desc = "It's a flat surface made of a strange material. Despite its alien appearance, there's not many things this could be except a table."
icon = 'icons/obj/smooth_structures/tables/flock_table.dmi'
icon_state = "flock_table-0"
base_icon_state = "flock_table"
buildstack = /obj/item/stack/sheet/gnesis
buildstackamount = 2
framestack = null
frame = null
framestackamount = 0
armor = list(MELEE = -20, BULLET = -20, LASER = 80, ENERGY = 80, BOMB = 0, RAD = 100, FIRE = 80, ACID = 100)
smoothing_groups = list(SMOOTH_GROUP_FLOCK_TABLES)
canSmoothWith = list(SMOOTH_GROUP_FLOCK_TABLES)
/obj/structure/table/reinforced/flock/Initialize(mapload, datum/flock/join_flock)
. = ..()
AddComponent(/datum/component/flock_protection, FALSE, TRUE, FALSE, FALSE)
ADD_TRAIT(src, TRAIT_FLOCK_EXAMINE, INNATE_TRAIT)
ADD_TRAIT(src, TRAIT_FLOCK_THING, INNATE_TRAIT)
/obj/structure/table/reinforced/flock/examine(mob/user)
if(!isflockmob(user))
return ..()
. = list(
SPAN_FLOCKSAY("<b>###=- Ident confirmed, data packet received.</b>"),
SPAN_FLOCKSAY("<b>ID:</b> Table."),
SPAN_FLOCKSAY("<b>System Integrity:</b> [get_integrity_percentage()]%"),
SPAN_FLOCKSAY("<b>###=-</b>")
)
/obj/structure/table/reinforced/flock/screwdriver_act()
return
/obj/structure/table/reinforced/flock/deconstruct(disassembled = TRUE, wrench_disassembly = FALSE)
if(!(flags & NODECONSTRUCT))
var/turf/T = get_turf(src)
new buildstack(T, buildstackamount)
qdel(src)
/obj/structure/table/reinforced/flock/try_flock_convert(datum/flock/flock, force)
return
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

+3 -1
View File
@@ -1887,6 +1887,8 @@
#include "code\modules\antagonists\flockmind\flock_structure\flock_relay.dm"
#include "code\modules\antagonists\flockmind\flock_structure\flock_rift.dm"
#include "code\modules\antagonists\flockmind\flock_structure\flock_sentinel.dm"
#include "code\modules\antagonists\flockmind\flock_structure\flock_shelf.dm"
#include "code\modules\antagonists\flockmind\flock_structure\flock_table.dm"
#include "code\modules\antagonists\flockmind\flock_structure\flock_tealprint.dm"
#include "code\modules\antagonists\flockmind\flock_structure\flock_turret.dm"
#include "code\modules\antagonists\flockmind\flock_structure\flock_window.dm"
@@ -2141,8 +2143,8 @@
#include "code\modules\awaymissions\mission_code\ruins\nian_freighter.dm"
#include "code\modules\awaymissions\mission_code\ruins\oldstation.dm"
#include "code\modules\awaymissions\mission_code\ruins\processing_facility.dm"
#include "code\modules\awaymissions\mission_code\ruins\ragnarok_ship.dm"
#include "code\modules\awaymissions\mission_code\ruins\providence_wreck.dm"
#include "code\modules\awaymissions\mission_code\ruins\ragnarok_ship.dm"
#include "code\modules\awaymissions\mission_code\ruins\sieged_lab.dm"
#include "code\modules\awaymissions\mission_code\ruins\snowbiodome.dm"
#include "code\modules\awaymissions\mission_code\ruins\syndiecakesfactory.dm"