From 04fab6fc9e35e3ac6ca4625f73ee0ac5d1cf0f8e Mon Sep 17 00:00:00 2001 From: Markolie Date: Mon, 22 Dec 2014 19:40:22 +0100 Subject: [PATCH] R&D submenus, autolathe rework from /tg/ --- code/game/machinery/autolathe.dm | 302 +++++---- code/modules/research/circuitprinter.dm | 14 + code/modules/research/designs.dm | 545 ++++++++-------- .../research/designs/AI_module_designs.dm | 207 ++++--- .../research/designs/autolathe_designs.dm | 477 ++++++++++++++ .../research/designs/comp_board_designs.dm | 583 +++++++++--------- .../research/designs/machine_designs.dm | 391 ++++++------ .../modules/research/designs/mecha_designs.dm | 53 +- .../designs/mechfabricator_designs.dm | 135 ++-- .../research/designs/medical_designs.dm | 267 ++++---- .../modules/research/designs/power_designs.dm | 98 +-- .../research/designs/stock_parts_designs.dm | 67 +- .../research/designs/telecomms_designs.dm | 157 ++--- .../research/designs/weapon_designs.dm | 213 ++++--- code/modules/research/protolathe.dm | 13 + code/modules/research/rdconsole.dm | 97 ++- code/modules/research/research.dm | 20 + maps/cyberiad.dmm | 8 +- paradise.dme | 1 + 19 files changed, 2204 insertions(+), 1444 deletions(-) create mode 100644 code/modules/research/designs/autolathe_designs.dm diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 4f33a2b71a3..ccf95a5b417 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -1,72 +1,3 @@ -//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31 - -var/global/list/autolathe_recipes = list( \ - /* screwdriver removed*/ \ - new /obj/item/weapon/reagent_containers/glass/bucket(), \ - new /obj/item/weapon/crowbar(), \ - new /obj/item/device/flashlight(), \ - new /obj/item/weapon/extinguisher(), \ - new /obj/item/device/multitool(), \ - new /obj/item/device/analyzer(), \ - new /obj/item/device/t_scanner(), \ - new /obj/item/weapon/weldingtool(), \ - new /obj/item/weapon/screwdriver(), \ - new /obj/item/weapon/wirecutters(), \ - new /obj/item/weapon/wrench(), \ - new /obj/item/clothing/head/welding(), \ - new /obj/item/weapon/stock_parts/console_screen(), \ - new /obj/item/weapon/airlock_electronics(), \ - new /obj/item/weapon/airalarm_electronics(), \ - new /obj/item/weapon/firealarm_electronics(), \ - new /obj/item/device/pipe_painter(), \ - new /obj/item/stack/sheet/metal(), \ - new /obj/item/stack/sheet/glass(), \ - new /obj/item/stack/sheet/rglass(), \ - new /obj/item/stack/rods(), \ - new /obj/item/weapon/rcd_ammo(), \ - new /obj/item/weapon/kitchenknife(), \ - new /obj/item/weapon/scalpel(), \ - new /obj/item/weapon/circular_saw(), \ - new /obj/item/weapon/surgicaldrill(),\ - new /obj/item/weapon/retractor(),\ - new /obj/item/weapon/cautery(),\ - new /obj/item/weapon/hemostat(),\ - new /obj/item/weapon/reagent_containers/glass/beaker(), \ - new /obj/item/weapon/reagent_containers/glass/beaker/large(), \ - new /obj/item/ammo_casing/shotgun/beanbag(), \ - new /obj/item/ammo_box/c38(), \ - new /obj/item/device/taperecorder(), \ - new /obj/item/device/assembly/igniter(), \ - new /obj/item/device/assembly/signaler(), \ - new /obj/item/device/radio/headset(), \ - new /obj/item/device/radio/off(), \ - new /obj/item/device/assembly/infra(), \ - new /obj/item/device/assembly/timer(), \ - new /obj/item/device/assembly/voice(), \ - new /obj/item/weapon/light/tube(), \ - new /obj/item/weapon/light/bulb(), \ - new /obj/item/weapon/camera_assembly(), \ - new /obj/item/weapon/reagent_containers/syringe(), \ - new /obj/item/device/assembly/prox_sensor(), \ - ) - -var/global/list/autolathe_recipes_hidden = list( \ - new /obj/item/weapon/flamethrower/full(), \ - new /obj/item/weapon/rcd(), \ - new /obj/item/device/radio/electropack(), \ - new /obj/item/weapon/weldingtool/largetank(), \ - new /obj/item/weapon/handcuffs(), \ - new /obj/item/ammo_box/a357(), \ - new /obj/item/ammo_box/c10mm(), \ - new /obj/item/ammo_box/c45(), \ - new /obj/item/ammo_box/c9mm(), \ - new /obj/item/ammo_casing/shotgun(), \ - new /obj/item/ammo_casing/shotgun/buckshot(), \ - new /obj/item/ammo_casing/shotgun/dart(), \ - new /obj/item/ammo_casing/shotgun/incendiary(), \ - /* new /obj/item/weapon/shield/riot(), */ \ - ) - /obj/machinery/autolathe name = "autolathe" desc = "It produces items using metal and glass." @@ -96,6 +27,21 @@ var/global/list/autolathe_recipes_hidden = list( \ var/prod_coeff var/datum/wires/autolathe/wires = null + var/datum/design/being_built + var/datum/research/files + var/selected_category + var/screen = 1 + + var/list/categories = list( + "Communication", + "Construction", + "Electronics", + "Medical", + "Miscellaneous", + "Security", + "Tools" + ) + /obj/machinery/autolathe/New() ..() component_parts = list() @@ -108,13 +54,28 @@ var/global/list/autolathe_recipes_hidden = list( \ RefreshParts() wires = new(src) - src.L = autolathe_recipes - src.LL = autolathe_recipes_hidden + files = new /datum/research/autolathe(src) /obj/machinery/autolathe/interact(mob/user) if(shocked && !(stat & NOPOWER)) shock(user,50) - regular_win(user) + + user.set_machine(src) + var/dat + + if(panel_open) + dat = wires.GetInteractWindow() + + else + if(screen == 1) + dat = main_win(user) + else + dat += category_win(user,selected_category) + + var/datum/browser/popup = new(user, "autolathe", name, 500, 500) + popup.set_content(dat) + popup.open() + return /obj/machinery/autolathe/attackby(obj/item/O, mob/user) @@ -196,73 +157,68 @@ var/global/list/autolathe_recipes_hidden = list( \ if(..()) return if (!busy) + if(href_list["menu"]) + screen = text2num(href_list["menu"]) + + if(href_list["category"]) + selected_category = href_list["category"] + if(href_list["make"]) - var/coeff = 2 ** prod_coeff + var/turf/T = get_step(src.loc, get_dir(src,usr)) - // critical exploit fix start -walter0o - var/obj/item/template = null - var/attempting_to_build = locate(href_list["make"]) - - if(!attempting_to_build) + ///////////////// + //href protection + being_built = files.FindDesignByID(href_list["make"]) //check if it's a valid design + if(!being_built) return - if(locate(attempting_to_build, src.L) || locate(attempting_to_build, src.LL)) // see if the requested object is in one of the construction lists, if so, it is legit -walter0o - template = attempting_to_build - - else // somebody is trying to exploit, alert admins -walter0o - - var/turf/LOC = get_turf(usr) - message_admins("[key_name_admin(usr)] tried to exploit an autolathe to duplicate [attempting_to_build] ! ([LOC ? "JMP" : "null"])", 0) - log_admin("EXPLOIT : [key_name(usr)] tried to exploit an autolathe to duplicate [attempting_to_build] !") - return - - // now check for legit multiplier, also only stacks should pass with one to prevent raw-materials-manipulation -walter0o - + //multiplier checks : only stacks can have one and its value is 1, 10 ,25 or max_multiplier var/multiplier = text2num(href_list["multiplier"]) + var/max_multiplier = min(50, being_built.materials["$metal"] ?round(m_amount/being_built.materials["$metal"]):INFINITY,being_built.materials["$glass"]?round(g_amount/being_built.materials["$glass"]):INFINITY) + var/is_stack = ispath(being_built.build_path, /obj/item/stack) - if (!multiplier) multiplier = 1 - var/max_multiplier = 1 - - if(istype(template, /obj/item/stack)) // stacks are the only items which can have a multiplier higher than 1 -walter0o - var/obj/item/stack/S = template - max_multiplier = min(S.max_amount, S.m_amt?round(m_amount/S.m_amt):INFINITY, S.g_amt?round(g_amount/S.g_amt):INFINITY) // pasta from regular_win() to make sure the numbers match -walter0o - - if( (multiplier > max_multiplier) || (multiplier <= 0) ) // somebody is trying to exploit, alert admins-walter0o - - var/turf/LOC = get_turf(usr) - message_admins("[key_name_admin(usr)] tried to exploit an autolathe with multiplier set to [multiplier] on [template] ! ([LOC ? "JMP" : "null"])" , 0) - log_admin("EXPLOIT : [key_name(usr)] tried to exploit an autolathe with multiplier set to [multiplier] on [template] !") + if(!is_stack && (multiplier > 1)) return + if (!(multiplier in list(1,10,25,max_multiplier))) //"enough materials ?" is checked further down + return + ///////////////// - var/power = max(2000, (template.m_amt+template.g_amt)*multiplier/5) - if(src.m_amount >= template.m_amt*multiplier/coeff && src.g_amount >= template.g_amt*multiplier/coeff) + var/coeff = (is_stack ? 1 : 2 ** prod_coeff) //stacks are unaffected by production coefficient + var/metal_cost = being_built.materials["$metal"] + var/glass_cost = being_built.materials["$glass"] + + var/power = max(2000, (metal_cost+glass_cost)*multiplier/5) + + if((m_amount >= metal_cost*multiplier/coeff) && (g_amount >= glass_cost*multiplier/coeff)) busy = 1 use_power(power) icon_state = "autolathe" flick("autolathe_n",src) spawn(32/coeff) use_power(power) - if(istype(template, /obj/item/stack)) - src.m_amount -= template.m_amt*multiplier - src.g_amount -= template.g_amt*multiplier - var/obj/item/new_item = new template.type(T) - var/obj/item/stack/S = new_item + if(is_stack) + m_amount -= metal_cost*multiplier + g_amount -= glass_cost*multiplier + var/obj/item/stack/S = new being_built.build_path(T) S.amount = multiplier else - src.m_amount -= template.m_amt/coeff - src.g_amount -= template.g_amt/coeff - var/obj/item/new_item = new template.type(T) + m_amount -= metal_cost/coeff + g_amount -= glass_cost/coeff + var/obj/item/new_item = new being_built.build_path(T) new_item.m_amt /= coeff new_item.g_amt /= coeff - if(src.m_amount < 0) - src.m_amount = 0 - if(src.g_amount < 0) - src.g_amount = 0 + if(m_amount < 0) + m_amount = 0 + if(g_amount < 0) + g_amount = 0 busy = 0 + src.updateUsrDialog() else usr << "The autolathe is busy. Please wait for completion of previous operation." + src.updateUsrDialog() + return /obj/machinery/autolathe/RefreshParts() @@ -276,45 +232,71 @@ var/global/list/autolathe_recipes_hidden = list( \ for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) prod_coeff += M.rating - 1 -/obj/machinery/autolathe/proc/regular_win(mob/user) +/obj/machinery/autolathe/proc/main_win(mob/user) + var/dat = "

Autolathe Menu:


" + dat += "Metal amount: [src.m_amount] / [max_m_amount] cm3
" + dat += "Glass amount: [src.g_amount] / [max_g_amount] cm3
" + + var/line_length = 1 + dat += "" + + for(var/C in categories) + if(line_length > 2) + dat += "" + line_length = 1 + + dat += "" + line_length++ + + dat += "
[C]
" + return dat + +/obj/machinery/autolathe/proc/category_win(mob/user,var/selected_category) + var/dat = "Return to category screen" + dat += "

Browsing [selected_category]:


