Plumbing ported over from /tg/(Actual Quality PR in the dirt that is /tg/)I will probably follow up with any update prs to plumbing since CHEMISTRY ATMOS CHEMISTRY ATMOS
TG PR:https://github.com/tgstation/tgstation/pull/44833
@@ -105,6 +105,8 @@ Class Procs:
|
||||
var/active_power_usage = 0
|
||||
var/power_channel = EQUIP
|
||||
//EQUIP,ENVIRON or LIGHT
|
||||
var/wire_compatible = FALSE
|
||||
|
||||
var/list/component_parts = null //list of all the parts used to build it, if made from certain kinds of frames.
|
||||
var/panel_open = FALSE
|
||||
var/state_open = FALSE
|
||||
@@ -147,10 +149,10 @@ Class Procs:
|
||||
else
|
||||
STOP_PROCESSING(SSfastprocess, src)
|
||||
dropContents()
|
||||
/*if(length(component_parts)) //yogs start: this breaks machines and makes them not drop stuff when deconstructed
|
||||
if(length(component_parts))
|
||||
for(var/atom/A in component_parts)
|
||||
qdel(A)
|
||||
component_parts.Cut()*/ //yogs end
|
||||
component_parts.Cut()
|
||||
return ..()
|
||||
|
||||
/obj/machinery/proc/locate_machinery()
|
||||
@@ -448,7 +450,7 @@ Class Procs:
|
||||
var/obj/item/circuitboard/machine/CB = locate(/obj/item/circuitboard/machine) in component_parts
|
||||
var/P
|
||||
if(W.works_from_distance)
|
||||
display_parts(user)
|
||||
to_chat(user, display_parts(user))
|
||||
for(var/obj/item/A in component_parts)
|
||||
for(var/D in CB.req_components)
|
||||
if(ispath(A.type, D))
|
||||
@@ -476,34 +478,36 @@ Class Procs:
|
||||
break
|
||||
RefreshParts()
|
||||
else
|
||||
display_parts(user)
|
||||
to_chat(user, display_parts(user))
|
||||
if(shouldplaysound)
|
||||
W.play_rped_sound()
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/machinery/proc/display_parts(mob/user)
|
||||
to_chat(user, "<span class='notice'>It contains the following parts:</span>")
|
||||
. = list()
|
||||
. += "<span class='notice'>It contains the following parts:</span>"
|
||||
for(var/obj/item/C in component_parts)
|
||||
to_chat(user, "<span class='notice'>[icon2html(C, user)] \A [C].</span>")
|
||||
. += "<span class='notice'>[icon2html(C, user)] \A [C].</span>"
|
||||
. = jointext(., "")
|
||||
|
||||
/obj/machinery/examine(mob/user)
|
||||
..()
|
||||
. = ..()
|
||||
if(stat & BROKEN)
|
||||
to_chat(user, "<span class='notice'>It looks broken and non-functional.</span>")
|
||||
. += "<span class='notice'>It looks broken and non-functional.</span>"
|
||||
if(!(resistance_flags & INDESTRUCTIBLE))
|
||||
if(resistance_flags & ON_FIRE)
|
||||
to_chat(user, "<span class='warning'>It's on fire!</span>")
|
||||
. += "<span class='warning'>It's on fire!</span>"
|
||||
var/healthpercent = (obj_integrity/max_integrity) * 100
|
||||
switch(healthpercent)
|
||||
if(50 to 99)
|
||||
to_chat(user, "It looks slightly damaged.")
|
||||
. += "It looks slightly damaged."
|
||||
if(25 to 50)
|
||||
to_chat(user, "It appears heavily damaged.")
|
||||
. += "It appears heavily damaged."
|
||||
if(0 to 25)
|
||||
to_chat(user, "<span class='warning'>It's falling apart!</span>")
|
||||
. += "<span class='warning'>It's falling apart!</span>"
|
||||
if(user.research_scanner && component_parts)
|
||||
display_parts(user)
|
||||
. += display_parts(user, TRUE)
|
||||
|
||||
//called on machinery construction (i.e from frame to machinery) but not on initialization
|
||||
/obj/machinery/proc/on_construction()
|
||||
|
||||
@@ -6,6 +6,7 @@ RPD
|
||||
#define ATMOS_CATEGORY 0
|
||||
#define DISPOSALS_CATEGORY 1
|
||||
#define TRANSIT_CATEGORY 2
|
||||
#define PLUMBING_CATEGORY 3
|
||||
|
||||
#define BUILD_MODE 1
|
||||
#define WRENCH_MODE 2
|
||||
@@ -72,6 +73,13 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list(
|
||||
)
|
||||
))
|
||||
|
||||
GLOBAL_LIST_INIT(fluid_duct_recipes, list(
|
||||
"Fluid Ducts" = list(
|
||||
new /datum/pipe_info/plumbing("Duct", /obj/machinery/duct, PIPE_ONEDIR),
|
||||
new /datum/pipe_info/plumbing/multilayer("Duct Layer-Manifold",/obj/machinery/duct/multilayered, PIPE_STRAIGHT)
|
||||
)
|
||||
))
|
||||
|
||||
/datum/pipe_info
|
||||
var/name
|
||||
var/icon_state
|
||||
@@ -172,6 +180,15 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list(
|
||||
if(dt == PIPE_UNARY_FLIPPABLE)
|
||||
icon_state = "[icon_state]_preview"
|
||||
|
||||
/datum/pipe_info/plumbing/New(label, obj/path, dt=PIPE_UNARY)
|
||||
name = label
|
||||
id = path
|
||||
icon_state = initial(path.icon_state)
|
||||
dirtype = dt
|
||||
|
||||
/datum/pipe_info/plumbing/multilayer //exists as identifier so we can see the difference between multi_layer and just ducts properly later on
|
||||
|
||||
|
||||
/obj/item/pipe_dispenser
|
||||
name = "Rapid Piping Device (RPD)"
|
||||
desc = "A device used to rapidly pipe things."
|
||||
@@ -194,15 +211,19 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list(
|
||||
var/atmos_build_speed = 5 //deciseconds (500ms)
|
||||
var/disposal_build_speed = 5
|
||||
var/transit_build_speed = 5
|
||||
var/plumbing_build_speed = 5
|
||||
var/destroy_speed = 5
|
||||
var/paint_speed = 5
|
||||
var/category = ATMOS_CATEGORY
|
||||
var/piping_layer = PIPING_LAYER_DEFAULT
|
||||
var/ducting_layer = DUCT_LAYER_DEFAULT
|
||||
var/datum/pipe_info/recipe
|
||||
var/static/datum/pipe_info/first_atmos
|
||||
var/static/datum/pipe_info/first_disposal
|
||||
var/static/datum/pipe_info/first_transit
|
||||
var/static/datum/pipe_info/first_plumbing
|
||||
var/mode = BUILD_MODE | PAINT_MODE | DESTROY_MODE | WRENCH_MODE
|
||||
var/locked = FALSE //wheter we can change categories. Useful for the plumber
|
||||
|
||||
/obj/item/pipe_dispenser/Initialize()
|
||||
. = ..()
|
||||
@@ -250,11 +271,13 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list(
|
||||
var/list/data = list(
|
||||
"category" = category,
|
||||
"piping_layer" = piping_layer,
|
||||
"ducting_layer" = ducting_layer,
|
||||
"preview_rows" = recipe.get_preview(p_dir),
|
||||
"categories" = list(),
|
||||
"selected_color" = paint_color,
|
||||
"paint_colors" = GLOB.pipe_paint_colors,
|
||||
"mode" = mode
|
||||
"mode" = mode,
|
||||
"locked" = locked
|
||||
)
|
||||
|
||||
var/list/recipes
|
||||
@@ -265,6 +288,8 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list(
|
||||
recipes = GLOB.disposal_pipe_recipes
|
||||
if(TRANSIT_CATEGORY)
|
||||
recipes = GLOB.transit_tube_recipes
|
||||
if(PLUMBING_CATEGORY)
|
||||
recipes = GLOB.fluid_duct_recipes
|
||||
for(var/c in recipes)
|
||||
var/list/cat = recipes[c]
|
||||
var/list/r = list()
|
||||
@@ -293,15 +318,20 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list(
|
||||
recipe = first_atmos
|
||||
if(TRANSIT_CATEGORY)
|
||||
recipe = first_transit
|
||||
if(PLUMBING_CATEGORY)
|
||||
recipe = first_plumbing
|
||||
p_dir = NORTH
|
||||
playeffect = FALSE
|
||||
if("piping_layer")
|
||||
piping_layer = text2num(params["piping_layer"])
|
||||
playeffect = FALSE
|
||||
if("ducting_layer")
|
||||
ducting_layer = text2num(params["ducting_layer"])
|
||||
playeffect = FALSE
|
||||
if("pipe_type")
|
||||
var/static/list/recipes
|
||||
if(!recipes)
|
||||
recipes = GLOB.disposal_pipe_recipes + GLOB.atmos_pipe_recipes + GLOB.transit_tube_recipes
|
||||
recipes = GLOB.disposal_pipe_recipes + GLOB.atmos_pipe_recipes + GLOB.transit_tube_recipes + GLOB.fluid_duct_recipes
|
||||
recipe = recipes[params["category"]][text2num(params["pipe_type"])]
|
||||
p_dir = NORTH
|
||||
if("setdir")
|
||||
@@ -339,13 +369,6 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list(
|
||||
. = FALSE
|
||||
|
||||
if((mode&DESTROY_MODE) && istype(A, /obj/item/pipe) || istype(A, /obj/structure/disposalconstruct) || istype(A, /obj/structure/c_transit_tube) || istype(A, /obj/structure/c_transit_tube_pod) || istype(A, /obj/item/pipe_meter))
|
||||
// yogs start - disposable check
|
||||
if(istype(A, /obj/item/pipe))
|
||||
var/obj/item/pipe/P = A
|
||||
if(!P.disposable)
|
||||
to_chat(usr, "<span class='warning'>[src] is too valuable to dispose of!</span>")
|
||||
return
|
||||
// yogs end
|
||||
to_chat(user, "<span class='notice'>You start destroying a pipe...</span>")
|
||||
playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1)
|
||||
if(do_after(user, destroy_speed, target = A))
|
||||
@@ -459,6 +482,27 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list(
|
||||
if(mode&WRENCH_MODE)
|
||||
tube.wrench_act(user, src)
|
||||
return
|
||||
if(PLUMBING_CATEGORY) //Making pancakes
|
||||
if(!can_make_pipe)
|
||||
return ..()
|
||||
A = get_turf(A)
|
||||
if(isclosedturf(A))
|
||||
to_chat(user, "<span class='warning'>[src]'s error light flickers; there's something in the way!</span>")
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You start building a fluid duct...</span>")
|
||||
playsound(get_turf(src), 'sound/machines/click.ogg', 50, 1)
|
||||
if(do_after(user, plumbing_build_speed, target = A))
|
||||
var/obj/machinery/duct/D
|
||||
if(recipe.type == /datum/pipe_info/plumbing/multilayer)
|
||||
var/temp_connects = NORTH + SOUTH
|
||||
if(queued_p_dir == EAST)
|
||||
temp_connects = EAST + WEST
|
||||
D = new queued_p_type (A, TRUE, GLOB.pipe_paint_colors[paint_color], ducting_layer, temp_connects)
|
||||
else
|
||||
D = new queued_p_type (A, TRUE, GLOB.pipe_paint_colors[paint_color], ducting_layer)
|
||||
D.add_fingerprint(usr)
|
||||
if(mode & WRENCH_MODE)
|
||||
D.wrench_act(user, src)
|
||||
|
||||
else
|
||||
return ..()
|
||||
@@ -466,9 +510,27 @@ GLOBAL_LIST_INIT(transit_tube_recipes, list(
|
||||
/obj/item/pipe_dispenser/proc/activate()
|
||||
playsound(get_turf(src), 'sound/items/deconstruct.ogg', 50, 1)
|
||||
|
||||
/obj/item/pipe_dispenser/plumbing
|
||||
name = "Plumberinator"
|
||||
desc = "A crude device to rapidly plumb things."
|
||||
icon_state = "plumberer"
|
||||
category = PLUMBING_CATEGORY
|
||||
locked = TRUE
|
||||
|
||||
/obj/item/pipe_dispenser/plumbing/Initialize()
|
||||
. = ..()
|
||||
spark_system = new
|
||||
spark_system.set_up(5, 0, src)
|
||||
spark_system.attach(src)
|
||||
if(!first_plumbing)
|
||||
first_plumbing = GLOB.fluid_duct_recipes[GLOB.fluid_duct_recipes[1]][1]
|
||||
|
||||
recipe = first_plumbing
|
||||
|
||||
#undef ATMOS_CATEGORY
|
||||
#undef DISPOSALS_CATEGORY
|
||||
#undef TRANSIT_CATEGORY
|
||||
#undef PLUMBING_CATEGORY
|
||||
|
||||
#undef BUILD_MODE
|
||||
#undef DESTROY_MODE
|
||||
|
||||
@@ -219,11 +219,11 @@
|
||||
.["Modify armor values"] = "?_src_=vars;[HrefToken()];modarmor=[REF(src)]"
|
||||
|
||||
/obj/examine(mob/user)
|
||||
..()
|
||||
. = ..()
|
||||
if(obj_flags & UNIQUE_RENAME)
|
||||
to_chat(user, "<span class='notice'>Use a pen on it to rename it or change its description.</span>")
|
||||
. += "<span class='notice'>Use a pen on it to rename it or change its description.</span>"
|
||||
if(unique_reskin && !current_skin)
|
||||
to_chat(user, "<span class='notice'>Alt-click it to reskin it.</span>")
|
||||
. += "<span class='notice'>Alt-click it to reskin it.</span>"
|
||||
|
||||
/obj/AltClick(mob/user)
|
||||
. = ..()
|
||||
@@ -245,3 +245,11 @@
|
||||
current_skin = choice
|
||||
icon_state = unique_reskin[choice]
|
||||
to_chat(M, "[src] is now skinned as '[choice].'")
|
||||
|
||||
/obj/analyzer_act(mob/living/user, obj/item/I)
|
||||
if(atmosanalyzer_scan(user, src))
|
||||
return TRUE
|
||||
return ..()
|
||||
|
||||
/obj/proc/plunger_act(obj/item/plunger/P, mob/living/user, reinforced)
|
||||
return
|
||||
|
||||
@@ -138,6 +138,7 @@
|
||||
var/list/mob_spawn_list
|
||||
var/list/megafauna_spawn_list
|
||||
var/list/flora_spawn_list
|
||||
var/list/terrain_spawn_list
|
||||
var/sanity = 1
|
||||
var/forward_cave_dir = 1
|
||||
var/backward_cave_dir = 2
|
||||
@@ -153,7 +154,7 @@
|
||||
mob_spawn_list = list(/mob/living/simple_animal/hostile/asteroid/goliath/beast/random = 50, /obj/structure/spawner/lavaland/goliath = 3, \
|
||||
/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/random = 40, /obj/structure/spawner/lavaland = 2, \
|
||||
/mob/living/simple_animal/hostile/asteroid/hivelord/legion/random = 30, /obj/structure/spawner/lavaland/legion = 3, \
|
||||
SPAWN_MEGAFAUNA = 6, /mob/living/simple_animal/hostile/asteroid/goldgrub = 10, /mob/living/simple_animal/hostile/asteroid/marrowweaver = 35) // yogs change added marrowweaver
|
||||
SPAWN_MEGAFAUNA = 6, /mob/living/simple_animal/hostile/asteroid/goldgrub = 10, )
|
||||
|
||||
data_having_type = /turf/open/floor/plating/asteroid/airless/cave/volcanic/has_data
|
||||
turf_type = /turf/open/floor/plating/asteroid/basalt/lava_land_surface
|
||||
@@ -169,7 +170,8 @@
|
||||
megafauna_spawn_list = list(/mob/living/simple_animal/hostile/megafauna/dragon = 4, /mob/living/simple_animal/hostile/megafauna/colossus = 2, /mob/living/simple_animal/hostile/megafauna/bubblegum = SPAWN_BUBBLEGUM)
|
||||
if (!flora_spawn_list)
|
||||
flora_spawn_list = list(/obj/structure/flora/ash/leaf_shroom = 2 , /obj/structure/flora/ash/cap_shroom = 2 , /obj/structure/flora/ash/stem_shroom = 2 , /obj/structure/flora/ash/cacti = 1, /obj/structure/flora/ash/tall_shroom = 2)
|
||||
|
||||
if(!terrain_spawn_list)
|
||||
terrain_spawn_list = list(/obj/structure/geyser/random = 1)
|
||||
. = ..()
|
||||
if(!has_data)
|
||||
produce_tunnel_from_data()
|
||||
@@ -249,7 +251,7 @@
|
||||
if(!sanity)
|
||||
return
|
||||
SpawnFlora(T)
|
||||
|
||||
// SpawnTerrain(T)
|
||||
SpawnMonster(T)
|
||||
T.ChangeTurf(turf_type, null, CHANGETURF_IGNORE_AIR)
|
||||
|
||||
@@ -292,7 +294,15 @@
|
||||
return
|
||||
new randumb(T)
|
||||
|
||||
|
||||
/turf/open/floor/plating/asteroid/airless/cave/proc/SpawnTerrain(turf/T)
|
||||
if(prob(2))
|
||||
if(istype(loc, /area/mine/explored) || istype(loc, /area/lavaland/surface/outdoors/explored))
|
||||
return
|
||||
var/randumb = pickweight(terrain_spawn_list)
|
||||
for(var/obj/structure/geyser/F in range(7, T))
|
||||
if(istype(F, randumb))
|
||||
return
|
||||
new randumb(T)
|
||||
|
||||
/turf/open/floor/plating/asteroid/snow
|
||||
gender = PLURAL
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
/*
|
||||
Asset cache quick users guide:
|
||||
|
||||
Make a datum at the bottom of this file with your assets for your thing.
|
||||
The simple subsystem will most like be of use for most cases.
|
||||
Then call get_asset_datum() with the type of the datum you created and store the return
|
||||
Then call .send(client) on that stored return value.
|
||||
|
||||
You can set verify to TRUE if you want send() to sleep until the client has the assets.
|
||||
*/
|
||||
|
||||
@@ -519,7 +521,6 @@ GLOBAL_LIST_EMPTY(asset_datums)
|
||||
verify = FALSE
|
||||
assets = list(
|
||||
"json2.min.js" = 'code/modules/goonchat/browserassets/js/json2.min.js',
|
||||
"errorHandler.js" = 'code/modules/goonchat/browserassets/js/errorHandler.js',
|
||||
"browserOutput.js" = 'code/modules/goonchat/browserassets/js/browserOutput.js',
|
||||
"fontawesome-webfont.eot" = 'tgui/assets/fonts/fontawesome-webfont.eot',
|
||||
"fontawesome-webfont.svg" = 'tgui/assets/fonts/fontawesome-webfont.svg',
|
||||
@@ -598,7 +599,7 @@ GLOBAL_LIST_EMPTY(asset_datums)
|
||||
name = "pipes"
|
||||
|
||||
/datum/asset/spritesheet/pipes/register()
|
||||
for (var/each in list('icons/obj/atmospherics/pipes/pipe_item.dmi', 'icons/obj/atmospherics/pipes/disposal.dmi', 'icons/obj/atmospherics/pipes/transit_tube.dmi'))
|
||||
for (var/each in list('icons/obj/atmospherics/pipes/pipe_item.dmi', 'icons/obj/atmospherics/pipes/disposal.dmi', 'icons/obj/atmospherics/pipes/transit_tube.dmi', 'icons/obj/plumbing/fluid_ducts.dmi'))
|
||||
InsertAll("", each, GLOB.alldirs)
|
||||
..()
|
||||
|
||||
|
||||
@@ -24,7 +24,8 @@
|
||||
|
||||
/obj/structure/reagent_dispensers/Initialize()
|
||||
create_reagents(tank_volume, DRAINABLE | AMOUNT_VISIBLE)
|
||||
reagents.add_reagent(reagent_id, tank_volume)
|
||||
if(reagent_id)
|
||||
reagents.add_reagent(reagent_id, tank_volume)
|
||||
. = ..()
|
||||
|
||||
/obj/structure/reagent_dispensers/proc/boom()
|
||||
@@ -135,13 +136,13 @@
|
||||
var/paper_cups = 25 //Paper cups left from the cooler
|
||||
|
||||
/obj/structure/reagent_dispensers/water_cooler/examine(mob/user)
|
||||
..()
|
||||
. = ..()
|
||||
if (paper_cups > 1)
|
||||
to_chat(user, "There are [paper_cups] paper cups left.")
|
||||
. += "There are [paper_cups] paper cups left."
|
||||
else if (paper_cups == 1)
|
||||
to_chat(user, "There is one paper cup left.")
|
||||
. += "There is one paper cup left."
|
||||
else
|
||||
to_chat(user, "There are no paper cups left.")
|
||||
. += "There are no paper cups left."
|
||||
|
||||
/obj/structure/reagent_dispensers/water_cooler/attack_hand(mob/living/user)
|
||||
. = ..()
|
||||
@@ -182,3 +183,35 @@
|
||||
icon_state = "vat"
|
||||
anchored = TRUE
|
||||
reagent_id = /datum/reagent/consumable/cooking_oil
|
||||
|
||||
/obj/structure/reagent_dispensers/plumbed
|
||||
name = "stationairy water tank"
|
||||
anchored = TRUE
|
||||
icon_state = "water_stationairy"
|
||||
desc = "A stationairy, plumbed, water tank."
|
||||
|
||||
/obj/structure/reagent_dispensers/plumbed/wrench_act(mob/living/user, obj/item/I)
|
||||
default_unfasten_wrench(user, I)
|
||||
return TRUE
|
||||
|
||||
/obj/structure/reagent_dispensers/plumbed/default_unfasten_wrench(mob/user, obj/item/I, time = 20)
|
||||
. = ..()
|
||||
if(. == SUCCESSFUL_UNFASTEN)
|
||||
user.visible_message("<span class='notice'>[user.name] [anchored ? "fasten" : "unfasten"] [src]</span>", \
|
||||
"<span class='notice'>You [anchored ? "fasten" : "unfasten"] [src]</span>")
|
||||
var/datum/component/plumbing/CP = GetComponent(/datum/component/plumbing)
|
||||
if(anchored)
|
||||
CP.start()
|
||||
else
|
||||
CP.disable()
|
||||
|
||||
/obj/structure/reagent_dispensers/plumbed/ComponentInitialize()
|
||||
AddComponent(/datum/component/plumbing/simple_supply)
|
||||
|
||||
/obj/structure/reagent_dispensers/plumbed/storage
|
||||
name = "stationairy storage tank"
|
||||
icon_state = "tank_stationairy"
|
||||
reagent_id = null //start empty
|
||||
|
||||
/obj/structure/reagent_dispensers/plumbed/storage/ComponentInitialize()
|
||||
AddComponent(/datum/component/plumbing/tank)
|
||||
|
||||
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 102 KiB After Width: | Height: | Size: 103 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 16 KiB |
@@ -14,7 +14,6 @@
|
||||
|
||||
// BEGIN_INCLUDE
|
||||
#include "_maps\_basemap.dm"
|
||||
#include "_maps\multiz_debug.dm"
|
||||
#include "code\_compile_options.dm"
|
||||
#include "code\world.dm"
|
||||
#include "code\__DEFINES\_globals.dm"
|
||||
@@ -75,6 +74,7 @@
|
||||
#include "code\__DEFINES\obj_flags.dm"
|
||||
#include "code\__DEFINES\pinpointers.dm"
|
||||
#include "code\__DEFINES\pipe_construction.dm"
|
||||
#include "code\__DEFINES\plumbing.dm"
|
||||
#include "code\__DEFINES\preferences.dm"
|
||||
#include "code\__DEFINES\procpath.dm"
|
||||
#include "code\__DEFINES\profile.dm"
|
||||
@@ -92,6 +92,7 @@
|
||||
#include "code\__DEFINES\shuttles.dm"
|
||||
#include "code\__DEFINES\sight.dm"
|
||||
#include "code\__DEFINES\sound.dm"
|
||||
#include "code\__DEFINES\spaceman_dmm.dm"
|
||||
#include "code\__DEFINES\stat.dm"
|
||||
#include "code\__DEFINES\stat_tracking.dm"
|
||||
#include "code\__DEFINES\status_effects.dm"
|
||||
@@ -203,6 +204,7 @@
|
||||
#include "code\_onclick\hud\picture_in_picture.dm"
|
||||
#include "code\_onclick\hud\plane_master.dm"
|
||||
#include "code\_onclick\hud\radial.dm"
|
||||
#include "code\_onclick\hud\radial_persistent.dm"
|
||||
#include "code\_onclick\hud\revenanthud.dm"
|
||||
#include "code\_onclick\hud\robot.dm"
|
||||
#include "code\_onclick\hud\screen_objects.dm"
|
||||
@@ -230,6 +232,7 @@
|
||||
#include "code\controllers\subsystem\communications.dm"
|
||||
#include "code\controllers\subsystem\dbcore.dm"
|
||||
#include "code\controllers\subsystem\dcs.dm"
|
||||
#include "code\controllers\subsystem\discord.dm"
|
||||
#include "code\controllers\subsystem\disease.dm"
|
||||
#include "code\controllers\subsystem\economy.dm"
|
||||
#include "code\controllers\subsystem\events.dm"
|
||||
@@ -250,7 +253,6 @@
|
||||
#include "code\controllers\subsystem\moods.dm"
|
||||
#include "code\controllers\subsystem\nightshift.dm"
|
||||
#include "code\controllers\subsystem\npcpool.dm"
|
||||
#include "code\controllers\subsystem\outputs.dm"
|
||||
#include "code\controllers\subsystem\overlays.dm"
|
||||
#include "code\controllers\subsystem\pai.dm"
|
||||
#include "code\controllers\subsystem\parallax.dm"
|
||||
@@ -277,6 +279,7 @@
|
||||
#include "code\controllers\subsystem\weather.dm"
|
||||
#include "code\controllers\subsystem\processing\fastprocess.dm"
|
||||
#include "code\controllers\subsystem\processing\fields.dm"
|
||||
#include "code\controllers\subsystem\processing\fluids.dm"
|
||||
#include "code\controllers\subsystem\processing\nanites.dm"
|
||||
#include "code\controllers\subsystem\processing\networks.dm"
|
||||
#include "code\controllers\subsystem\processing\obj.dm"
|
||||
@@ -297,6 +300,7 @@
|
||||
#include "code\datums\datumvars.dm"
|
||||
#include "code\datums\dna.dm"
|
||||
#include "code\datums\dog_fashion.dm"
|
||||
#include "code\datums\ductnet.dm"
|
||||
#include "code\datums\embedding_behavior.dm"
|
||||
#include "code\datums\emotes.dm"
|
||||
#include "code\datums\ert.dm"
|
||||
@@ -311,7 +315,6 @@
|
||||
#include "code\datums\mutations.dm"
|
||||
#include "code\datums\numbered_display.dm"
|
||||
#include "code\datums\outfit.dm"
|
||||
#include "code\datums\outputs.dm"
|
||||
#include "code\datums\position_point_vector.dm"
|
||||
#include "code\datums\profiling.dm"
|
||||
#include "code\datums\progressbar.dm"
|
||||
@@ -327,6 +330,8 @@
|
||||
#include "code\datums\world_topic.dm"
|
||||
#include "code\datums\actions\beam_rifle.dm"
|
||||
#include "code\datums\actions\ninja.dm"
|
||||
#include "code\datums\atmosphere\_atmosphere.dm"
|
||||
#include "code\datums\atmosphere\planetary.dm"
|
||||
#include "code\datums\brain_damage\brain_trauma.dm"
|
||||
#include "code\datums\brain_damage\creepy_trauma.dm"
|
||||
#include "code\datums\brain_damage\hypnosis.dm"
|
||||
@@ -379,7 +384,6 @@
|
||||
#include "code\datums\components\rot.dm"
|
||||
#include "code\datums\components\rotation.dm"
|
||||
#include "code\datums\components\shrapnel.dm"
|
||||
#include "code\datums\components\signal_redirect.dm"
|
||||
#include "code\datums\components\slippery.dm"
|
||||
#include "code\datums\components\snail_crawl.dm"
|
||||
#include "code\datums\components\spawner.dm"
|
||||
@@ -405,6 +409,7 @@
|
||||
#include "code\datums\components\fantasy\affix.dm"
|
||||
#include "code\datums\components\fantasy\prefixes.dm"
|
||||
#include "code\datums\components\fantasy\suffixes.dm"
|
||||
#include "code\datums\components\plumbing\plumbing.dm"
|
||||
#include "code\datums\components\storage\storage.dm"
|
||||
#include "code\datums\components\storage\concrete\_concrete.dm"
|
||||
#include "code\datums\components\storage\concrete\bag_of_holding.dm"
|
||||
@@ -639,6 +644,7 @@
|
||||
#include "code\game\machinery\Sleeper.dm"
|
||||
#include "code\game\machinery\slotmachine.dm"
|
||||
#include "code\game\machinery\spaceheater.dm"
|
||||
#include "code\game\machinery\stasis.dm"
|
||||
#include "code\game\machinery\status_display.dm"
|
||||
#include "code\game\machinery\suit_storage_unit.dm"
|
||||
#include "code\game\machinery\syndicatebeacon.dm"
|
||||
@@ -737,6 +743,7 @@
|
||||
#include "code\game\mecha\equipment\tools\other_tools.dm"
|
||||
#include "code\game\mecha\equipment\tools\weapon_bay.dm"
|
||||
#include "code\game\mecha\equipment\tools\work_tools.dm"
|
||||
#include "code\game\mecha\equipment\weapons\mecha_ammo.dm"
|
||||
#include "code\game\mecha\equipment\weapons\weapons.dm"
|
||||
#include "code\game\mecha\medical\medical.dm"
|
||||
#include "code\game\mecha\medical\odysseus.dm"
|
||||
@@ -1084,6 +1091,7 @@
|
||||
#include "code\game\objects\structures\crates_lockers\crates\large.dm"
|
||||
#include "code\game\objects\structures\crates_lockers\crates\secure.dm"
|
||||
#include "code\game\objects\structures\crates_lockers\crates\wooden.dm"
|
||||
#include "code\game\objects\structures\lavaland\geyser.dm"
|
||||
#include "code\game\objects\structures\lavaland\necropolis_tendril.dm"
|
||||
#include "code\game\objects\structures\signs\_signs.dm"
|
||||
#include "code\game\objects\structures\signs\signs_departments.dm"
|
||||
@@ -1467,16 +1475,13 @@
|
||||
#include "code\modules\awaymissions\mission_code\caves.dm"
|
||||
#include "code\modules\awaymissions\mission_code\centcomAway.dm"
|
||||
#include "code\modules\awaymissions\mission_code\challenge.dm"
|
||||
#include "code\modules\awaymissions\mission_code\mining.dm"
|
||||
#include "code\modules\awaymissions\mission_code\moonoutpost19.dm"
|
||||
#include "code\modules\awaymissions\mission_code\murderdome.dm"
|
||||
#include "code\modules\awaymissions\mission_code\research.dm"
|
||||
#include "code\modules\awaymissions\mission_code\runner.dm"
|
||||
#include "code\modules\awaymissions\mission_code\snowdin.dm"
|
||||
#include "code\modules\awaymissions\mission_code\spacebattle.dm"
|
||||
#include "code\modules\awaymissions\mission_code\stationCollision.dm"
|
||||
#include "code\modules\awaymissions\mission_code\undergroundoutpost45.dm"
|
||||
#include "code\modules\awaymissions\mission_code\vrhub.dm"
|
||||
#include "code\modules\awaymissions\mission_code\wildwest.dm"
|
||||
#include "code\modules\bsql\includes.dm"
|
||||
#include "code\modules\buildmode\bm_mode.dm"
|
||||
@@ -1619,6 +1624,10 @@
|
||||
#include "code\modules\detectivework\evidence.dm"
|
||||
#include "code\modules\detectivework\footprints_and_rag.dm"
|
||||
#include "code\modules\detectivework\scanner.dm"
|
||||
#include "code\modules\discord\accountlink.dm"
|
||||
#include "code\modules\discord\manipulation.dm"
|
||||
#include "code\modules\discord\tgs_commands.dm"
|
||||
#include "code\modules\discord\toggle_notify.dm"
|
||||
#include "code\modules\economy\_economy.dm"
|
||||
#include "code\modules\economy\account.dm"
|
||||
#include "code\modules\economy\pay_stand.dm"
|
||||
@@ -1752,7 +1761,6 @@
|
||||
#include "code\modules\food_and_drinks\recipes\tablecraft\recipes_spaghetti.dm"
|
||||
#include "code\modules\games\cas.dm"
|
||||
#include "code\modules\goonchat\browserOutput.dm"
|
||||
#include "code\modules\goonchat\jsErrorHandler.dm"
|
||||
#include "code\modules\holiday\easter.dm"
|
||||
#include "code\modules\holiday\holidays.dm"
|
||||
#include "code\modules\holodeck\area_copy.dm"
|
||||
@@ -2338,6 +2346,8 @@
|
||||
#include "code\modules\photography\photos\album.dm"
|
||||
#include "code\modules\photography\photos\frame.dm"
|
||||
#include "code\modules\photography\photos\photo.dm"
|
||||
#include "code\modules\plumbing\ducts.dm"
|
||||
#include "code\modules\plumbing\plumbers\pumps.dm"
|
||||
#include "code\modules\power\apc.dm"
|
||||
#include "code\modules\power\cable.dm"
|
||||
#include "code\modules\power\cell.dm"
|
||||
@@ -2346,6 +2356,7 @@
|
||||
#include "code\modules\power\gravitygenerator.dm"
|
||||
#include "code\modules\power\lighting.dm"
|
||||
#include "code\modules\power\monitor.dm"
|
||||
#include "code\modules\power\pipecleaners.dm"
|
||||
#include "code\modules\power\port_gen.dm"
|
||||
#include "code\modules\power\power.dm"
|
||||
#include "code\modules\power\powernet.dm"
|
||||
@@ -2718,6 +2729,7 @@
|
||||
#include "code\modules\surgery\cavity_implant.dm"
|
||||
#include "code\modules\surgery\core_removal.dm"
|
||||
#include "code\modules\surgery\dental_implant.dm"
|
||||
#include "code\modules\surgery\experimental_dissection.dm"
|
||||
#include "code\modules\surgery\eye_surgery.dm"
|
||||
#include "code\modules\surgery\healing.dm"
|
||||
#include "code\modules\surgery\helpers.dm"
|
||||
@@ -2741,7 +2753,6 @@
|
||||
#include "code\modules\surgery\advanced\viral_bonding.dm"
|
||||
#include "code\modules\surgery\advanced\bioware\bioware.dm"
|
||||
#include "code\modules\surgery\advanced\bioware\bioware_surgery.dm"
|
||||
#include "code\modules\surgery\advanced\bioware\experimental_dissection.dm"
|
||||
#include "code\modules\surgery\advanced\bioware\ligament_hook.dm"
|
||||
#include "code\modules\surgery\advanced\bioware\ligament_reinforcement.dm"
|
||||
#include "code\modules\surgery\advanced\bioware\muscled_veins.dm"
|
||||
@@ -2841,8 +2852,6 @@
|
||||
#include "code\modules\vending\toys.dm"
|
||||
#include "code\modules\vending\wardrobes.dm"
|
||||
#include "code\modules\vending\youtool.dm"
|
||||
#include "code\modules\VR\vr_human.dm"
|
||||
#include "code\modules\VR\vr_sleeper.dm"
|
||||
#include "code\modules\zombie\items.dm"
|
||||
#include "code\modules\zombie\organs.dm"
|
||||
#include "interface\interface.dm"
|
||||
|
||||
@@ -16,6 +16,14 @@
|
||||
{{/each}}
|
||||
</ui-display>
|
||||
{{/if}}
|
||||
{{#if data.category == 3}}
|
||||
<ui-display title='Color'>
|
||||
{{#each data.paint_colors}}
|
||||
<ui-button state='{{@key == data.selected_color ? "selected" : null}}'
|
||||
action='color' params='{"paint_color": {{@key}}}'>{{@key}}</ui-button>
|
||||
{{/each}}
|
||||
</ui-display>
|
||||
{{/if}}
|
||||
<ui-display title='Utilities'>
|
||||
<ui-button icon='{{data.mode & 1 ? "check-square-o" : "square-o"}}'
|
||||
action='mode' params='{"mode": 1}'>Build</ui-button>
|
||||
@@ -28,26 +36,42 @@
|
||||
action='mode' params='{"mode": 8}'>Paint</ui-button>
|
||||
{{/if}}
|
||||
</ui-display>
|
||||
<ui-display title='Category'>
|
||||
<ui-section>
|
||||
<ui-button icon='{{data.category == 0 ? "check-square-o" : "square-o"}}' state='{{data.category <= 0 ? "selected" : null}}'
|
||||
action='category' params='{"category": 0}'>Atmospherics</ui-button>
|
||||
<ui-button icon='{{data.category == 1 ? "check-square-o" : "square-o"}}' state='{{data.category == 1 ? "selected" : null}}'
|
||||
action='category' params='{"category": 1}'>Disposals</ui-button>
|
||||
<ui-button icon='{{data.category == 2 ? "check-square-o" : "square-o"}}' state='{{data.category == 2 ? "selected" : null}}'
|
||||
action='category' params='{"category": 2}'>Transit Tubes</ui-button>
|
||||
</ui-section>
|
||||
{{#if data.category == 0}}
|
||||
<ui-section label='Piping Layer'>
|
||||
<ui-button state='{{data.piping_layer == 1 ? "selected" : null}}' action='piping_layer'
|
||||
params='{"piping_layer": 1}'>1</ui-button>
|
||||
<ui-button state='{{data.piping_layer == 2 ? "selected" : null}}' action='piping_layer'
|
||||
params='{"piping_layer": 2}'>2</ui-button>
|
||||
<ui-button state='{{data.piping_layer == 3 ? "selected" : null}}' action='piping_layer'
|
||||
params='{"piping_layer": 3}'>3</ui-button>
|
||||
{{#if data.locked == 0}}
|
||||
<ui-display title='Category'>
|
||||
<ui-section>
|
||||
<ui-button icon='{{data.category == 0 ? "check-square-o" : "square-o"}}' state='{{data.category <= 0 ? "selected" : null}}'
|
||||
action='category' params='{"category": 0}'>Atmospherics</ui-button>
|
||||
<ui-button icon='{{data.category == 1 ? "check-square-o" : "square-o"}}' state='{{data.category == 1 ? "selected" : null}}'
|
||||
action='category' params='{"category": 1}'>Disposals</ui-button>
|
||||
<ui-button icon='{{data.category == 2 ? "check-square-o" : "square-o"}}' state='{{data.category == 2 ? "selected" : null}}'
|
||||
action='category' params='{"category": 2}'>Transit Tubes</ui-button>
|
||||
</ui-section>
|
||||
{{/if}}
|
||||
</ui-display>
|
||||
</ui-display>
|
||||
{{/if}}
|
||||
{{#if data.category == 0}}
|
||||
<ui-section label='Piping Layer'>
|
||||
<ui-button state='{{data.piping_layer == 1 ? "selected" : null}}' action='piping_layer'
|
||||
params='{"piping_layer": 1}'>1</ui-button>
|
||||
<ui-button state='{{data.piping_layer == 2 ? "selected" : null}}' action='piping_layer'
|
||||
params='{"piping_layer": 2}'>2</ui-button>
|
||||
<ui-button state='{{data.piping_layer == 3 ? "selected" : null}}' action='piping_layer'
|
||||
params='{"piping_layer": 3}'>3</ui-button>
|
||||
</ui-section>
|
||||
{{/if}}
|
||||
{{#if data.category == 3}}
|
||||
<ui-section label='Ducting Layer'>
|
||||
<ui-button state='{{data.ducting_layer == 1 ? "selected" : null}}' action='ducting_layer'
|
||||
params='{"ducting_layer": 1}'>1</ui-button>
|
||||
<ui-button state='{{data.ducting_layer == 2 ? "selected" : null}}' action='ducting_layer'
|
||||
params='{"ducting_layer": 2}'>2</ui-button>
|
||||
<ui-button state='{{data.ducting_layer == 4 ? "selected" : null}}' action='ducting_layer'
|
||||
params='{"ducting_layer": 4}'>3</ui-button>
|
||||
<ui-button state='{{data.ducting_layer == 8 ? "selected" : null}}' action='ducting_layer'
|
||||
params='{"ducting_layer": 8}'>4</ui-button>
|
||||
<ui-button state='{{data.ducting_layer == 16 ? "selected" : null}}' action='ducting_layer'
|
||||
params='{"ducting_layer": 16}'>5</ui-button>
|
||||
</ui-section>
|
||||
{{/if}}
|
||||
{{#each data.categories}}
|
||||
<ui-display title='{{cat_name}}'>
|
||||
{{#each recipes}}
|
||||
|
||||
@@ -74,6 +74,7 @@
|
||||
#include "code\__DEFINES\obj_flags.dm"
|
||||
#include "code\__DEFINES\pinpointers.dm"
|
||||
#include "code\__DEFINES\pipe_construction.dm"
|
||||
#include "code\__DEFINES\plumbing.dm"
|
||||
#include "code\__DEFINES\preferences.dm"
|
||||
#include "code\__DEFINES\procpath.dm"
|
||||
#include "code\__DEFINES\profile.dm"
|
||||
@@ -295,6 +296,7 @@
|
||||
#include "code\controllers\subsystem\weather.dm"
|
||||
#include "code\controllers\subsystem\processing\fastprocess.dm"
|
||||
#include "code\controllers\subsystem\processing\fields.dm"
|
||||
#include "code\controllers\subsystem\processing\fluids.dm"
|
||||
#include "code\controllers\subsystem\processing\nanites.dm"
|
||||
#include "code\controllers\subsystem\processing\networks.dm"
|
||||
#include "code\controllers\subsystem\processing\obj.dm"
|
||||
@@ -315,6 +317,7 @@
|
||||
#include "code\datums\datumvars.dm"
|
||||
#include "code\datums\dna.dm"
|
||||
#include "code\datums\dog_fashion.dm"
|
||||
#include "code\datums\ductnet.dm"
|
||||
#include "code\datums\embedding_behavior.dm"
|
||||
#include "code\datums\emotes.dm"
|
||||
#include "code\datums\ert.dm"
|
||||
@@ -424,6 +427,7 @@
|
||||
#include "code\datums\components\fantasy\affix.dm"
|
||||
#include "code\datums\components\fantasy\prefixes.dm"
|
||||
#include "code\datums\components\fantasy\suffixes.dm"
|
||||
#include "code\datums\components\plumbing\plumbing.dm"
|
||||
#include "code\datums\components\storage\storage.dm"
|
||||
#include "code\datums\components\storage\concrete\_concrete.dm"
|
||||
#include "code\datums\components\storage\concrete\bag_of_holding.dm"
|
||||
@@ -1103,6 +1107,7 @@
|
||||
#include "code\game\objects\structures\crates_lockers\crates\large.dm"
|
||||
#include "code\game\objects\structures\crates_lockers\crates\secure.dm"
|
||||
#include "code\game\objects\structures\crates_lockers\crates\wooden.dm"
|
||||
#include "code\game\objects\structures\lavaland\geyser.dm"
|
||||
#include "code\game\objects\structures\lavaland\necropolis_tendril.dm"
|
||||
#include "code\game\objects\structures\signs\_signs.dm"
|
||||
#include "code\game\objects\structures\signs\signs_departments.dm"
|
||||
@@ -2339,6 +2344,8 @@
|
||||
#include "code\modules\photography\photos\album.dm"
|
||||
#include "code\modules\photography\photos\frame.dm"
|
||||
#include "code\modules\photography\photos\photo.dm"
|
||||
#include "code\modules\plumbing\ducts.dm"
|
||||
#include "code\modules\plumbing\plumbers\pumps.dm"
|
||||
#include "code\modules\power\apc.dm"
|
||||
#include "code\modules\power\cable.dm"
|
||||
#include "code\modules\power\cell.dm"
|
||||
|
||||