From a3d2bc53ae29ef9e3be02b527bfd3009c08ce21b Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Thu, 12 Jan 2023 23:15:08 +0100 Subject: [PATCH] [MIRROR] RTD Rapid Tiling Device [MDB IGNORE] (#18546) * RTD Rapid Tiling Device * Update tool_designs.dm Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com> Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com> --- code/_globalvars/lists/rtd.dm | 116 ++++++ code/game/objects/items/RCD.dm | 21 +- code/game/objects/items/RTD.dm | 365 ++++++++++++++++++ .../objects/items/stacks/tiles/tile_types.dm | 2 - code/modules/asset_cache/assets/rtd.dm | 54 +++ code/modules/research/designs/tool_designs.dm | 14 + code/modules/research/techweb/all_nodes.dm | 1 + .../mob/inhands/equipment/tools_lefthand.dmi | Bin 16417 -> 16891 bytes .../mob/inhands/equipment/tools_righthand.dmi | Bin 18260 -> 18716 bytes icons/obj/tools.dmi | Bin 27630 -> 27257 bytes tgstation.dme | 3 + .../interfaces/RapidConstructionDevice.tsx | 11 +- .../tgui/interfaces/RapidTilingDevice.tsx | 177 +++++++++ 13 files changed, 745 insertions(+), 19 deletions(-) create mode 100644 code/_globalvars/lists/rtd.dm create mode 100644 code/game/objects/items/RTD.dm create mode 100644 code/modules/asset_cache/assets/rtd.dm create mode 100644 tgui/packages/tgui/interfaces/RapidTilingDevice.tsx diff --git a/code/_globalvars/lists/rtd.dm b/code/_globalvars/lists/rtd.dm new file mode 100644 index 00000000000..29e5b6d0069 --- /dev/null +++ b/code/_globalvars/lists/rtd.dm @@ -0,0 +1,116 @@ +//dont create icons for TGUI if direction is any of these values cause its handled inside CSS +GLOBAL_LIST_INIT(tile_dont_rotate, list(NORTH, EAST, SOUTH, WEST)) + +///all designs supported by the RTD +GLOBAL_LIST_INIT(floor_designs, list( + //what players will use most of the time + "Conventional" = list( + //The most common types + "Standard" = list( + list("name" = "Base", "type" = /obj/item/stack/tile/iron, "tile_cost" = 4), + list("name" = "Small", "type" = /obj/item/stack/tile/iron/small, "tile_cost" = 3), + list("name" = "Large", "type" = /obj/item/stack/tile/iron/large, "tile_cost" = 7), + list("name" = "Diagonal", "type" = /obj/item/stack/tile/iron/diagonal, "tile_cost" = 5), + list("name" = "Edge", "type" = /obj/item/stack/tile/iron/edge, "tile_cost" = 5, "tile_rotate_dirs" = list(SOUTH, NORTH, EAST, WEST)), + list("name" = "Half", "type" = /obj/item/stack/tile/iron/half, "tile_cost" = 5, "tile_rotate_dirs" = list(SOUTH, NORTH)), + list("name" = "Corner", "type" = /obj/item/stack/tile/iron/corner, "tile_cost" = 5, "tile_rotate_dirs" = list(SOUTH, NORTH, EAST, WEST)), + list("name" = "Textured", "type" = /obj/item/stack/tile/iron/textured, "tile_cost" = 5), + list("name" = "Textured Edge", "type" = /obj/item/stack/tile/iron/textured_edge, "tile_cost" = 6, "tile_rotate_dirs" = list(SOUTH, NORTH, EAST, WEST)), + list("name" = "Textured Half", "type" = /obj/item/stack/tile/iron/textured_half, "tile_cost" = 6, "tile_rotate_dirs" = list(SOUTH, NORTH)), + list("name" = "Textured Corner", "type" = /obj/item/stack/tile/iron/textured_corner, "tile_cost" = 6, "tile_rotate_dirs" = list(SOUTH, NORTH, EAST, WEST)), + list("name" = "Textured Large", "type" = /obj/item/stack/tile/iron/textured_large, "tile_cost" = 6), + ), + //Looks slightly transparent or faded + "Translucent" = list( + list("name" = "Smooth", "type" = /obj/item/stack/tile/iron/smooth, "tile_cost" = 4), + list("name" = "Smooth Edge", "type" = /obj/item/stack/tile/iron/smooth_edge, "tile_cost" = 4, "tile_rotate_dirs" = list(SOUTH, NORTH, EAST, WEST)), + list("name" = "Smooth Half", "type" = /obj/item/stack/tile/iron/smooth_half, "tile_cost" = 4, "tile_rotate_dirs" = list(SOUTH, NORTH)), + list("name" = "Smooth Corner", "type" = /obj/item/stack/tile/iron/smooth_corner, "tile_cost" = 4, "tile_rotate_dirs" = list(SOUTH, NORTH, EAST, WEST)), + list("name" = "Smooth Large", "type" = /obj/item/stack/tile/iron/smooth_large, "tile_cost" = 7), + list("name" = "Freezer", "type" = /obj/item/stack/tile/iron/freezer, "tile_cost" = 5), + list("name" = "Showroom", "type" = /obj/item/stack/tile/iron/showroomfloor, "tile_cost" = 5), + list("name" = "Glass", "type" = /obj/item/stack/tile/glass, "tile_cost" = 5), + list("name" = "Reinforced Glass", "type" = /obj/item/stack/tile/rglass, "tile_cost" = 10) + ), + //Uses eletricity or atleast thats i think these do + "Circuit" = list( + list("name" = "Recharge", "type" = /obj/item/stack/tile/iron/recharge_floor, "tile_cost" = 5), + list("name" = "Solar Panel", "type" = /obj/item/stack/tile/iron/solarpanel, "tile_cost" = 5), + list("name" = "Blue Circuit", "type" = /obj/item/stack/tile/circuit, "tile_cost" = 5), + list("name" = "Green Circuit", "type" = /obj/item/stack/tile/circuit/green, "tile_cost" = 5), + list("name" = "Green Circuit Anim", "type" = /obj/item/stack/tile/circuit/green/anim, "tile_cost" = 5), + list("name" = "Red Circuit", "type" = /obj/item/stack/tile/circuit/red, "tile_cost" = 5), + list("name" = "Red Circuit Anim", "type" = /obj/item/stack/tile/circuit/red/anim, "tile_cost" = 5), + ) + ), + + //Floors which are decorated + "Decorated" = list( + //Dark Colored tiles + "Dark Colored" = list( + list("name" = "Base", "type" = /obj/item/stack/tile/iron/dark, "tile_cost" = 4), + list("name" = "Smooth Edge", "type" = /obj/item/stack/tile/iron/dark/smooth_edge, "tile_cost" = 4, "tile_rotate_dirs" = list(SOUTH, NORTH, EAST, WEST)), + list("name" = "Smooth Half", "type" = /obj/item/stack/tile/iron/dark/smooth_half, "tile_cost" = 4, "tile_rotate_dirs" = list(SOUTH, NORTH)), + list("name" = "Smooth Corner" ,"type" = /obj/item/stack/tile/iron/dark/smooth_corner, "tile_cost" = 4, "tile_rotate_dirs" = list(SOUTH, NORTH, EAST, WEST)), + list("name" = "Smooth Large", "type" = /obj/item/stack/tile/iron/dark/smooth_large, "tile_cost" = 7), + list("name" = "Small", "type" = /obj/item/stack/tile/iron/dark/small, "tile_cost" = 4), + list("name" = "Diagonal", "type" = /obj/item/stack/tile/iron/dark/diagonal, "tile_cost" = 4), + list("name" = "Herringbone", "type" = /obj/item/stack/tile/iron/dark/herringbone, "tile_cost" = 4), + list("name" = "Half Dark", "type" = /obj/item/stack/tile/iron/dark_side, "tile_cost" = 4, "tile_rotate_dirs" = list(SOUTH, NORTH, EAST, WEST, SOUTHEAST, SOUTHWEST, NORTHEAST, NORTHWEST)), + list("name" = "Dark Corner" ,"type" = /obj/item/stack/tile/iron/dark_corner, "tile_cost" = 4, "tile_rotate_dirs" = list(SOUTH, NORTH, EAST, WEST)), + ), + + //White Colored tiles + "White Colored" = list( + list("name" = "Base", "type" = /obj/item/stack/tile/iron/white, "tile_cost" = 5), + list("name" = "Smooth Edge", "type" = /obj/item/stack/tile/iron/white/smooth_edge, "tile_cost" = 5, "tile_rotate_dirs" = list(SOUTH, NORTH, EAST, WEST)), + list("name" = "Smooth Half", "type" = /obj/item/stack/tile/iron/white/smooth_half, "tile_cost" = 5, "tile_rotate_dirs" = list(SOUTH, NORTH)), + list("name" = "Smooth Corner", "type" = /obj/item/stack/tile/iron/white/smooth_corner, "tile_cost" = 5, "tile_rotate_dirs" = list(SOUTH, NORTH, EAST, WEST)), + list("name" = "Smooth Large", "type" = /obj/item/stack/tile/iron/white/smooth_large, "tile_cost" = 7), + list("name" = "Small", "type" = /obj/item/stack/tile/iron/white/small, "tile_cost" = 5), + list("name" = "Diagonal", "type" = /obj/item/stack/tile/iron/white/diagonal, "tile_cost" = 5), + list("name" = "Herringbone", "type" = /obj/item/stack/tile/iron/white/herringbone, "tile_cost" = 5), + list("name" = "Half White", "type" = /obj/item/stack/tile/iron/white_side, "tile_cost" = 5, "tile_rotate_dirs" = list(SOUTH, NORTH, EAST, WEST, SOUTHEAST, SOUTHWEST, NORTHEAST, NORTHWEST)), + list("name" = "White Corner", "type" = /obj/item/stack/tile/iron/white_corner, "tile_cost" = 5, "tile_rotate_dirs" = list(SOUTH, NORTH, EAST, WEST)), + ), + + //Textured tiles + "Textured" = list( + list("name" = "Textured White", "type" = /obj/item/stack/tile/iron/white/textured, "tile_cost" = 5), + list("name" = "Textured White Edge", "type" = /obj/item/stack/tile/iron/white/textured_edge, "tile_cost" = 5, "tile_rotate_dirs" = list(SOUTH, NORTH, EAST, WEST)), + list("name" = "Textured White Half", "type" = /obj/item/stack/tile/iron/white/textured_half, "tile_cost" = 5, "tile_rotate_dirs" = list(SOUTH, NORTH)), + list("name" = "Textured White Corner", "type" = /obj/item/stack/tile/iron/white/textured_corner, "tile_cost" = 5, "tile_rotate_dirs" = list(SOUTH, NORTH, EAST, WEST)), + list("name" = "Textured White Large", "type" = /obj/item/stack/tile/iron/white/textured_large, "tile_cost" = 7), + list("name" = "Textured Dark", "type" = /obj/item/stack/tile/iron/dark/textured, "tile_cost" = 5), + list("name" = "Textured Dark Edge", "type" = /obj/item/stack/tile/iron/dark/textured_edge, "tile_cost" = 5, "tile_rotate_dirs" = list(SOUTH, NORTH, EAST, WEST)), + list("name" = "Textured Dark Half", "type" = /obj/item/stack/tile/iron/dark/textured_half, "tile_cost" = 5, "tile_rotate_dirs" = list(SOUTH, NORTH)), + list("name" = "Textured Dark Corner", "type" = /obj/item/stack/tile/iron/dark/textured_corner, "tile_cost" = 5, "tile_rotate_dirs" = list(SOUTH, NORTH, EAST, WEST)), + list("name" = "Textured Dark Large", "type" = /obj/item/stack/tile/iron/dark/textured_large, "tile_cost" = 7), + ) + ), + + //Tiles which you decorate your home with + "Interior" = list( + //Common room tiles + "Room" = list( + list("name" = "Kitchen", "type" = /obj/item/stack/tile/iron/kitchen, "tile_cost" = 4), + list("name" = "Kitchen Small", "type" = /obj/item/stack/tile/iron/kitchen/small, "tile_cost" = 4), + list("name" = "Diagonal Kitchen", "type" = /obj/item/stack/tile/iron/kitchen/diagonal, "tile_cost" = 4), + list("name" = "Chapel", "type" = /obj/item/stack/tile/iron/chapel, "tile_cost" = 4), + list("name" = "Cafeteria", "type" = /obj/item/stack/tile/iron/cafeteria, "tile_cost" = 4), + list("name" = "Grimy", "type" = /obj/item/stack/tile/iron/grimy, "tile_cost" = 5), + list("name" = "Sepia", "type" = /obj/item/stack/tile/iron/sepia, "tile_cost" = 5), + list("name" = "Herringbone", "type" = /obj/item/stack/tile/iron/kitchen/herringbone, "tile_cost" = 5), + ), + + //Culd have called it miscellaneous but nah too long + "Pattern" = list( + list("name" = "Terracotta", "type" = /obj/item/stack/tile/iron/terracotta, "tile_cost" = 5), + list("name" = "Small", "type" = /obj/item/stack/tile/iron/terracotta/small, "tile_cost" = 5), + list("name" = "Diagonal", "type" = /obj/item/stack/tile/iron/terracotta/diagonal, "tile_cost" = 5), + list("name" = "Herrigone", "type" = /obj/item/stack/tile/iron/terracotta/herringbone, "tile_cost" = 5), + list("name" = "Checkered", "type" = /obj/item/stack/tile/iron/checker, "tile_cost" = 5), + list("name" = "Herringbone", "type" = /obj/item/stack/tile/iron/herringbone, "tile_cost" = 5), + ) + ) +)) diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm index c32e46c5365..7bb81b30c99 100644 --- a/code/game/objects/items/RCD.dm +++ b/code/game/objects/items/RCD.dm @@ -150,6 +150,13 @@ RLD if(prob(20)) spark_system.start() +/obj/item/construction/update_overlays() + . = ..() + if(has_ammobar) + var/ratio = CEILING((matter / max_matter) * ammo_sections, 1) + if(ratio > 0) + . += "[icon_state]_charge[ratio]" + /obj/item/construction/proc/useResource(amount, mob/user) if(!silo_mats || !silo_link) if(matter < amount) @@ -628,7 +635,7 @@ GLOBAL_VAR_INIT(icon_holographic_window, init_holographic_window()) var/category_icon_state var/category_icon_suffix - for(var/list/sub_category as anything in root_categories[root_category]) + for(var/sub_category as anything in root_categories[root_category]) var/list/target_category = root_categories[root_category][sub_category] if(target_category.len == 0) continue @@ -664,7 +671,7 @@ GLOBAL_VAR_INIT(icon_holographic_window, init_holographic_window()) //sanitize them so you dont go insane when icon names contain spaces in them icon_state = sanitize_css_class_name(icon_state) - designs += list(list("design_id" = i, TITLE = design[TITLE], ICON = icon_state)) + designs += list(list(TITLE = design[TITLE], ICON = icon_state)) data["categories"] += list(list("cat_name" = sub_category, "designs" = designs)) //merge airlock_electronics ui data with this @@ -768,13 +775,6 @@ GLOBAL_VAR_INIT(icon_holographic_window, init_holographic_window()) explosion(src, light_impact_range = 3, flame_range = 1, flash_range = 1) qdel(src) -/obj/item/construction/rcd/update_overlays() - . = ..() - if(has_ammobar) - var/ratio = CEILING((matter / max_matter) * ammo_sections, 1) - if(ratio > 0) - . += "[icon_state]_charge[ratio]" - /obj/item/construction/rcd/Initialize(mapload) . = ..() update_appearance() @@ -868,7 +868,6 @@ GLOBAL_VAR_INIT(icon_holographic_window, init_holographic_window()) custom_materials = list(/datum/material/iron=48000, /datum/material/glass=32000) ammoamt = 160 - /obj/item/construction/rcd/combat/admin name = "admin RCD" max_matter = INFINITY @@ -927,7 +926,6 @@ GLOBAL_VAR_INIT(icon_holographic_window, init_holographic_window()) matter = 200 max_matter = 200 slot_flags = ITEM_SLOT_BELT - desc = "It contains the design for chairs, stools, tables, and glass tables." ///it does not make sense why any of these should be installed banned_upgrades = RCD_UPGRADE_FRAMES | RCD_UPGRADE_SIMPLE_CIRCUITS | RCD_UPGRADE_FURNISHING @@ -1492,6 +1490,7 @@ GLOBAL_VAR_INIT(icon_holographic_window, init_holographic_window()) /obj/item/rcd_upgrade/silo_link desc = "It contains direct silo connection RCD upgrade." upgrade = RCD_UPGRADE_SILO_LINK + /obj/item/rcd_upgrade/furnishing desc = "It contains the design for chairs, stools, tables, and glass tables." upgrade = RCD_UPGRADE_FURNISHING diff --git a/code/game/objects/items/RTD.dm b/code/game/objects/items/RTD.dm new file mode 100644 index 00000000000..ef600749179 --- /dev/null +++ b/code/game/objects/items/RTD.dm @@ -0,0 +1,365 @@ +/// time taken to create tile +#define CONSTRUCTION_TIME 0.4 SECONDS +/// time taken to destroy a tile +#define DECONSTRUCTION_TIME 0.2 SECONDS + +/** + * An tool used to create, destroy, and copy & clear decals of floor tiles + * Great for janitor but can be made only in engineering + * Supports silo link upgrade and refill with glass, plasteel & iron + */ +/obj/item/construction/rtd + name = "rapid-tiling-device (RTD)" + desc = "Used for fast placement & destruction of floor tiles." + icon = 'icons/obj/tools.dmi' + icon_state = "rtd" + worn_icon_state = "RCD" + lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' + custom_premium_price = PAYCHECK_COMMAND * 3 + max_matter = 350 + slot_flags = ITEM_SLOT_BELT + item_flags = NO_MAT_REDEMPTION | NOBLUDGEON + has_ammobar = TRUE + banned_upgrades = RCD_UPGRADE_FRAMES | RCD_UPGRADE_SIMPLE_CIRCUITS | RCD_UPGRADE_FURNISHING + + /// main category for tile design + var/root_category = "Conventional" + /// sub category for tile design + var/design_category = "Standard" + /// design selected by player + var/datum/tile_info/selected_design + /// temp var to store an single design from GLOB.floor_design while iterating through this list + var/datum/tile_info/tile_design + /// overlays on a tile + var/list/design_overlays = list() + +/// stores the name, type, icon & cost for each tile type +/datum/tile_info + /// name of this tile design for ui + var/name + /// path to create this tile type + var/obj/item/stack/tile/tile_type + /// icon for this tile to display for ui + var/icon_state + /// rcd units to consume for this tile creation + var/cost + + ///directions this tile can be placed on the turf + var/list/tile_directions + /// user friendly names of the tile_directions to be sent to ui + var/list/ui_directional_data + /// current direction this tile should be rotated in before being placed on the plating + var/selected_direction + +/// decompress a single tile design list element from GLOB.floor_designs into its individual variables +/datum/tile_info/proc/set_info(list/design) + name = design["name"] + tile_type = design["type"] + icon_state = initial(tile_type.icon_state) + cost = design["tile_cost"] + + tile_directions = design["tile_rotate_dirs"] + if(!tile_directions) + selected_direction = null + ui_directional_data = null + return + + ui_directional_data = list() + for(var/tile_direction in tile_directions) + ui_directional_data += dir2text(tile_direction) + selected_direction = tile_directions[1] + +/// fill all information to be sent to the UI +/datum/tile_info/proc/fill_ui_data(list/data) + data["selected_recipe"] = name + data["selected_icon"] = get_icon_state() + + if(!tile_directions) + data["selected_direction"] = null + return + + data["tile_dirs"] = ui_directional_data + data["selected_direction"] = dir2text(selected_direction) + +/// change the direction the tile is laid on the turf +/datum/tile_info/proc/set_direction(direction) + if(tile_directions == null || !(direction in tile_directions)) + return + selected_direction = direction + +/** + * retrive the icon for this tile design based on its direction + * for complex directions like NORTHSOUTH etc we create an seperated blended icon in the asset file for example floor-northsouth + * so we check which icons we want to retrive based on its direction + * for basic directions its rotated with CSS so there is no need for icon + */ +/datum/tile_info/proc/get_icon_state() + var/prefix = "" + if(selected_direction) + prefix = (selected_direction in GLOB.tile_dont_rotate) ? "" : "-[dir2text(selected_direction)]" + return icon_state + prefix + +///convinience proc to quickly convert the tile design into an physical tile to lay on the plating +/datum/tile_info/proc/new_tile(loc) + var/obj/item/stack/tile/final_tile = new tile_type(loc, 1) + final_tile.turf_dir = selected_direction + return final_tile + +/** + * Stores the decal & overlays on the floor to preserve texture of the design + * in short its just an wrapper for mutable appearance where we retrive the nessassary information + * to recreate an mutable appearance + */ +/datum/overlay_info + /// icon var of the mutable appearance + var/icon/icon + /// icon_state var of the mutable appearance + var/icon_state + /// direction var of the mutable appearance + var/direction + /// alpha var of the mutable appearance + var/alpha + /// color var of the mutable appearance + var/color + +//decompressing nessasary information required to re-create an mutable appearance +/datum/overlay_info/New(mutable_appearance/appearance) + icon = appearance.icon + icon_state = appearance.icon_state + alpha = appearance.alpha + direction = appearance.dir + color = appearance.color + +/// re create the appearance +/datum/overlay_info/proc/add_decal(turf/the_turf) + the_turf.AddElement(/datum/element/decal, icon, icon_state, direction, null, null, alpha, color, null, FALSE, null) + +/obj/item/construction/rtd/Initialize(mapload) + . = ..() + selected_design = new + tile_design = new + + selected_design.set_info(GLOB.floor_designs[root_category][design_category][1]) + update_appearance() + +/obj/item/construction/rtd/Destroy() + QDEL_NULL(selected_design) + QDEL_NULL(tile_design) + QDEL_LIST(design_overlays) + . = ..() + +/obj/item/construction/rtd/ui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "RapidTilingDevice", name) + ui.open() + + +/obj/item/construction/rtd/ui_assets(mob/user) + return list( + get_asset_datum(/datum/asset/spritesheet/rtd), + ) + +/obj/item/construction/rtd/attack_self(mob/user) + . = ..() + ui_interact(user) + +/obj/item/construction/rtd/ui_data(mob/user) + var/list/data = ..() + var/floor_designs = GLOB.floor_designs + + data["selected_root"] = root_category + data["root_categories"] = list() + for(var/category in floor_designs) + data["root_categories"] += category + data["selected_category"] = design_category + + selected_design.fill_ui_data(data) + + data["categories"] = list() + for(var/sub_category as anything in floor_designs[root_category]) + var/list/target_category = floor_designs[root_category][sub_category] + + var/list/designs = list() //initialize all designs under this category + for(var/list/design as anything in target_category) + tile_design.set_info(design) + designs += list(list("name" = tile_design.name, "icon" = tile_design.get_icon_state())) + + data["categories"] += list(list("category_name" = sub_category, "recipes" = designs)) + + return data + +/obj/item/construction/rtd/ui_act(action, params) + . = ..() + if(.) + return + + var/floor_designs = GLOB.floor_designs + switch(action) + if("root_category") + var/new_root = params["root_category"] + if(floor_designs[new_root] != null) //is a valid category + root_category = new_root + + if("set_dir") + var/direction = text2dir(params["dir"]) + if(!direction) + return TRUE + selected_design.set_direction(direction) + + if("recipe") + var/list/main_root = floor_designs[root_category] + if(main_root == null) + return TRUE + var/list/sub_category = main_root[params["category_name"]] + if(sub_category == null) + return TRUE + var/list/target_design = sub_category[text2num(params["id"])] + if(target_design == null) + return + + QDEL_LIST(design_overlays) + design_category = params["category_name"] + selected_design.set_info(target_design) + + return TRUE + +/// RTD can lay floor tiles only on these 2 types of platings. this procs checks for that +/obj/item/construction/rtd/proc/is_valid_plating(turf/open/floor) + return floor.type == /turf/open/floor/plating || floor.type == /turf/open/floor/plating/reinforced + +/obj/item/construction/rtd/afterattack(turf/open/floor/floor, mob/user) + . = ..() + if(!istype(floor) || !range_check(floor,user)) + return TRUE + + var/floor_designs = GLOB.floor_designs + if(!is_valid_plating(floor)) //we infer what floor type it is if its not the usual plating + user.Beam(floor, icon_state = "light_beam", time = 5) + for(var/main_root in floor_designs) + for(var/sub_category in floor_designs[main_root]) + for(var/list/design_info in floor_designs[main_root][sub_category]) + var/obj/item/stack/tile/tile_type = design_info["type"] + if(initial(tile_type.turf_type) != floor.type) + continue + + //infer available overlays on the floor to recreate them to the best extent + QDEL_LIST(design_overlays) + var/floor_designs = floor.managed_overlays + if(isnull(floor_designs)) + floor_designs = list() + else if(!islist(floor_designs)) + floor_designs = list(floor.managed_overlays) + for(var/mutable_appearance/appearance as anything in floor_designs) + design_overlays += new /datum/overlay_info(appearance) + + //store all information about this tile + root_category = main_root + design_category = sub_category + selected_design.set_info(design_info) + selected_design.set_direction(floor.dir) + balloon_alert(user, "tile changed to [selected_design.name]") + + return TRUE + + //can't infer floor type! + balloon_alert(user, "design not supported!") + return TRUE + + if(!checkResource(selected_design.cost, user)) + return TRUE + + //All special effect stuff + user.Beam(floor, icon_state = "light_beam", time = CONSTRUCTION_TIME) + var/obj/effect/constructing_effect/rcd_effect = new(floor, CONSTRUCTION_TIME, RCD_FLOORWALL) + if(!do_after(user, CONSTRUCTION_TIME, target = floor)) + rcd_effect.end_animation() + return TRUE + + //consume resource only if tile was placed successfully + var/obj/item/stack/tile/final_tile = selected_design.new_tile(user.drop_location()) + if(QDELETED(final_tile)) //if you were standing on a stack of tiles this newly spawned tile could get merged with it cause its spawned on your location + rcd_effect.end_animation() + balloon_alert(user, "tile got merged with the stack beneath you!") + return TRUE + + var/turf/open/new_turf = final_tile.place_tile(floor, user) + if(new_turf) + //apply infered overlays + for(var/datum/overlay_info/info in design_overlays) + info.add_decal(new_turf) + //use material + useResource(selected_design.cost, user) + rcd_effect.end_animation() + + return TRUE + +/obj/item/construction/rtd/afterattack_secondary(turf/open/floor/floor, mob/user, proximity_flag, click_parameters) + ..() + if(!istype(floor) || !range_check(floor,user)) + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + + if(is_valid_plating(floor)) //cant deconstruct normal plating thats the RCD's job + balloon_alert(user, "nothing to deconstruct!") + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + + var/floor_designs = GLOB.floor_designs + + //we only deconstruct floors which are supported by the RTD + var/can_deconstruct = FALSE + var/cost + for(var/main_root in floor_designs) + if(can_deconstruct) + break + for(var/sub_category in floor_designs[main_root]) + if(can_deconstruct) + break + for(var/list/design_info in floor_designs[main_root][sub_category]) + var/obj/item/stack/tile/tile_type = design_info["type"] + if(initial(tile_type.turf_type) == floor.type) + cost = tile_design.cost + can_deconstruct = TRUE + break + if(!can_deconstruct || !checkResource(cost * 0.7, user)) //no ballon alert for checkResource as it already spans an alert to chat + if(!can_deconstruct) + balloon_alert(user, "can't deconstruct this type!") + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + + //find & collect all decals + var/list/all_decals = list() + for(var/obj/effect/decal in floor.contents) + all_decals += decal + //delete all decals + for(var/obj/effect/decal in all_decals) + floor.contents -= decal + qdel(decal) + + //All special effect stuff + user.Beam(floor, icon_state = "light_beam", time = DECONSTRUCTION_TIME) + var/obj/effect/constructing_effect/rcd_effect = new(floor, DECONSTRUCTION_TIME, RCD_FLOORWALL) + if(!do_after(user, DECONSTRUCTION_TIME, target = floor)) + rcd_effect.end_animation() + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + + var/turf/new_turf = null + if(floor.baseturf_at_depth(1) == /turf/baseturf_bottom) //for turfs whose base is open space we put regular plating in its place else everyone dies + new_turf = floor.ChangeTurf(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR) + else // for every other turf we scarp away exposing base turf underneath + new_turf = floor.ScrapeAway(flags = CHANGETURF_INHERIT_AIR) + if(new_turf) + useResource(cost * 0.7, user) + rcd_effect.end_animation() + + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + +/obj/item/construction/rtd/loaded + matter = 350 + +/obj/item/construction/rtd/admin + name = "admin RTD" + max_matter = INFINITY + matter = INFINITY + +#undef CONSTRUCTION_TIME +#undef DECONSTRUCTION_TIME diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index 314e50d59e9..3b1ab142643 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -90,8 +90,6 @@ to_chat(user, span_notice("You cannot place this tile here directly!")) return to_chat(user, span_notice("You begin replacing the floor with the tile...")) - if(!do_after(user, 3 SECONDS, target_plating)) - return if(!istype(target_plating)) return if(!use(1)) diff --git a/code/modules/asset_cache/assets/rtd.dm b/code/modules/asset_cache/assets/rtd.dm new file mode 100644 index 00000000000..23a3b0d71b2 --- /dev/null +++ b/code/modules/asset_cache/assets/rtd.dm @@ -0,0 +1,54 @@ +/datum/asset/spritesheet/rtd + name = "rtd" + +/datum/asset/spritesheet/rtd/create_spritesheets() + //some tiles may share the same icon but have diffrent properties to animate that icon + //so we keep track of what icons we registered + var/list/registered = list() + + for(var/main_root in GLOB.floor_designs) + for(var/sub_category in GLOB.floor_designs[main_root]) + for(var/list/design in GLOB.floor_designs[main_root][sub_category]) + var/obj/item/stack/tile/type = design["type"] + var/icon_state = initial(type.icon_state) + if(registered[icon_state]) + continue + + Insert(sprite_name = icon_state, I = 'icons/obj/tiles.dmi', icon_state = icon_state) + registered[icon_state] = TRUE + + var/list/tile_directions = design["tile_rotate_dirs"] + if(tile_directions == null) + continue + + for(var/direction as anything in tile_directions) + //we can rotate the icon is css for these directions + if(direction in GLOB.tile_dont_rotate) + continue + + //but for these directions we have to do some hacky stuff + var/icon/img = icon(icon = 'icons/obj/tiles.dmi', icon_state = icon_state) + switch(direction) + if(NORTHEAST) + img.Turn(-180) + var/icon/east_rotated = icon(icon = 'icons/obj/tiles.dmi', icon_state = icon_state) + east_rotated.Turn(-90) + img.Blend(east_rotated,ICON_MULTIPLY) + img.SetIntensity(2,2,2) + if(NORTHWEST) + img.Turn(-180) + var/icon/west_rotated = icon(icon = 'icons/obj/tiles.dmi', icon_state = icon_state) + west_rotated.Turn(90) + img.Blend(west_rotated,ICON_MULTIPLY) + img.SetIntensity(2,2,2) + if(SOUTHEAST) + var/icon/east_rotated = icon(icon = 'icons/obj/tiles.dmi', icon_state = icon_state) + east_rotated.Turn(-90) + img.Blend(east_rotated,ICON_MULTIPLY) + img.SetIntensity(2,2,2) + if(SOUTHWEST) + var/icon/west_rotated = icon(icon = 'icons/obj/tiles.dmi', icon_state = icon_state) + west_rotated.Turn(90) + img.Blend(west_rotated,ICON_MULTIPLY) + img.SetIntensity(2,2,2) + Insert(sprite_name = "[icon_state]-[dir2text(direction)]", I = img) diff --git a/code/modules/research/designs/tool_designs.dm b/code/modules/research/designs/tool_designs.dm index bca4fb650da..f0a40508b48 100644 --- a/code/modules/research/designs/tool_designs.dm +++ b/code/modules/research/designs/tool_designs.dm @@ -77,6 +77,7 @@ ) departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING + //SKYRAT EDIT ADDITION// /datum/design/engi_plumbing name = "Engineering Plumbing Constructor" @@ -91,6 +92,19 @@ departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING //SKYRAT EDIT END// +/datum/design/rtd_loaded + name = "Rapid Tiling Device" + desc = "A tool that can lay & destory floor tiles on the fly." + id = "rtd_loaded" + build_type = PROTOLATHE | AWAY_LATHE + materials = list(/datum/material/iron = 30000, /datum/material/glass = 2500) + build_path = /obj/item/construction/rtd/loaded + category = list( + RND_CATEGORY_TOOLS + RND_SUBCATEGORY_TOOLS_ENGINEERING_ADVANCED + ) + departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING + + /datum/design/rcd_ammo name = "RCD Matter Cartridge" id = "rcd_ammo" diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 55891c476e1..24f373ffeb5 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -645,6 +645,7 @@ "rcd_loaded", "rcd_ammo", "rpd_loaded", + "rtd_loaded", "sheetifier", "weldingmask", diff --git a/icons/mob/inhands/equipment/tools_lefthand.dmi b/icons/mob/inhands/equipment/tools_lefthand.dmi index 263e25ca20e3c14f800eb3aa22fe7d3df389f5c9..ec4f7a8a181abc5036ded04bc18cd674cc67d9c3 100644 GIT binary patch literal 16891 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 GUj8p>ZH;aK literal 16417 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 diff --git a/icons/mob/inhands/equipment/tools_righthand.dmi b/icons/mob/inhands/equipment/tools_righthand.dmi index 732af4e934dce52ac89fd16f81ba82aa10681cd8..11b9e5bd37facd3c68c8e184bc839c1cd581a56b 100644 GIT binary patch literal 18716 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 ab)0N%R!SXVf>}RYIvNJIi*Mb3`o91kW+Su! diff --git a/icons/obj/tools.dmi b/icons/obj/tools.dmi index b20b38cdbf43f1f8cd9805694ae76a3dff8187dd..22612fde32281ce6e144207dc51427e512a8e51c 100644 GIT binary patch literal 27257 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 literal 27630 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 diff --git a/tgstation.dme b/tgstation.dme index f2f466591b0..76f42e9857f 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -519,6 +519,7 @@ #include "code\_globalvars\lists\objects.dm" #include "code\_globalvars\lists\poll_ignore.dm" #include "code\_globalvars\lists\quirks.dm" +#include "code\_globalvars\lists\rtd.dm" #include "code\_globalvars\lists\typecache.dm" #include "code\_globalvars\lists\wiremod.dm" #include "code\_globalvars\lists\xenobiology.dm" @@ -1810,6 +1811,7 @@ #include "code\game\objects\items\religion.dm" #include "code\game\objects\items\RPD.dm" #include "code\game\objects\items\RSF.dm" +#include "code\game\objects\items\RTD.dm" #include "code\game\objects\items\scrolls.dm" #include "code\game\objects\items\secret_documents.dm" #include "code\game\objects\items\sharpener.dm" @@ -2693,6 +2695,7 @@ #include "code\modules\asset_cache\assets\radar.dm" #include "code\modules\asset_cache\assets\rcd.dm" #include "code\modules\asset_cache\assets\research_designs.dm" +#include "code\modules\asset_cache\assets\rtd.dm" #include "code\modules\asset_cache\assets\safe.dm" #include "code\modules\asset_cache\assets\seeds.dm" #include "code\modules\asset_cache\assets\sheetmaterials.dm" diff --git a/tgui/packages/tgui/interfaces/RapidConstructionDevice.tsx b/tgui/packages/tgui/interfaces/RapidConstructionDevice.tsx index 937c4b25602..3a03463980d 100644 --- a/tgui/packages/tgui/interfaces/RapidConstructionDevice.tsx +++ b/tgui/packages/tgui/interfaces/RapidConstructionDevice.tsx @@ -24,7 +24,6 @@ type Category = { type Design = { title: string; - design_id: Number; icon: string; }; @@ -71,14 +70,14 @@ const CategoryItem = (props, context) => { ); }; -const InfoSection = (props, context) => { +export const InfoSection = (props, context) => { const { data } = useBackend(context); const { silo_upgraded } = data; return (
- + {silo_upgraded ? : ''} @@ -110,9 +109,9 @@ const DesignSection = (props, context) => { ))} - {shownCategory?.designs.map((design) => ( + {shownCategory?.designs.map((design, i) => ( + ))} +
+ ); +}; + +export const RapidTilingDevice = (props, context) => { + return ( + + + + + + + + + + + + + + + + + + + + ); +};