" + dat += "Metal amount: [src.m_amount] / [max_m_amount] cm3
" + dat += "Glass amount: [src.g_amount] / [max_g_amount] cm3
" + + for(var/datum/design/D in files.known_designs) + if(!(selected_category in D.category)) + continue + + if(disabled || !can_build(D)) + dat += "[D.name]" + else + dat += "[D.name]" + + if(ispath(D.build_path, /obj/item/stack)) + var/max_multiplier = min(50, D.materials["$metal"] ?round(m_amount/D.materials["$metal"]):INFINITY,D.materials["$glass"]?round(g_amount/D.materials["$glass"]):INFINITY) + if (max_multiplier>10 && !disabled) + dat += " x10" + if (max_multiplier>25 && !disabled) + dat += " x25" + if(max_multiplier > 0 && !disabled) + dat += " x[max_multiplier]" + + dat += "[get_design_cost(D)]
" + + dat += "
" + return dat + +/obj/machinery/autolathe/proc/can_build(var/datum/design/D) + var/coeff = (ispath(D.build_path,/obj/item/stack) ? 1 : 2 ** prod_coeff) + + if(D.materials["$metal"] && (m_amount < (D.materials["$metal"] / coeff))) + return 0 + if(D.materials["$glass"] && (g_amount < (D.materials["$glass"] / coeff))) + return 0 + return 1 + +/obj/machinery/autolathe/proc/get_design_cost(var/datum/design/D) + var/coeff = (ispath(D.build_path,/obj/item/stack) ? 1 : 2 ** prod_coeff) var/dat - if(!panel_open) - if(stat) - return - var/coeff = 2 ** prod_coeff - dat = "
Metal amount: [src.m_amount] / [max_m_amount] cm3
" - dat += "Glass amount: [src.g_amount] / [max_g_amount] cm3
" - var/list/objs = list() - objs += src.L - if(src.hacked) - objs += src.LL - for(var/obj/item/t in objs) - if(disabled || m_amount[t]", "The ", "") - else - dat += replacetext("[t]", "The ", "") - - if(istype(t, /obj/item/stack)) - var/obj/item/stack/S = t - var/max_multiplier = min(S.max_amount, S.m_amt?round(m_amount/S.m_amt):INFINITY, S.g_amt?round(g_amount/S.g_amt):INFINITY) - if (max_multiplier>10 && !disabled) - dat += " x[10]" - if (max_multiplier>25 && !disabled) - dat += " x[25]" - if (max_multiplier>1 && !disabled) - dat += " x[max_multiplier]" - dat += " [t.m_amt] m / [t.g_amt] g" - else - dat += " [t.m_amt/coeff] m / [t.g_amt/coeff] g" - dat += "
" - dat += "" - else - dat = wires.GetInteractWindow() - - var/datum/browser/popup = new(user, "autolathe", name, 400, 500) - popup.set_content(dat) - popup.open() - return + if(D.materials["$metal"]) + dat += "[D.materials["$metal"] / coeff] metal " + if(D.materials["$glass"]) + dat += "[D.materials["$glass"] / coeff] glass" + return dat /obj/machinery/autolathe/proc/shock(mob/user, prb) if(stat & (BROKEN|NOPOWER)) // unpowered, no shock @@ -328,3 +310,15 @@ var/global/list/autolathe_recipes_hidden = list( \ return 1 else return 0 + +/obj/machinery/autolathe/proc/adjust_hacked(var/hack) + hacked = hack + + if(hack) + for(var/datum/design/D in files.possible_designs) + if((D.build_type & 4) && ("hacked" in D.category)) + files.known_designs += D + else + for(var/datum/design/D in files.known_designs) + if("hacked" in D.category) + files.known_designs -= D diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm index dbe864a02db..237089dea5c 100644 --- a/code/modules/research/circuitprinter.dm +++ b/code/modules/research/circuitprinter.dm @@ -15,6 +15,20 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). var/diamond_amount = 0 var/max_material_amount = 75000.0 var/efficiency_coeff + + var/list/categories = list( + "AI Modules", + "Computer Boards", + "Engineering Machinery", + "Exosuit Modules", + "Hydroponics Machinery", + "Medical Machinery", + "Misc. Machinery", + "Research Machinery", + "Subspace Telecomms", + "Teleportation Machinery" + ) + reagents = new() /obj/machinery/r_n_d/circuit_imprinter/New() diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 337620831a0..8714de28eaa 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -34,7 +34,7 @@ other types of metals and chemistry for reagents). */ -datum/design //Datum for object designs, used in construction +/datum/design //Datum for object designs, used in construction var/name = "Name" //Name of the created object. var/desc = "Desc" //Description of the created object. var/id = "id" //ID of the created object for easy refernece. Alphanumeric, lower-case, no symbols @@ -52,7 +52,7 @@ datum/design //Datum for object designs, used in construction //A proc to calculate the reliability of a design based on tech levels and innate modifiers. //Input: A list of /datum/tech; Output: The new reliabilty. -datum/design/proc/CalcReliability(var/list/temp_techs) +/datum/design/proc/CalcReliability(var/list/temp_techs) var/new_reliability for(var/datum/tech/T in temp_techs) if(T.id in req_tech) @@ -61,101 +61,11 @@ datum/design/proc/CalcReliability(var/list/temp_techs) reliability = new_reliability return -/////////////////////////////////// -/////Non-Board Computer Stuff////// -/////////////////////////////////// - -datum/design/intellicard - name = "Intellicard AI Transportation System" - desc = "Allows for the construction of an intellicard." - id = "intellicard" - req_tech = list("programming" = 4, "materials" = 4) - build_type = PROTOLATHE - materials = list("$glass" = 1000, "$gold" = 200) - build_path = /obj/item/device/aicard - -datum/design/paicard - name = "Personal Artificial Intelligence Card" - desc = "Allows for the construction of a pAI Card" - id = "paicard" - req_tech = list("programming" = 2) - build_type = PROTOLATHE - materials = list("$glass" = 500, "$metal" = 500) - build_path = /obj/item/device/paicard - -datum/design/posibrain - name = "Positronic Brain" - desc = "Allows for the construction of a positronic brain" - id = "posibrain" - req_tech = list("engineering" = 4, "materials" = 6, "bluespace" = 2, "programming" = 4) - build_type = PROTOLATHE - materials = list("$metal" = 2000, "$glass" = 1000, "$silver" = 1000, "$gold" = 500, "$plasma" = 500, "$diamond" = 100) - build_path = /obj/item/device/mmi/posibrain - -//////////////////////////////////////// -//////////Disk Construction Disks/////// -//////////////////////////////////////// - -datum/design/design_disk - name = "Design Storage Disk" - desc = "Produce additional disks for storing device designs." - id = "design_disk" - req_tech = list("programming" = 1) - build_type = PROTOLATHE | AUTOLATHE - materials = list("$metal" = 30, "$glass" = 10) - build_path = /obj/item/weapon/disk/design_disk - -datum/design/tech_disk - name = "Technology Data Storage Disk" - desc = "Produce additional disks for storing technology data." - id = "tech_disk" - req_tech = list("programming" = 1) - build_type = PROTOLATHE | AUTOLATHE - materials = list("$metal" = 30, "$glass" = 10) - build_path = /obj/item/weapon/disk/tech_disk - ///////////////////////////////////////// /////////////////Mining////////////////// ///////////////////////////////////////// -datum/design/jackhammer - name = "Sonic Jackhammer" - desc = "Cracks rocks with sonic blasts, perfect for killing cave lizards." - id = "jackhammer" - req_tech = list("materials" = 3, "powerstorage" = 2, "engineering" = 2) - build_type = PROTOLATHE - materials = list("$metal" = 2000, "$glass" = 500, "$silver" = 500) - build_path = /obj/item/weapon/pickaxe/jackhammer - -datum/design/drill - name = "Mining Drill" - desc = "Yours is the drill that will pierce through the rock walls." - id = "drill" - req_tech = list("materials" = 2, "powerstorage" = 3, "engineering" = 2) - build_type = PROTOLATHE - materials = list("$metal" = 6000, "$glass" = 1000) - build_path = /obj/item/weapon/pickaxe/drill - -datum/design/plasmacutter - name = "Plasma Cutter" - desc = "You could use it to cut limbs off of xenos! Or, you know, mine stuff." - id = "plasmacutter" - req_tech = list("materials" = 4, "plasmatech" = 3, "engineering" = 3) - build_type = PROTOLATHE - materials = list("$metal" = 1500, "$glass" = 500, "$gold" = 500, "$plasma" = 500) - reliability_base = 79 - build_path = /obj/item/weapon/pickaxe/plasmacutter - -datum/design/pick_diamond - name = "Diamond Pickaxe" - desc = "A pickaxe with a diamond pick head, this is just like minecraft." - id = "pick_diamond" - req_tech = list("materials" = 6) - build_type = PROTOLATHE - materials = list("$diamond" = 3000) - build_path = /obj/item/weapon/pickaxe/diamond - -datum/design/drill_diamond +/datum/design/drill_diamond name = "Diamond Mining Drill" desc = "Yours is the drill that will pierce the heavens!" id = "drill_diamond" @@ -164,8 +74,29 @@ datum/design/drill_diamond materials = list("$metal" = 3000, "$glass" = 1000, "$diamond" = 3750) //Yes, a whole diamond is needed. reliability_base = 79 build_path = /obj/item/weapon/pickaxe/diamonddrill + category = list("Mining") + +/datum/design/pick_diamond + name = "Diamond Pickaxe" + desc = "A pickaxe with a diamond pick head, this is just like minecraft." + id = "pick_diamond" + req_tech = list("materials" = 6) + build_type = PROTOLATHE + materials = list("$diamond" = 3000) + build_path = /obj/item/weapon/pickaxe/diamond + category = list("Mining") -datum/design/mesons +/datum/design/drill + name = "Mining Drill" + desc = "Yours is the drill that will pierce through the rock walls." + id = "drill" + req_tech = list("materials" = 2, "powerstorage" = 3, "engineering" = 2) + build_type = PROTOLATHE + materials = list("$metal" = 6000, "$glass" = 1000) + build_path = /obj/item/weapon/pickaxe/drill + category = list("Mining") + +/datum/design/mesons name = "Optical Meson Scanners" desc = "Used for seeing walls, floors, and stuff through anything." id = "mesons" @@ -173,62 +104,78 @@ datum/design/mesons build_type = PROTOLATHE materials = list("$metal" = 200, "$glass" = 300, "$plasma" = 100) build_path = /obj/item/clothing/glasses/meson + category = list("Mining") + +/datum/design/plasmacutter + name = "Plasma Cutter" + desc = "You could use it to cut limbs off of xenos! Or, you know, mine stuff." + id = "plasmacutter" + req_tech = list("materials" = 4, "plasmatech" = 3, "engineering" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 1500, "$glass" = 500, "$gold" = 500, "$plasma" = 500) + reliability_base = 79 + build_path = /obj/item/weapon/pickaxe/plasmacutter + category = list("Mining") + +/datum/design/jackhammer + name = "Sonic Jackhammer" + desc = "Cracks rocks with sonic blasts, perfect for killing cave lizards." + id = "jackhammer" + req_tech = list("materials" = 3, "powerstorage" = 2, "engineering" = 2) + build_type = PROTOLATHE + materials = list("$metal" = 2000, "$glass" = 500, "$silver" = 500) + build_path = /obj/item/weapon/pickaxe/jackhammer + category = list("Mining") ///////////////////////////////////////// /////////////////Misc Designs//////////// ///////////////////////////////////////// -datum/design/night_vision_goggles - name = "Night Vision Goggles" - desc = "Goggles that let you see through darkness unhindered." - id = "night_visision_goggles" - req_tech = list("magnets" = 4) +/datum/design/design_disk + name = "Design Storage Disk" + desc = "Produce additional disks for storing device designs." + id = "design_disk" + req_tech = list("programming" = 1) + build_type = PROTOLATHE | AUTOLATHE + materials = list("$metal" = 30, "$glass" = 10) + build_path = /obj/item/weapon/disk/design_disk + category = list("Miscellaneous") + +/datum/design/intellicard + name = "Intellicard" + desc = "Allows for the construction of an intellicard." + id = "intellicard" + req_tech = list("programming" = 4, "materials" = 4) build_type = PROTOLATHE - materials = list("$metal" = 100, "$glass" = 100, "$uranium" = 1000) - build_path = /obj/item/clothing/glasses/night + materials = list("$glass" = 1000, "$gold" = 200) + build_path = /obj/item/device/aicard + category = list("Miscellaneous") + +/datum/design/paicard + name = "Personal Artificial Intelligence Card" + desc = "Allows for the construction of a pAI Card" + id = "paicard" + req_tech = list("programming" = 2) + build_type = PROTOLATHE + materials = list("$glass" = 500, "$metal" = 500) + build_path = /obj/item/device/paicard + category = list("Miscellaneous") -datum/design/magboots - name = "Magnetic Boots" - desc = "Magnetic boots, often used during extravehicular activity to ensure the user remains safely attached to the vehicle." - id = "magboots" - req_tech = list("materials" = 4, "magnets" = 4, "engineering" = 5) - build_type = PROTOLATHE - materials = list("$metal" = 4500, "$silver" = 1500, "$gold" = 2500) - build_path = /obj/item/clothing/shoes/magboots +/datum/design/tech_disk + name = "Technology Data Storage Disk" + desc = "Produce additional disks for storing technology data." + id = "tech_disk" + req_tech = list("programming" = 1) + build_type = PROTOLATHE | AUTOLATHE + materials = list("$metal" = 30, "$glass" = 10) + build_path = /obj/item/weapon/disk/tech_disk + category = list("Miscellaneous") ///////////////////////////////////////// //////////////Blue Space///////////////// ///////////////////////////////////////// -datum/design/beacon - name = "Tracking Beacon" - desc = "A blue space tracking beacon." - id = "beacon" - req_tech = list("bluespace" = 1) - build_type = PROTOLATHE - materials = list ("$metal" = 20, "$glass" = 10) - build_path = /obj/item/device/radio/beacon - -datum/design/telepad_beacon - name = "Telepad Beacon" - desc = "Use to warp in a cargo telepad." - id = "telepad_beacon" - req_tech = list("bluespace" = 3, "materials" = 4) - build_type = PROTOLATHE - materials = list ("$metal" = 2000, "$glass" = 1750, "$silver" = 500) - build_path = /obj/item/device/telepad_beacon - -datum/design/bag_holding - name = "Bag of Holding" - desc = "A backpack that opens into a localized pocket of Blue Space." - id = "bag_holding" - req_tech = list("bluespace" = 4, "materials" = 6) - build_type = PROTOLATHE - materials = list("$gold" = 3000, "$diamond" = 1500, "$uranium" = 250) - reliability_base = 80 - build_path = /obj/item/weapon/storage/backpack/holding - -datum/design/bluespace_crystal +/datum/design/bluespace_crystal name = "Artificial Bluespace Crystal" desc = "A small blue crystal with mystical properties." id = "bluespace_crystal" @@ -237,8 +184,20 @@ datum/design/bluespace_crystal materials = list("$diamond" = 1500, "$plasma" = 1500) reliability_base = 100 build_path = /obj/item/bluespace_crystal/artificial + category = list("Bluespace") + +/datum/design/bag_holding + name = "Bag of Holding" + desc = "A backpack that opens into a localized pocket of Blue Space." + id = "bag_holding" + req_tech = list("bluespace" = 4, "materials" = 6) + build_type = PROTOLATHE + materials = list("$gold" = 3000, "$diamond" = 1500, "$uranium" = 250) + reliability_base = 80 + build_path = /obj/item/weapon/storage/backpack/holding + category = list("Bluespace") -datum/design/telesci_gps +/datum/design/telesci_gps name = "GPS Device" desc = "A device that can track its position at all times." id = "telesci_Gps" @@ -246,12 +205,33 @@ datum/design/telesci_gps build_type = PROTOLATHE materials = list("$metal" = 500, "$glass" = 1000) build_path = /obj/item/device/gps + category = list("Bluespace") + +/datum/design/telepad_beacon + name = "Telepad Beacon" + desc = "Use to warp in a cargo telepad." + id = "telepad_beacon" + req_tech = list("bluespace" = 3, "materials" = 4) + build_type = PROTOLATHE + materials = list ("$metal" = 2000, "$glass" = 1750, "$silver" = 500) + build_path = /obj/item/device/telepad_beacon + category = list("Bluespace") + +/datum/design/beacon + name = "Tracking Beacon" + desc = "A blue space tracking beacon." + id = "beacon" + req_tech = list("bluespace" = 1) + build_type = PROTOLATHE + materials = list ("$metal" = 20, "$glass" = 10) + build_path = /obj/item/device/radio/beacon + category = list("Bluespace") ///////////////////////////////////////// -/////////////////HUDs//////////////////// +/////////////////Equipment/////////////// ///////////////////////////////////////// -datum/design/health_hud +/datum/design/health_hud name = "Health Scanner HUD" desc = "A heads-up display that scans the humans in view and provides accurate data about their health status." id = "health_hud" @@ -259,8 +239,29 @@ datum/design/health_hud build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) build_path = /obj/item/clothing/glasses/hud/health + category = list("Equipment") + +/datum/design/magboots + name = "Magnetic Boots" + desc = "Magnetic boots, often used during extravehicular activity to ensure the user remains safely attached to the vehicle." + id = "magboots" + req_tech = list("materials" = 4, "magnets" = 4, "engineering" = 5) + build_type = PROTOLATHE + materials = list("$metal" = 4500, "$silver" = 1500, "$gold" = 2500) + build_path = /obj/item/clothing/shoes/magboots + category = list("Equipment") + +/datum/design/night_vision_goggles + name = "Night Vision Goggles" + desc = "Goggles that let you see through darkness unhindered." + id = "night_visision_goggles" + req_tech = list("magnets" = 4) + build_type = PROTOLATHE + materials = list("$metal" = 100, "$glass" = 100, "$uranium" = 1000) + build_path = /obj/item/clothing/glasses/night + category = list("Equipment") -datum/design/health_hud_night +/datum/design/health_hud_night name = "Night Vision Health Scanner HUD" desc = "An advanced medical head-up display that allows doctors to find patients in complete darkness." id = "health_hud_night" @@ -268,17 +269,9 @@ datum/design/health_hud_night build_type = PROTOLATHE materials = list("$metal" = 200, "$glass" = 200, "$uranium" = 1000, "$silver" = 250) build_path = /obj/item/clothing/glasses/hud/health/night - -datum/design/security_hud - name = "Security HUD" - desc = "A heads-up display that scans the humans in view and provides accurate data about their ID status." - id = "security_hud" - req_tech = list("magnets" = 3, "combat" = 2) - build_type = PROTOLATHE - materials = list("$metal" = 50, "$glass" = 50) - build_path = /obj/item/clothing/glasses/hud/security - -datum/design/security_hud_night + category = list("Equipment") + +/datum/design/security_hud_night name = "Night Vision Security HUD" desc = "A heads-up display which provides id data and vision in complete darkness." id = "security_hud_night" @@ -286,61 +279,33 @@ datum/design/security_hud_night build_type = PROTOLATHE materials = list("$metal" = 200, "$glass" = 200, "$uranium" = 1000, "$gold" = 350) build_path = /obj/item/clothing/glasses/hud/security/night + category = list("Equipment") -///////////////////////////////////////// -//////////////Borg Upgrades////////////// -///////////////////////////////////////// - -datum/design/borg_syndicate_module - name = "Borg Illegal Weapons Upgrade" - desc = "Allows for the construction of illegal upgrades for cyborgs" - id = "borg_syndicate_module" - build_type = MECHFAB - req_tech = list("combat" = 4, "syndicate" = 3) - build_path = /obj/item/borg/upgrade/syndicate - category = "Cyborg Upgrade Modules" +/datum/design/security_hud + name = "Security HUD" + desc = "A heads-up display that scans the humans in view and provides accurate data about their ID status." + id = "security_hud" + req_tech = list("magnets" = 3, "combat" = 2) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = /obj/item/clothing/glasses/hud/security + category = list("Equipment") ///////////////////////////////////////// /////////////PDA and Radio stuff///////// ///////////////////////////////////////// -datum/design/binaryencrypt +/datum/design/binaryencrypt name = "Binary Encryption Key" - desc = "An encyption key for a radio headset. Contains cypherkeys." + desc = "An encyption key for a radio headset. Contains cypherkeys." id = "binaryencrypt" req_tech = list("syndicate" = 2) build_type = PROTOLATHE materials = list("$metal" = 300, "$glass" = 300) build_path = /obj/item/device/encryptionkey/binary + category = list("Communication") -datum/design/pda - name = "PDA" - desc = "A portable microcomputer by Thinktronic Systems, LTD. Functionality determined by a preprogrammed ROM cartridge." - id = "pda" - req_tech = list("engineering" = 2, "powerstorage" = 3) - build_type = PROTOLATHE - materials = list("$metal" = 50, "$glass" = 50) - build_path = /obj/item/device/pda - -datum/design/cart_basic - name = "Generic Cartridge" - desc = "A data cartridge for portable microcomputers." - id = "cart_basic" - req_tech = list("engineering" = 2, "powerstorage" = 3) - build_type = PROTOLATHE - materials = list("$metal" = 50, "$glass" = 50) - build_path = /obj/item/weapon/cartridge - -datum/design/cart_engineering - name = "Power-ON Cartridge" - desc = "A data cartridge for portable microcomputers." - id = "cart_engineering" - req_tech = list("engineering" = 2, "powerstorage" = 3) - build_type = PROTOLATHE - materials = list("$metal" = 50, "$glass" = 50) - build_path = /obj/item/weapon/cartridge/engineering - -datum/design/cart_atmos +/datum/design/cart_atmos name = "BreatheDeep Cartridge" desc = "A data cartridge for portable microcomputers." id = "cart_atmos" @@ -348,17 +313,9 @@ datum/design/cart_atmos build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) build_path = /obj/item/weapon/cartridge/atmos + category = list("Communication") -datum/design/cart_medical - name = "Med-U Cartridge" - desc = "A data cartridge for portable microcomputers." - id = "cart_medical" - req_tech = list("engineering" = 2, "powerstorage" = 3) - build_type = PROTOLATHE - materials = list("$metal" = 50, "$glass" = 50) - build_path = /obj/item/weapon/cartridge/medical - -datum/design/cart_chemistry +/datum/design/cart_chemistry name = "ChemWhiz Cartridge" desc = "A data cartridge for portable microcomputers." id = "cart_chemistry" @@ -366,18 +323,9 @@ datum/design/cart_chemistry build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) build_path = /obj/item/weapon/cartridge/chemistry + category = list("Communication") -datum/design/cart_security - name = "R.O.B.U.S.T. Cartridge" - desc = "A data cartridge for portable microcomputers." - id = "cart_security" - req_tech = list("engineering" = 2, "powerstorage" = 3) - build_type = PROTOLATHE - materials = list("$metal" = 50, "$glass" = 50) - build_path = "/obj/item/weapon/cartridge/security" - locked = 1 - -datum/design/cart_janitor +/datum/design/cart_janitor name = "CustodiPRO Cartridge" desc = "A data cartridge for portable microcomputers." id = "cart_janitor" @@ -385,17 +333,9 @@ datum/design/cart_janitor build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) build_path = /obj/item/weapon/cartridge/janitor + category = list("Communication") -datum/design/cart_clown - name = "Honkworks 5.0 Cartridge" - desc = "A data cartridge for portable microcomputers." - id = "cart_clown" - req_tech = list("engineering" = 2, "powerstorage" = 3) - build_type = PROTOLATHE - materials = list("$metal" = 50, "$glass" = 50) - build_path = /obj/item/weapon/cartridge/clown - -datum/design/cart_mime +/datum/design/cart_mime name = "Gestur-O 1000 Cartridge" desc = "A data cartridge for portable microcomputers." id = "cart_mime" @@ -403,27 +343,29 @@ datum/design/cart_mime build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) build_path = /obj/item/weapon/cartridge/mime + category = list("Communication") -datum/design/cart_toxins - name = "Signal Ace 2 Cartridge" +/datum/design/cart_basic + name = "Generic Cartridge" desc = "A data cartridge for portable microcomputers." - id = "cart_toxins" + id = "cart_basic" req_tech = list("engineering" = 2, "powerstorage" = 3) build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) - build_path = /obj/item/weapon/cartridge/signal/toxins + build_path = /obj/item/weapon/cartridge + category = list("Communication") -datum/design/cart_quartermaster - name = "Space Parts & Space Vendors Cartridge" +/datum/design/cart_clown + name = "Honkworks 5.0 Cartridge" desc = "A data cartridge for portable microcomputers." - id = "cart_quartermaster" + id = "cart_clown" req_tech = list("engineering" = 2, "powerstorage" = 3) build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) - build_path = /obj/item/weapon/cartridge/quartermaster - locked = 1 + build_path = /obj/item/weapon/cartridge/clown + category = list("Communication") -datum/design/cart_hop +/datum/design/cart_hop name = "Human Resources 9001 Cartridge" desc = "A data cartridge for portable microcomputers." id = "cart_hop" @@ -432,28 +374,19 @@ datum/design/cart_hop materials = list("$metal" = 50, "$glass" = 50) build_path = /obj/item/weapon/cartridge/hop locked = 1 + category = list("Communication") -datum/design/cart_hos - name = "R.O.B.U.S.T. DELUXE Cartridge" +/datum/design/cart_medical + name = "Med-U Cartridge" desc = "A data cartridge for portable microcomputers." - id = "cart_hos" + id = "cart_medical" req_tech = list("engineering" = 2, "powerstorage" = 3) build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) - build_path = /obj/item/weapon/cartridge/hos - locked = 1 + build_path = /obj/item/weapon/cartridge/medical + category = list("Communication") -datum/design/cart_ce - name = "Power-On DELUXE Cartridge" - desc = "A data cartridge for portable microcomputers." - id = "cart_ce" - req_tech = list("engineering" = 2, "powerstorage" = 3) - build_type = PROTOLATHE - materials = list("$metal" = 50, "$glass" = 50) - build_path = /obj/item/weapon/cartridge/ce - locked = 1 - -datum/design/cart_cmo +/datum/design/cart_cmo name = "Med-U DELUXE Cartridge" desc = "A data cartridge for portable microcomputers." id = "cart_cmo" @@ -462,8 +395,72 @@ datum/design/cart_cmo materials = list("$metal" = 50, "$glass" = 50) build_path = /obj/item/weapon/cartridge/cmo locked = 1 + category = list("Communication") -datum/design/cart_rd +/datum/design/pda + name = "PDA" + desc = "A portable microcomputer by Thinktronic Systems, LTD. Functionality determined by a preprogrammed ROM cartridge." + id = "pda" + req_tech = list("engineering" = 2, "powerstorage" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = /obj/item/device/pda + category = list("Communication") + +/datum/design/cart_engineering + name = "Power-ON Cartridge" + desc = "A data cartridge for portable microcomputers." + id = "cart_engineering" + req_tech = list("engineering" = 2, "powerstorage" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = /obj/item/weapon/cartridge/engineering + category = list("Communication") + +/datum/design/cart_ce + name = "Power-On DELUXE Cartridge" + desc = "A data cartridge for portable microcomputers." + id = "cart_ce" + req_tech = list("engineering" = 2, "powerstorage" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = /obj/item/weapon/cartridge/ce + locked = 1 + category = list("Communication") + +/datum/design/cart_security + name = "R.O.B.U.S.T. Cartridge" + desc = "A data cartridge for portable microcomputers." + id = "cart_security" + req_tech = list("engineering" = 2, "powerstorage" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = "/obj/item/weapon/cartridge/security" + locked = 1 + category = list("Communication") + +/datum/design/cart_hos + name = "R.O.B.U.S.T. DELUXE Cartridge" + desc = "A data cartridge for portable microcomputers." + id = "cart_hos" + req_tech = list("engineering" = 2, "powerstorage" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = /obj/item/weapon/cartridge/hos + locked = 1 + category = list("Communication") + +/datum/design/cart_toxins + name = "Signal Ace 2 Cartridge" + desc = "A data cartridge for portable microcomputers." + id = "cart_toxins" + req_tech = list("engineering" = 2, "powerstorage" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = /obj/item/weapon/cartridge/signal/toxins + category = list("Communication") + +/datum/design/cart_rd name = "Signal Ace DELUXE Cartridge" desc = "A data cartridge for portable microcomputers." id = "cart_rd" @@ -472,8 +469,20 @@ datum/design/cart_rd materials = list("$metal" = 50, "$glass" = 50) build_path = /obj/item/weapon/cartridge/rd locked = 1 + category = list("Communication") -datum/design/cart_captain +/datum/design/cart_quartermaster + name = "Space Parts & Space Vendors Cartridge" + desc = "A data cartridge for portable microcomputers." + id = "cart_quartermaster" + req_tech = list("engineering" = 2, "powerstorage" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = /obj/item/weapon/cartridge/quartermaster + locked = 1 + category = list("Communication") + +/datum/design/cart_captain name = "Value-PAK Cartridge" desc = "A data cartridge for portable microcomputers." id = "cart_captain" @@ -482,21 +491,13 @@ datum/design/cart_captain materials = list("$metal" = 50, "$glass" = 50) build_path = /obj/item/weapon/cartridge/captain locked = 1 + category = list("Communication") ///////////////////////////////////////// ////////////Janitor Designs////////////// ///////////////////////////////////////// - -datum/design/light_replacer - name = "Light Replacer" - desc = "A device to automatically replace lights. Refill with working lightbulbs." - id = "light_replacer" - req_tech = list("magnets" = 3, "materials" = 4) - build_type = PROTOLATHE - materials = list("$metal" = 1500, "$silver" = 150, "$glass" = 3000) - build_path = /obj/item/device/lightreplacer -datum/design/advmop +/datum/design/advmop name = "Advanced Mop" desc = "An upgraded mop with a large internal capacity for holding water or other cleaning chemicals." id = "advmop" @@ -504,12 +505,24 @@ datum/design/advmop build_type = PROTOLATHE materials = list("$metal" = 2500, "$glass" = 200) build_path = /obj/item/weapon/mop/advanced + category = list("Janitorial") -datum/design/holosign +/datum/design/holosign name = "Holographic Sign Projector" desc = "A holograpic projector used to project various warning signs." id = "holosign" req_tech = list("magnets" = 3, "powerstorage" = 2) build_type = PROTOLATHE materials = list("$metal" = 2000, "$glass" = 1000) - build_path = /obj/item/weapon/holosign_creator \ No newline at end of file + build_path = /obj/item/weapon/holosign_creator + category = list("Janitorial") + +/datum/design/light_replacer + name = "Light Replacer" + desc = "A device to automatically replace lights. Refill with working lightbulbs." + id = "light_replacer" + req_tech = list("magnets" = 3, "materials" = 4) + build_type = PROTOLATHE + materials = list("$metal" = 1500, "$silver" = 150, "$glass" = 3000) + build_path = /obj/item/device/lightreplacer + category = list("Janitorial") \ No newline at end of file diff --git a/code/modules/research/designs/AI_module_designs.dm b/code/modules/research/designs/AI_module_designs.dm index 0f4b101f67a..e5289781cba 100644 --- a/code/modules/research/designs/AI_module_designs.dm +++ b/code/modules/research/designs/AI_module_designs.dm @@ -2,52 +2,7 @@ //////////AI Module Disks////////// /////////////////////////////////// -datum/design/safeguard_module - name = "AI Module (Safeguard)" - desc = "Allows for the construction of a Safeguard AI Module." - id = "safeguard_module" - req_tech = list("programming" = 3, "materials" = 4) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20, "$gold" = 100) - build_path = /obj/item/weapon/aiModule/supplied/safeguard - -datum/design/onehuman_module - name = "AI Module (OneHuman)" - desc = "Allows for the construction of a OneHuman AI Module." - id = "onehuman_module" - req_tech = list("programming" = 4, "materials" = 6) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20, "$diamond" = 100) - build_path = /obj/item/weapon/aiModule/zeroth/oneHuman - -datum/design/protectstation_module - name = "AI Module (ProtectStation)" - desc = "Allows for the construction of a ProtectStation AI Module." - id = "protectstation_module" - req_tech = list("programming" = 3, "materials" = 6) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20, "$gold" = 100) - build_path = /obj/item/weapon/aiModule/supplied/protectStation - -datum/design/quarantine_module - name = "AI Module (Quarantine)" - desc = "Allows for the construction of a Quarantine AI Module." - id = "quarantine_module" - req_tech = list("programming" = 3, "biotech" = 2, "materials" = 4) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20, "$gold" = 100) - build_path = /obj/item/weapon/aiModule/supplied/quarantine - -datum/design/oxygen_module - name = "AI Module (OxygenIsToxicToHumans)" - desc = "Allows for the construction of a Safeguard AI Module." - id = "oxygen_module" - req_tech = list("programming" = 3, "biotech" = 2, "materials" = 4) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20, "$gold" = 100) - build_path = /obj/item/weapon/aiModule/supplied/oxygen - -datum/design/freeform_module +/datum/design/freeform_module name = "AI Module (Freeform)" desc = "Allows for the construction of a Freeform AI Module." id = "freeform_module" @@ -55,17 +10,39 @@ datum/design/freeform_module build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20, "$gold" = 100) build_path = /obj/item/weapon/aiModule/supplied/freeform + category = list("AI Modules") + +/datum/design/onehuman_module + name = "AI Module (OneHuman)" + desc = "Allows for the construction of a OneHuman AI Module." + id = "onehuman_module" + req_tech = list("programming" = 4, "materials" = 6) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20, "$diamond" = 100) + build_path = /obj/item/weapon/aiModule/zeroth/oneHuman + category = list("AI Modules") + +/datum/design/oxygen_module + name = "AI Module (OxygenIsToxicToHumans)" + desc = "Allows for the construction of a Safeguard AI Module." + id = "oxygen_module" + req_tech = list("programming" = 3, "biotech" = 2, "materials" = 4) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20, "$gold" = 100) + build_path = /obj/item/weapon/aiModule/supplied/oxygen + category = list("AI Modules") -datum/design/reset_module - name = "AI Module (Reset)" - desc = "Allows for the construction of a Reset AI Module." - id = "reset_module" +/datum/design/protectstation_module + name = "AI Module (ProtectStation)" + desc = "Allows for the construction of a ProtectStation AI Module." + id = "protectstation_module" req_tech = list("programming" = 3, "materials" = 6) build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20, "$gold" = 100) - build_path = /obj/item/weapon/aiModule/reset + build_path = /obj/item/weapon/aiModule/supplied/protectStation + category = list("AI Modules") -datum/design/purge_module +/datum/design/purge_module name = "AI Module (Purge)" desc = "Allows for the construction of a Purge AI Module." id = "purge_module" @@ -73,53 +50,39 @@ datum/design/purge_module build_type = IMPRINTER materials = list("$glass" = 2000, "sacid" = 20, "$diamond" = 100) build_path = /obj/item/weapon/aiModule/reset/purge + category = list("AI Modules") -datum/design/freeformcore_module - name = "Core AI Module (Freeform)" - desc = "Allows for the construction of a Freeform AI Core Module." - id = "freeformcore_module" - req_tech = list("programming" = 4, "materials" = 6) +/datum/design/quarantine_module + name = "AI Module (Quarantine)" + desc = "Allows for the construction of a Quarantine AI Module." + id = "quarantine_module" + req_tech = list("programming" = 3, "biotech" = 2, "materials" = 4) build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20, "$diamond" = 100) - build_path = /obj/item/weapon/aiModule/core/freeformcore - -datum/design/asimov - name = "Core AI Module (Asimov)" - desc = "Allows for the construction of a Asimov AI Core Module." - id = "asimov_module" + materials = list("$glass" = 1000, "sacid" = 20, "$gold" = 100) + build_path = /obj/item/weapon/aiModule/supplied/quarantine + category = list("AI Modules") + +/datum/design/reset_module + name = "AI Module (Reset)" + desc = "Allows for the construction of a Reset AI Module." + id = "reset_module" req_tech = list("programming" = 3, "materials" = 6) build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20, "$diamond" = 100) - build_path = /obj/item/weapon/aiModule/core/full/asimov - -datum/design/paladin_module - name = "Core AI Module (P.A.L.A.D.I.N.)" - desc = "Allows for the construction of a P.A.L.A.D.I.N. AI Core Module." - id = "paladin_module" - req_tech = list("programming" = 4, "materials" = 6) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20, "$diamond" = 100) - build_path = /obj/item/weapon/aiModule/core/full/paladin - -datum/design/tyrant_module - name = "Core AI Module (T.Y.R.A.N.T.)" - desc = "Allows for the construction of a T.Y.R.A.N.T. AI Module." - id = "tyrant_module" - req_tech = list("programming" = 4, "syndicate" = 2, "materials" = 6) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20, "$diamond" = 100) - build_path = /obj/item/weapon/aiModule/core/full/tyrant - -datum/design/corporate_module - name = "Core AI Module (Corporate)" - desc = "Allows for the construction of a Corporate AI Core Module." - id = "corporate_module" - req_tech = list("programming" = 4, "materials" = 6) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20, "$diamond" = 100) - build_path = /obj/item/weapon/aiModule/core/full/corp + materials = list("$glass" = 1000, "sacid" = 20, "$gold" = 100) + build_path = /obj/item/weapon/aiModule/reset + category = list("AI Modules") -datum/design/antimov_module +/datum/design/safeguard_module + name = "AI Module (Safeguard)" + desc = "Allows for the construction of a Safeguard AI Module." + id = "safeguard_module" + req_tech = list("programming" = 3, "materials" = 4) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20, "$gold" = 100) + build_path = /obj/item/weapon/aiModule/supplied/safeguard + category = list("AI Modules") + +/datum/design/antimov_module name = "Core AI Module (Antimov)" desc = "Allows for the construction of a Antimov AI Core Module." id = "antimov_module" @@ -127,8 +90,29 @@ datum/design/antimov_module build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20, "$diamond" = 100) build_path = /obj/item/weapon/aiModule/core/full/antimov - -datum/design/custom_module + category = list("AI Modules") + +/datum/design/asimov + name = "Core AI Module (Asimov)" + desc = "Allows for the construction of a Asimov AI Core Module." + id = "asimov_module" + req_tech = list("programming" = 3, "materials" = 6) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20, "$diamond" = 100) + build_path = /obj/item/weapon/aiModule/core/full/asimov + category = list("AI Modules") + +/datum/design/corporate_module + name = "Core AI Module (Corporate)" + desc = "Allows for the construction of a Corporate AI Core Module." + id = "corporate_module" + req_tech = list("programming" = 4, "materials" = 6) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20, "$diamond" = 100) + build_path = /obj/item/weapon/aiModule/core/full/corp + category = list("AI Modules") + +/datum/design/custom_module name = "Core AI Module (Custom)" desc = "Allows for the construction of a Custom AI Core Module." id = "custom_module" @@ -136,3 +120,34 @@ datum/design/custom_module build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20, "$diamond" = 100) build_path = /obj/item/weapon/aiModule/core/full/custom + category = list("AI Modules") + +/datum/design/freeformcore_module + name = "Core AI Module (Freeform)" + desc = "Allows for the construction of a Freeform AI Core Module." + id = "freeformcore_module" + req_tech = list("programming" = 4, "materials" = 6) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20, "$diamond" = 100) + build_path = /obj/item/weapon/aiModule/core/freeformcore + category = list("AI Modules") + +/datum/design/paladin_module + name = "Core AI Module (P.A.L.A.D.I.N.)" + desc = "Allows for the construction of a P.A.L.A.D.I.N. AI Core Module." + id = "paladin_module" + req_tech = list("programming" = 4, "materials" = 6) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20, "$diamond" = 100) + build_path = /obj/item/weapon/aiModule/core/full/paladin + category = list("AI Modules") + +/datum/design/tyrant_module + name = "Core AI Module (T.Y.R.A.N.T.)" + desc = "Allows for the construction of a T.Y.R.A.N.T. AI Module." + id = "tyrant_module" + req_tech = list("programming" = 4, "syndicate" = 2, "materials" = 6) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20, "$diamond" = 100) + build_path = /obj/item/weapon/aiModule/core/full/tyrant + category = list("AI Modules") diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm new file mode 100644 index 00000000000..238ba566cb6 --- /dev/null +++ b/code/modules/research/designs/autolathe_designs.dm @@ -0,0 +1,477 @@ +/////////////////////////////////// +//////////Autolathe Designs /////// +/////////////////////////////////// + +/datum/design/analyzer + name = "Analyzer" + id = "analyzer" + build_type = AUTOLATHE + materials = list("$metal" = 30, "$glass" = 20) + build_path = /obj/item/device/analyzer + category = list("initial","Tools") + +/datum/design/bucket + name = "Bucket" + id = "bucket" + build_type = AUTOLATHE + materials = list("$metal" = 200) + build_path = /obj/item/weapon/reagent_containers/glass/bucket + category = list("initial","Tools") + +/datum/design/crowbar + name = "Pocket crowbar" + id = "crowbar" + build_type = AUTOLATHE + materials = list("$metal" = 50) + build_path = /obj/item/weapon/crowbar + category = list("initial","Tools") + +/datum/design/extinguisher + name = "Fire Extinguisher" + id = "extinguisher" + build_type = AUTOLATHE + materials = list("$metal" = 90) + build_path = /obj/item/weapon/extinguisher + category = list("initial","Tools") + +/datum/design/flashlight + name = "Flashlight" + id = "flashlight" + build_type = AUTOLATHE + materials = list("$metal" = 50, "$glass" = 20) + build_path = /obj/item/device/flashlight + category = list("initial","Tools") + +/datum/design/multitool + name = "Multitool" + id = "multitool" + build_type = AUTOLATHE + materials = list("$metal" = 50, "$glass" = 20) + build_path = /obj/item/device/multitool + category = list("initial","Tools") + +/datum/design/screwdriver + name = "Screwdriver" + id = "screwdriver" + build_type = AUTOLATHE + materials = list("$metal" = 75) + build_path = /obj/item/weapon/screwdriver + category = list("initial","Tools") + +/datum/design/tscanner + name = "T-ray Scanner" + id = "tscanner" + build_type = AUTOLATHE + materials = list("$metal" = 150) + build_path = /obj/item/device/t_scanner + category = list("initial","Tools") + +/datum/design/welding_helmet + name = "Welding Helmet" + id = "welding_helmet" + build_type = AUTOLATHE + materials = list("$metal" = 1750, "$glass" = 400) + build_path = /obj/item/clothing/head/welding + category = list("initial","Tools") + +/datum/design/weldingtool + name = "Welding Tool" + id = "welding_tool" + build_type = AUTOLATHE + materials = list("$metal" = 70, "$glass" = 20) + build_path = /obj/item/weapon/weldingtool + category = list("initial","Tools") + +/datum/design/wirecutters + name = "Wirecutters" + id = "wirecutters" + build_type = AUTOLATHE + materials = list("$metal" = 80) + build_path = /obj/item/weapon/wirecutters + category = list("initial","Tools") + +/datum/design/wrench + name = "Wrench" + id = "wrench" + build_type = AUTOLATHE + materials = list("$metal" = 150) + build_path = /obj/item/weapon/wrench + category = list("initial","Tools") + +/datum/design/airalarm_electronics + name = "Air Alarm Electronics" + id = "airalarm_electronics" + build_type = AUTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = /obj/item/weapon/airalarm_electronics + category = list("initial", "Electronics") + +/datum/design/airlock_board + name = "Airlock Electronics" + id = "airlock_board" + build_type = AUTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = /obj/item/weapon/airlock_electronics + category = list("initial", "Electronics") + +/datum/design/console_screen + name = "Console Screen" + id = "console_screen" + build_type = AUTOLATHE + materials = list("$glass" = 200) + build_path = /obj/item/weapon/stock_parts/console_screen + category = list("initial", "Electronics") + +/datum/design/firealarm_electronics + name = "Fire Alarm Electronics" + id = "firealarm_electronics" + build_type = AUTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = /obj/item/weapon/firealarm_electronics + category = list("initial", "Electronics") + +/datum/design/igniter + name = "Igniter" + id = "igniter" + build_type = AUTOLATHE + materials = list("$metal" = 500, "$glass" = 50) + build_path = /obj/item/device/assembly/igniter + category = list("initial", "Miscellaneous") + +/datum/design/infrared_emitter + name = "Infrared Emitter" + id = "infrared_emitter" + build_type = AUTOLATHE + materials = list("$metal" = 1000, "$glass" = 500) + build_path = /obj/item/device/assembly/infra + category = list("initial", "Miscellaneous") + +/datum/design/kitchen_knife + name = "Kitchen knife" + id = "kitchen_knife" + build_type = AUTOLATHE + materials = list("$metal" = 12000) + build_path = /obj/item/weapon/kitchenknife + category = list("initial","Miscellaneous") + +/datum/design/pipe_painter + name = "Pipe Painter" + id = "pipe_painter" + build_type = AUTOLATHE + materials = list("$metal" = 5000, "$glass" = 2000) + build_path = /obj/item/device/pipe_painter + category = list("initial", "Miscellaneous") + +/datum/design/prox_sensor + name = "Proximity sensor" + id = "prox_sensor" + build_type = AUTOLATHE + materials = list("$metal" = 800, "$glass" = 200) + build_path = /obj/item/device/assembly/prox_sensor + category = list("initial", "Miscellaneous") + +/datum/design/timer + name = "Timer" + id = "timer" + build_type = AUTOLATHE + materials = list("$metal" = 500, "$glass" = 50) + build_path = /obj/item/device/assembly/timer + category = list("initial", "Miscellaneous") + +/datum/design/recorder + name = "Universal Recorder" + id = "recorder" + build_type = AUTOLATHE + materials = list("$metal" = 60, "$glass" = 30) + build_path = /obj/item/device/taperecorder + category = list("initial", "Miscellaneous") + +/datum/design/voice_analyser + name = "Voice analyser" + id = "voice_analyser" + build_type = AUTOLATHE + materials = list("$metal" = 500, "$glass" = 50) + build_path = /obj/item/device/assembly/voice + category = list("initial", "Miscellaneous") + +/datum/design/camera_assembly + name = "Camera Assembly" + id = "camera_assembly" + build_type = AUTOLATHE + materials = list("$metal" = 400, "$glass" = 250) + build_path = /obj/item/weapon/camera_assembly + category = list("initial", "Construction") + +/datum/design/glass + name = "Glass" + id = "glass" + build_type = AUTOLATHE + materials = list("$glass" = MINERAL_MATERIAL_AMOUNT) + build_path = /obj/item/stack/sheet/glass + category = list("initial","Construction") + +/datum/design/light_bulb + name = "Light Bulb" + id = "light_bulb" + build_type = AUTOLATHE + materials = list("$metal" = 60, "$glass" = 100) + build_path = /obj/item/weapon/light/bulb + category = list("initial", "Construction") + +/datum/design/light_tube + name = "Light Tube" + id = "light_tube" + build_type = AUTOLATHE + materials = list("$metal" = 60, "$glass" = 100) + build_path = /obj/item/weapon/light/tube + category = list("initial", "Construction") + +/datum/design/metal + name = "Metal" + id = "metal" + build_type = AUTOLATHE + materials = list("$metal" = MINERAL_MATERIAL_AMOUNT) + build_path = /obj/item/stack/sheet/metal + category = list("initial","Construction") + +/datum/design/rcd_ammo + name = "Compressed Matter Cardridge" + id = "rcd_ammo" + build_type = AUTOLATHE + materials = list("$metal" = 16000, "$glass"=8000) + build_path = /obj/item/weapon/rcd_ammo + category = list("initial","Construction") + +/datum/design/rglass + name = "Reinforced Glass" + id = "rglass" + build_type = AUTOLATHE + materials = list("$metal" = 1000, "$glass" = MINERAL_MATERIAL_AMOUNT) + build_path = /obj/item/stack/sheet/rglass + category = list("initial","Construction") + +/datum/design/rods + name = "Metal Rod" + id = "rods" + build_type = AUTOLATHE + materials = list("$metal" = 1000) + build_path = /obj/item/stack/rods + category = list("initial","Construction") + +/datum/design/beaker + name = "Beaker" + id = "beaker" + build_type = AUTOLATHE + materials = list("$glass" = 500) + build_path = /obj/item/weapon/reagent_containers/glass/beaker + category = list("initial", "Medical") + +/datum/design/cautery + name = "Cautery" + id = "cautery" + build_type = AUTOLATHE + materials = list("$metal" = 2500, "$glass" = 750) + build_path = /obj/item/weapon/cautery + category = list("initial", "Medical") + +/datum/design/circular_saw + name = "Circular Saw" + id = "circular_saw" + build_type = AUTOLATHE + materials = list("$metal" = 10000, "$glass" = 6000) + build_path = /obj/item/weapon/circular_saw + category = list("initial", "Medical") + +/datum/design/hemostat + name = "Hemostat" + id = "hemostat" + build_type = AUTOLATHE + materials = list("$metal" = 5000, "$glass" = 2500) + build_path = /obj/item/weapon/hemostat + category = list("initial", "Medical") + +/datum/design/large_beaker + name = "Large Beaker" + id = "large_beaker" + build_type = AUTOLATHE + materials = list("$glass" = 2500) + build_path = /obj/item/weapon/reagent_containers/glass/beaker/large + category = list("initial", "Medical") + +/datum/design/retractor + name = "Retractor" + id = "retractor" + build_type = AUTOLATHE + materials = list("$metal" = 6000, "$glass" = 3000) + build_path = /obj/item/weapon/ + category = list("initial", "Medical") + +/datum/design/scalpel + name = "Scalpel" + id = "scalpel" + build_type = AUTOLATHE + materials = list("$metal" = 4000, "$glass" = 1000) + build_path = /obj/item/weapon/scalpel + category = list("initial", "Medical") + +/datum/design/surgicaldrill + name = "Surgical Drill" + id = "surgicaldrill" + build_type = AUTOLATHE + materials = list("$metal" = 10000, "$glass" = 6000) + build_path = /obj/item/weapon/surgicaldrill + category = list("initial", "Medical") + +/datum/design/syringe + name = "Syringe" + id = "syringe" + build_type = AUTOLATHE + materials = list("$metal" = 10, "$glass" = 20) + build_path = /obj/item/weapon/reagent_containers/syringe + category = list("initial", "Medical") + +/datum/design/beanbag_slug + name = "Beanbag Slug" + id = "beanbag_slug" + build_type = AUTOLATHE + materials = list("$metal" = 250) + build_path = /obj/item/ammo_casing/shotgun/beanbag + category = list("initial", "Security") + +/datum/design/c38 + name = "Speed Loader (.38)" + id = "c38" + build_type = AUTOLATHE + materials = list("$metal" = 30000) + build_path = /obj/item/ammo_box/c38 + category = list("initial", "Security") + +/datum/design/radio_headset + name = "Radio Headset" + id = "radio_headset" + build_type = AUTOLATHE + materials = list("$metal" = 75) + build_path = /obj/item/device/radio/headset + category = list("initial", "Communication") + +/datum/design/signaler + name = "Remote Signaling Device" + id = "signaler" + build_type = AUTOLATHE + materials = list("$metal" = 400, "$glass" = 120) + build_path = /obj/item/device/assembly/signaler + category = list("initial", "Communication") + +/datum/design/bounced_radio + name = "Station Bounced Radio" + id = "bounced_radio" + build_type = AUTOLATHE + materials = list("$metal" = 75, "$glass" = 25) + build_path = /obj/item/device/radio/off + category = list("initial", "Communication") + +//hacked autolathe recipes +/datum/design/c45 + name = "Ammo Box (.45)" + id = "c45" + build_type = AUTOLATHE + materials = list("$metal" = 30000) + build_path = /obj/item/ammo_box/c45 + category = list("hacked", "Security") + +/datum/design/a357 + name = "Ammo Box (.357)" + id = "a357" + build_type = AUTOLATHE + materials = list("$metal" = 30000) + build_path = /obj/item/ammo_box/a357 + category = list("hacked", "Security") + +/datum/design/c9mm + name = "Ammo Box (9mm)" + id = "c9mm" + build_type = AUTOLATHE + materials = list("$metal" = 30000) + build_path = /obj/item/ammo_box/c9mm + category = list("hacked", "Security") + +/datum/design/c10mm + name = "Ammo Box (10mm)" + id = "c10mm" + build_type = AUTOLATHE + materials = list("$metal" = 30000) + build_path = /obj/item/ammo_box/c10mm + category = list("hacked", "Security") + +/datum/design/buckshot_shell + name = "Buckshot Shell" + id = "buckshot_shell" + build_type = AUTOLATHE + materials = list("$metal" = 4000) + build_path = /obj/item/ammo_casing/shotgun/buckshot + category = list("hacked", "Security") + +/datum/design/electropack + name = "Electropack" + id = "electropack" + build_type = AUTOLATHE + materials = list("$metal" = 10000, "$glass" = 2500) + build_path = /obj/item/device/radio/electropack + category = list("hacked", "Tools") + +/datum/design/flamethrower + name = "Flamethrower" + id = "flamethrower" + build_type = AUTOLATHE + materials = list("$metal" = 500) + build_path = /obj/item/weapon/flamethrower/full + category = list("hacked", "Weapons and ammo") + +/datum/design/handcuffs + name = "Handcuffs" + id = "handcuffs" + build_type = AUTOLATHE + materials = list("$metal" = 500) + build_path = /obj/item/weapon/handcuffs + category = list("hacked", "Security") + +/datum/design/incendiary_slug + name = "Incendiary Slug" + id = "incendiary_slug" + build_type = AUTOLATHE + materials = list("$metal" = 4000) + build_path = /obj/item/ammo_casing/shotgun/incendiary + category = list("hacked", "Security") + +/datum/design/large_welding_tool + name = "Industrial Welding Tool" + id = "large_welding_tool" + build_type = AUTOLATHE + materials = list("$metal" = 70, "$glass" = 60) + build_path = /obj/item/weapon/weldingtool/largetank + category = list("hacked", "Tools") + +/datum/design/rcd + name = "Rapid Construction Device (RCD)" + id = "rcd" + build_type = AUTOLATHE + materials = list("$metal" = 30000) + build_path = /obj/item/weapon/rcd + category = list("hacked", "Construction") + +/datum/design/shotgun_dart + name = "Shotgun Dart" + id = "shotgun_dart" + build_type = AUTOLATHE + materials = list("$metal" = 4000) + build_path = /obj/item/ammo_casing/shotgun/dart + category = list("hacked", "Security") + +/datum/design/shotgun_slug + name = "Shotgun Slug" + id = "shotgun_slug" + build_type = AUTOLATHE + materials = list("$metal" = 4000) + build_path = /obj/item/ammo_casing/shotgun + category = list("hacked", "Security") + \ No newline at end of file diff --git a/code/modules/research/designs/comp_board_designs.dm b/code/modules/research/designs/comp_board_designs.dm index 62e10121644..68ca1c27660 100644 --- a/code/modules/research/designs/comp_board_designs.dm +++ b/code/modules/research/designs/comp_board_designs.dm @@ -2,16 +2,7 @@ //////////Computer Boards////////// /////////////////////////////////// -datum/design/seccamera - name = "Console Board (Camera Monitor)" - desc = "Allows for the construction of circuit boards used to build camera monitors." - id = "seccamera" - req_tech = list("programming" = 2) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/camera - -datum/design/aicore +/datum/design/aicore name = "Console Board (AI Core)" desc = "Allows for the construction of circuit boards used to build new AI cores." id = "aicore" @@ -19,269 +10,9 @@ datum/design/aicore build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/aicore - -datum/design/aiupload - name = "Console Board (AI Upload)" - desc = "Allows for the construction of circuit boards used to build an AI Upload Console." - id = "aiupload" - req_tech = list("programming" = 4) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/aiupload - -datum/design/borgupload - name = "Console Board (Cyborg Upload)" - desc = "Allows for the construction of circuit boards used to build a Cyborg Upload Console." - id = "borgupload" - req_tech = list("programming" = 4) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/borgupload - -datum/design/med_data - name = "Console Board (Medical Records)" - desc = "Allows for the construction of circuit boards used to build a medical records console." - id = "med_data" - req_tech = list("programming" = 2) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/med_data - -datum/design/operating - name = "Console Board (Operating Computer)" - desc = "Allows for the construction of circuit boards used to build an operating computer console." - id = "operating" - req_tech = list("programming" = 2, "biotech" = 2) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/operating - -datum/design/pandemic - name = "Console Board (PanD.E.M.I.C. 2200)" - desc = "Allows for the construction of circuit boards used to build a PanD.E.M.I.C. 2200 console." - id = "pandemic" - req_tech = list("programming" = 2, "biotech" = 2) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/pandemic - -datum/design/scan_console - name = "Console Board (DNA Machine)" - desc = "Allows for the construction of circuit boards used to build a new DNA scanning console." - id = "scan_console" - req_tech = list("programming" = 2, "biotech" = 3) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/scan_consolenew - -datum/design/comconsole - name = "Console Board (Communications Console)" - desc = "Allows for the construction of circuit boards used to build a communications console." - id = "comconsole" - req_tech = list("programming" = 2, "magnets" = 2) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/communications - -datum/design/idcardconsole - name = "Console Board (ID Computer)" - desc = "Allows for the construction of circuit boards used to build an ID computer." - id = "idcardconsole" - req_tech = list("programming" = 2) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/card - -datum/design/crewconsole - name = "Console Board (Crew Monitoring Computer)" - desc = "Allows for the construction of circuit boards used to build a Crew monitoring computer." - id = "crewconsole" - req_tech = list("programming" = 3, "magnets" = 2, "biotech" = 2) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/crew - -datum/design/teleconsole - name = "Console Board (Teleporter Console)" - desc = "Allows for the construction of circuit boards used to build a teleporter control console." - id = "teleconsole" - req_tech = list("programming" = 3, "bluespace" = 2) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/teleporter - -datum/design/secdata - name = "Console Board (Security Records Console)" - desc = "Allows for the construction of circuit boards used to build a security records console." - id = "secdata" - req_tech = list("programming" = 2) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/secure_data - -datum/design/atmosalerts - name = "Console Board (Atmosphere Alert)" - desc = "Allows for the construction of circuit boards used to build an atmosphere alert console.." - id = "atmosalerts" - req_tech = list("programming" = 2) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/atmos_alert - -datum/design/air_management - name = "Console Board (Atmospheric Monitor)" - desc = "Allows for the construction of circuit boards used to build an Atmospheric Monitor." - id = "air_management" - req_tech = list("programming" = 2) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/air_management - -datum/design/robocontrol - name = "Console Board (Robotics Control Console)" - desc = "Allows for the construction of circuit boards used to build a Robotics Control console." - id = "robocontrol" - req_tech = list("programming" = 4) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/robotics - -datum/design/dronecontrol - name = "Console Board (Drone Control Console)" - desc = "Allows for the construction of circuit boards used to build a Drone Control console." - id = "dronecontrol" - req_tech = list("programming" = 4) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/drone_control - -datum/design/clonecontrol - name = "Console Board (Cloning Machine Console)" - desc = "Allows for the construction of circuit boards used to build a new Cloning Machine console." - id = "clonecontrol" - req_tech = list("programming" = 3, "biotech" = 3) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/cloning - -datum/design/powermonitor - name = "Console Board (Power Monitor)" - desc = "Allows for the construction of circuit boards used to build a new power monitor" - id = "powermonitor" - req_tech = list("programming" = 2) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/powermonitor - -datum/design/solarcontrol - name = "Console Board (Solar Control)" - desc = "Allows for the construction of circuit boards used to build a solar control console" - id = "solarcontrol" - req_tech = list("programming" = 2, "powerstorage" = 2) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/solar_control - -datum/design/prisonmanage - name = "Console Board (Prisoner Management Console)" - desc = "Allows for the construction of circuit boards used to build a prisoner management console." - id = "prisonmanage" - req_tech = list("programming" = 2) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/prisoner - -datum/design/mechacontrol - name = "Console Board (Exosuit Control Console)" - desc = "Allows for the construction of circuit boards used to build an exosuit control console." - id = "mechacontrol" - req_tech = list("programming" = 3) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/mecha_control - -datum/design/mechapower - name = "Console Board (Mech Bay Power Control Console)" - desc = "Allows for the construction of circuit boards used to build a mech bay power control console." - id = "mechapower" - req_tech = list("programming" = 2, "powerstorage" = 3) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/mech_bay_power_console - -datum/design/rdconsole - name = "Console Board (R&D Console)" - desc = "Allows for the construction of circuit boards used to build a new R&D console." - id = "rdconsole" - req_tech = list("programming" = 4) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/rdconsole - -datum/design/ordercomp - name = "Console Board (Supply Ordering Console)" - desc = "Allows for the construction of circuit boards used to build a supply ordering console." - id = "ordercomp" - req_tech = list("programming" = 2) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/ordercomp - -datum/design/supplycomp - name = "Console Board (Supply Shuttle Console)" - desc = "Allows for the construction of circuit boards used to build a supply shuttle console." - id = "supplycomp" - req_tech = list("programming" = 3) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/supplycomp - -datum/design/comm_monitor - name = "Console Board (Telecommunications Monitoring Console)" - desc = "Allows for the construction of circuit boards used to build a telecommunications monitor." - id = "comm_monitor" - req_tech = list("programming" = 3) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/comm_monitor - -datum/design/comm_server - name = "Console Board (Telecommunications Server Monitoring Console)" - desc = "Allows for the construction of circuit boards used to build a telecommunication server browser and monitor." - id = "comm_server" - req_tech = list("programming" = 3) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/comm_server - -datum/design/message_monitor - name = "Console Board (Messaging Monitor Console)" - desc = "Allows for the construction of circuit boards used to build a messaging monitor console." - id = "message_monitor" - req_tech = list("programming" = 5) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/message_monitor - -datum/design/comm_traffic - name = "Console Board (Telecommunications Traffic Control Console)" - desc = "Allows for the construction of circuit boards used to build a telecommunications traffic control console." - id = "comm_traffic" - req_tech = list("programming" = 3) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/comm_traffic - -datum/design/telesci_console - name = "Console Board (Telepad Control Console Board)" - desc = "Allows for the construction of circuit boards used to build a telescience console." - id = "telesci_console" - req_tech = list("programming" = 3, "bluespace" = 2) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/telesci_console - -datum/design/aifixer + category = list("Computer Boards") + +/datum/design/aifixer name = "Console Board (AI Integrity Restorer)" desc = "Allows for the construction of circuit boards used to build an AI Integrity Restorer." id = "aifixer" @@ -289,12 +20,314 @@ datum/design/aifixer build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/aifixer + category = list("Computer Boards") + +/datum/design/aiupload + name = "Console Board (AI Upload)" + desc = "Allows for the construction of circuit boards used to build an AI Upload Console." + id = "aiupload" + req_tech = list("programming" = 4) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/aiupload + category = list("Computer Boards") -datum/design/rdservercontrol +/datum/design/atmosalerts + name = "Console Board (Atmospheric Alerts)" + desc = "Allows for the construction of circuit boards used to build an atmosphere alert console.." + id = "atmosalerts" + req_tech = list("programming" = 2) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/atmos_alert + category = list("Computer Boards") + +/datum/design/air_management + name = "Console Board (Atmospheric Monitor)" + desc = "Allows for the construction of circuit boards used to build an Atmospheric Monitor." + id = "air_management" + req_tech = list("programming" = 2) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/air_management + category = list("Computer Boards") + +/datum/design/seccamera + name = "Console Board (Camera Monitor)" + desc = "Allows for the construction of circuit boards used to build camera monitors." + id = "seccamera" + req_tech = list("programming" = 2) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/camera + category = list("Computer Boards") + +/datum/design/clonecontrol + name = "Console Board (Cloning Machine Console)" + desc = "Allows for the construction of circuit boards used to build a new Cloning Machine console." + id = "clonecontrol" + req_tech = list("programming" = 3, "biotech" = 3) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/cloning + category = list("Computer Boards") + +/datum/design/comconsole + name = "Console Board (Communications Console)" + desc = "Allows for the construction of circuit boards used to build a communications console." + id = "comconsole" + req_tech = list("programming" = 2, "magnets" = 2) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/communications + category = list("Computer Boards") + +/datum/design/crewconsole + name = "Console Board (Crew Monitoring Computer)" + desc = "Allows for the construction of circuit boards used to build a Crew monitoring computer." + id = "crewconsole" + req_tech = list("programming" = 3, "magnets" = 2, "biotech" = 2) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/crew + category = list("Computer Boards") + +/datum/design/borgupload + name = "Console Board (Cyborg Upload)" + desc = "Allows for the construction of circuit boards used to build a Cyborg Upload Console." + id = "borgupload" + req_tech = list("programming" = 4) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/borgupload + category = list("Computer Boards") + +/datum/design/scan_console + name = "Console Board (DNA Machine)" + desc = "Allows for the construction of circuit boards used to build a new DNA scanning console." + id = "scan_console" + req_tech = list("programming" = 2, "biotech" = 3) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/scan_consolenew + category = list("Computer Boards") + +/datum/design/dronecontrol + name = "Console Board (Drone Control Console)" + desc = "Allows for the construction of circuit boards used to build a Drone Control console." + id = "dronecontrol" + req_tech = list("programming" = 4) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/drone_control + category = list("Computer Boards") + +/datum/design/mechacontrol + name = "Console Board (Exosuit Control Console)" + desc = "Allows for the construction of circuit boards used to build an exosuit control console." + id = "mechacontrol" + req_tech = list("programming" = 3) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/mecha_control + category = list("Computer Boards") + +/datum/design/idcardconsole + name = "Console Board (ID Computer)" + desc = "Allows for the construction of circuit boards used to build an ID computer." + id = "idcardconsole" + req_tech = list("programming" = 2) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/card + category = list("Computer Boards") + +/datum/design/mechapower + name = "Console Board (Mech Bay Power Control Console)" + desc = "Allows for the construction of circuit boards used to build a mech bay power control console." + id = "mechapower" + req_tech = list("programming" = 2, "powerstorage" = 3) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/mech_bay_power_console + category = list("Computer Boards") + +/datum/design/med_data + name = "Console Board (Medical Records)" + desc = "Allows for the construction of circuit boards used to build a medical records console." + id = "med_data" + req_tech = list("programming" = 2) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/med_data + category = list("Computer Boards") + +/datum/design/message_monitor + name = "Console Board (Messaging Monitor Console)" + desc = "Allows for the construction of circuit boards used to build a messaging monitor console." + id = "message_monitor" + req_tech = list("programming" = 5) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/message_monitor + category = list("Computer Boards") + +/datum/design/operating + name = "Console Board (Operating Computer)" + desc = "Allows for the construction of circuit boards used to build an operating computer console." + id = "operating" + req_tech = list("programming" = 2, "biotech" = 2) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/operating + category = list("Computer Boards") + +/datum/design/pandemic + name = "Console Board (PanD.E.M.I.C. 2200)" + desc = "Allows for the construction of circuit boards used to build a PanD.E.M.I.C. 2200 console." + id = "pandemic" + req_tech = list("programming" = 2, "biotech" = 2) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/pandemic + category = list("Computer Boards") + +/datum/design/powermonitor + name = "Console Board (Power Monitor)" + desc = "Allows for the construction of circuit boards used to build a new power monitor" + id = "powermonitor" + req_tech = list("programming" = 2) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/powermonitor + category = list("Computer Boards") + +/datum/design/prisonmanage + name = "Console Board (Prisoner Management Console)" + desc = "Allows for the construction of circuit boards used to build a prisoner management console." + id = "prisonmanage" + req_tech = list("programming" = 2) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/prisoner + category = list("Computer Boards") + +/datum/design/rdconsole + name = "Console Board (R&D Console)" + desc = "Allows for the construction of circuit boards used to build a new R&D console." + id = "rdconsole" + req_tech = list("programming" = 4) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/rdconsole + category = list("Computer Boards") + +/datum/design/rdservercontrol name = "Console Board (R&D Server Control Console)" desc = "The circuit board for a R&D Server Control Console" id = "rdservercontrol" req_tech = list("programming" = 3) build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/rdservercontrol \ No newline at end of file + build_path = /obj/item/weapon/circuitboard/rdservercontrol + category = list("Computer Boards") + +/datum/design/robocontrol + name = "Console Board (Robotics Control Console)" + desc = "Allows for the construction of circuit boards used to build a Robotics Control console." + id = "robocontrol" + req_tech = list("programming" = 4) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/robotics + category = list("Computer Boards") + +/datum/design/secdata + name = "Console Board (Security Records Console)" + desc = "Allows for the construction of circuit boards used to build a security records console." + id = "secdata" + req_tech = list("programming" = 2) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/secure_data + category = list("Computer Boards") + +/datum/design/solarcontrol + name = "Console Board (Solar Control)" + desc = "Allows for the construction of circuit boards used to build a solar control console" + id = "solarcontrol" + req_tech = list("programming" = 2, "powerstorage" = 2) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/solar_control + category = list("Computer Boards") + +/datum/design/ordercomp + name = "Console Board (Supply Ordering Console)" + desc = "Allows for the construction of circuit boards used to build a supply ordering console." + id = "ordercomp" + req_tech = list("programming" = 2) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/ordercomp + category = list("Computer Boards") + +/datum/design/supplycomp + name = "Console Board (Supply Shuttle Console)" + desc = "Allows for the construction of circuit boards used to build a supply shuttle console." + id = "supplycomp" + req_tech = list("programming" = 3) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/supplycomp + category = list("Computer Boards") + +/datum/design/comm_monitor + name = "Console Board (Telecommunications Monitoring Console)" + desc = "Allows for the construction of circuit boards used to build a telecommunications monitor." + id = "comm_monitor" + req_tech = list("programming" = 3) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/comm_monitor + category = list("Computer Boards") + +/datum/design/comm_server + name = "Console Board (Telecommunications Server Monitoring Console)" + desc = "Allows for the construction of circuit boards used to build a telecommunication server browser and monitor." + id = "comm_server" + req_tech = list("programming" = 3) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/comm_server + category = list("Computer Boards") + +/datum/design/comm_traffic + name = "Console Board (Telecommunications Traffic Control Console)" + desc = "Allows for the construction of circuit boards used to build a telecommunications traffic control console." + id = "comm_traffic" + req_tech = list("programming" = 3) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/comm_traffic + category = list("Computer Boards") + +/datum/design/telesci_console + name = "Console Board (Telepad Control Console)" + desc = "Allows for the construction of circuit boards used to build a telescience console." + id = "telesci_console" + req_tech = list("programming" = 3, "bluespace" = 2) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/telesci_console + category = list("Computer Boards") + +/datum/design/teleconsole + name = "Console Board (Teleporter Console)" + desc = "Allows for the construction of circuit boards used to build a teleporter control console." + id = "teleconsole" + req_tech = list("programming" = 3, "bluespace" = 2) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/teleporter + category = list("Computer Boards") \ No newline at end of file diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index bbd989182c1..545c447709d 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -2,124 +2,7 @@ //////////Machine Boards/////////// /////////////////////////////////// -datum/design/clonepod - name = "Machine Board (Cloning Pod)" - desc = "Allows for the construction of circuit boards used to build a Cloning Pod." - id = "clonepod" - req_tech = list("programming" = 3, "biotech" = 3) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/clonepod - -datum/design/clonescanner - name = "Machine Board (Cloning Scanner)" - desc = "Allows for the construction of circuit boards used to build a Cloning Scanner." - id = "clonescanner" - req_tech = list("programming" = 3, "biotech" = 3) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/clonescanner - -datum/design/teleport_hub - name = "Machine Board (Teleportation Hub Board)" - desc = "Allows for the construction of circuit boards used to build a Teleportation Hub." - id = "tele_hub" - req_tech = list("programming" = 3, "bluespace" = 5, "materials" = 4, "engineering" = 5) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/teleporter_hub - -datum/design/teleport_station - name = "Machine Board (Teleportation Station Board)" - desc = "Allows for the construction of circuit boards used to build a Teleporter Station." - id = "tele_station" - req_tech = list("programming" = 4, "bluespace" = 4, "engineering" = 4) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/teleporter_station - -datum/design/telepad - name = "Machine Board (Telepad Board)" - desc = "Allows for the construction of circuit boards used to build a Telepad." - id = "telepad" - req_tech = list("programming" = 4, "bluespace" = 4, "materials" = 3, "engineering" = 3) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/telesci_pad - -datum/design/sleeper - name = "Machine Board (Sleeper Board)" - desc = "Allows for the construction of circuit boards used to build a Sleeper." - id = "sleeper" - req_tech = list("programming" = 3, "biotech" = 2, "materials" = 3, "engineering" = 3) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/sleeper - -datum/design/sleep_console - name = "Machine Board (Sleeper Console)" - desc = "Allows for the construction of circuit boards used to build a Sleeper Console." - id = "sleeper" - req_tech = list("programming" = 3, "biotech" = 2, "materials" = 3, "engineering" = 3) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/sleep_console - -datum/design/bodyscanner - name = "Machine Board (Body Scanner Board)" - desc = "Allows for the construction of circuit boards used to build a Body Scanner." - id = "sleeper" - req_tech = list("programming" = 3, "biotech" = 2, "materials" = 3, "engineering" = 3) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/bodyscanner - -datum/design/sleep_console - name = "Machine Board (Body Scanner Console)" - desc = "Allows for the construction of circuit boards used to build a Body Scanner Console." - id = "sleeper" - req_tech = list("programming" = 3, "biotech" = 2, "materials" = 3, "engineering" = 3) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/bodyscanner_console - -datum/design/cryotube - name = "Machine Board (Cryotube Board)" - desc = "Allows for the construction of circuit boards used to build a Cryotube." - id = "cryotube" - req_tech = list("programming" = 4, "biotech" = 3, "engineering" = 4) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/cryo_tube - -datum/design/arcadebattle - name = "Machine Board (Battle Arcade Machine)" - desc = "Allows for the construction of circuit boards used to build a new Arcade Machine." - id = "arcademachinebattle" - req_tech = list("programming" = 1) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/arcade/battle - -datum/design/orion_trail - name = "Machine Board (Orion Trail Arcade Machine)" - desc = "Allows for the construction of circuit boards used to build a new Orion Trail machine." - id = "arcademachineonion" - req_tech = list("programming" = 2) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/arcade/orion_trail - -datum/design/smes - name = "Machine Board (SMES)" - desc = "The circuit board for a SMES." - id = "smes" - req_tech = list("programming" = 4, "power" = 5, "engineering" = 4) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/smes - -datum/design/thermomachine +/datum/design/thermomachine name = "Machine Board (Freezer/Heater)" desc = "The circuit board for a Freezer/Heater." id = "thermomachine" @@ -127,35 +10,99 @@ datum/design/thermomachine build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/thermomachine + category = list ("Engineering Machinery") -datum/design/biogenerator - name = "Machine Board (Biogenerator)" - desc = "The circuit board for a Biogenerator." - id = "biogenerator" - req_tech = list("programming" = 3, "biotech" = 2, "materials" = 3) +/datum/design/smes + name = "Machine Board (SMES)" + desc = "The circuit board for a SMES." + id = "smes" + req_tech = list("programming" = 4, "power" = 5, "engineering" = 4) build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/biogenerator - -datum/design/hydroponics - name = "Machine Board (Hydroponics Tray)" - desc = "The circuit board for a Hydroponics Tray." - id = "hydro_tray" - req_tech = list("programming" = 1, "biotech" = 1) + build_path = /obj/item/weapon/circuitboard/smes + category = list ("Engineering Machinery") + +/datum/design/telepad + name = "Machine Board (Telepad Board)" + desc = "Allows for the construction of circuit boards used to build a Telepad." + id = "telepad" + req_tech = list("programming" = 4, "bluespace" = 4, "materials" = 3, "engineering" = 3) build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/hydroponics - -datum/design/microwave - name = "Machine Board (Microwave)" - desc = "The circuit board for a Microwave." - id = "microwave" - req_tech = list("programming" = 1) + build_path = /obj/item/weapon/circuitboard/telesci_pad + category = list ("Teleportation Machinery") + +/datum/design/teleport_hub + name = "Machine Board (Teleportation Hub)" + desc = "Allows for the construction of circuit boards used to build a Teleportation Hub." + id = "tele_hub" + req_tech = list("programming" = 3, "bluespace" = 5, "materials" = 4, "engineering" = 5) build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/microwave + build_path = /obj/item/weapon/circuitboard/teleporter_hub + category = list ("Teleportation Machinery") + +/datum/design/teleport_station + name = "Machine Board (Teleportation Station)" + desc = "Allows for the construction of circuit boards used to build a Teleporter Station." + id = "tele_station" + req_tech = list("programming" = 4, "bluespace" = 4, "engineering" = 4) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/teleporter_station + category = list ("Teleportation Machinery") + +/datum/design/bodyscanner + name = "Machine Board (Body Scanner)" + desc = "Allows for the construction of circuit boards used to build a Body Scanner." + id = "sleeper" + req_tech = list("programming" = 3, "biotech" = 2, "materials" = 3, "engineering" = 3) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/bodyscanner + category = list ("Medical Machinery") -datum/design/chem_dispenser +/datum/design/sleep_console + name = "Machine Board (Body Scanner Console)" + desc = "Allows for the construction of circuit boards used to build a Body Scanner Console." + id = "sleeper" + req_tech = list("programming" = 3, "biotech" = 2, "materials" = 3, "engineering" = 3) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/bodyscanner_console + category = list ("Medical Machinery") + +/datum/design/clonepod + name = "Machine Board (Cloning Pod)" + desc = "Allows for the construction of circuit boards used to build a Cloning Pod." + id = "clonepod" + req_tech = list("programming" = 3, "biotech" = 3) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/clonepod + category = list ("Medical Machinery") + +/datum/design/clonescanner + name = "Machine Board (Cloning Scanner)" + desc = "Allows for the construction of circuit boards used to build a Cloning Scanner." + id = "clonescanner" + req_tech = list("programming" = 3, "biotech" = 3) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/clonescanner + category = list ("Medical Machinery") + +/datum/design/cryotube + name = "Machine Board (Cryotube Board)" + desc = "Allows for the construction of circuit boards used to build a Cryotube." + id = "cryotube" + req_tech = list("programming" = 4, "biotech" = 3, "engineering" = 4) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/cryo_tube + category = list ("Medical Machinery") + +/datum/design/chem_dispenser name = "Machine Board (Portable Chem Dispenser)" desc = "The circuit board for a Portable Chem Dispenser." id = "chem_dispenser" @@ -163,35 +110,49 @@ datum/design/chem_dispenser build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/chem_dispenser - -datum/design/destructive_analyzer - name = "Machine Board (Destructive Analyzer)" - desc = "The circuit board for a Destructive Analyzer." - id = "destructive_analyzer" - req_tech = list("programming" = 2, "magnets" = 2, "engineering" = 2) + category = list ("Medical Machinery") + +/datum/design/sleeper + name = "Machine Board (Sleeper)" + desc = "Allows for the construction of circuit boards used to build a Sleeper." + id = "sleeper" + req_tech = list("programming" = 3, "biotech" = 2, "materials" = 3, "engineering" = 3) build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/destructive_analyzer + build_path = /obj/item/weapon/circuitboard/sleeper + category = list ("Medical Machinery") -datum/design/protolathe - name = "Machine Board (Protolathe)" - desc = "The circuit board for a Protolathe." - id = "protolathe" - req_tech = list("programming" = 2, "engineering" = 2) +/datum/design/sleep_console + name = "Machine Board (Sleeper Console)" + desc = "Allows for the construction of circuit boards used to build a Sleeper Console." + id = "sleeper" + req_tech = list("programming" = 3, "biotech" = 2, "materials" = 3, "engineering" = 3) build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/protolathe - -datum/design/circuit_imprinter - name = "Machine Board (Circuit Imprinter)" - desc = "The circuit board for a Circuit Imprinter." - id = "circuit_imprinter" - req_tech = list("programming" = 2, "engineering" = 2) + build_path = /obj/item/weapon/circuitboard/sleep_console + category = list ("Medical Machinery") + +/datum/design/biogenerator + name = "Machine Board (Biogenerator)" + desc = "The circuit board for a Biogenerator." + id = "biogenerator" + req_tech = list("programming" = 3, "biotech" = 2, "materials" = 3) build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/circuit_imprinter + build_path = /obj/item/weapon/circuitboard/biogenerator + category = list ("Hydroponics Machinery") -datum/design/autolathe +/datum/design/hydroponics + name = "Machine Board (Hydroponics Tray)" + desc = "The circuit board for a Hydroponics Tray." + id = "hydro_tray" + req_tech = list("programming" = 1, "biotech" = 1) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/hydroponics + category = list ("Hydroponics Machinery") + +/datum/design/autolathe name = "Machine Board (Autolathe)" desc = "The circuit board for an Autolathe." id = "autolathe" @@ -199,26 +160,19 @@ datum/design/autolathe build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/autolathe - -datum/design/rdserver - name = "Machine Board (R&D Server)" - desc = "The circuit board for an R&D Server" - id = "rdserver" - req_tech = list("programming" = 3) + category = list("Research Machinery") + +/datum/design/circuit_imprinter + name = "Machine Board (Circuit Imprinter)" + desc = "The circuit board for a Circuit Imprinter." + id = "circuit_imprinter" + req_tech = list("programming" = 2, "engineering" = 2) build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/rdserver - -datum/design/mechfab - name = "Machine Board (Exosuit Fabricator)" - desc = "The circuit board for an Exosuit Fabricator" - id = "mechfab" - req_tech = list("programming" = 3, "engineering" = 3) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/mechfab - -datum/design/cyborgrecharger + build_path = /obj/item/weapon/circuitboard/circuit_imprinter + category = list("Research Machinery") + +/datum/design/cyborgrecharger name = "Machine Board (Cyborg Recharger)" desc = "The circuit board for a Cyborg Recharger." id = "cyborgrecharger" @@ -226,8 +180,29 @@ datum/design/cyborgrecharger build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/cyborgrecharger - -datum/design/mech_recharger + category = list("Research Machinery") + +/datum/design/destructive_analyzer + name = "Machine Board (Destructive Analyzer)" + desc = "The circuit board for a Destructive Analyzer." + id = "destructive_analyzer" + req_tech = list("programming" = 2, "magnets" = 2, "engineering" = 2) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/destructive_analyzer + category = list("Research Machinery") + +/datum/design/mechfab + name = "Machine Board (Exosuit Fabricator)" + desc = "The circuit board for an Exosuit Fabricator" + id = "mechfab" + req_tech = list("programming" = 3, "engineering" = 3) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/mechfab + category = list("Research Machinery") + +/datum/design/mech_recharger name = "Machine Board (Mech Bay Recharger)" desc = "The circuit board for a Mech Bay Recharger." id = "mech_recharger" @@ -235,12 +210,64 @@ datum/design/mech_recharger build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/mech_recharger + category = list("Research Machinery") -datum/design/vendor +/datum/design/protolathe + name = "Machine Board (Protolathe)" + desc = "The circuit board for a Protolathe." + id = "protolathe" + req_tech = list("programming" = 2, "engineering" = 2) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/protolathe + category = list("Research Machinery") + +/datum/design/rdserver + name = "Machine Board (R&D Server)" + desc = "The circuit board for an R&D Server" + id = "rdserver" + req_tech = list("programming" = 3) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/rdserver + category = list("Research Machinery") + +/datum/design/arcadebattle + name = "Machine Board (Battle Arcade Machine)" + desc = "Allows for the construction of circuit boards used to build a new Arcade Machine." + id = "arcademachinebattle" + req_tech = list("programming" = 1) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/arcade/battle + category = list ("Misc. Machinery") + +/datum/design/microwave + name = "Machine Board (Microwave)" + desc = "The circuit board for a Microwave." + id = "microwave" + req_tech = list("programming" = 1) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/microwave + category = list ("Misc. Machinery") + +/datum/design/orion_trail + name = "Machine Board (Orion Trail Arcade Machine)" + desc = "Allows for the construction of circuit boards used to build a new Orion Trail machine." + id = "arcademachineonion" + req_tech = list("programming" = 2) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/arcade/orion_trail + category = list ("Misc. Machinery") + +/datum/design/vendor name = "Machine Board (Vendor)" desc = "The circuit board for a Vendor." id = "vendor" req_tech = list("programming" = 1) build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/vendor \ No newline at end of file + build_path = /obj/item/weapon/circuitboard/vendor + category = list ("Misc. Machinery") \ No newline at end of file diff --git a/code/modules/research/designs/mecha_designs.dm b/code/modules/research/designs/mecha_designs.dm index 821eeca63b4..eb450831554 100644 --- a/code/modules/research/designs/mecha_designs.dm +++ b/code/modules/research/designs/mecha_designs.dm @@ -3,7 +3,7 @@ /////////////////////////////////// // Ripley -datum/design/ripley_main +/datum/design/ripley_main name = "Circuit Design (APLU \"Ripley\" Central Control module)" desc = "Allows for the construction of a \"Ripley\" Central Control module." id = "ripley_main" @@ -11,8 +11,9 @@ datum/design/ripley_main build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/mecha/ripley/main + category = list("Exosuit Modules") -datum/design/ripley_peri +/datum/design/ripley_peri name = "Circuit Design (APLU \"Ripley\" Peripherals Control module)" desc = "Allows for the construction of a \"Ripley\" Peripheral Control module." id = "ripley_peri" @@ -20,9 +21,10 @@ datum/design/ripley_peri build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/mecha/ripley/peripherals + category = list("Exosuit Modules") // Odysseus -datum/design/odysseus_main +/datum/design/odysseus_main name = "Circuit Design (\"Odysseus\" Central Control module)" desc = "Allows for the construction of a \"Odysseus\" Central Control module." id = "odysseus_main" @@ -30,8 +32,9 @@ datum/design/odysseus_main build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/mecha/odysseus/main + category = list("Exosuit Modules") -datum/design/odysseus_peri +/datum/design/odysseus_peri name = "Circuit Design (\"Odysseus\" Peripherals Control module)" desc = "Allows for the construction of a \"Odysseus\" Peripheral Control module." id = "odysseus_peri" @@ -39,9 +42,10 @@ datum/design/odysseus_peri build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/mecha/odysseus/peripherals + category = list("Exosuit Modules") // Gygax -datum/design/gygax_main +/datum/design/gygax_main name = "Circuit Design (\"Gygax\" Central Control module)" desc = "Allows for the construction of a \"Gygax\" Central Control module." id = "gygax_main" @@ -49,8 +53,9 @@ datum/design/gygax_main build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/mecha/gygax/main + category = list("Exosuit Modules") -datum/design/gygax_peri +/datum/design/gygax_peri name = "Circuit Design (\"Gygax\" Peripherals Control module)" desc = "Allows for the construction of a \"Gygax\" Peripheral Control module." id = "gygax_peri" @@ -58,8 +63,9 @@ datum/design/gygax_peri build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/mecha/gygax/peripherals + category = list("Exosuit Modules") -datum/design/gygax_targ +/datum/design/gygax_targ name = "Circuit Design (\"Gygax\" Weapons & Targeting Control module)" desc = "Allows for the construction of a \"Gygax\" Weapons & Targeting Control module." id = "gygax_targ" @@ -67,9 +73,10 @@ datum/design/gygax_targ build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/mecha/gygax/targeting + category = list("Exosuit Modules") // Durand -datum/design/durand_main +/datum/design/durand_main name = "Circuit Design (\"Durand\" Central Control module)" desc = "Allows for the construction of a \"Durand\" Central Control module." id = "durand_main" @@ -77,8 +84,9 @@ datum/design/durand_main build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/mecha/durand/main + category = list("Exosuit Modules") -datum/design/durand_peri +/datum/design/durand_peri name = "Circuit Design (\"Durand\" Peripherals Control module)" desc = "Allows for the construction of a \"Durand\" Peripheral Control module." id = "durand_peri" @@ -86,8 +94,9 @@ datum/design/durand_peri build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/mecha/durand/peripherals + category = list("Exosuit Modules") -datum/design/durand_targ +/datum/design/durand_targ name = "Circuit Design (\"Durand\" Weapons & Targeting Control module)" desc = "Allows for the construction of a \"Durand\" Weapons & Targeting Control module." id = "durand_targ" @@ -95,9 +104,10 @@ datum/design/durand_targ build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/mecha/durand/targeting + category = list("Exosuit Modules") // Phazon -datum/design/phazon_main +/datum/design/phazon_main name = "Exosuit Design (\"Phazon\" Central Control module)" desc = "Allows for the construction of a \"Phazon\" Central Control module." id = "phazon_main" @@ -105,8 +115,9 @@ datum/design/phazon_main build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/mecha/phazon/main + category = list("Exosuit Modules") -datum/design/phazon_peri +/datum/design/phazon_peri name = "Exosuit Design (\"Phazon\" Peripherals Control module)" desc = "Allows for the construction of a \"Phazon\" Peripheral Control module." id = "phazon_peri" @@ -114,8 +125,9 @@ datum/design/phazon_peri build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/mecha/phazon/peripherals + category = list("Exosuit Modules") -datum/design/phazon_targ +/datum/design/phazon_targ name = "Exosuit Design (\"Phazon\" Weapons & Targeting Control module)" desc = "Allows for the construction of a \"Phazon\" Weapons & Targeting Control module." id = "phazon_targ" @@ -123,9 +135,10 @@ datum/design/phazon_targ build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/mecha/phazon/targeting + category = list("Exosuit Modules") // H.O.N.K. -datum/design/honker_main +/datum/design/honker_main name = "Circuit Design (\"H.O.N.K\" Central Control module)" desc = "Allows for the construction of a \"H.O.N.K\" Central Control module." id = "honker_main" @@ -133,8 +146,9 @@ datum/design/honker_main build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/mecha/honker/main + category = list("Exosuit Modules") -datum/design/honker_peri +/datum/design/honker_peri name = "Circuit Design (\"H.O.N.K\" Peripherals Control module)" desc = "Allows for the construction of a \"H.O.N.K\" Peripheral Control module." id = "honker_peri" @@ -142,8 +156,9 @@ datum/design/honker_peri build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/mecha/honker/peripherals + category = list("Exosuit Modules") -datum/design/honker_targ +/datum/design/honker_targ name = "Circuit Design (\"H.O.N.K\" Weapons & Targeting Control module)" desc = "Allows for the construction of a \"H.O.N.K\" Weapons & Targeting Control module." id = "honker_targ" @@ -151,13 +166,15 @@ datum/design/honker_targ build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/mecha/honker/targeting + category = list("Exosuit Modules") // Space pod -/datum/design/spacepod_main +//datum/design/spacepod_main name = "Circuit Design (Space Pod Mainboard)" desc = "Allows for the construction of a Space Pod mainboard." id = "spacepod_main" req_tech = list("programming" = 4) build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/mecha/pod \ No newline at end of file + build_path = /obj/item/weapon/circuitboard/mecha/pod + category = list("Exosuit Modules") \ No newline at end of file diff --git a/code/modules/research/designs/mechfabricator_designs.dm b/code/modules/research/designs/mechfabricator_designs.dm index 8304c56784f..ce382212d65 100644 --- a/code/modules/research/designs/mechfabricator_designs.dm +++ b/code/modules/research/designs/mechfabricator_designs.dm @@ -195,16 +195,6 @@ construction_time = 130 category = list("Odysseus") -/*/datum/design/odysseus_armor - name = "Exosuit Armor (\"Odysseus\")" - id = "odysseus_armor" - build_type = MECHFAB - build_path = /obj/item/mecha_parts/part/odysseus_armor - materials = list("$metal"=15000) - construction_time = 200 - category = list("Odysseus") - */ - //Gygax /datum/design/gygax_chassis name = "Exosuit Chassis (\"Gygax\")" @@ -415,7 +405,6 @@ construction_time = 200 category = list("H.O.N.K") - //Phazon /datum/design/phazon_chassis name = "Exosuit Chassis (\"Phazon\")" @@ -490,17 +479,17 @@ category = list("Phazon") //Exosuit Equipment -/datum/design/mech_hydraulic_clamp - name = "Exosuit Engineering Equipement (Hydraulic Clamp)" - id = "mech_hydraulic_clamp" +/datum/design/mech_cable_layer + name = "Exosuit Engineering Equipment (Cable Layer)" + id = "mech_cable_layer" build_type = MECHFAB - build_path = /obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp + build_path = /obj/item/mecha_parts/mecha_equipment/tool/cable_layer materials = list("$metal"=10000) construction_time = 100 category = list("Exosuit Equipment") - + /datum/design/mech_drill - name = "Exosuit Engineering Equipement (Drill)" + name = "Exosuit Engineering Equipment (Drill)" id = "mech_drill" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/tool/drill @@ -509,25 +498,25 @@ category = list("Exosuit Equipment") /datum/design/mech_extinguisher - name = "Exosuit Engineering Equipement (Extinguisher)" + name = "Exosuit Engineering Equipment (Extinguisher)" id = "mech_extinguisher" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/tool/extinguisher materials = list("$metal"=10000) construction_time = 100 category = list("Exosuit Equipment") - -/datum/design/mech_cable_layer - name = "Exosuit Engineering Equipement (Cable Layer)" - id = "mech_cable_layer" + +/datum/design/mech_hydraulic_clamp + name = "Exosuit Engineering Equipment (Hydraulic Clamp)" + id = "mech_hydraulic_clamp" build_type = MECHFAB - build_path = /obj/item/mecha_parts/mecha_equipment/tool/cable_layer + build_path = /obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp materials = list("$metal"=10000) construction_time = 100 category = list("Exosuit Equipment") /datum/design/mech_sleeper - name = "Exosuit Medical Equipement (Mounted Sleeper)" + name = "Exosuit Medical Equipment (Mounted Sleeper)" id = "mech_sleeper" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/tool/sleeper @@ -536,7 +525,7 @@ category = list("Exosuit Equipment") /datum/design/mech_syringe_gun - name = "Exosuit Medical Equipement (Syringe Gun)" + name = "Exosuit Medical Equipment (Syringe Gun)" id = "mech_syringe_gun" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/tool/syringe_gun @@ -545,7 +534,7 @@ category = list("Exosuit Equipment") /datum/design/mech_generator - name = "Exosuit Equipement (Plasma Generator)" + name = "Exosuit Equipment (Plasma Generator)" id = "mech_generator" build_type = MECHFAB build_path = /obj/item/mecha_parts/mecha_equipment/generator @@ -571,6 +560,24 @@ construction_time = 100 category = list("Exosuit Equipment") +/datum/design/mech_banana_mortar + name = "H.O.N.K Banana Mortar" + id = "mech_banana_mortar" + build_type = MECHFAB + build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/banana_mortar + materials = list("$metal"=20000,"$bananium"=5000) + construction_time = 300 + category = list("Exosuit Equipment") + +/datum/design/mech_honker + name = "HoNkER BlAsT 5000" + id = "mech_honker" + build_type = MECHFAB + build_path = /obj/item/mecha_parts/mecha_equipment/weapon/honker + materials = list("$metal"=20000,"$bananium"=10000) + construction_time = 500 + category = list("Exosuit Equipment") + /datum/design/mech_mousetrap_mortar name = "H.O.N.K Mousetrap Mortar" id = "mech_mousetrap_mortar" @@ -580,34 +587,35 @@ construction_time = 300 category = list("Exosuit Equipment") -/datum/design/mech_banana_mortar - name = "H.O.N.K Banana Mortar" - id = "mech_banana_mortar" - build_type = MECHFAB - build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/banana_mortar - materials = list("$metal"=20000,"$bananium"=5000) - construction_time = 300 - category = list("Exosuit Equipment") - -/datum/design/mech_honker - name = "HoNkER BlAsT 5000" - id = "mech_honker" - build_type = MECHFAB - build_path = /obj/item/mecha_parts/mecha_equipment/weapon/honker - materials = list("$metal"=20000,"$bananium"=10000) - construction_time = 500 - category = list("Exosuit Equipment") - //Cyborg Upgrade Modules -/datum/design/borg_upgrade_reset - name = "Cyborg Upgrade Module (Reset Module)" - id = "borg_upgrade_reset" +/datum/design/borg_syndicate_module + name = "Borg Illegal Weapons Upgrade" + desc = "Allows for the construction of illegal upgrades for cyborgs" + id = "borg_syndicate_module" build_type = MECHFAB - build_path = /obj/item/borg/upgrade/reset - materials = list("$metal"=10000) + req_tech = list("combat" = 4, "syndicate" = 3) + build_path = /obj/item/borg/upgrade/syndicate + category = "Cyborg Upgrade Modules" + category = list("Cyborg Upgrade Modules") + +/datum/design/borg_upgrade_jetpack + name = "Cyborg Upgrade Module (Mining Jetpack)" + id = "borg_upgrade_jetpack" + build_type = MECHFAB + build_path = /obj/item/borg/upgrade/jetpack + materials = list("$metal"=10000,"$plasma"=15000,"$uranium" = 20000) construction_time = 120 category = list("Cyborg Upgrade Modules") - + +/datum/design/borg_upgrade_tasercooler + name = "Cyborg Upgrade Module (Rapid Taser Cooling Module)" + id = "borg_upgrade_tasercooler" + build_type = MECHFAB + build_path = /obj/item/borg/upgrade/tasercooler + materials = list("$metal"=80000 , "$glass"=6000 , "$gold"= 2000, "$diamond" = 500) + construction_time = 120 + category = list("Cyborg Upgrade Modules") + /datum/design/borg_upgrade_rename name = "Cyborg Upgrade Module (Rename Module)" id = "borg_upgrade_rename" @@ -616,6 +624,15 @@ materials = list("$metal"=35000) construction_time = 120 category = list("Cyborg Upgrade Modules") + +/datum/design/borg_upgrade_reset + name = "Cyborg Upgrade Module (Reset Module)" + id = "borg_upgrade_reset" + build_type = MECHFAB + build_path = /obj/item/borg/upgrade/reset + materials = list("$metal"=10000) + construction_time = 120 + category = list("Cyborg Upgrade Modules") /datum/design/borg_upgrade_restart name = "Cyborg Upgrade Module (Restart Module)" @@ -635,24 +652,6 @@ construction_time = 120 category = list("Cyborg Upgrade Modules") -/datum/design/borg_upgrade_tasercooler - name = "Cyborg Upgrade Module (Rapid Taser Cooling Module)" - id = "borg_upgrade_tasercooler" - build_type = MECHFAB - build_path = /obj/item/borg/upgrade/tasercooler - materials = list("$metal"=80000 , "$glass"=6000 , "$gold"= 2000, "$diamond" = 500) - construction_time = 120 - category = list("Cyborg Upgrade Modules") - -/datum/design/borg_upgrade_jetpack - name = "Cyborg Upgrade Module (Mining Jetpack)" - id = "borg_upgrade_jetpack" - build_type = MECHFAB - build_path = /obj/item/borg/upgrade/jetpack - materials = list("$metal"=10000,"$plasma"=15000,"$uranium" = 20000) - construction_time = 120 - category = list("Cyborg Upgrade Modules") - //Misc /datum/design/mecha_tracking name = "Exosuit Tracking Beacon" diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index b4e41c13fd2..eff717c590f 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -1,18 +1,7 @@ ///////////////////////////////////////// ////////////Medical Tools//////////////// ///////////////////////////////////////// - -datum/design/mass_spectrometer - name = "Mass-Spectrometer" - desc = "A device for analyzing chemicals in the blood." - id = "mass_spectrometer" - req_tech = list("biotech" = 2, "magnets" = 2) - build_type = PROTOLATHE - materials = list("$metal" = 30, "$glass" = 20) - reliability_base = 76 - build_path = /obj/item/device/mass_spectrometer - -datum/design/adv_mass_spectrometer +/datum/design/adv_mass_spectrometer name = "Advanced Mass-Spectrometer" desc = "A device for analyzing chemicals in the blood and their quantities." id = "adv_mass_spectrometer" @@ -21,18 +10,9 @@ datum/design/adv_mass_spectrometer materials = list("$metal" = 30, "$glass" = 20) reliability_base = 74 build_path = "/obj/item/device/mass_spectrometer/adv" - -datum/design/reagent_scanner - name = "Reagent Scanner" - desc = "A device for identifying chemicals." - id = "reagent_scanner" - req_tech = list("biotech" = 2, "magnets" = 2) - build_type = PROTOLATHE - materials = list("$metal" = 30, "$glass" = 20) - reliability_base = 76 - build_path = /obj/item/device/reagent_scanner - -datum/design/adv_reagent_scanner + category = list("Medical") + +/datum/design/adv_reagent_scanner name = "Advanced Reagent Scanner" desc = "A device for identifying chemicals and their proportions." id = "adv_reagent_scanner" @@ -41,60 +21,9 @@ datum/design/adv_reagent_scanner materials = list("$metal" = 30, "$glass" = 20) reliability_base = 74 build_path = /obj/item/device/reagent_scanner/adv - -datum/design/cyborg_analyzer - name = "Cyborg Analyzer" - desc = "A hand-held scanner able to diagnose robotic injuries." - id = "cyborg_analyzer" - req_tech = list("programming" = 2, "biotech" = 2, "magnets" = 2) - build_type = PROTOLATHE - materials = list("$metal" = 30, "$glass" = 20) - reliability_base = 74 - build_path = /obj/item/device/robotanalyzer - -datum/design/mmi - name = "Man-Machine Interface" - desc = "The Warrior's bland acronym, MMI, obscures the true horror of this monstrosity." - id = "mmi" - req_tech = list("programming" = 2, "biotech" = 3) - build_type = PROTOLATHE | MECHFAB - materials = list("$metal" = 1000, "$glass" = 500) - reliability_base = 76 - build_path = /obj/item/device/mmi - category = "Misc" - -datum/design/mmi_radio - name = "Radio-enabled Man-Machine Interface" - desc = "The Warrior's bland acronym, MMI, obscures the true horror of this monstrosity. This one comes with a built-in radio." - id = "mmi_radio" - req_tech = list("programming" = 2, "biotech" = 4) - build_type = PROTOLATHE | MECHFAB - materials = list("$metal" = 1200, "$glass" = 500) - reliability_base = 74 - build_path = /obj/item/device/mmi/radio_enabled - category = "Misc" - -datum/design/synthetic_flash - name = "Flash" - desc = "A synthetic flash used mostly in borg construction." - id = "sflash" - req_tech = list("magnets" = 3, "combat" = 2) - build_type = MECHFAB - materials = list("$metal" = 750, "$glass" = 750) - reliability_base = 76 - build_path = /obj/item/device/flash/synthetic - category = "Misc" - -datum/design/nanopaste - name = "nanopaste" - desc = "A tube of paste containing swarms of repair nanites. Very effective in repairing robotic machinery." - id = "nanopaste" - req_tech = list("materials" = 4, "engineering" = 3) - build_type = PROTOLATHE - materials = list("$metal" = 7000, "$glass" = 7000) - build_path = /obj/item/stack/nanopaste - -datum/design/bluespacebeaker + category = list("Medical") + +/datum/design/bluespacebeaker name = "bluespace beaker" desc = "A bluespace beaker, powered by experimental bluespace technology and Element Cuban combined with the Compound Pete. Can hold up to 300 units." id = "bluespacebeaker" @@ -103,49 +32,9 @@ datum/design/bluespacebeaker materials = list("$metal" = 3000, "$plasma" = 3000, "$diamond" = 500) reliability_base = 76 build_path = /obj/item/weapon/reagent_containers/glass/beaker/bluespace - category = "Misc" - -datum/design/noreactbeaker - name = "cryostasis beaker" - desc = "A cryostasis beaker that allows for chemical storage without reactions. Can hold up to 50 units." - id = "splitbeaker" - req_tech = list("materials" = 2) - build_type = PROTOLATHE - materials = list("$metal" = 3000) - reliability_base = 76 - build_path = /obj/item/weapon/reagent_containers/glass/beaker/noreact - category = "Misc" - -datum/design/defib - name = "Defibrillator" - desc = "A device that delivers powerful shocks to detachable paddles that resuscitate incapacitated patients." - id = "defib" - req_tech = list("materials" = 7, "biotech" = 5, "powerstorage" = 5) - build_type = PROTOLATHE - materials = list("$metal" = 5000, "$glass" = 2000, "$silver" = 1000) - reliability = 76 - build_path = /obj/item/weapon/defibrillator - category = "Misc" - -datum/design/implanter - name = "Implanter" - desc = "A basic implanter for injecting implants" - id = "implanter" - req_tech = list("materials" = 2, "biotech" = 3) - build_type = PROTOLATHE - materials = list("$metal" = 50, "$glass" = 50) - build_path = "/obj/item/weapon/implanter" - -datum/design/implant_free - name = "Freedom Implant" - desc = "An implant which allows the user to instantly escape from restraints." - id = "implant_free" - req_tech = list("syndicate" = 2, "biotech" = 3) - build_type = PROTOLATHE - materials = list("$metal" = 50, "$glass" = 50) - build_path = /obj/item/weapon/implantcase/freedom - -datum/design/implant_chem + category = list("Medical") + +/datum/design/implant_chem name = "Chemical Implant" desc = "An implant which can be filled with various chemicals, and then injected on command." id = "implant_chem" @@ -154,8 +43,62 @@ datum/design/implant_chem materials = list("$metal" = 50, "$glass" = 50) build_path = /obj/item/weapon/implantcase/chem locked = 1 - -datum/design/implant_loyal + category = list("Medical") + +/datum/design/noreactbeaker + name = "Cryostasis Beaker" + desc = "A cryostasis beaker that allows for chemical storage without reactions. Can hold up to 50 units." + id = "splitbeaker" + req_tech = list("materials" = 2) + build_type = PROTOLATHE + materials = list("$metal" = 3000) + reliability_base = 76 + build_path = /obj/item/weapon/reagent_containers/glass/beaker/noreact + category = list("Medical") + +/datum/design/cyborg_analyzer + name = "Cyborg Analyzer" + desc = "A hand-held scanner able to diagnose robotic injuries." + id = "cyborg_analyzer" + req_tech = list("programming" = 2, "biotech" = 2, "magnets" = 2) + build_type = PROTOLATHE + materials = list("$metal" = 30, "$glass" = 20) + reliability_base = 74 + build_path = /obj/item/device/robotanalyzer + category = list("Medical") + +/datum/design/defib + name = "Defibrillator" + desc = "A device that delivers powerful shocks to detachable paddles that resuscitate incapacitated patients." + id = "defib" + req_tech = list("materials" = 7, "biotech" = 5, "powerstorage" = 5) + build_type = PROTOLATHE + materials = list("$metal" = 5000, "$glass" = 2000, "$silver" = 1000) + reliability = 76 + build_path = /obj/item/weapon/defibrillator + category = list("Medical") + +/datum/design/implant_free + name = "Freedom Implant" + desc = "An implant which allows the user to instantly escape from restraints." + id = "implant_free" + req_tech = list("syndicate" = 2, "biotech" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = /obj/item/weapon/implantcase/freedom + category = list("Medical") + +/datum/design/implanter + name = "Implanter" + desc = "A basic implanter for injecting implants" + id = "implanter" + req_tech = list("materials" = 2, "biotech" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = "/obj/item/weapon/implanter" + category = list("Medical") + +/datum/design/implant_loyal name = "Loyalty Implant" desc = "An implant which makes its carrier loyal to Nanotrasen." id = "implant_loyal" @@ -163,4 +106,80 @@ datum/design/implant_loyal build_type = PROTOLATHE materials = list("$metal" = 7000, "$glass" = 7000) build_path = /obj/item/weapon/implantcase/loyalty - locked = 1 \ No newline at end of file + locked = 1 + category = list("Medical") + +/datum/design/mmi + name = "Man-Machine Interface" + desc = "The Warrior's bland acronym, MMI, obscures the true horror of this monstrosity." + id = "mmi" + req_tech = list("programming" = 2, "biotech" = 3) + build_type = PROTOLATHE | MECHFAB + materials = list("$metal" = 1000, "$glass" = 500) + reliability_base = 76 + build_path = /obj/item/device/mmi + category = list("Misc","Medical") + +/datum/design/mass_spectrometer + name = "Mass-Spectrometer" + desc = "A device for analyzing chemicals in the blood." + id = "mass_spectrometer" + req_tech = list("biotech" = 2, "magnets" = 2) + build_type = PROTOLATHE + materials = list("$metal" = 30, "$glass" = 20) + reliability_base = 76 + build_path = /obj/item/device/mass_spectrometer + category = list("Medical") + +/datum/design/posibrain + name = "Positronic Brain" + desc = "Allows for the construction of a positronic brain" + id = "posibrain" + req_tech = list("engineering" = 4, "materials" = 6, "bluespace" = 2, "programming" = 4) + build_type = PROTOLATHE + materials = list("$metal" = 2000, "$glass" = 1000, "$silver" = 1000, "$gold" = 500, "$plasma" = 500, "$diamond" = 100) + build_path = /obj/item/device/mmi/posibrain + category = list("Misc","Medical") + +/datum/design/mmi_radio + name = "Radio-Enabled Man-Machine Interface" + desc = "The Warrior's bland acronym, MMI, obscures the true horror of this monstrosity. This one comes with a built-in radio." + id = "mmi_radio" + req_tech = list("programming" = 2, "biotech" = 4) + build_type = PROTOLATHE | MECHFAB + materials = list("$metal" = 1200, "$glass" = 500) + reliability_base = 74 + build_path = /obj/item/device/mmi/radio_enabled + category = list("Misc","Medical") + +/datum/design/nanopaste + name = "Nanopaste" + desc = "A tube of paste containing swarms of repair nanites. Very effective in repairing robotic machinery." + id = "nanopaste" + req_tech = list("materials" = 4, "engineering" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 7000, "$glass" = 7000) + build_path = /obj/item/stack/nanopaste + category = list("Medical") + +/datum/design/reagent_scanner + name = "Reagent Scanner" + desc = "A device for identifying chemicals." + id = "reagent_scanner" + req_tech = list("biotech" = 2, "magnets" = 2) + build_type = PROTOLATHE + materials = list("$metal" = 30, "$glass" = 20) + reliability_base = 76 + build_path = /obj/item/device/reagent_scanner + category = list("Medical") + +/datum/design/synthetic_flash + name = "Flash" + desc = "A synthetic flash used mostly in borg construction." + id = "sflash" + req_tech = list("magnets" = 3, "combat" = 2) + build_type = MECHFAB + materials = list("$metal" = 750, "$glass" = 750) + reliability_base = 76 + build_path = /obj/item/device/flash/synthetic + category = list("Misc") diff --git a/code/modules/research/designs/power_designs.dm b/code/modules/research/designs/power_designs.dm index 3ecced18709..2d9e87fe1de 100644 --- a/code/modules/research/designs/power_designs.dm +++ b/code/modules/research/designs/power_designs.dm @@ -2,37 +2,7 @@ ////////////Power Designs//////////////// ///////////////////////////////////////// -datum/design/pacman - name = "PACMAN-type Generator Board" - desc = "The circuit board that for a PACMAN-type portable generator." - id = "pacman" - req_tech = list("programming" = 3, "plasmatech" = 3, "powerstorage" = 3, "engineering" = 3) - build_type = IMPRINTER - reliability_base = 79 - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/pacman - -datum/design/superpacman - name = "SUPERPACMAN-type Generator Board" - desc = "The circuit board that for a SUPERPACMAN-type portable generator." - id = "superpacman" - req_tech = list("programming" = 3, "powerstorage" = 4, "engineering" = 4) - build_type = IMPRINTER - reliability_base = 76 - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/pacman/super - -datum/design/mrspacman - name = "MRSPACMAN-type Generator Board" - desc = "The circuit board that for a MRSPACMAN-type portable generator." - id = "mrspacman" - req_tech = list("programming" = 3, "powerstorage" = 5, "engineering" = 5) - build_type = IMPRINTER - reliability_base = 74 - materials = list("$glass" = 2000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/pacman/mrs - -datum/design/basic_cell +/datum/design/basic_cell name = "Basic Power Cell" desc = "A basic power cell that holds 1000 units of energy" id = "basic_cell" @@ -41,8 +11,9 @@ datum/design/basic_cell materials = list("$metal" = 700, "$glass" = 50) build_path = /obj/item/weapon/cell category = "Misc" + category = list("Misc","Power Designs") -datum/design/high_cell +/datum/design/high_cell name = "High-Capacity Power Cell" desc = "A power cell that holds 10000 units of energy" id = "high_cell" @@ -50,20 +21,9 @@ datum/design/high_cell build_type = PROTOLATHE | AUTOLATHE | MECHFAB materials = list("$metal" = 700, "$glass" = 60) build_path = /obj/item/weapon/cell/high - category = "Misc" - -datum/design/super_cell - name = "Super-Capacity Power Cell" - desc = "A power cell that holds 20000 units of energy" - id = "super_cell" - req_tech = list("powerstorage" = 3, "materials" = 2) - reliability_base = 75 - build_type = PROTOLATHE | MECHFAB - materials = list("$metal" = 700, "$glass" = 70) - build_path = /obj/item/weapon/cell/super - category = "Misc" - -datum/design/hyper_cell + category = list("Misc","Power Designs") + +/datum/design/hyper_cell name = "Hyper-Capacity Power Cell" desc = "A power cell that holds 30000 units of energy" id = "hyper_cell" @@ -72,4 +32,48 @@ datum/design/hyper_cell build_type = PROTOLATHE | MECHFAB materials = list("$metal" = 400, "$gold" = 150, "$silver" = 150, "$glass" = 70) build_path = /obj/item/weapon/cell/hyper - category = "Misc" \ No newline at end of file + category = list("Misc","Power Designs") + +/datum/design/super_cell + name = "Super-Capacity Power Cell" + desc = "A power cell that holds 20000 units of energy" + id = "super_cell" + req_tech = list("powerstorage" = 3, "materials" = 2) + reliability_base = 75 + build_type = PROTOLATHE | MECHFAB + materials = list("$metal" = 700, "$glass" = 70) + build_path = /obj/item/weapon/cell/super + category = list("Misc","Power Designs") + +/datum/design/pacman + name = "PACMAN-type Generator Board" + desc = "The circuit board that for a PACMAN-type portable generator." + id = "pacman" + req_tech = list("programming" = 3, "plasmatech" = 3, "powerstorage" = 3, "engineering" = 3) + build_type = IMPRINTER + reliability_base = 79 + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/pacman + category = list("Engineering Machinery") + +/datum/design/mrspacman + name = "MRSPACMAN-type Generator Board" + desc = "The circuit board that for a MRSPACMAN-type portable generator." + id = "mrspacman" + req_tech = list("programming" = 3, "powerstorage" = 5, "engineering" = 5) + build_type = IMPRINTER + reliability_base = 74 + materials = list("$glass" = 2000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/pacman/mrs + category = list("Engineering Machinery") + +/datum/design/superpacman + name = "SUPERPACMAN-type Generator Board" + desc = "The circuit board that for a SUPERPACMAN-type portable generator." + id = "superpacman" + req_tech = list("programming" = 3, "powerstorage" = 4, "engineering" = 4) + build_type = IMPRINTER + reliability_base = 76 + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/pacman/super + category = list("Engineering Machinery") diff --git a/code/modules/research/designs/stock_parts_designs.dm b/code/modules/research/designs/stock_parts_designs.dm index 807b6f290d9..c98376f66e0 100644 --- a/code/modules/research/designs/stock_parts_designs.dm +++ b/code/modules/research/designs/stock_parts_designs.dm @@ -2,17 +2,7 @@ /////////////Stock Parts//////////////// //////////////////////////////////////// -datum/design/RPED - name = "Rapid Part Exchange Device" - desc = "Special mechanical module made to store, sort, and apply standard machine parts." - id = "rped" - req_tech = list("engineering" = 3, - "materials" = 3) - build_type = PROTOLATHE - materials = list("$metal" = 15000, "$glass" = 5000) //hardcore - build_path = /obj/item/weapon/storage/part_replacer - -datum/design/basic_capacitor +/datum/design/basic_capacitor name = "Basic Capacitor" desc = "A stock part used in the construction of various devices." id = "basic_capacitor" @@ -20,8 +10,9 @@ datum/design/basic_capacitor build_type = PROTOLATHE | AUTOLATHE materials = list("$metal" = 50, "$glass" = 50) build_path = /obj/item/weapon/stock_parts/capacitor + category = list("Stock Parts") -datum/design/basic_sensor +/datum/design/basic_sensor name = "Basic Scanning Module" desc = "A stock part used in the construction of various devices." id = "basic_sensor" @@ -29,8 +20,9 @@ datum/design/basic_sensor build_type = PROTOLATHE | AUTOLATHE materials = list("$metal" = 50, "$glass" = 20) build_path = /obj/item/weapon/stock_parts/scanning_module + category = list("Stock Parts") -datum/design/micro_mani +/datum/design/micro_mani name = "Micro Manipulator" desc = "A stock part used in the construction of various devices." id = "micro_mani" @@ -38,8 +30,9 @@ datum/design/micro_mani build_type = PROTOLATHE | AUTOLATHE materials = list("$metal" = 30) build_path = /obj/item/weapon/stock_parts/manipulator + category = list("Stock Parts") -datum/design/basic_micro_laser +/datum/design/basic_micro_laser name = "Basic Micro-Laser" desc = "A stock part used in the construction of various devices." id = "basic_micro_laser" @@ -47,8 +40,9 @@ datum/design/basic_micro_laser build_type = PROTOLATHE | AUTOLATHE materials = list("$metal" = 10, "$glass" = 20) build_path = /obj/item/weapon/stock_parts/micro_laser + category = list("Stock Parts") -datum/design/basic_matter_bin +/datum/design/basic_matter_bin name = "Basic Matter Bin" desc = "A stock part used in the construction of various devices." id = "basic_matter_bin" @@ -56,8 +50,9 @@ datum/design/basic_matter_bin build_type = PROTOLATHE | AUTOLATHE materials = list("$metal" = 80) build_path = /obj/item/weapon/stock_parts/matter_bin + category = list("Stock Parts") -datum/design/adv_capacitor +/datum/design/adv_capacitor name = "Advanced Capacitor" desc = "A stock part used in the construction of various devices." id = "adv_capacitor" @@ -65,8 +60,9 @@ datum/design/adv_capacitor build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 50) build_path = /obj/item/weapon/stock_parts/capacitor/adv + category = list("Stock Parts") -datum/design/adv_sensor +/datum/design/adv_sensor name = "Advanced Scanning Module" desc = "A stock part used in the construction of various devices." id = "adv_sensor" @@ -74,8 +70,9 @@ datum/design/adv_sensor build_type = PROTOLATHE materials = list("$metal" = 50, "$glass" = 20) build_path = /obj/item/weapon/stock_parts/scanning_module/adv + category = list("Stock Parts") -datum/design/nano_mani +/datum/design/nano_mani name = "Nano Manipulator" desc = "A stock part used in the construction of various devices." id = "nano_mani" @@ -83,8 +80,9 @@ datum/design/nano_mani build_type = PROTOLATHE materials = list("$metal" = 30) build_path = /obj/item/weapon/stock_parts/manipulator/nano + category = list("Stock Parts") -datum/design/high_micro_laser +/datum/design/high_micro_laser name = "High-Power Micro-Laser" desc = "A stock part used in the construction of various devices." id = "high_micro_laser" @@ -92,8 +90,9 @@ datum/design/high_micro_laser build_type = PROTOLATHE materials = list("$metal" = 10, "$glass" = 20) build_path = /obj/item/weapon/stock_parts/micro_laser/high + category = list("Stock Parts") -datum/design/adv_matter_bin +/datum/design/adv_matter_bin name = "Advanced Matter Bin" desc = "A stock part used in the construction of various devices." id = "adv_matter_bin" @@ -101,8 +100,9 @@ datum/design/adv_matter_bin build_type = PROTOLATHE materials = list("$metal" = 80) build_path = /obj/item/weapon/stock_parts/matter_bin/adv + category = list("Stock Parts") -datum/design/super_capacitor +/datum/design/super_capacitor name = "Super Capacitor" desc = "A stock part used in the construction of various devices." id = "super_capacitor" @@ -111,8 +111,9 @@ datum/design/super_capacitor reliability_base = 71 materials = list("$metal" = 50, "$glass" = 50, "$gold" = 20) build_path = /obj/item/weapon/stock_parts/capacitor/super + category = list("Stock Parts") -datum/design/phasic_sensor +/datum/design/phasic_sensor name = "Phasic Scanning Module" desc = "A stock part used in the construction of various devices." id = "phasic_sensor" @@ -121,8 +122,9 @@ datum/design/phasic_sensor materials = list("$metal" = 50, "$glass" = 20, "$silver" = 10) reliability_base = 72 build_path = /obj/item/weapon/stock_parts/scanning_module/phasic + category = list("Stock Parts") -datum/design/pico_mani +/datum/design/pico_mani name = "Pico Manipulator" desc = "A stock part used in the construction of various devices." id = "pico_mani" @@ -131,8 +133,9 @@ datum/design/pico_mani materials = list("$metal" = 30) reliability_base = 73 build_path = /obj/item/weapon/stock_parts/manipulator/pico + category = list("Stock Parts") -datum/design/ultra_micro_laser +/datum/design/ultra_micro_laser name = "Ultra-High-Power Micro-Laser" desc = "A stock part used in the construction of various devices." id = "ultra_micro_laser" @@ -141,8 +144,9 @@ datum/design/ultra_micro_laser materials = list("$metal" = 10, "$glass" = 20, "$uranium" = 10) reliability_base = 70 build_path = /obj/item/weapon/stock_parts/micro_laser/ultra + category = list("Stock Parts") -datum/design/super_matter_bin +/datum/design/super_matter_bin name = "Super Matter Bin" desc = "A stock part used in the construction of various devices." id = "super_matter_bin" @@ -150,4 +154,15 @@ datum/design/super_matter_bin build_type = PROTOLATHE materials = list("$metal" = 80) reliability_base = 75 - build_path = /obj/item/weapon/stock_parts/matter_bin/super \ No newline at end of file + build_path = /obj/item/weapon/stock_parts/matter_bin/super + category = list("Stock Parts") + +/datum/design/RPED + name = "Rapid Part Exchange Device" + desc = "Special mechanical module made to store, sort, and apply standard machine parts." + id = "rped" + req_tech = list("engineering" = 3, "materials" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 15000, "$glass" = 5000) //hardcore + build_path = /obj/item/weapon/storage/part_replacer + category = list("Stock Parts") \ No newline at end of file diff --git a/code/modules/research/designs/telecomms_designs.dm b/code/modules/research/designs/telecomms_designs.dm index 51358d02172..2f60fc78311 100644 --- a/code/modules/research/designs/telecomms_designs.dm +++ b/code/modules/research/designs/telecomms_designs.dm @@ -1,16 +1,7 @@ //////////////////////////////////////// //////////Telecomms Equipment/////////// //////////////////////////////////////// -datum/design/subspace_receiver - name = "Machine Board (Subspace Receiver)" - desc = "Allows for the construction of Subspace Receiver equipment." - id = "s-receiver" - req_tech = list("programming" = 2, "engineering" = 1, "bluespace" = 1) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/telecomms/receiver - -datum/design/telecomms_bus +/datum/design/telecomms_bus name = "Machine Board (Bus Mainframe)" desc = "Allows for the construction of Telecommunications Bus Mainframes." id = "s-bus" @@ -18,8 +9,9 @@ datum/design/telecomms_bus build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/telecomms/bus - -datum/design/telecomms_hub + category = list("Subspace Telecomms") + +/datum/design/telecomms_hub name = "Machine Board (Hub Mainframe)" desc = "Allows for the construction of Telecommunications Hub Mainframes." id = "s-hub" @@ -27,17 +19,10 @@ datum/design/telecomms_hub build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/telecomms/hub + category = list("Subspace Telecomms") -datum/design/telecomms_relay - name = "Machine Board (Relay Mainframe)" - desc = "Allows for the construction of Telecommunications Relay Mainframes." - id = "s-relay" - req_tech = list("programming" = 1, "engineering" = 2, "bluespace" = 2) - build_type = IMPRINTER - materials = list("$glass" = 1000, "sacid" = 20) - build_path = /obj/item/weapon/circuitboard/telecomms/relay -datum/design/telecomms_processor +/datum/design/telecomms_processor name = "Machine Board (Processor Unit)" desc = "Allows for the construction of Telecommunications Processor equipment." id = "s-processor" @@ -45,8 +30,19 @@ datum/design/telecomms_processor build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/telecomms/processor + category = list("Subspace Telecomms") + +/datum/design/telecomms_relay + name = "Machine Board (Relay Mainframe)" + desc = "Allows for the construction of Telecommunications Relay Mainframes." + id = "s-relay" + req_tech = list("programming" = 1, "engineering" = 2, "bluespace" = 2) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/telecomms/relay + category = list("Subspace Telecomms") -datum/design/telecomms_server +/datum/design/telecomms_server name = "Machine Board (Server Mainframe)" desc = "Allows for the construction of Telecommunications Servers." id = "s-server" @@ -54,8 +50,9 @@ datum/design/telecomms_server build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/telecomms/server + category = list("Subspace Telecomms") -datum/design/subspace_broadcaster +/datum/design/subspace_broadcaster name = "Machine Board (Subspace Broadcaster)" desc = "Allows for the construction of Subspace Broadcasting equipment." id = "s-broadcaster" @@ -63,53 +60,19 @@ datum/design/subspace_broadcaster build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/telecomms/broadcaster - -datum/design/subspace_ansible - name = "Subspace Ansible" - desc = "A compact module capable of sensing extradimensional activity." - id = "s-ansible" - req_tech = list("programming" = 2, "magnets" = 2, "materials" = 2, "bluespace" = 1) - build_type = PROTOLATHE - materials = list("$metal" = 80, "$silver" = 20) - build_path = /obj/item/weapon/stock_parts/subspace/ansible - -datum/design/hyperwave_filter - name = "Hyperwave Filter" - desc = "A tiny device capable of filtering and converting super-intense radiowaves." - id = "s-filter" - req_tech = list("programming" = 2, "magnets" = 2) - build_type = PROTOLATHE - materials = list("$metal" = 40, "$silver" = 10) - build_path = /obj/item/weapon/stock_parts/subspace/filter - -datum/design/subspace_amplifier - name = "Subspace Amplifier" - desc = "A compact micro-machine capable of amplifying weak subspace transmissions." - id = "s-amplifier" - req_tech = list("programming" = 2, "magnets" = 2, "materials" = 2, "bluespace" = 1) - build_type = PROTOLATHE - materials = list("$metal" = 10, "$gold" = 30, "$uranium" = 15) - build_path = /obj/item/weapon/stock_parts/subspace/amplifier - -datum/design/subspace_treatment - name = "Subspace Treatment Disk" - desc = "A compact micro-machine capable of stretching out hyper-compressed radio waves." - id = "s-treatment" - req_tech = list("programming" = 2, "magnets" = 1, "materials" = 2, "bluespace" = 1) - build_type = PROTOLATHE - materials = list("$metal" = 10, "$silver" = 20) - build_path = /obj/item/weapon/stock_parts/subspace/treatment - -datum/design/subspace_analyzer - name = "Subspace Analyzer" - desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths." - id = "s-analyzer" - req_tech = list("programming" = 2, "magnets" = 2, "materials" = 2, "bluespace" = 1) - build_type = PROTOLATHE - materials = list("$metal" = 10, "$gold" = 15) - build_path = /obj/item/weapon/stock_parts/subspace/analyzer - -datum/design/subspace_crystal + category = list("Subspace Telecomms") + +/datum/design/subspace_receiver + name = "Machine Board (Subspace Receiver)" + desc = "Allows for the construction of Subspace Receiver equipment." + id = "s-receiver" + req_tech = list("programming" = 2, "engineering" = 1, "bluespace" = 1) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/telecomms/receiver + category = list("Subspace Telecomms") + +/datum/design/subspace_crystal name = "Ansible Crystal" desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths." id = "s-crystal" @@ -117,8 +80,49 @@ datum/design/subspace_crystal build_type = PROTOLATHE materials = list("$glass" = 1000, "$silver" = 20, "$gold" = 20) build_path = /obj/item/weapon/stock_parts/subspace/crystal + category = list("Stock Parts") -datum/design/subspace_transmitter +/datum/design/hyperwave_filter + name = "Hyperwave Filter" + desc = "A tiny device capable of filtering and converting super-intense radiowaves." + id = "s-filter" + req_tech = list("programming" = 2, "magnets" = 2) + build_type = PROTOLATHE + materials = list("$metal" = 40, "$silver" = 10) + build_path = /obj/item/weapon/stock_parts/subspace/filter + category = list("Stock Parts") + +/datum/design/subspace_amplifier + name = "Subspace Amplifier" + desc = "A compact micro-machine capable of amplifying weak subspace transmissions." + id = "s-amplifier" + req_tech = list("programming" = 2, "magnets" = 2, "materials" = 2, "bluespace" = 1) + build_type = PROTOLATHE + materials = list("$metal" = 10, "$gold" = 30, "$uranium" = 15) + build_path = /obj/item/weapon/stock_parts/subspace/amplifier + category = list("Stock Parts") + +/datum/design/subspace_analyzer + name = "Subspace Analyzer" + desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths." + id = "s-analyzer" + req_tech = list("programming" = 2, "magnets" = 2, "materials" = 2, "bluespace" = 1) + build_type = PROTOLATHE + materials = list("$metal" = 10, "$gold" = 15) + build_path = /obj/item/weapon/stock_parts/subspace/analyzer + category = list("Stock Parts") + +/datum/design/subspace_ansible + name = "Subspace Ansible" + desc = "A compact module capable of sensing extradimensional activity." + id = "s-ansible" + req_tech = list("programming" = 2, "magnets" = 2, "materials" = 2, "bluespace" = 1) + build_type = PROTOLATHE + materials = list("$metal" = 80, "$silver" = 20) + build_path = /obj/item/weapon/stock_parts/subspace/ansible + category = list("Stock Parts") + +/datum/design/subspace_transmitter name = "Subspace Transmitter" desc = "A large piece of equipment used to open a window into the subspace dimension." id = "s-transmitter" @@ -126,3 +130,14 @@ datum/design/subspace_transmitter build_type = PROTOLATHE materials = list("$glass" = 100, "$silver" = 10, "$uranium" = 15) build_path = /obj/item/weapon/stock_parts/subspace/transmitter + category = list("Stock Parts") + +/datum/design/subspace_treatment + name = "Subspace Treatment Disk" + desc = "A compact micro-machine capable of stretching out hyper-compressed radio waves." + id = "s-treatment" + req_tech = list("programming" = 2, "magnets" = 1, "materials" = 2, "bluespace" = 1) + build_type = PROTOLATHE + materials = list("$metal" = 10, "$silver" = 20) + build_path = /obj/item/weapon/stock_parts/subspace/treatment + category = list("Stock Parts") diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index 9a8532724b5..adeb3859e9c 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -2,7 +2,7 @@ /////////////////Weapons///////////////// ///////////////////////////////////////// -datum/design/nuclear_gun +/datum/design/nuclear_gun name = "Advanced Energy Gun" desc = "An energy gun with an experimental miniaturized reactor." id = "nuclear_gun" @@ -12,28 +12,9 @@ datum/design/nuclear_gun reliability_base = 76 build_path = /obj/item/weapon/gun/energy/gun/nuclear locked = 1 + category = list("Weapons") -datum/design/stunrevolver - name = "Stun Revolver" - desc = "A high-tech revolver that fires internal, reusable stun cartidges in a revolving cylinder. The stun cartridges can be recharged using a conventional energy weapon recharger." - id = "stunrevolver" - req_tech = list("combat" = 3, "materials" = 3, "powerstorage" = 2) - build_type = PROTOLATHE - materials = list("$metal" = 4000) - build_path = /obj/item/weapon/gun/energy/stunrevolver - locked = 1 - -datum/design/lasercannon - name = "Laser Cannon" - desc = "A heavy duty laser cannon." - id = "lasercannon" - req_tech = list("combat" = 4, "materials" = 3, "powerstorage" = 3) - build_type = PROTOLATHE - materials = list("$metal" = 10000, "$glass" = 2000, "$diamond" = 2000) - build_path = /obj/item/weapon/gun/energy/lasercannon - locked = 1 - -datum/design/decloner +/datum/design/decloner name = "Decloner" desc = "Your opponent will bubble into a messy pile of goop." id = "decloner" @@ -42,18 +23,9 @@ datum/design/decloner materials = list("$gold" = 5000,"$uranium" = 10000, "mutagen" = 40) build_path = /obj/item/weapon/gun/energy/decloner locked = 1 - -datum/design/rapidsyringe - name = "Rapid Syringe Gun" - desc = "A gun that fires many syringes." - id = "rapidsyringe" - req_tech = list("combat" = 3, "materials" = 3, "engineering" = 3, "biotech" = 2) - build_type = PROTOLATHE - materials = list("$metal" = 5000, "$glass" = 1000) - build_path = /obj/item/weapon/gun/syringe/rapidsyringe - locked = 1 - -datum/design/largecrossbow + category = list("Weapons") + +/datum/design/largecrossbow name = "Energy Crossbow" desc = "A reverse-engineered energy crossbow favored by syndicate infiltration teams and carp hunters." id = "largecrossbow" @@ -62,18 +34,9 @@ datum/design/largecrossbow materials = list("$metal" = 5000, "$glass" = 1500, "$uranium" = 1500, "$silver" = 1500) build_path = /obj/item/weapon/gun/energy/crossbow/largecrossbow locked = 1 - -datum/design/temp_gun - name = "Temperature Gun" - desc = "A gun that shoots temperature bullet energy things to change temperature."//Change it if you want - id = "temp_gun" - req_tech = list("combat" = 3, "materials" = 4, "powerstorage" = 3, "magnets" = 2) - build_type = PROTOLATHE - materials = list("$metal" = 5000, "$glass" = 500, "$silver" = 3000) - build_path = /obj/item/weapon/gun/energy/temperature - locked = 1 - -datum/design/flora_gun + category = list("Weapons") + +/datum/design/flora_gun name = "Floral Somatoray" desc = "A tool that discharges controlled radiation which induces mutation in plant cells. Harmless to other organic life." id = "flora_gun" @@ -81,37 +44,9 @@ datum/design/flora_gun build_type = PROTOLATHE materials = list("$metal" = 2000, "$glass" = 500, "radium" = 20) build_path = /obj/item/weapon/gun/energy/floragun - -datum/design/large_grenade - name = "Large Grenade" - desc = "A grenade that affects a larger area and use larger containers." - id = "large_Grenade" - req_tech = list("combat" = 3, "materials" = 2) - build_type = PROTOLATHE - materials = list("$metal" = 3000) - reliability_base = 79 - build_path = /obj/item/weapon/grenade/chem_grenade/large - -datum/design/smg - name = "Prototype Submachine Gun" - desc = "A prototype weapon made using lightweight materials on a traditional frame, designed to fire standard 9mm rounds." - id = "smg" - req_tech = list("combat" = 4, "materials" = 3) - build_type = PROTOLATHE - materials = list("$metal" = 8000, "$silver" = 2000, "$diamond" = 1000) - build_path = /obj/item/weapon/gun/projectile/automatic - locked = 1 - -datum/design/mag_smg - name = "Submachine Gun Magazine (9mm)" - desc = "A 20-round magazine for the prototype submachine gun." - id = "mag_smg" - req_tech = list("combat" = 4, "materials" = 3) - build_type = PROTOLATHE - materials = list("$metal" = 2000) - build_path = /obj/item/ammo_box/magazine/smgm9mm - -datum/design/ionrifle + category = list("Weapons") + +/datum/design/ionrifle name = "Ion Rifle" desc = "How to dismantle a cyborg : The gun." id = "ionrifle" @@ -120,8 +55,74 @@ datum/design/ionrifle materials = list("$silver" = 4000, "$metal" = 6000, "$uranium" = 1000) build_path = /obj/item/weapon/gun/energy/ionrifle locked = 1 + category = list("Weapons") -datum/design/stunshell +/datum/design/large_grenade + name = "Large Grenade" + desc = "A grenade that affects a larger area and use larger containers." + id = "large_Grenade" + req_tech = list("combat" = 3, "materials" = 2) + build_type = PROTOLATHE + materials = list("$metal" = 3000) + reliability_base = 79 + build_path = /obj/item/weapon/grenade/chem_grenade/large + category = list("Weapons") + +/datum/design/lasercannon + name = "Laser Cannon" + desc = "A heavy duty laser cannon." + id = "lasercannon" + req_tech = list("combat" = 4, "materials" = 3, "powerstorage" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 10000, "$glass" = 2000, "$diamond" = 2000) + build_path = /obj/item/weapon/gun/energy/lasercannon + locked = 1 + category = list("Weapons") + +/datum/design/plasmapistol + name = "Plasma Pistol" + desc = "A specialized firearm designed to fire lethal bolts of toxins." + id = "ppistol" + req_tech = list("combat" = 5, "plasmatech" = 4) + build_type = PROTOLATHE + materials = list("$metal" = 5000, "$glass" = 1000, "$plasma" = 3000) + build_path = /obj/item/weapon/gun/energy/toxgun + locked = 1 + category = list("Weapons") + +/datum/design/smg + name = "Prototype Submachine Gun" + desc = "A prototype weapon made using lightweight materials on a traditional frame, designed to fire standard 9mm rounds." + id = "smg" + req_tech = list("combat" = 4, "materials" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 8000, "$silver" = 2000, "$diamond" = 1000) + build_path = /obj/item/weapon/gun/projectile/automatic + locked = 1 + category = list("Weapons") + +/datum/design/mag_smg + name = "Prototype Submachine Gun Magazine (9mm)" + desc = "A 20-round magazine for the prototype submachine gun." + id = "mag_smg" + req_tech = list("combat" = 4, "materials" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 2000) + build_path = /obj/item/ammo_box/magazine/smgm9mm + category = list("Weapons") + +/datum/design/rapidsyringe + name = "Rapid Syringe Gun" + desc = "A gun that fires many syringes." + id = "rapidsyringe" + req_tech = list("combat" = 3, "materials" = 3, "engineering" = 3, "biotech" = 2) + build_type = PROTOLATHE + materials = list("$metal" = 5000, "$glass" = 1000) + build_path = /obj/item/weapon/gun/syringe/rapidsyringe + locked = 1 + category = list("Weapons") + +/datum/design/stunshell name = "Stun Shell" desc = "A stunning shell for a shotgun." id = "stunshell" @@ -129,17 +130,31 @@ datum/design/stunshell build_type = PROTOLATHE materials = list("$metal" = 200) build_path = /obj/item/ammo_casing/shotgun/stunslug - -datum/design/techshell - name = "Unloaded Technological Shotshell" - desc = "A high-tech shotgun shell which can be loaded with materials to produce unique effects." - id = "techshotshell" - req_tech = list("combat" = 3, "materials" = 3, "powerstorage" = 4, "magnets" = 3) + category = list("Weapons") + +/datum/design/stunrevolver + name = "Stun Revolver" + desc = "A high-tech revolver that fires internal, reusable stun cartidges in a revolving cylinder. The stun cartridges can be recharged using a conventional energy weapon recharger." + id = "stunrevolver" + req_tech = list("combat" = 3, "materials" = 3, "powerstorage" = 2) build_type = PROTOLATHE - materials = list("$metal" = 1000, "$glass" = 200, "$silver" = 300) - build_path = /obj/item/ammo_casing/shotgun/techshell + materials = list("$metal" = 4000) + build_path = /obj/item/weapon/gun/energy/stunrevolver + locked = 1 + category = list("Weapons") -datum/design/suppressor +/datum/design/temp_gun + name = "Temperature Gun" + desc = "A gun that shoots temperature bullet energy things to change temperature."//Change it if you want + id = "temp_gun" + req_tech = list("combat" = 3, "materials" = 4, "powerstorage" = 3, "magnets" = 2) + build_type = PROTOLATHE + materials = list("$metal" = 5000, "$glass" = 500, "$silver" = 3000) + build_path = /obj/item/weapon/gun/energy/temperature + locked = 1 + category = list("Weapons") + +/datum/design/suppressor name = "Universal Suppressor" desc = "A reverse-engineered universal suppressor that fits on most small arms with threaded barrels." id = "suppressor" @@ -147,8 +162,19 @@ datum/design/suppressor build_type = PROTOLATHE materials = list("$metal" = 2000, "$silver" = 500) build_path = /obj/item/weapon/suppressor + category = list("Weapons") + +/datum/design/techshell + name = "Unloaded Technological Shotshell" + desc = "A high-tech shotgun shell which can be loaded with materials to produce unique effects." + id = "techshotshell" + req_tech = list("combat" = 3, "materials" = 3, "powerstorage" = 4, "magnets" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 1000, "$glass" = 200, "$silver" = 300) + build_path = /obj/item/ammo_casing/shotgun/techshell + category = list("Weapons") -datum/design/xray +/datum/design/xray name = "Xray Laser Gun" desc = "Not quite as menacing as it sounds" id = "xray" @@ -157,13 +183,4 @@ datum/design/xray materials = list("$gold" = 5000,"$uranium" = 10000, "$metal" = 4000) build_path = /obj/item/weapon/gun/energy/xray locked = 1 - -datum/design/plasmapistol - name = "plasma pistol" - desc = "A specialized firearm designed to fire lethal bolts of toxins." - id = "ppistol" - req_tech = list("combat" = 5, "plasmatech" = 4) - build_type = PROTOLATHE - materials = list("$metal" = 5000, "$glass" = 1000, "$plasma" = 3000) - build_path = /obj/item/weapon/gun/energy/toxgun - locked = 1 \ No newline at end of file + category = list("Weapons") \ No newline at end of file diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm index a98f89e1d88..b1ddc3eb62a 100644 --- a/code/modules/research/protolathe.dm +++ b/code/modules/research/protolathe.dm @@ -24,6 +24,19 @@ Note: Must be placed west/left of and R&D console to function. var/clown_amount = 0.0 var/efficiency_coeff + var/list/categories = list( + "Bluespace", + "Communication", + "Equipment", + "Janitorial", + "Medical", + "Mining", + "Miscellaneous", + "Power", + "Stock Parts", + "Weapons" + ) + reagents = new() diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index d5b30548dc3..7999d40c187 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -47,7 +47,9 @@ won't update every console in existence) but it's more of a hassle to do. Also, var/id = 0 //ID of the computer (for server restrictions). var/sync = 1 //If sync = 0, it doesn't show up on Server Control Console - req_access = list(access_tox) //Data and setting manipulation requires scientist access. + req_access = list(access_research) //Data and setting manipulation requires scientist access. + + var/selected_category /obj/machinery/computer/rdconsole/proc/CallTechName(var/ID) //A simple helper proc to find the name of a tech with a given ID. @@ -124,7 +126,12 @@ won't update every console in existence) but it's more of a hassle to do. Also, C.files.AddDesign2Known(D) C.files.RefreshResearch() - +/obj/machinery/computer/rdconsole/proc/Maximize() + files.known_tech=files.possible_tech + for(var/datum/tech/KT in files.known_tech) + if(KT.level < KT.max_level) + KT.level=KT.max_level + /obj/machinery/computer/rdconsole/New() ..() files = new /datum/research(src) //Setup the research data holder. @@ -162,7 +169,6 @@ won't update every console in existence) but it's more of a hassle to do. Also, playsound(src.loc, 'sound/effects/sparks4.ogg', 75, 1) emagged = 1 user << "You you disable the security protocols" - else ..() src.updateUsrDialog() @@ -179,6 +185,9 @@ won't update every console in existence) but it's more of a hassle to do. Also, var/temp_screen = text2num(href_list["menu"]) screen = temp_screen + if(href_list["category"]) + selected_category = href_list["category"] + else if(href_list["updt_tech"]) //Update the research holder with information from the technology disk. screen = 0.0 spawn(50) @@ -239,6 +248,18 @@ won't update every console in existence) but it's more of a hassle to do. Also, linked_destroy.loaded_item = null linked_destroy.icon_state = "d_analyzer" screen = 2.1 + + else if(href_list["maxresearch"]) //Eject the item inside the destructive analyzer. + if(!usr.client.holder) return + screen = 0.0 + if(alert("Are you sure you want to maximize research levels?","Confirmation","Yes","No")=="No") + return + message_admins("[key_name_admin(usr)] has maximized the research levels.") + spawn(30) + Maximize() + screen = 1.0 + updateUsrDialog() + griefProtection() //Update centcomm too else if(href_list["deconstruct"]) //Deconstruct the item in the destructive analyzer and update the research holder. if(linked_destroy) @@ -413,7 +434,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, else new_item.loc = linked_lathe.loc linked_lathe.busy = 0 - screen = 3.1 + screen = 3.15 updateUsrDialog() else if(href_list["imprint"]) //Causes the Circuit Imprinter to build something. @@ -719,6 +740,8 @@ won't update every console in existence) but it's more of a hassle to do. Also, dat += "Disconnect from Research Network
" dat += "Device Linkage Menu
" dat += "Lock Console
" + if(user.client.holder) + dat += "\[ADMIN\] Maximize Research Levels
" dat += "Reset R&D Database
" if(1.7) //R&D device linkage @@ -778,31 +801,44 @@ won't update every console in existence) but it's more of a hassle to do. Also, dat += "

Protolathe Menu:


" dat += "Material Amount: [linked_lathe.TotalMaterials()] / [linked_lathe.max_material_storage]
" dat += "Chemical Volume: [linked_lathe.reagents.total_volume] / [linked_lathe.reagents.maximum_volume]
" + + dat += list_categories(linked_lathe.categories, 3.15) + + //Grouping designs by categories, to improve readability + if(3.15) + dat += "Main Menu" + dat += "Protolathe Menu" + dat += "

Browsing [selected_category]:


" + dat += "Material Amount: [linked_lathe.TotalMaterials()] / [linked_lathe.max_material_storage]
" + dat += "Chemical Volume: [linked_lathe.reagents.total_volume] / [linked_lathe.reagents.maximum_volume]
" + var/coeff = linked_lathe.efficiency_coeff for(var/datum/design/D in files.known_designs) - if(!(D.build_type & PROTOLATHE)) + if(!(selected_category in D.category)|| !(D.build_type & PROTOLATHE)) continue - var/temp_dat = "[D.name]" var/temp_material var/c = 50 var/t for(var/M in D.materials) t = linked_lathe.check_mat(D, M) + temp_material += " | " if (!t) - temp_material += " [D.materials[M]/coeff] [CallMaterialName(M)]" + temp_material += "[D.materials[M]/coeff] [CallMaterialName(M)]" else temp_material += " [D.materials[M]/coeff] [CallMaterialName(M)]" c = min(c,t) if (c) - dat += "* [temp_dat]" + dat += "[D.name]" if(c >= 5.0) dat += "x5" if(c >= 10.0) dat += "x10" dat += "[temp_material]" else - dat += "* [temp_dat][temp_material]" + dat += "[D.name][temp_material]" + if(D.locked) + dat += " (LOCKED)" dat += "
" dat += "
" @@ -880,23 +916,35 @@ won't update every console in existence) but it's more of a hassle to do. Also, dat += "

Circuit Imprinter Menu:


" dat += "Material Amount: [linked_imprinter.TotalMaterials()]
" dat += "Chemical Volume: [linked_imprinter.reagents.total_volume]
" + + dat += list_categories(linked_imprinter.categories, 4.15) + + if(4.15) + dat += "Main Menu" + dat += "Circuit Imprinter Menu" + dat += "

Browsing [selected_category]:


" + dat += "Material Amount: [linked_imprinter.TotalMaterials()]
" + dat += "Chemical Volume: [linked_imprinter.reagents.total_volume]
" + var/coeff = linked_imprinter.efficiency_coeff for(var/datum/design/D in files.known_designs) - if(!(D.build_type & IMPRINTER)) + if(!(selected_category in D.category) || !(D.build_type & IMPRINTER)) continue - var/temp_dat = "[D.name]" var/temp_materials var/check_materials = 1 for(var/M in D.materials) + temp_materials += " | " if (!linked_imprinter.check_mat(D, M)) check_materials = 0 - temp_materials += " [D.materials[M]/coeff] [CallMaterialName(M)]" + temp_materials += " [D.materials[M]/coeff] [CallMaterialName(M)]" else temp_materials += " [D.materials[M]/coeff] [CallMaterialName(M)]" if (check_materials) - dat += "* [temp_dat][temp_materials]
" + dat += "[D.name][temp_materials]
" else - dat += "* [temp_dat][temp_materials]
" + dat += "[D.name][temp_materials]
" + if(D.locked) + dat += " (LOCKED)" dat += "
" if(4.2) @@ -931,11 +979,30 @@ won't update every console in existence) but it's more of a hassle to do. Also, if(linked_imprinter.diamond_amount >= 2000) dat += "All" dat += "" - var/datum/browser/popup = new(user, "rndconsole", name, 420, 450) + var/datum/browser/popup = new(user, "rndconsole", name, 700, 550) popup.set_content(dat) popup.open() return +//helper proc, which return a table containing categories +/obj/machinery/computer/rdconsole/proc/list_categories(var/list/categories, var/menu_num as num) + if(!categories) + return + + var/line_length = 1 + var/dat = "" + + for(var/C in categories) + if(line_length > 2) + dat += "" + line_length = 1 + + dat += "" + line_length++ + + dat += "
[C]
" + return dat + /obj/machinery/computer/rdconsole/robotics name = "Robotics R&D Console" desc = "A console used to interface with R&D tools." diff --git a/code/modules/research/research.dm b/code/modules/research/research.dm index b41fc5a224e..b5f5beb05a8 100644 --- a/code/modules/research/research.dm +++ b/code/modules/research/research.dm @@ -140,6 +140,26 @@ research holder datum. D.reliability = min(100, D.reliability + rand(1,3)) if(I.crit_fail) D.reliability = min(100, D.reliability + rand(3, 5)) + +/datum/research/proc/FindDesignByID(var/id) + for(var/datum/design/D in known_designs) + if(D.id == id) + return D + +//Autolathe files +/datum/research/autolathe/New() + for(var/T in (typesof(/datum/tech) - /datum/tech)) + possible_tech += new T(src) + for(var/path in typesof(/datum/design) - /datum/design) + var/datum/design/D = new path(src) + possible_designs += D + if((D.build_type & AUTOLATHE) && ("initial" in D.category)) //autolathe starts without hacked designs + AddDesign2Known(D) + +/datum/research/autolathe/AddDesign2Known(var/datum/design/D) + if(!(D.build_type & AUTOLATHE)) + return + ..() /*************************************************************** ** Technology Datums ** diff --git a/maps/cyberiad.dmm b/maps/cyberiad.dmm index 23dddeda56d..28b04c020db 100644 --- a/maps/cyberiad.dmm +++ b/maps/cyberiad.dmm @@ -3716,7 +3716,7 @@ "btx" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "bty" = (/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "btz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"btA" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = 6},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/clothing/head/welding{pixel_x = -3; pixel_y = 5},/obj/item/clothing/glasses/welding,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) +"btA" = (/obj/structure/closet/wardrobe/robotics_black,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "btB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area) "btC" = (/obj/structure/closet/emcloset,/obj/machinery/atmospherics/pipe/manifold{_color = "red"; dir = 1; icon_state = "manifold-r-f"; level = 1; name = "pipe manifold"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{dir = 9; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTHEAST)"},/area/medical/research{name = "Research Division"}) "btD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) @@ -4224,7 +4224,7 @@ "bDl" = (/obj/machinery/optable{name = "Robotics Operating Table"},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "bDm" = (/obj/machinery/computer/operating{name = "Robotics Operating Computer"},/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "bDn" = (/obj/machinery/light_switch{pixel_x = -23; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) -"bDo" = (/obj/structure/closet/wardrobe/robotics_black,/obj/item/device/radio/headset/headset_sci{pixel_x = -3},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) +"bDo" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/toolbox/electrical{pixel_x = 1; pixel_y = 6},/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/item/clothing/head/welding{pixel_x = -3; pixel_y = 5},/obj/item/clothing/glasses/welding,/obj/structure/disposalpipe/segment{dir = 4},/obj/item/device/radio/headset/headset_sci{pixel_x = -3},/turf/simulated/floor{icon_state = "white"},/area/assembly/robotics) "bDp" = (/turf/simulated/floor{dir = 5; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) "bDq" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor{icon_state = "white"},/area/medical/research{name = "Research Division"}) "bDr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor{dir = 9; icon_state = "whitehall"},/area/medical/research{name = "Research Division"}) @@ -12810,13 +12810,13 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabmsbmsbmsbmsbmsbmsbmsbmsbmsbmsbmsbopboqborbosbotboubovbowboxaaibioboyboybozboAaaqaUkbeKaSLaaiaaiaaiaaiaaiaaiaaiaaibmDboBaaiaaiaaiaaiaflaaiaaiaaiaaiboCblhboDaaiboEboFbllbllbllbllblnboGaaibCrabuaaiaaiaaiaaiaaiaaiaaiaflaaiboNboOboPboQboRboSboTaaiboUboVboVaaiaaiaaiaaiaaiaaiaaiaaqaaqboWboXboYboYboXboWaaqaaqaaqaaqaaqaaqaaqaaqaaqaaqboZaaqaaqaaqaaqaaqaaibpaaoybpbbidbidbpcbpcaaiaaiaaiaaiaaibpdbohbohbogbohbidbohbohbohbohbpeaaiaaiaaiaaibpfaaiaaiaaiaaiaaiaaiaaiaaiaaiaaaaaaaaaaaaaNmaNmaNmaNmaNmaNmaaaaNmaNmaNmaNmaNmaNmaaaaaaaaaaaaaaaaaaaaabikbikbikbikbikbikbikbikbikaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabmsbmsbmsbmsbmsbmsbmsbmsbmsbmsbmsaGLaGMaESbpgbotbotbphbpibotaaibpjbpjbpjbpkbplaaqaUkbeKaSLaaqbpmbpnbpobppbpqaaibprbmDbpsaaibptaaibpubpvbpwbpxbpyaaqbpzblhbpAaaibpBbpCbpDbpEbpFbpGbpHaaiaaibFOaaibxBbFNbFNbFNbuKaaiaaaaflaaibpPbpQbpRbpSboRblzbpTaaibpUbpVbpWaaibpXbpYbpZbqabqbbqcbqdbqebqfbqgbqhbqhbqgbqibqjbqkaaqbqlbqmbqnbqoaaqbqpbqqbqrbqsbqtbqubqubqvaaibqwabnaaibqxaaibqybqyaaibqzbqAbqBaaibqCbqDbqCaaibqEbohbpeaaibqFeJLbqFaaibqHbqIaaibqJbqKbqLaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNmaNmaNmaNmaNmaNmaaaaNmaNmaNmaNmaNmaNmaaaaaaaaaaaaaaaaaaaaabikbikbikbikbikbikbikbikbikaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabmsbmsbmsbmsbmsbmsbmsbmsbmsbmsaaabqMaHYbqNbqObotbotbphbpibqPaaibqQbqQbqQbqQbqRaaqaUkbeKaSLaaqbqSbqTbqUbqTbqVaaibqWbqXbqYbqZbraaaibrbbrcbrdbrdbrebrfbrgblhbrhaaibriaaKaaqaaqaaqaaibrjaaibrkbCsacDbEtbEvbEwbExbFMacfceFbrqaaibrrblzbrsbrtboRbrublzaaibrvbrwbrxaaibrybrzbrAbrBbrCbrDbrEbqhbqhbqhbqhbqhbqhbqhbrFbrGbrHbrIbrJbrKbrLaaqbrMbrNbrObrPbrQbrRbrNbqvaaibqwabnbrSbrTbrUbrVbrWaaqbrXbrYbrXbrZbsabsbbscaaiaaqbsdamsaaibsebsfbsgbshbsheJyaaibsibsjbskaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNmaNmaNmaNmaNmaNmaaaaNmaNmaNmaNmaNmaNmaaaaaaaaaaaaaaaaaaaaabikbikbikbikbikbikbikbikbikaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabslazUaaiaaiaaiaoNaoPazUaoNaoPaaiaoNaoPaaiaaiaaiaaibsmbotbotbotbphbpibotaaibsnbsobpjbpjbpkaaqbmBbeKbspaaqbsqbsrbssbstbsuaaibsvbswbsxbrabraaaibsybszbsAbsBbsCbsDbsEbsFbsGacfbsHbsIbsJbsKabIbsLbsMacfbsNcheacfchdcfKchdcfKbFPacfceFbsPacfbsQbsRbsSbsTbsUbsVbsWacfbsXbpVbpVaaibsYbsZbtabtbbtcaaibrEbqhbqhbqhbqhbqhbqhbqhbtdbtebtfbtgbthbtibtjaaqbtkbtlbtmbrPbqvbrRbtnbtoaaibtpbtqbtrbtsbtsbttbtubtvbtwbtwbtwbtxbtybtzbtAbtBbtCbtDbtEbtBbtFbtGbtHbtHbtHbtIaaibtJbsjbtKaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNmaNmaNmaNmaNmaaaaNmaNmaNmaNmaNmaaaaaaaaaaaaaaaaaaaaaaaabikbikbikbikbikbikbikbikbikaaaaaaaaaaaaaaaaaaaaaaaaaPnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabslazUaaiaaiaaiaoNaoPazUaoNaoPaaiaoNaoPaaiaaiaaiaaibsmbotbotbotbphbpibotaaibsnbsobpjbpjbpkaaqbmBbeKbspaaqbsqbsrbssbstbsuaaibsvbswbsxbrabraaaibsybszbsAbsBbsCbsDbsEbsFbsGacfbsHbsIbsJbsKabIbsLbsMacfbsNcheacfchdcfKchdcfKbFPacfceFbsPacfbsQbsRbsSbsTbsUbsVbsWacfbsXbpVbpVaaibsYbsZbtabtbbtcaaibrEbqhbqhbqhbqhbqhbqhbqhbtdbtebtfbtgbthbtibtjaaqbtkbtlbtmbrPbqvbrRbtnbtoaaibtpbtqbtrbtsbtsbttbtubtvbtwbtwbtwbtxbtybtzbDobtBbtCbtDbtEbtBbtFbtGbtHbtHbtHbtIaaibtJbsjbtKaaiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaNmaNmaNmaNmaNmaaaaNmaNmaNmaNmaNmaaaaaaaaaaaaaaaaaaaaaaaabikbikbikbikbikbikbikbikbikaaaaaaaaaaaaaaaaaaaaaaaaaPnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtLbtLbtLbtLbtLbtLbtLbtLbtLbtLbtLbtLbtLaaaaEdbpgbotbotbotbphbpibotaaibqQbqQbtMbmzbmzbtNaUkbeKaSLaaqbtObtPbtQbtRbtSaaibtTbtUbtVbtWbtXaaibtYbtZbuabubbucbudbuebufbugbuhbuibuibujbukabXbAObumacDbunbuoaaibANbExcfIbEvbEqaaiaaabuuaaiabnbuvaaiaaiaaiaaibuwaaibuxbpVbuyacDbuzbuAbuBbuCbuDaaibuEbuFbuGbuHbuIbuJbFLbuLbrFbuMaaqbuNbthbuObuPaaqbuQbuRbrObrPbqvbrRbrNbqvaaibqwabnbuSbuTbuUbuVbuWaGEbuXbuYbuZbvabvbbvcbvdaaibvebvfbvgaaibvhbvibvjbshbvkbvlaaibtJbsjbvmaaiaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabikbikbikbikbikbikbikbikbikaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtLbtLbtLbtLbtLbtLbtLbtLbtLbtLbtLbtLbtLaaaaBabvnbvobotbotbvpbpibvqaaiaaqbvrbvsbvtaaqaaqbmBbeKaSLaaqbvubvvbvwbvxbvyaaibrabswbvzbrabraaaibvAbvBbvCbChbvEaaqbvFbvGbvHaaibvIaaqaaqaoyaaqaaKbvJaaibvKbuoaaicfHbFNbFNbFNbAMaaiaaabuuaaibvPbvQbvRbvSbvTabIbvUabIbvVbpVbvWaaibpXbvXbvYbvZbwabwbbwcbwdbwebwfbwgbwhbwibwjbwkbwlboXbwmbwnbwobwpaaqbwqbwrbwsbwtbwubwvbwubqvaaibwwbwxbwybwzbwzbwAbwBbwCbwDbwEbwFbwGbwHbwIbwJaaibwKbvfbwLaaibwMbwNbwObshbshbwPaaibsibsjbwQaaiaaaaaaaaaaaaaabbwRbwSbwTbwSbwTbwSbwUaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabikbikbikbikbikbikbikbikbikaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtLbtLbtLbtLbtLbtLbtLbtLbtLbtLbtLbtLbtLaEQaERaESbwVbotbotbphbwWbwXacfbwYbkPbwZbxabxbaaqaUkbeKaSLaaqaGLbxcbxdbxeaTbaaibxfbxgbxhbxibxjaaibxkbxlbxmbxnbxkaaqbxobxpbxqaaiaaiaaibxrbxsbxtbxubxvaaibFObuoaaibJcbKpbxDcetbxEaaiaaabrnaaibxGbxHbxIaaqbxJaaqbxKaaqbxLbpVbxMaaiaGLbxNbxcbxObxPaaqbxQbxRbxSbxTbxUbxUbxVbxWbxXbxYaaqaaKbxZaoyaaqaaqaaqaaKbyaaoyaaqaaiaaiaaibybbycabnbydbuTbuUbyebwzbyfbygbyhbyhbyibrXbyjbykbylaaibsdbymaaibynbyobshbypbyqbyraaibtJbysaaiaaiaaaaaaaaaaaaaabbytbyubyvbywbywbyxbytaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabikbikbikbikbikbikbikbikbikaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyybyybyybyybyyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtLbtLbtLbtLbtLbtLbtLbtLbtLbtLbtLbtLbtLbyzbyAbyBbyCbotbotbyDbyEbyFacDbyGbjEbyHbyIbyJaaqaUkbeKaSLbyKbyLbyMbyNbyObyPaaiaaiaaiaaiaaiaaiaaibyQbyRbySbyTbyUaaqbyVbyWbyXbyYbyZbzabzbbzcbzdbzebzfaaibvMbvLacDbusbxxbpObvObxwacfceFbvNaaibzkbzlbzmaaqbznaaqbzoaaqbzpbpVbzqaaibzrbzsbztbzubzvabIbzwbzxabIabIbzybzzabIabIbzAbzBaAvaAybzCbzDbzEbzFbzGbzHbzIbzJbzKaaibzLbzMbzNbzOabnbzPbzQbzRbzSbzTaaqbzUbyhbyhbzVbzWbyjbzXaaibzYbzYbzZaaibBFbAbbAcbAdbshbBJaaibtJbAfaaiaaaaaaaaaaaaaaaaabbAgbAhbyvbywbyvbAibwTaabaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabikbikbikbikbikbikbikbikbikaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyybyybyybyybyybyybyyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtLbtLbtLbtLbtLbtLbtLbtLbtLbtLbtLbtLbtLaGLaGMaESbpgbotbotbAjbotbotaaibAkbkNbAlbAmbAnabIaSJbkRbeLaaqbAobrcbApbAqbAraaqbAsbAtbAubAvbAwbAxbAybAzbAqbAAbABaaqbxobpVbACbADbAEbAFbAGbAHbAIbAJbAKaaibvKbuoaaibuqbrobNybrobpKaaiaaabrnaaiabnaaiaaiaaiaaiaaibARaaibASbpVbzqaaibATbAUbAUbAVbAWaaqbAXbAYbAZbBabBbbBcbBdbAZbBebBfbBgbBhbBibBjbBkbBlbBmbBnbBobBpbBqcolbBsbBtbBubBvbBwbBxbBxbBybBzbBAaaqbBBbrXbrXbBCbBDbyjbBEbAabBGbBHbBIaaqbAebBKaTbbBLbkzaaiaaibBMaaiaaibBNbBObBObBObBPaaibytbywbyvbywbywbBQbytaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabikbikbikbikbikbikbikbikbikaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyybyybyybyybyybyybyybyybyyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtLbtLbtLbtLbtLbtLbtLbtLbtLbtLbtLbtLbtLbBRbBSbqNbqObotbotbAjbotbotaaibBTbjDbBUbBVbBWbBXbBYbBZaSLaaqbCabrcbApbAqbCbaaqbCcbCdbrdbrdbCebCfbCgbAzbAqbvDbCibCjbxobpVbCkbaybAEbClbCmbCnbCobCpbCqbCrabubJbaaiaaibpObpOblvbpJaaiaaabrnaaibCubCvbCwbCxbCybCzbCAacfbCBbpVbzqbwbbCCbCDbCEbCFbCGaaqbCHbCIbCJbCKbCLbCMbCNbCObCPbCQbCRbCSbCTbCUbCVbCWbCXbCYbCZbDabDbaaibDcbDdbDebDfaaibDgbDhbDibDjbDjaaqbDkbDlbDmaaqbDnbyjbDoaaqbDpbDqbDrbDsbDtbDubDvbDwbDxbDybDzbDAbDBbDCbDDbDDbDEbDFbDGbDHbDIbwSbwTbDJbwTbwSbDKaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabikbikbikbikbikbikbikbikbikaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyybyybyybyybyybyybyybyybyyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtLbtLbtLbtLbtLbtLbtLbtLbtLbtLbtLbtLbtLbBRbBSbqNbqObotbotbAjbotbotaaibBTbjDbBUbBVbBWbBXbBYbBZaSLaaqbCabrcbApbAqbCbaaqbCcbCdbrdbrdbCebCfbCgbAzbAqbvDbCibCjbxobpVbCkbaybAEbClbCmbCnbCobCpbCqbCrabubJbaaiaaibpObpOblvbpJaaiaaabrnaaibCubCvbCwbCxbCybCzbCAacfbCBbpVbzqbwbbCCbCDbCEbCFbCGaaqbCHbCIbCJbCKbCLbCMbCNbCObCPbCQbCRbCSbCTbCUbCVbCWbCXbCYbCZbDabDbaaibDcbDdbDebDfaaibDgbDhbDibDjbDjaaqbDkbDlbDmaaqbDnbyjbtAaaqbDpbDqbDrbDsbDtbDubDvbDwbDxbDybDzbDAbDBbDCbDDbDDbDEbDFbDGbDHbDIbwSbwTbDJbwTbwSbDKaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabikbikbikbikbikbikbikbikbikaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyybyybyybyybyybyybyybyybyyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtLbtLbtLbtLbtLbtLbtLbtLbtLbtLbtLbtLbtLaaabDLbpgbotbotbotbDMbotbotaaibDNbDObDPbDQbDRaolbDSbDTaSLaaqbDUbDVbDWbDXbDYbDZbEabEbbEcbEdbEebDZbEfbEgbEhbEibEjaaqbEkbpVbCkbaybAEaaibElbEmbEnbEobEpabnblubErbEsacfacfbLQbEuacfceFceFbpMaaibEybEzbEAbEBbECbECbEDbEEbEFbpVbEGaaiaaqbEHbkzbEIbEJaaqbCHbEKaaqbELbEMbCMbENaaqbCHbEObEPaaqaaqaaqaoyaaqaaqaaqbEQamzaaqaaiaaibERaaqaaqaaiaaiaaqaaKaaqaaqaaqaaqaaqaaqaaqbESbETeGxaaqbEUbEVbEWbEXbEXbEYbEZbFabFbbFcbFdbFebFfbFgbFhbFhbFibDtbFjaaibFkbFlbFmbFnaaibFoaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabikbikbikbikbikbikbikbikbikaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyybyybyybyybyybyybyybyybyyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazUaaiaaiaaiaoNaoPazUaoNaoPaaiaoNaoPaaiaaiaaiaaiaaiaaiaaqaaqaaqaaqaztaolaolaolaolaolbFpbFqbFrbFsbFtbFubFvbrdbFwbrdbFxbAxbFybrdbAqbrdbFzbkzbxobpVbFAbFBbFCaaibFDbFEbFFbFGbFHabnbFIbFJbFKbsObuteJqbulaaqaaaaaaaaaaaibFTbFUbFVbFVbFWbFXbFYaaibFZbGabzqbQKbGcbGdbGebGfbGgbGhbGibCIbkzbGjbGkbGlbGmbkzbCHbEObEPbGnbGobGpbGqbGrbGsbGtbGubGvaaqbGwbGxbGybGzbGAbGBbGCbDybGDbEXbEXbGEbGFbEXbGGbGHbGIbGJbGKbEXbGLbGMbGNbGObGPbGQaaiabnaaiaaiaaibBMaaiaaibBNbBPaaibGRbGSbGTbGUbGVbGWbGXbGYaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyybyybyybyybyybyybyybyybyyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabGZbGZbGZbGZbGZbGZbGZaaaaaabADbHabHbbHcbHbbHbbHdbHebHfbHgbHebHhbHcbHbbHibHbbHjbHbamzbHkbrdbHlbrdbFxbHmbHnbHobAqbHpbHqbHrbxobpVbHsbHtbAEaaibHubHvbHwbEmbHxabnbHybHzbrlaaqbALbrmbpNaaqaaaaaaaaaaaibHHbHIbHJbHKbFWbFXbFYaaibHLbHMbHNbHObHPbHQbHRbHSbHTbHUbHVbHWaaqaaqbHXbHYaaqaaqbCHbEObEPbkzbHZbIabIabIabIbbIabIcbIdbIebIfbIgbIhbIhbIibIjbIkbIlbImbDtbDtbInbDtbIobDtbIpbDtbIqbIrbIrbIsbItbIubIvbIwbzjbIybIzbIAbIBaaibICbIDaaaaaaaaaaaibIEbIFbIGbIHbIIbIJbIKaaiaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/paradise.dme b/paradise.dme index 4942646dc5e..7e82539fe1f 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1428,6 +1428,7 @@ #include "code\modules\research\research.dm" #include "code\modules\research\server.dm" #include "code\modules\research\designs\AI_module_designs.dm" +#include "code\modules\research\designs\autolathe_designs.dm" #include "code\modules\research\designs\comp_board_designs.dm" #include "code\modules\research\designs\machine_designs.dm" #include "code\modules\research\designs\mecha_designs.dm"