From bc3de0ca9431f7dac7a3a87d5705188eaca6f0c2 Mon Sep 17 00:00:00 2001 From: tmyqlfpir <80724828+tmyqlfpir@users.noreply.github.com> Date: Wed, 3 Apr 2024 02:00:39 +1000 Subject: [PATCH] [MODULAR] Create a new techweb for DS-2 (#27132) Add new techweb for Interdyne --- ...oon_underground_syndicate_base1_skyrat.dmm | 9 ++++- .../SpaceRuins/skyrat/interdynefob.dmm | 4 +- code/controllers/subsystem/research.dm | 1 + .../tarkon/code/misc-fluff/research.dm | 40 +++++++++++++++++++ 4 files changed, 51 insertions(+), 3 deletions(-) diff --git a/_maps/RandomRuins/IceRuins/skyrat/icemoon_underground_syndicate_base1_skyrat.dmm b/_maps/RandomRuins/IceRuins/skyrat/icemoon_underground_syndicate_base1_skyrat.dmm index 53732130d59..2fd52e14425 100644 --- a/_maps/RandomRuins/IceRuins/skyrat/icemoon_underground_syndicate_base1_skyrat.dmm +++ b/_maps/RandomRuins/IceRuins/skyrat/icemoon_underground_syndicate_base1_skyrat.dmm @@ -5793,6 +5793,13 @@ /obj/structure/table/wood/fancy/black, /turf/open/floor/iron/dark/textured_large, /area/ruin/syndicate_lava_base/bar) +"Lu" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/wood/large, +/area/ruin/syndicate_lava_base/main) "Lw" = ( /obj/effect/turf_decal/siding/wood/end{ dir = 1 @@ -9105,7 +9112,7 @@ pI xc Uo Tm -cu +Lu Yf rv us diff --git a/_maps/RandomRuins/SpaceRuins/skyrat/interdynefob.dmm b/_maps/RandomRuins/SpaceRuins/skyrat/interdynefob.dmm index 63d2dfb30c1..6773053b46b 100644 --- a/_maps/RandomRuins/SpaceRuins/skyrat/interdynefob.dmm +++ b/_maps/RandomRuins/SpaceRuins/skyrat/interdynefob.dmm @@ -4618,6 +4618,7 @@ /obj/machinery/power/apc/auto_name/directional/south, /obj/effect/mapping_helpers/apc/syndicate_access, /obj/structure/cable, +/obj/item/folded_navigation_gigabeacon, /turf/open/floor/iron/dark, /area/ruin/space/has_grav/skyrat/interdynefob/bridge/vault) "uf" = ( @@ -5875,8 +5876,7 @@ /obj/effect/turf_decal/siding/dark, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/light/red/directional/north, -/obj/item/folded_navigation_gigabeacon, -/obj/structure/frame/machine/secured, +/obj/machinery/rnd/server/interdyne, /turf/open/floor/iron/dark, /area/ruin/space/has_grav/skyrat/interdynefob/bridge/vault) "Bj" = ( diff --git a/code/controllers/subsystem/research.dm b/code/controllers/subsystem/research.dm index eb179605241..87718411a53 100644 --- a/code/controllers/subsystem/research.dm +++ b/code/controllers/subsystem/research.dm @@ -78,6 +78,7 @@ SUBSYSTEM_DEF(research) new /datum/techweb/admin new /datum/techweb/oldstation new /datum/techweb/tarkon //Skyrat Edit + new /datum/techweb/interdyne //Skyrat Edit autosort_categories() error_design = new error_node = new diff --git a/modular_skyrat/modules/tarkon/code/misc-fluff/research.dm b/modular_skyrat/modules/tarkon/code/misc-fluff/research.dm index 3fba29537bb..2dbfabd86d0 100644 --- a/modular_skyrat/modules/tarkon/code/misc-fluff/research.dm +++ b/modular_skyrat/modules/tarkon/code/misc-fluff/research.dm @@ -5,6 +5,11 @@ organization = "Tarkon Industries" should_generate_points = TRUE +/datum/techweb/interdyne + id = "INTERDYNE" + organization = "Interdyne Pharmaceutics" + should_generate_points = TRUE + /datum/techweb/tarkon/New() . = ..() research_node_id("oldstation_surgery", TRUE, TRUE, FALSE) @@ -122,3 +127,38 @@ name = "Tarkon Industries Protolathe" greyscale_colors = CIRCUIT_COLOR_SUPPLY build_path = /obj/machinery/rnd/production/protolathe/tarkon + +/obj/item/circuitboard/machine/rdserver/interdyne + name = "Interdyne Pharmaceutics R&D Server" + build_path = /obj/machinery/rnd/server/interdyne + +/obj/machinery/rnd/server/interdyne + name = "\improper Interdyne Pharmaceutics R&D Server" + circuit = /obj/item/circuitboard/machine/rdserver/interdyne + req_access = list(ACCESS_RESEARCH) + +/obj/machinery/rnd/server/interdyne/Initialize(mapload) + var/datum/techweb/interdyne_techweb = locate(/datum/techweb/interdyne) in SSresearch.techwebs + stored_research = interdyne_techweb + return ..() + +/obj/machinery/rnd/server/interdyne/add_context(atom/source, list/context, obj/item/held_item, mob/user) + . = ..() + if(held_item && istype(held_item, /obj/item/research_notes)) + context[SCREENTIP_CONTEXT_LMB] = "Generate research points" + return CONTEXTUAL_SCREENTIP_SET + +/obj/machinery/rnd/server/interdyne/examine(mob/user) + . = ..() + if(!in_range(user, src) && !isobserver(user)) + return + . += span_notice("Insert [EXAMINE_HINT("Research Notes")] to generate points.") + +/obj/machinery/rnd/server/interdyne/attackby(obj/item/attacking_item, mob/user, params) + if(istype(attacking_item, /obj/item/research_notes) && stored_research) + var/obj/item/research_notes/research_notes = attacking_item + stored_research.add_point_list(list(TECHWEB_POINT_TYPE_GENERIC = research_notes.value)) + playsound(src, 'sound/machines/copier.ogg', 50, TRUE) + qdel(research_notes) + return + return ..()