Tray of Holding, ARCD

Added the tray of holding, a service tray that can hold a lot more items. Unlocked with applies bluespace research.
The advanced RCD can no be fabricated after research a new tech node, Bluespace Construction.
Tray of holding and ARCD are also available for borgs, after being researched.
This commit is contained in:
Alphas00
2024-06-18 17:44:55 +02:00
parent f30b4c76c2
commit b76fbcbf9e
4 changed files with 100 additions and 3 deletions
@@ -0,0 +1,47 @@
/datum/design/arcd
name = "Advanced Rapid Construction Device (ARCD)"
desc = "A tool that can construct and deconstruct walls, airlocks and floors on the fly. This model works at a distance."
id = "arcd_design"
build_type = PROTOLATHE
materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT, MAT_GLASS = MINERAL_MATERIAL_AMOUNT, MAT_DIAMOND = 500, MAT_BLUESPACE = 500) // costs more than what it did in the autolathe, this one comes loaded.
build_path = /obj/item/construction/rcd/arcd
category = list("Equipment")
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
/datum/techweb_node/blue_construct
id = "blue_construct"
display_name = "Bluespace Construction"
description = "Augument rapid construction designs using bluespace tech for ranged operations"
prereq_ids = list("adv_engi", "adv_bluespace")
design_ids = list("arcd_design")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 7000)
export_price = 7000
/obj/item/borg/upgrade/arcd
name = "cyborg ARCD"
desc = "A cybord RCG upgrade module to an ARCD model."
icon_state = "cyborg_upgrade3"
require_module = 1
module_type = /obj/item/robot_module/engineering
/obj/item/borg/upgrade/arcd/action(mob/living/silicon/robot/R, user = usr)
. = ..()
if(.)
var/obj/item/construction/rcd/arcd/S = new(R.module)
R.module.basic_modules += S
R.module.add_module(S, FALSE, TRUE)
/obj/item/borg/upgrade/arcd/deactivate(mob/living/silicon/robot/R, user = usr)
. = ..()
if (.)
var/obj/item/construction/rcd/arcd/S = locate() in R.module
R.module.remove_module(S, TRUE)
/datum/design/borg_arcd
name = "Cyborg ARCD"
id = "borg_arcd"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/arcd
materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT, MAT_GLASS = MINERAL_MATERIAL_AMOUNT, MAT_DIAMOND = 500, MAT_BLUESPACE = 500)
construction_time = 100
category = list("Cyborg Upgrade Modules")
@@ -0,0 +1,48 @@
/obj/item/storage/bag/tray/holding
name = "serving tray of holding"
desc = "A tray for food, now featuring bluesapce technology. Don't ask."
/obj/item/storage/bag/tray/holding/ComponentInitialize()
. = ..()
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
STR.max_combined_w_class = INFINITY
STR.max_items = 50
/datum/design/tray_holding
name = "Serving Tray of Holding"
desc = "A serving tray for food, now somehow using bluespace to hold more stuff."
id = "tray_holding"
build_type = PROTOLATHE
materials = list(MAT_GOLD = 250, MAT_URANIUM = 500)
build_path =/obj/item/storage/bag/tray/holding
category = list("Bluespace Designs")
departmental_flags = DEPARTMENTAL_FLAG_SERVICE
/obj/item/borg/upgrade/tray_hold
name = "cyborg tray of holding"
desc = "A tray of holding replacement for service borg's tray."
icon_state = "cyborg_upgrade3"
require_module = 1
module_type = /obj/item/robot_module/butler
/obj/item/borg/upgrade/tray_hold/action(mob/living/silicon/robot/R, user = usr)
. = ..()
if(.)
var/obj/item/storage/bag/tray/holding/S = new(R.module)
R.module.basic_modules += S
R.module.add_module(S, FALSE, TRUE)
/obj/item/borg/upgrade/tray_hold/deactivate(mob/living/silicon/robot/R, user = usr)
. = ..()
if (.)
var/obj/item/storage/bag/tray/holding/S = locate() in R.module
R.module.remove_module(S, TRUE)
/datum/design/borg_tray_hold
name = "Cyborg Tray of Holding"
id = "borg_tray_hold"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/tray_hold
materials = list(MAT_GOLD = 250, MAT_URANIUM = 500)
construction_time = 100
category = list("Cyborg Upgrade Modules")
+3 -3
View File
@@ -285,7 +285,7 @@
display_name = "Applied Bluespace Research"
description = "Using bluespace to make things faster and better."
prereq_ids = list("bluespace_basic", "engineering")
design_ids = list("bs_rped","biobag_holding","minerbag_holding", "bluespacebeaker", "bluespacesyringe", "phasic_scanning", "bluespacesmartdart", "xenobio_slimebasic")
design_ids = list("bs_rped","biobag_holding","minerbag_holding", "tray_holding", "bluespacebeaker", "bluespacesyringe", "phasic_scanning", "bluespacesmartdart", "xenobio_slimebasic")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000)
export_price = 5000
@@ -377,7 +377,7 @@
display_name = "Advanced Robotics Research"
description = "It can even do the dishes!"
prereq_ids = list("robotics")
design_ids = list("borg_upgrade_diamonddrill", "borg_upgrade_advancedmop")
design_ids = list("borg_upgrade_diamonddrill", "borg_upgrade_advancedmop", "borg_arcd")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3000)
export_price = 5000
@@ -403,7 +403,7 @@
display_name = "Cyborg Upgrades: Utility"
description = "Utility upgrades for cyborgs."
prereq_ids = list("engineering", "robotics")
design_ids = list("borg_upgrade_holding", "borg_upgrade_lavaproof", "borg_upgrade_thrusters", "borg_upgrade_selfrepair", "borg_upgrade_expand", "borg_upgrade_rped")
design_ids = list("borg_upgrade_holding", "borg_upgrade_lavaproof", "borg_upgrade_thrusters", "borg_upgrade_selfrepair", "borg_upgrade_expand", "borg_upgrade_rped", "borg_tray_hold")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2000)
export_price = 5000
+2
View File
@@ -3085,6 +3085,8 @@
#include "GainStation13\code\game\sound.dm"
#include "GainStation13\code\game\area\ruins.dm"
#include "GainStation13\code\game\objects\effects\spawners\choco_slime_delivery.dm"
#include "GainStation13\code\game\objects\items\RCD.dm"
#include "GainStation13\code\game\objects\items\storage\bags.dm"
#include "GainStation13\code\game\turfs\closed.dm"
#include "GainStation13\code\game\turfs\open.dm"
#include "GainStation13\code\machinery\adipoelectric_generator.dm"