Merge pull request #17576 from LatD/Research

[Ready for test/merge] R&D level remake
This commit is contained in:
Razharas
2016-06-02 18:41:43 +03:00
179 changed files with 983 additions and 1223 deletions
+3 -3
View File
@@ -66,11 +66,11 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis).
/obj/machinery/r_n_d/circuit_imprinter/proc/check_mat(datum/design/being_built, M)
switch(M)
if(MAT_GLASS)
return (g_amount - (being_built.materials[M]) >= 0)
return (g_amount - (being_built.materials[M]/efficiency_coeff) >= 0)
if(MAT_GOLD)
return (gold_amount - (being_built.materials[M]) >= 0)
return (gold_amount - (being_built.materials[M]/efficiency_coeff) >= 0)
if(MAT_DIAMOND)
return (diamond_amount - (being_built.materials[M]) >= 0)
return (diamond_amount - (being_built.materials[M]/efficiency_coeff) >= 0)
else
return (reagents.has_reagent(M, (being_built.materials[M]/efficiency_coeff)) != 0)
+49 -71
View File
@@ -1,6 +1,6 @@
/***************************************************************
** Design Datums **
** All the data for building stuff and tracking reliability. **
** All the data for building stuff. **
***************************************************************/
/*
For the materials datum, it assumes you need reagents unless specified otherwise. To designate a material that isn't a reagent,
@@ -20,9 +20,6 @@ The currently supporting non-reagent materials. All material amounts are set as
Don't add new keyword/IDs if they are made from an existing one (such as rods which are made from metal). Only add raw materials.
Design Guidlines
- The reliability formula for all R&D built items is reliability (a fixed number) + total tech levels required to make it +
reliability_mod (starts at 0, gets improved through experimentation). Example: PACMAN generator. 79 base reliablity + 6 tech
(3 plasmatech, 3 powerstorage) + 0 (since it's completely new) = 85% reliability. Reliability is the chance it works CORRECTLY.
- When adding new designs, check rdreadme.dm to see what kind of things have already been made and where new stuff is needed.
- A single sheet of anything is 2000 units of material. Materials besides metal/glass require help from other jobs (mining for
other types of metals and chemistry for reagents).
@@ -33,8 +30,7 @@ other types of metals and chemistry for reagents).
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
var/list/req_tech = list() //IDs of that techs the object originated from and the minimum level requirements. //Reliability modifier of the device at it's starting point.
var/reliability = 100 //Reliability of the device.
var/list/req_tech = list() //IDs of that techs the object originated from and the minimum level requirements.
var/build_type = null //Flag as to what kind machine the design is built in. See defines.
var/list/materials = list() //List of materials. Format: "id" = amount.
var/construction_time //Amount of time required for building the object
@@ -44,18 +40,6 @@ other types of metals and chemistry for reagents).
var/maxstack = 1
//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(list/temp_techs)
var/new_reliability
for(var/datum/tech/T in temp_techs)
if(T.id in req_tech)
new_reliability += T.level
new_reliability = Clamp(new_reliability, reliability, 100)
reliability = new_reliability
return
////////////////////////////////////////
//Disks for transporting design datums//
////////////////////////////////////////
@@ -64,7 +48,7 @@ other types of metals and chemistry for reagents).
name = "Component Design Disk"
desc = "A disk for storing device design data for construction in lathes."
icon_state = "datadisk1"
materials = list(MAT_METAL=30, MAT_GLASS=10)
materials = list(MAT_METAL=100, MAT_GLASS=100)
var/datum/design/blueprint
/obj/item/weapon/disk/design_disk/New()
@@ -79,7 +63,7 @@ other types of metals and chemistry for reagents).
name = "Intellicard AI Transportation System"
desc = "Allows for the construction of an intellicard."
id = "intellicard"
req_tech = list("programming" = 4, "materials" = 4)
req_tech = list("programming" = 3, "materials" = 3)
build_type = PROTOLATHE
materials = list(MAT_GLASS = 1000, MAT_GOLD = 200)
build_path = /obj/item/device/aicard
@@ -105,7 +89,7 @@ other types of metals and chemistry for reagents).
id = "design_disk"
req_tech = list("programming" = 1)
build_type = PROTOLATHE | AUTOLATHE
materials = list(MAT_METAL = 30, MAT_GLASS = 10)
materials = list(MAT_METAL = 300, MAT_GLASS = 100)
build_path = /obj/item/weapon/disk/design_disk
category = list("Electronics")
@@ -115,7 +99,7 @@ other types of metals and chemistry for reagents).
id = "tech_disk"
req_tech = list("programming" = 1)
build_type = PROTOLATHE | AUTOLATHE
materials = list(MAT_METAL = 30, MAT_GLASS = 10)
materials = list(MAT_METAL = 300, MAT_GLASS = 100)
build_path = /obj/item/weapon/disk/tech_disk
category = list("Electronics")
@@ -128,7 +112,7 @@ other types of metals and chemistry for reagents).
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)
req_tech = list("materials" = 2, "powerstorage" = 2, "engineering" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL = 6000, MAT_GLASS = 1000) //expensive, but no need for miners.
build_path = /obj/item/weapon/pickaxe/drill
@@ -138,10 +122,9 @@ other types of metals and chemistry for reagents).
name = "Diamond-Tipped Mining Drill"
desc = "Yours is the drill that will pierce the heavens!"
id = "drill_diamond"
req_tech = list("materials" = 6, "powerstorage" = 4, "engineering" = 4)
req_tech = list("materials" = 6, "powerstorage" = 5, "engineering" = 5)
build_type = PROTOLATHE
materials = list(MAT_METAL = 6000, MAT_GLASS = 1000, MAT_DIAMOND = 2000) //Yes, a whole diamond is needed.
reliability = 79
build_path = /obj/item/weapon/pickaxe/drill/diamonddrill
category = list("Mining Designs")
@@ -149,10 +132,9 @@ other types of metals and chemistry for reagents).
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" = 2, "plasmatech" = 2, "engineering" = 2, "combat" = 1, "magnets" = 2)
req_tech = list("materials" = 3, "plasmatech" = 3, "magnets" = 2)
build_type = PROTOLATHE
materials = list(MAT_METAL = 1500, MAT_GLASS = 500, MAT_PLASMA = 400)
reliability = 79
build_path = /obj/item/weapon/gun/energy/plasmacutter
category = list("Mining Designs")
@@ -160,10 +142,9 @@ other types of metals and chemistry for reagents).
name = "Advanced Plasma Cutter"
desc = "It's an advanced plasma cutter, oh my god."
id = "plasmacutter_adv"
req_tech = list("materials" = 4, "plasmatech" = 3, "engineering" = 3, "combat" = 3, "magnets" = 3)
req_tech = list("materials" = 4, "plasmatech" = 4, "engineering" = 2, "combat" = 3, "magnets" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL = 3000, MAT_GLASS = 1000, MAT_PLASMA = 2000, MAT_GOLD = 500)
reliability = 79
build_path = /obj/item/weapon/gun/energy/plasmacutter/adv
category = list("Mining Designs")
@@ -171,7 +152,7 @@ other types of metals and chemistry for reagents).
name = "Sonic Jackhammer"
desc = "Essentially a handheld planet-cracker. Can drill through walls with ease as well."
id = "jackhammer"
req_tech = list("materials" = 6, "powerstorage" = 6, "engineering" = 5, "magnets" = 6)
req_tech = list("materials" = 7, "powerstorage" = 5, "engineering" = 6, "magnets" = 5)
build_type = PROTOLATHE
materials = list(MAT_METAL = 6000, MAT_GLASS = 2000, MAT_SILVER = 2000, MAT_DIAMOND = 6000)
build_path = /obj/item/weapon/pickaxe/drill/jackhammer
@@ -201,7 +182,7 @@ other types of metals and chemistry for reagents).
name = "Hyper-Kinetic Accelerator"
desc = "An upgraded version of the proto-kinetic accelerator, with even more superior damage, speed and range."
id = "hyperaccelerator"
req_tech = list("materials" = 6, "powerstorage" = 6, "engineering" = 5, "magnets" = 6, "combat" = 4)
req_tech = list("materials" = 7, "powerstorage" = 5, "engineering" = 5, "magnets" = 5, "combat" = 4)
build_type = PROTOLATHE
materials = list(MAT_METAL = 8000, MAT_GLASS = 1500, MAT_SILVER = 2000, MAT_GOLD = 2000, MAT_DIAMOND = 2000)
build_path = /obj/item/weapon/gun/energy/kinetic_accelerator/hyper
@@ -213,7 +194,7 @@ other types of metals and chemistry for reagents).
id = "superresonator"
req_tech = list("materials" = 4, "powerstorage" = 3, "engineering" = 3, "magnets" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL = 4000, MAT_GLASS = 1500, MAT_SILVER = 2000, MAT_URANIUM = 2000)
materials = list(MAT_METAL = 4000, MAT_GLASS = 1500, MAT_SILVER = 1000, MAT_URANIUM = 1000)
build_path = /obj/item/weapon/resonator/upgraded
category = list("Mining Designs")
@@ -227,7 +208,7 @@ other types of metals and chemistry for reagents).
id = "beacon"
req_tech = list("bluespace" = 1)
build_type = PROTOLATHE
materials = list(MAT_METAL = 20, MAT_GLASS = 10)
materials = list(MAT_METAL = 150, MAT_GLASS = 100)
build_path = /obj/item/device/radio/beacon
category = list("Bluespace Designs")
@@ -235,10 +216,9 @@ other types of metals and chemistry for reagents).
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)
req_tech = list("bluespace" = 7, "materials" = 5, "engineering" = 6, "plasmatech" = 5)
build_type = PROTOLATHE
materials = list(MAT_GOLD = 3000, MAT_DIAMOND = 1500, MAT_URANIUM = 250)
reliability = 80
build_path = /obj/item/weapon/storage/backpack/holding
category = list("Bluespace Designs")
@@ -246,10 +226,9 @@ other types of metals and chemistry for reagents).
name = "Artificial Bluespace Crystal"
desc = "A small blue crystal with mystical properties."
id = "bluespace_crystal"
req_tech = list("bluespace" = 4, "materials" = 6)
req_tech = list("bluespace" = 3, "materials" = 6, "plasmatech" = 4)
build_type = PROTOLATHE
materials = list(MAT_DIAMOND = 1500, MAT_PLASMA = 1500)
reliability = 100
build_path = /obj/item/weapon/ore/bluespace_crystal/artificial
category = list("Bluespace Designs")
@@ -267,10 +246,9 @@ other types of metals and chemistry for reagents).
name = "Mining Satchel of Holding"
desc = "A mining satchel that can hold an infinite amount of ores."
id = "minerbag_holding"
req_tech = list("bluespace" = 3, "materials" = 4)
req_tech = list("bluespace" = 4, "materials" = 3, "engineering" = 4)
build_type = PROTOLATHE
materials = list(MAT_GOLD = 250, MAT_URANIUM = 500) //quite cheap, for more convenience
reliability = 100
build_path = /obj/item/weapon/storage/bag/ore/holding
category = list("Bluespace Designs")
@@ -285,7 +263,7 @@ other types of metals and chemistry for reagents).
id = "health_hud"
req_tech = list("biotech" = 2, "magnets" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
build_path = /obj/item/clothing/glasses/hud/health
category = list("Equipment")
@@ -293,9 +271,9 @@ other types of metals and chemistry for reagents).
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"
req_tech = list("biotech" = 4, "magnets" = 5)
req_tech = list("biotech" = 4, "magnets" = 5, "plasmatech" = 4, "engineering" = 6)
build_type = PROTOLATHE
materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_URANIUM = 1000, MAT_SILVER = 250)
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_URANIUM = 1000, MAT_SILVER = 350)
build_path = /obj/item/clothing/glasses/hud/health/night
category = list("Equipment")
@@ -305,7 +283,7 @@ other types of metals and chemistry for reagents).
id = "security_hud"
req_tech = list("magnets" = 3, "combat" = 2)
build_type = PROTOLATHE
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
build_path = /obj/item/clothing/glasses/hud/security
category = list("Equipment")
@@ -313,9 +291,9 @@ other types of metals and chemistry for reagents).
name = "Night Vision Security HUD"
desc = "A heads-up display which provides id data and vision in complete darkness."
id = "security_hud_night"
req_tech = list("magnets" = 5, "combat" = 4)
req_tech = list("combat" = 4, "magnets" = 5, "plasmatech" = 4, "engineering" = 6)
build_type = PROTOLATHE
materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_URANIUM = 1000, MAT_GOLD = 350)
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_URANIUM = 1000, MAT_GOLD = 350)
build_path = /obj/item/clothing/glasses/hud/security/night
category = list("Equipment")
@@ -323,9 +301,9 @@ datum/design/diagnostic_hud
name = "Diagnostic HUD"
desc = "A HUD used to analyze and determine faults within robotic machinery."
id = "dianostic_hud"
req_tech = list("magnets" = 3, "engineering" = 3, "powerstorage" = 2)
req_tech = list("magnets" = 3, "engineering" = 2)
build_type = PROTOLATHE
materials = list("$metal" = 50, "$glass" = 50)
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
build_path = /obj/item/clothing/glasses/hud/diagnostic
category = list("Equipment")
@@ -333,9 +311,9 @@ datum/design/diagnostic_hud_night
name = "Night Vision Diagnostic HUD"
desc = "Upgraded version of the diagnostic HUD designed to function during a power failure."
id = "dianostic_hud_night"
req_tech = list("magnets" = 5, "engineering" = 4, "powerstorage" = 4)
req_tech = list("magnets" = 5, "plasmatech" = 4, "engineering" = 6, "powerstorage" = 4)
build_type = PROTOLATHE
materials = list("$metal" = 200, "$glass" = 200, "$uranium" = 1000, "$plasma" = 300)
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_URANIUM = 1000, MAT_PLASMA = 300)
build_path = /obj/item/clothing/glasses/hud/diagnostic/night
category = list("Equipment")
@@ -361,9 +339,9 @@ datum/design/diagnostic_hud_night
name = "Welding Gas Mask"
desc = "A gas mask with built in welding goggles and face shield. Looks like a skull, clearly designed by a nerd."
id = "weldingmask"
req_tech = list("materials" = 2, "engineering" = 2)
req_tech = list("materials" = 2, "engineering" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL = 4000, MAT_GLASS = 1000)
materials = list(MAT_METAL = 3000, MAT_GLASS = 1000)
build_path = /obj/item/clothing/mask/gas/welding
category = list("Equipment")
@@ -371,8 +349,8 @@ datum/design/diagnostic_hud_night
name = "Portable Seed Extractor"
desc = "For the enterprising botanist on the go. Less efficient than the stationary model, it creates one seed per plant."
build_type = PROTOLATHE
req_tech = list("biotech" = 2, "materials" = 2)
materials = list(MAT_METAL = 200, MAT_GLASS = 100)
req_tech = list("biotech" = 3, "engineering" = 2)
materials = list(MAT_METAL = 1000, MAT_GLASS = 400)
build_path = /obj/item/weapon/storage/bag/plants/portaseeder
category = list("Equipment")
@@ -380,7 +358,7 @@ datum/design/diagnostic_hud_night
name = "Air Horn"
desc = "Damn son, where'd you find this?"
id = "air_horn"
req_tech = list("materials" = 2, "engineering" = 2)
req_tech = list("materials" = 4, "engineering" = 4)
build_type = PROTOLATHE
materials = list(MAT_METAL = 4000, MAT_BANANIUM = 1000)
build_path = /obj/item/weapon/bikehorn/airhorn
@@ -390,9 +368,9 @@ datum/design/diagnostic_hud_night
name = "Optical Meson Scanners"
desc = "Used by engineering and mining staff to see basic structural and terrain layouts through walls, regardless of lighting condition."
id = "mesons"
req_tech = list("materials" = 3, "magnets" = 2, "engineering" = 2)
req_tech = list("magnets" = 2, "engineering" = 2, "plasmatech" = 2)
build_type = PROTOLATHE
materials = list(MAT_METAL = 200, MAT_GLASS = 300)
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
build_path = /obj/item/clothing/glasses/meson
category = list("Equipment")
@@ -400,9 +378,9 @@ datum/design/diagnostic_hud_night
name = "Engineering Scanner Goggles"
desc = "Goggles used by engineers. The Meson Scanner mode lets you see basic structural and terrain layouts through walls, regardless of lighting condition. The T-ray Scanner mode lets you see underfloor objects such as cables and pipes."
id = "engine_goggles"
req_tech = list("materials" = 4, "magnets" = 3, "engineering" = 4)
req_tech = list("materials" = 4, "magnets" = 3, "engineering" = 4, "plasmatech" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL = 200, MAT_GLASS = 300, MAT_PLASMA = 100)
materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_PLASMA = 100)
build_path = /obj/item/clothing/glasses/meson/engine
category = list("Equipment")
@@ -412,7 +390,7 @@ datum/design/diagnostic_hud_night
id = "tray_goggles"
req_tech = list("materials" = 3, "magnets" = 2, "engineering" = 2)
build_type = PROTOLATHE
materials = list(MAT_METAL = 200, MAT_GLASS = 300)
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
build_path = /obj/item/clothing/glasses/meson/engine/tray
category = list("Equipment")
@@ -420,9 +398,9 @@ datum/design/diagnostic_hud_night
name = "Night Vision Optical Meson Scanners"
desc = "Prototype meson scanners fitted with an extra sensor which amplifies the visible light spectrum and overlays it to the UHD display."
id = "nvgmesons"
req_tech = list("materials" = 5, "magnets" = 5, "engineering" = 4)
req_tech = list("magnets" = 5, "plasmatech" = 5, "engineering" = 6)
build_type = PROTOLATHE
materials = list(MAT_METAL = 300, MAT_GLASS = 400, MAT_PLASMA = 250, MAT_URANIUM = 1000)
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_PLASMA = 350, MAT_URANIUM = 1000)
build_path = /obj/item/clothing/glasses/meson/night
category = list("Equipment")
@@ -430,9 +408,9 @@ datum/design/diagnostic_hud_night
name = "Night Vision Goggles"
desc = "Goggles that let you see through darkness unhindered."
id = "night_visision_goggles"
req_tech = list("magnets" = 4)
req_tech = list("materials" = 4, "magnets" = 5, "plasmatech" = 5, "engineering" = 5)
build_type = PROTOLATHE
materials = list(MAT_METAL = 100, MAT_GLASS = 100, MAT_URANIUM = 1000)
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_PLASMA = 350, MAT_URANIUM = 1000)
build_path = /obj/item/clothing/glasses/night
category = list("Equipment")
@@ -450,19 +428,19 @@ datum/design/diagnostic_hud_night
name = "Science Goggles"
desc = "Goggles fitted with a portable analyzer capable of determining the research worth of an item or components of a machine."
id = "scigoggles"
req_tech = list("materials" = 3, "magnets" = 3, "engineering" = 2)
req_tech = list("magnets" = 2)
build_type = PROTOLATHE
materials = list(MAT_METAL = 250, MAT_GLASS = 300)
materials = list(MAT_METAL = 500, MAT_GLASS = 500)
build_path = /obj/item/clothing/glasses/science
category = list("Equipment")
/datum/design/diskplantgene
name = "plant data disk"
name = "Plant data disk"
desc = "A disk for storing plant genetic data."
id = "diskplantgene"
req_tech = list("programming" = 4, "biotech" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL=30, MAT_GLASS=10)
materials = list(MAT_METAL=200, MAT_GLASS=100)
build_path = /obj/item/weapon/disk/plantgene
category = list("Electronics")
@@ -484,7 +462,7 @@ datum/design/diagnostic_hud_night
name = "Trashbag of Holding"
desc = "An advanced trashabg with bluespace properties; capable of holding a plethora of garbage."
id = "blutrash"
req_tech = list("materials" = 5, "bluespace" = 3)
req_tech = list("materials" = 5, "bluespace" = 4, "engineering" = 4, "plasmatech" = 3)
build_type = PROTOLATHE
materials = list(MAT_GOLD = 1500, MAT_URANIUM = 250, MAT_PLASMA = 1500)
build_path = /obj/item/weapon/storage/bag/trash/bluespace
@@ -494,7 +472,7 @@ datum/design/diagnostic_hud_night
name = "Floor Buffer Upgrade"
desc = "A floor buffer that can be attached to vehicular janicarts."
id = "buffer"
req_tech = list("materials" = 5, "engineering" = 3)
req_tech = list("materials" = 4, "engineering" = 4)
build_type = PROTOLATHE
materials = list(MAT_METAL = 3000, MAT_GLASS = 200)
build_path = /obj/item/janiupgrade
@@ -504,7 +482,7 @@ datum/design/diagnostic_hud_night
name = "Holographic Sign Projector"
desc = "A holograpic projector used to project various warning signs."
id = "holosign"
req_tech = list("magnets" = 3, "powerstorage" = 2)
req_tech = list("magnets" = 3, "programming" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL = 2000, MAT_GLASS = 1000)
build_path = /obj/item/weapon/holosign_creator
@@ -518,7 +496,7 @@ datum/design/diagnostic_hud_night
name = "Experimental Welding Tool"
desc = "An experimental welder capable of self-fuel generation."
id = "exwelder"
req_tech = list("materials" = 4, "engineering" = 4, "bluespace" = 3, "plasmatech" = 3)
req_tech = list("materials" = 4, "engineering" = 5, "bluespace" = 3, "plasmatech" = 4)
build_type = PROTOLATHE
materials = list(MAT_METAL = 1000, MAT_GLASS = 500, MAT_PLASMA = 1500, MAT_URANIUM = 200)
build_path = /obj/item/weapon/weldingtool/experimental
@@ -6,7 +6,7 @@
name = "AI Design (AI Core)"
desc = "Allows for the construction of circuit boards used to build new AI cores."
id = "aicore"
req_tech = list("programming" = 4, "biotech" = 3)
req_tech = list("programming" = 3)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/aicore
@@ -17,7 +17,7 @@
name = "Module Design (Safeguard)"
desc = "Allows for the construction of a Safeguard AI Module."
id = "safeguard_module"
req_tech = list("programming" = 3, "materials" = 4)
req_tech = list("programming" = 3, "materials" = 3)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20, MAT_GOLD = 100)
build_path = /obj/item/weapon/aiModule/supplied/safeguard
@@ -27,7 +27,7 @@
name = "Module Design (OneHuman)"
desc = "Allows for the construction of a OneHuman AI Module."
id = "onehuman_module"
req_tech = list("programming" = 4, "materials" = 6)
req_tech = list("programming" = 6, "materials" = 4)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20, MAT_DIAMOND = 100)
build_path = /obj/item/weapon/aiModule/zeroth/oneHuman
@@ -37,7 +37,7 @@
name = "Module Design (ProtectStation)"
desc = "Allows for the construction of a ProtectStation AI Module."
id = "protectstation_module"
req_tech = list("programming" = 3, "materials" = 6)
req_tech = list("programming" = 5, "materials" = 4)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20, MAT_GOLD = 100)
build_path = /obj/item/weapon/aiModule/supplied/protectStation
@@ -58,7 +58,7 @@
name = "Module Design (OxygenIsToxicToHumans)"
desc = "Allows for the construction of a Safeguard AI Module."
id = "oxygen_module"
req_tech = list("programming" = 3, "biotech" = 2, "materials" = 4)
req_tech = list("programming" = 4, "biotech" = 2, "materials" = 4)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20, MAT_GOLD = 100)
build_path = /obj/item/weapon/aiModule/supplied/oxygen
@@ -68,7 +68,7 @@
name = "Module Design (Freeform)"
desc = "Allows for the construction of a Freeform AI Module."
id = "freeform_module"
req_tech = list("programming" = 4, "materials" = 4)
req_tech = list("programming" = 5, "materials" = 4)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20, MAT_GOLD = 100)
build_path = /obj/item/weapon/aiModule/supplied/freeform
@@ -78,7 +78,7 @@
name = "Module Design (Reset)"
desc = "Allows for the construction of a Reset AI Module."
id = "reset_module"
req_tech = list("programming" = 3, "materials" = 6)
req_tech = list("programming" = 4, "materials" = 6)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20, MAT_GOLD = 100)
build_path = /obj/item/weapon/aiModule/reset
@@ -88,7 +88,7 @@
name = "Module Design (Purge)"
desc = "Allows for the construction of a Purge AI Module."
id = "purge_module"
req_tech = list("programming" = 4, "materials" = 6)
req_tech = list("programming" = 5, "materials" = 6)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20, MAT_DIAMOND = 100)
build_path = /obj/item/weapon/aiModule/reset/purge
@@ -98,7 +98,7 @@
name = "AI Core Module (Freeform)"
desc = "Allows for the construction of a Freeform AI Core Module."
id = "freeformcore_module"
req_tech = list("programming" = 4, "materials" = 6)
req_tech = list("programming" = 6, "materials" = 6)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20, MAT_DIAMOND = 100)
build_path = /obj/item/weapon/aiModule/core/freeformcore
@@ -108,7 +108,7 @@
name = "Core Module Design (Asimov)"
desc = "Allows for the construction of a Asimov AI Core Module."
id = "asimov_module"
req_tech = list("programming" = 3, "materials" = 6)
req_tech = list("programming" = 3, "materials" = 5)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20, MAT_DIAMOND = 100)
build_path = /obj/item/weapon/aiModule/core/full/asimov
@@ -118,7 +118,7 @@
name = "Core Module Design (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)
req_tech = list("programming" = 5, "materials" = 5)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20, MAT_DIAMOND = 100)
build_path = /obj/item/weapon/aiModule/core/full/paladin
@@ -128,7 +128,7 @@
name = "Core Module Design (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)
req_tech = list("programming" = 5, "syndicate" = 2, "materials" = 5)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20, MAT_DIAMOND = 100)
build_path = /obj/item/weapon/aiModule/core/full/tyrant
@@ -138,7 +138,7 @@
name = "Core Module Design (Corporate)"
desc = "Allows for the construction of a Corporate AI Core Module."
id = "corporate_module"
req_tech = list("programming" = 4, "materials" = 6)
req_tech = list("programming" = 5, "materials" = 5)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20, MAT_DIAMOND = 100)
build_path = /obj/item/weapon/aiModule/core/full/corp
@@ -148,7 +148,7 @@
name = "Core Module Design (Custom)"
desc = "Allows for the construction of a Custom AI Core Module."
id = "custom_module"
req_tech = list("programming" = 4, "materials" = 6)
req_tech = list("programming" = 5, "materials" = 5)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20, MAT_DIAMOND = 100)
build_path = /obj/item/weapon/aiModule/core/full/custom
@@ -4,7 +4,7 @@
name = "Computer Design (Security)"
desc = "Allows for the construction of circuit boards used to build security camera computers."
id = "seccamera"
req_tech = list("programming" = 2)
req_tech = list("programming" = 2, "combat" = 2)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/computer/security
@@ -14,7 +14,7 @@
name = "Computer Design (AI Upload)"
desc = "Allows for the construction of circuit boards used to build an AI Upload Console."
id = "aiupload"
req_tech = list("programming" = 4)
req_tech = list("programming" = 5, "engineering" = 4)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/computer/aiupload
@@ -24,7 +24,7 @@
name = "Computer Design (Cyborg Upload)"
desc = "Allows for the construction of circuit boards used to build a Cyborg Upload Console."
id = "borgupload"
req_tech = list("programming" = 4)
req_tech = list("programming" = 5, "engineering" = 4)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/computer/borgupload
@@ -34,7 +34,7 @@
name = "Computer Design (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)
req_tech = list("programming" = 2, "biotech" = 2)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/computer/med_data
@@ -44,7 +44,7 @@
name = "Computer Design (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)
req_tech = list("programming" = 2, "biotech" = 3)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/computer/operating
@@ -54,7 +54,7 @@
name = "Computer Design (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)
req_tech = list("programming" = 3, "biotech" = 3)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/computer/pandemic
@@ -64,7 +64,7 @@
name = "Computer Design (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)
req_tech = list("programming" = 2, "biotech" = 2)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/computer/scan_consolenew
@@ -74,7 +74,7 @@
name = "Computer Design (Communications)"
desc = "Allows for the construction of circuit boards used to build a communications console."
id = "comconsole"
req_tech = list("programming" = 2, "magnets" = 2)
req_tech = list("programming" = 3, "magnets" = 3)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/computer/communications
@@ -84,7 +84,7 @@
name = "Computer Design (ID Console)"
desc = "Allows for the construction of circuit boards used to build an ID computer."
id = "idcardconsole"
req_tech = list("programming" = 2)
req_tech = list("programming" = 3)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/computer/card
@@ -100,12 +100,11 @@
build_path = /obj/item/weapon/circuitboard/computer/crew
category = list("Computer Boards")
/datum/design/secdata
name = "Computer Design (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)
req_tech = list("programming" = 2, "combat" = 2)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/computer/secure_data
@@ -155,7 +154,7 @@
name = "Computer Design (Orion Trail Arcade Machine)"
desc = "Allows for the construction of circuit boards used to build a new Orion Trail machine."
id = "arcademachine"
req_tech = list("programming" = 2)
req_tech = list("programming" = 1)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/computer/arcade/orion_trail
@@ -165,7 +164,7 @@
name = "Computer Design (Slot Machine)"
desc = "Allows for the construction of circuit boards used to build a new slot machine."
id = "slotmachine"
req_tech = list("programming" = 2)
req_tech = list("programming" = 1)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/computer/slot_machine
@@ -175,7 +174,7 @@
name = "Computer Design (Power Monitor)"
desc = "Allows for the construction of circuit boards used to build a new power monitor."
id = "powermonitor"
req_tech = list("programming" = 2)
req_tech = list("programming" = 2, "powerstorage" = 2)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/computer/powermonitor
@@ -215,7 +214,7 @@
name = "Computer Design (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)
req_tech = list("programming" = 3, "powerstorage" = 3)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/computer/mech_bay_power_console
@@ -265,7 +264,7 @@
name = "Computer Design (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)
req_tech = list("programming" = 3, "magnets" = 3, "bluespace" = 2)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/computer/comm_monitor
@@ -275,7 +274,7 @@
name = "Computer Design (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)
req_tech = list("programming" = 3, "magnets" = 3, "bluespace" = 2)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/computer/comm_server
@@ -295,7 +294,7 @@
name = "Computer Design (AI Integrity Restorer)"
desc = "Allows for the construction of circuit boards used to build an AI Integrity Restorer."
id = "aifixer"
req_tech = list("programming" = 3, "biotech" = 2)
req_tech = list("programming" = 4, "magnets" = 3)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/computer/aifixer
@@ -16,7 +16,7 @@
name = "Machine Design (Automated Announcement System Board)"
desc = "The circuit board for an automated announcement system."
id = "automated_announcement"
req_tech = list("programming" = 3, "bluespace" = 2)
req_tech = list("programming" = 3, "bluespace" = 3, "magnets" = 2)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/machine/announcement_system
@@ -26,7 +26,7 @@
name = "Computer Design (Power Turbine Console Board)"
desc = "The circuit board for a power turbine console."
id = "power_turbine_console"
req_tech = list("programming" = 4, "powerstorage" = 4, "engineering" = 4)
req_tech = list("programming" = 4, "powerstorage" = 5, "engineering" = 4)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/computer/turbine_computer
@@ -36,7 +36,7 @@
name = "Machine Design (Emitter Board)"
desc = "The circuit board for an emitter."
id = "emitter"
req_tech = list("programming" = 4, "powerstorage" = 5, "engineering" = 5)
req_tech = list("programming" = 3, "powerstorage" = 5, "engineering" = 4)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/machine/emitter
@@ -76,7 +76,7 @@
name = "Machine Design (Space Heater Board)"
desc = "The circuit board for a space heater."
id = "space_heater"
req_tech = list("programming" = 2, "engineering" = 2)
req_tech = list("programming" = 2, "engineering" = 2, "plasmatech" = 2)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/machine/space_heater
@@ -86,7 +86,7 @@
name = "Machine Design (Teleportation Station Board)"
desc = "The circuit board for a teleportation station."
id = "tele_station"
req_tech = list("programming" = 4, "bluespace" = 4, "engineering" = 4)
req_tech = list("programming" = 5, "bluespace" = 4, "engineering" = 4, "plasmatech" = 4)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/machine/teleporter_station
@@ -106,7 +106,7 @@
name = "Machine Design (Telepad Board)"
desc = "The circuit board for a telescience telepad."
id = "telepad"
req_tech = list("programming" = 4, "bluespace" = 4, "materials" = 3, "engineering" = 3)
req_tech = list("programming" = 4, "bluespace" = 5, "plasmatech" = 4, "engineering" = 4)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/machine/telesci_pad
@@ -116,7 +116,7 @@
name = "Computer Design (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)
req_tech = list("programming" = 3, "bluespace" = 3, "plasmatech" = 4)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/computer/teleporter
@@ -126,7 +126,7 @@
name = "Computer Design (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)
req_tech = list("programming" = 3, "bluespace" = 3, "plasmatech" = 4)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/computer/telesci_console
@@ -136,7 +136,7 @@
name = "Machine Design (Sleeper Board)"
desc = "The circuit board for a sleeper."
id = "sleeper"
req_tech = list("programming" = 3, "biotech" = 2, "materials" = 3, "engineering" = 3)
req_tech = list("programming" = 3, "biotech" = 2, "engineering" = 3)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/machine/sleeper
@@ -146,7 +146,7 @@
name = "Machine Design (Cryotube Board)"
desc = "The circuit board for a cryotube."
id = "cryotube"
req_tech = list("programming" = 4, "biotech" = 3, "engineering" = 4)
req_tech = list("programming" = 5, "biotech" = 3, "engineering" = 4, "plasmatech" = 3)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/machine/cryo_tube
@@ -156,7 +156,7 @@
name = "Machine Design (Portable Chem Dispenser Board)"
desc = "The circuit board for a portable chem dispenser."
id = "chem_dispenser"
req_tech = list("programming" = 4, "biotech" = 3, "engineering" = 4, "materials" = 4, "plasmatech" = 3)
req_tech = list("programming" = 5, "biotech" = 3, "materials" = 4, "plasmatech" = 4)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/machine/chem_dispenser
@@ -166,7 +166,7 @@
name = "Machine Design (Chem Master Board)"
desc = "The circuit board for a Chem Master 2999."
id = "chem_master"
req_tech = list("biotech" = 1, "materials" = 2, "programming" = 2)
req_tech = list("biotech" = 3, "materials" = 3, "programming" = 2)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/machine/chem_master
@@ -176,7 +176,7 @@
name = "Machine Design (Chemical Heater Board)"
desc = "The circuit board for a chemical heater."
id = "chem_heater"
req_tech = list("engineering" = 2, "materials" = 2)
req_tech = list("engineering" = 2, "biotech" = 2, "programming" = 2)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/machine/chem_heater
@@ -186,7 +186,7 @@
name = "Computer Design (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)
req_tech = list("programming" = 4, "biotech" = 3)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/computer/cloning
@@ -196,7 +196,7 @@
name = "Machine Design (Clone Pod)"
desc = "Allows for the construction of circuit boards used to build a Cloning Pod."
id = "clonepod"
req_tech = list("programming" = 3, "biotech" = 3)
req_tech = list("programming" = 4, "biotech" = 3)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/machine/clonepod
@@ -206,7 +206,7 @@
name = "Machine Design (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)
req_tech = list("programming" = 4, "biotech" = 3)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/machine/clonescanner
@@ -216,7 +216,7 @@
name = "Machine Design (Biogenerator Board)"
desc = "The circuit board for a biogenerator."
id = "biogenerator"
req_tech = list("programming" = 3, "biotech" = 2, "materials" = 3)
req_tech = list("programming" = 2, "biotech" = 3, "materials" = 3)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/machine/biogenerator
@@ -226,7 +226,7 @@
name = "Machine Design (Hydroponics Tray Board)"
desc = "The circuit board for a hydroponics tray."
id = "hydro_tray"
req_tech = list("programming" = 1, "biotech" = 1)
req_tech = list("biotech" = 2)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/machine/hydroponics
@@ -316,7 +316,7 @@
name = "Machine Design (Mechbay Recharger Board)"
desc = "The circuit board for a Mechbay Recharger."
id = "mech_recharger"
req_tech = list("programming" = 3, "powerstorage" = 4, "engineering" = 4)
req_tech = list("programming" = 3, "powerstorage" = 4, "engineering" = 3)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/machine/mech_recharger
@@ -326,7 +326,7 @@
name = "Machine Design (Microwave Board)"
desc = "The circuit board for a microwave."
id = "microwave"
req_tech = list("programming" = 1)
req_tech = list("programming" = 2, "magnets" = 2)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/machine/microwave
@@ -336,7 +336,7 @@
name = "Machine Design (Gibber Board)"
desc = "The circuit board for a gibber."
id = "gibber"
req_tech = list("programming" = 1)
req_tech = list("programming" = 2, "engineering" = 2)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/machine/gibber
@@ -386,7 +386,7 @@
name = "Machine Design (Recycler Board)"
desc = "The circuit board for a recycler."
id = "recycler"
req_tech = list("programming" = 1)
req_tech = list("programming" = 2, "engineering" = 2)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/machine/recycler
@@ -406,7 +406,7 @@
name = "Machine Design (Autolathe Board)"
desc = "The circuit board for an autolathe."
id = "autolathe"
req_tech = list("programming" = 2, "engineering" = 2)
req_tech = list("programming" = 3, "engineering" = 3)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/machine/autolathe
@@ -416,7 +416,7 @@
name = "Machine Design (Weapon Recharger Board)"
desc = "The circuit board for a Weapon Recharger."
id = "recharger"
req_tech = list("powerstorage" = 3, "engineering" = 3, "materials" = 4)
req_tech = list("powerstorage" = 4, "engineering" = 3, "materials" = 4)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20, MAT_GOLD = 100)
build_path = /obj/item/weapon/circuitboard/machine/recharger
@@ -436,18 +436,17 @@
name = "Machine Design (Ore Redemption Board)"
desc = "The circuit board for an Ore Redemption machine."
id = "ore_redemption"
req_tech = list("programming" = 1, "engineering" = 2)
req_tech = list("programming" = 2, "engineering" = 2, "plasmatech" = 3)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/machine/ore_redemption
category = list ("Misc. Machinery")
/datum/design/mining_equipment_vendor
name = "Machine Design (Mining Rewards Vender Board)"
desc = "The circuit board for a Mining Rewards Vender."
id = "mining_equipment_vendor"
req_tech = list("programming" = 1, "engineering" = 2)
req_tech = list("engineering" = 3)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/machine/mining_equipment_vendor
@@ -457,7 +456,7 @@
name = "Machine Design (Tesla Coil Board)"
desc = "The circuit board for a tesla coil."
id = "tesla_coil"
req_tech = list("programming" = 1)
req_tech = list("programming" = 3, "powerstorage" = 3, "magnets" = 3)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/machine/tesla_coil
@@ -467,7 +466,7 @@
name = "Machine Design (Grounding Rod Board)"
desc = "The circuit board for a grounding rod."
id = "grounding_rod"
req_tech = list("programming" = 1)
req_tech = list("programming" = 3, "powerstorage" = 3, "magnets" = 3, "plasmatech" = 2)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/machine/grounding_rod
+36 -36
View File
@@ -6,7 +6,7 @@
name = "APLU \"Ripley\" Central Control module"
desc = "Allows for the construction of a \"Ripley\" Central Control module."
id = "ripley_main"
req_tech = list("programming" = 3)
req_tech = list("programming" = 2)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/ripley/main
@@ -16,7 +16,7 @@
name = "APLU \"Ripley\" Peripherals Control module"
desc = "Allows for the construction of a \"Ripley\" Peripheral Control module."
id = "ripley_peri"
req_tech = list("programming" = 3)
req_tech = list("programming" = 2)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/ripley/peripherals
@@ -26,7 +26,7 @@
name = "\"Odysseus\" Central Control module"
desc = "Allows for the construction of a \"Odysseus\" Central Control module."
id = "odysseus_main"
req_tech = list("programming" = 3,"biotech" = 2)
req_tech = list("programming" = 3,"biotech" = 3, "engineering" = 3)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/odysseus/main
@@ -36,7 +36,7 @@
name = "\"Odysseus\" Peripherals Control module"
desc = "Allows for the construction of a \"Odysseus\" Peripheral Control module."
id = "odysseus_peri"
req_tech = list("programming" = 3,"biotech" = 2)
req_tech = list("programming" = 3,"biotech" = 3, "engineering" = 3)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/odysseus/peripherals
@@ -46,7 +46,7 @@
name = "\"Gygax\" Central Control module"
desc = "Allows for the construction of a \"Gygax\" Central Control module."
id = "gygax_main"
req_tech = list("programming" = 4)
req_tech = list("programming" = 4, "combat" = 3, "engineering" = 4)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/gygax/main
@@ -56,7 +56,7 @@
name = "\"Gygax\" Peripherals Control module"
desc = "Allows for the construction of a \"Gygax\" Peripheral Control module."
id = "gygax_peri"
req_tech = list("programming" = 4)
req_tech = list("programming" = 4, "combat" = 3, "engineering" = 4)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/gygax/peripherals
@@ -66,7 +66,7 @@
name = "\"Gygax\" Weapons & Targeting Control module"
desc = "Allows for the construction of a \"Gygax\" Weapons & Targeting Control module."
id = "gygax_targ"
req_tech = list("programming" = 4, "combat" = 2)
req_tech = list("programming" = 4, "combat" = 4, "engineering" = 4)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/gygax/targeting
@@ -76,7 +76,7 @@
name = "\"Durand\" Central Control module"
desc = "Allows for the construction of a \"Durand\" Central Control module."
id = "durand_main"
req_tech = list("programming" = 4)
req_tech = list("programming" = 4, "combat" = 4, "engineering" = 4)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/durand/main
@@ -86,7 +86,7 @@
name = "\"Durand\" Peripherals Control module"
desc = "Allows for the construction of a \"Durand\" Peripheral Control module."
id = "durand_peri"
req_tech = list("programming" = 4)
req_tech = list("programming" = 4, "combat" = 4, "engineering" = 4)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/durand/peripherals
@@ -96,7 +96,7 @@
name = "\"Durand\" Weapons & Targeting Control module"
desc = "Allows for the construction of a \"Durand\" Weapons & Targeting Control module."
id = "durand_targ"
req_tech = list("programming" = 4, "combat" = 2)
req_tech = list("programming" = 5, "combat" = 4, "engineering" = 4)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/durand/targeting
@@ -106,7 +106,7 @@
name = "\"H.O.N.K\" Central Control module"
desc = "Allows for the construction of a \"H.O.N.K\" Central Control module."
id = "honker_main"
req_tech = list("programming" = 3)
req_tech = list("programming" = 3, "engineering" = 3)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/honker/main
@@ -116,7 +116,7 @@
name = "\"H.O.N.K\" Peripherals Control module"
desc = "Allows for the construction of a \"H.O.N.K\" Peripheral Control module."
id = "honker_peri"
req_tech = list("programming" = 3)
req_tech = list("programming" = 3, "engineering" = 3)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/honker/peripherals
@@ -126,7 +126,7 @@
name = "\"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"
req_tech = list("programming" = 3)
req_tech = list("programming" = 3, "engineering" = 3)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/honker/targeting
@@ -136,7 +136,7 @@
name = "\"Phazon\" Central Control module"
desc = "Allows for the construction of a \"Phazon\" Central Control module."
id = "phazon_main"
req_tech = list("programming" = 5, "materials" = 7, "powerstorage" = 6)
req_tech = list("programming" = 6, "materials" = 6, "plasmatech" = 5)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/phazon/main
@@ -146,7 +146,7 @@
name = "\"Phazon\" Peripherals Control module"
desc = "Allows for the construction of a \"Phazon\" Peripheral Control module."
id = "phazon_peri"
req_tech = list("programming" = 5, "bluespace" = 6)
req_tech = list("programming" = 6, "bluespace" = 5, "plasmatech" = 5)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/phazon/peripherals
@@ -156,7 +156,7 @@
name = "\"Phazon\" Weapons & Targeting Control module"
desc = "Allows for the construction of a \"Phazon\" Weapons & Targeting Control module."
id = "phazon_targ"
req_tech = list("programming" = 5, "magnets" = 6)
req_tech = list("programming" = 6, "magnets" = 5, "plasmatech" = 5)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/mecha/phazon/targeting
@@ -204,7 +204,7 @@
desc = "Allows for the construction of CH-PS Laser."
id = "mech_laser"
build_type = MECHFAB
req_tech = list("combat" = 3, "magnets" = 3)
req_tech = list("combat" = 3, "magnets" = 3, "engineering" = 3)
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser
materials = list(MAT_METAL=10000)
construction_time = 100
@@ -215,7 +215,7 @@
desc = "Allows for the construction of CH-LC Laser Cannon."
id = "mech_laser_heavy"
build_type = MECHFAB
req_tech = list("combat" = 4, "magnets" = 4)
req_tech = list("combat" = 4, "magnets" = 4, "engineering" = 4)
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/laser/heavy
materials = list(MAT_METAL=10000)
construction_time = 100
@@ -226,7 +226,7 @@
desc = "Allows for the construction of SGL-6 Grenade Launcher."
id = "mech_grenade_launcher"
build_type = MECHFAB
req_tech = list("combat" = 3)
req_tech = list("combat" = 4, "engineering" = 4)
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/flashbang
materials = list(MAT_METAL=22000,MAT_GOLD=6000,MAT_SILVER=8000)
construction_time = 100
@@ -237,7 +237,7 @@
desc = "Allows for the construction of SRM-8 Missile Rack."
id = "mech_missile_rack"
build_type = MECHFAB
req_tech = list("combat" = 6, "materials" = 6)
req_tech = list("combat" = 6, "materials" = 5, "engineering" = 5)
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/missile_rack
materials = list(MAT_METAL=22000,MAT_GOLD=6000,MAT_SILVER=8000)
construction_time = 100
@@ -259,7 +259,7 @@
desc = "An exosuit module that allows generating of small quasi-stable wormholes."
id = "mech_wormhole_gen"
build_type = MECHFAB
req_tech = list("bluespace" = 3, "magnets" = 2)
req_tech = list("bluespace" = 4, "magnets" = 4, "plasmatech" = 3)
build_path = /obj/item/mecha_parts/mecha_equipment/wormhole_generator
materials = list(MAT_METAL=10000)
construction_time = 100
@@ -270,9 +270,9 @@
desc = "An exosuit module that allows exosuits to teleport to any position in view."
id = "mech_teleporter"
build_type = MECHFAB
req_tech = list("bluespace" = 10, "magnets" = 5)
req_tech = list("bluespace" = 8, "magnets" = 5)
build_path = /obj/item/mecha_parts/mecha_equipment/teleporter
materials = list(MAT_METAL=10000)
materials = list(MAT_METAL=10000,MAT_DIAMOND=10000)
construction_time = 100
category = list("Exosuit Equipment")
@@ -281,7 +281,7 @@
desc = "An exosuit-mounted Rapid Construction Device."
id = "mech_rcd"
build_type = MECHFAB
req_tech = list("materials" = 4, "bluespace" = 3, "magnets" = 4, "powerstorage"=4, "engineering" = 4)
req_tech = list("materials" = 5, "bluespace" = 3, "magnets" = 4, "powerstorage"=4, "engineering" = 5)
build_path = /obj/item/mecha_parts/mecha_equipment/rcd
materials = list(MAT_METAL=30000,MAT_GOLD=20000,MAT_PLASMA=25000,MAT_SILVER=20000)
construction_time = 1200
@@ -292,7 +292,7 @@
desc = "An exosuit mounted Gravitational Catapult."
id = "mech_gravcatapult"
build_type = MECHFAB
req_tech = list("bluespace" = 2, "magnets" = 3, "engineering" = 3)
req_tech = list("bluespace" = 4, "magnets" = 3, "engineering" = 4)
build_path = /obj/item/mecha_parts/mecha_equipment/gravcatapult
materials = list(MAT_METAL=10000)
construction_time = 100
@@ -303,7 +303,7 @@
desc = "Automated Repair Droid. BEEP BOOP"
id = "mech_repair_droid"
build_type = MECHFAB
req_tech = list("magnets" = 3, "programming" = 3, "engineering" = 3)
req_tech = list("magnets" = 3, "programming" = 3, "engineering" = 5)
build_path = /obj/item/mecha_parts/mecha_equipment/repair_droid
materials = list(MAT_METAL=10000,MAT_GLASS=5000,MAT_GOLD=1000,MAT_SILVER=2000)
construction_time = 100
@@ -314,7 +314,7 @@
desc = "Tesla Energy Relay"
id = "mech_energy_relay"
build_type = MECHFAB
req_tech = list("magnets" = 4, "powerstorage" = 3)
req_tech = list("magnets" = 4, "powerstorage" = 5, "engineering" = 4)
build_path = /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay
materials = list(MAT_METAL=10000,MAT_GLASS=2000,MAT_GOLD=2000,MAT_SILVER=3000)
construction_time = 100
@@ -347,7 +347,7 @@
desc = "An upgraded version of the standard drill."
id = "mech_diamond_drill"
build_type = MECHFAB
req_tech = list("materials" = 4, "engineering" = 3)
req_tech = list("materials" = 5, "engineering" = 4)
build_path = /obj/item/mecha_parts/mecha_equipment/drill/diamonddrill
materials = list(MAT_METAL=10000,MAT_DIAMOND=6500)
construction_time = 100
@@ -358,7 +358,7 @@
desc = "Compact nuclear reactor module."
id = "mech_generator_nuclear"
build_type = MECHFAB
req_tech = list("powerstorage"= 3, "engineering" = 3, "materials" = 3)
req_tech = list("powerstorage"= 5, "engineering" = 4, "materials" = 3)
build_path = /obj/item/mecha_parts/mecha_equipment/generator/nuclear
materials = list(MAT_METAL=10000,MAT_GLASS=1000,MAT_SILVER=500)
construction_time = 100
@@ -369,7 +369,7 @@
desc = "A device that shoots resonant plasma bursts at extreme velocity. The blasts are capable of crushing rock and demolishing solid obstacles."
id = "mech_plasma_cutter"
build_type = MECHFAB
req_tech = list("powerstorage"= 3, "engineering" = 3, "materials" = 3, "combat" = 1, "plasmatech" = 2)
req_tech = list("engineering" = 3, "materials" = 3, "plasmatech" = 4)
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/plasma
materials = list(MAT_METAL = 8000, MAT_GLASS = 1000, MAT_PLASMA = 2000)
construction_time = 100
@@ -380,7 +380,7 @@
desc = "A weapon for combat exosuits. Shoots non-lethal stunning electrodes."
id = "mech_taser"
build_type = MECHFAB
req_tech = list("combat" = 2)
req_tech = list("combat" = 3)
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/energy/taser
materials = list(MAT_METAL=10000)
construction_time = 100
@@ -391,7 +391,7 @@
desc = "A weapon for combat exosuits. Shoots a rapid, three shot burst."
id = "mech_lmg"
build_type = MECHFAB
req_tech = list("combat" = 2)
req_tech = list("combat" = 4)
build_path = /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/lmg
materials = list(MAT_METAL=10000)
construction_time = 100
@@ -402,7 +402,7 @@
desc = "Equipment for medical exosuits. A mounted sleeper that stabilizes patients and can inject reagents in the exosuit's reserves."
id = "mech_sleeper"
build_type = MECHFAB
req_tech = list("biotech" = 2)
req_tech = list("biotech" = 3, "engineering" = 3, "plasmatech" = 2)
build_path = /obj/item/mecha_parts/mecha_equipment/medical/sleeper
materials = list(MAT_METAL=5000,MAT_GLASS=10000)
construction_time = 100
@@ -413,7 +413,7 @@
desc = "Equipment for medical exosuits. A chem synthesizer with syringe gun. Reagents inside are held in stasis, so no reactions will occur."
id = "mech_syringe_gun"
build_type = MECHFAB
req_tech = list("magnets" = 3,"biotech" = 3)
req_tech = list("magnets" = 4,"biotech" = 4, "combat" = 3, "materials" = 4)
build_path = /obj/item/mecha_parts/mecha_equipment/medical/syringe_gun
materials = list(MAT_METAL=3000,MAT_GLASS=2000)
construction_time = 200
@@ -423,9 +423,9 @@
name = "Exosuit Medical Equipment (Medical Beamgun)"
desc = "Equipment for medical exosuits. A mounted medical nanite projector which will treat patients with a focused beam."
id = "mech_medi_beam"
req_tech = list("combat" = 5, "materials" = 7, "powerstorage" = 7, "biotech" = 6)
req_tech = list("engineering" = 6, "materials" = 7, "powerstorage" = 5, "biotech" = 6)
build_type = MECHFAB
materials = list(MAT_METAL = 15000, MAT_GLASS = 8000, MAT_PLASMA = 3000, MAT_GOLD = 8000, MAT_DIAMOND = 2000)
construction_time = 250
build_path = /obj/item/mecha_parts/mecha_equipment/medical/mechmedbeam
category = list("Exosuit Equipment")
category = list("Exosuit Equipment")
@@ -536,7 +536,7 @@
id = "mech_generator"
build_type = MECHFAB
build_path = /obj/item/mecha_parts/mecha_equipment/generator
materials = list(MAT_METAL=10000,MAT_GLASS=1000,MAT_SILVER=500)
materials = list(MAT_METAL=10000,MAT_GLASS=1000,MAT_SILVER=2000,MAT_PLASMA=5000)
construction_time = 100
category = list("Exosuit Equipment")
@@ -603,7 +603,7 @@
id = "borg_upgrade_vtec"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/vtec
req_tech = list("engineering" = 4, "materials" = 5)
req_tech = list("engineering" = 4, "materials" = 5, "programming" = 4)
materials = list(MAT_METAL=80000 , MAT_GLASS=6000 , MAT_URANIUM= 5000)
construction_time = 120
category = list("Cyborg Upgrade Modules")
@@ -623,7 +623,7 @@
id = "borg_upgrade_disablercooler"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/disablercooler
req_tech = list("combat" = 5, "powerstorage" = 4)
req_tech = list("combat" = 5, "powerstorage" = 4, "engineering" = 4)
materials = list(MAT_METAL=80000 , MAT_GLASS=6000 , MAT_GOLD= 2000, MAT_DIAMOND = 500)
construction_time = 120
category = list("Cyborg Upgrade Modules")
@@ -633,7 +633,7 @@
id = "borg_upgrade_diamonddrill"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/ddrill
req_tech = list("engineering" = 5, "materials" = 5)
req_tech = list("engineering" = 5, "materials" = 6)
materials = list(MAT_METAL=10000, MAT_DIAMOND=2000)
construction_time = 120
category = list("Cyborg Upgrade Modules")
@@ -643,7 +643,7 @@
id = "borg_upgrade_holding"
build_type = MECHFAB
build_path = /obj/item/borg/upgrade/soh
req_tech = list("engineering" = 5, "materials" = 5, "bluespace" = 3)
req_tech = list("engineering" = 4, "materials" = 4, "bluespace" = 4)
materials = list(MAT_METAL = 10000, MAT_GOLD = 250, MAT_URANIUM = 500)
construction_time = 120
category = list("Cyborg Upgrade Modules")
@@ -652,7 +652,7 @@
name = "Cyborg Upgrade (Illegal Modules)"
id = "borg_syndicate_module"
build_type = MECHFAB
req_tech = list("combat" = 4, "syndicate" = 3)
req_tech = list("combat" = 4, "syndicate" = 2)
build_path = /obj/item/borg/upgrade/syndicate
materials = list(MAT_METAL=10000,MAT_GLASS=15000,MAT_DIAMOND = 10000)
construction_time = 120
@@ -688,3 +688,14 @@
construction_time=150
build_path = /obj/item/drone_shell
category = list("Misc")
/datum/design/synthetic_flash
name = "Flash"
desc = "When a problem arises, SCIENCE is the solution."
id = "sflash"
req_tech = list("magnets" = 3, "combat" = 2)
build_type = MECHFAB
materials = list(MAT_METAL = 750, MAT_GLASS = 750)
construction_time = 100
build_path = /obj/item/device/assembly/flash/handheld
category = list("Misc")
@@ -7,10 +7,9 @@
name = "Mass-Spectrometer"
desc = "A device for analyzing chemicals in the blood."
id = "mass_spectrometer"
req_tech = list("biotech" = 2, "magnets" = 2)
req_tech = list("magnets" = 2, "plasmatech" = 2)
build_type = PROTOLATHE
materials = list(MAT_METAL = 30, MAT_GLASS = 20)
reliability = 76
materials = list(MAT_METAL = 300, MAT_GLASS = 100)
build_path = /obj/item/device/mass_spectrometer
category = list("Medical Designs")
@@ -18,10 +17,9 @@
name = "Advanced Mass-Spectrometer"
desc = "A device for analyzing chemicals in the blood and their quantities."
id = "adv_mass_spectrometer"
req_tech = list("biotech" = 2, "magnets" = 4)
req_tech = list("biotech" = 3, "magnets" = 4, "plasmatech" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL = 30, MAT_GLASS = 20)
reliability = 74
materials = list(MAT_METAL = 500, MAT_GLASS = 200)
build_path = /obj/item/device/mass_spectrometer/adv
category = list("Medical Designs")
@@ -29,11 +27,10 @@
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)
req_tech = list("programming" = 3, "biotech" = 2, "engineering" = 2)
build_type = PROTOLATHE | MECHFAB
materials = list(MAT_METAL = 1000, MAT_GLASS = 500)
construction_time = 75
reliability = 76
build_path = /obj/item/device/mmi
category = list("Misc","Medical Designs")
@@ -41,46 +38,30 @@
name = "Positronic Brain"
desc = "The latest in Artificial Intelligences."
id = "mmi_posi"
req_tech = list("programming" = 5, "biotech" = 4)
req_tech = list("programming" = 5, "biotech" = 4, "plasmatech" = 3)
build_type = PROTOLATHE | MECHFAB
materials = list(MAT_METAL = 1700, MAT_GLASS = 1350, MAT_GOLD = 500) //Gold, because SWAG.
reliability = 74
construction_time = 75
build_path = /obj/item/device/mmi/posibrain
category = list("Misc", "Medical Designs")
/datum/design/synthetic_flash
name = "Flash"
desc = "When a problem arises, SCIENCE is the solution."
id = "sflash"
req_tech = list("magnets" = 3, "combat" = 2)
build_type = MECHFAB
materials = list(MAT_METAL = 750, MAT_GLASS = 750)
construction_time = 100
reliability = 76
build_path = /obj/item/device/assembly/flash/handheld
category = list("Misc")
/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"
req_tech = list("bluespace" = 2, "materials" = 6)
req_tech = list("bluespace" = 6, "materials" = 5, "plasmatech" = 4)
build_type = PROTOLATHE
materials = list(MAT_METAL = 3000, MAT_PLASMA = 3000, MAT_DIAMOND = 500)
reliability = 76
materials = list(MAT_GLASS = 3000, MAT_PLASMA = 3000, MAT_DIAMOND = 500)
build_path = /obj/item/weapon/reagent_containers/glass/beaker/bluespace
category = list("Medical Designs", "Bluespace Designs")
category = list("Medical Designs")
/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)
req_tech = list("materials" = 3, "engineering" = 3, "plasmatech" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL = 3000)
reliability = 76
build_path = /obj/item/weapon/reagent_containers/glass/beaker/noreact
category = list("Medical Designs")
@@ -88,21 +69,19 @@
name = "Bluespace Syringe"
desc = "An advanced syringe that can hold 60 units of chemicals"
id = "bluespacesyringe"
req_tech = list("bluespace" = 3, "materials" = 4, "combat" = 2)
req_tech = list("bluespace" = 5, "materials" = 4, "biotech" = 4)
build_type = PROTOLATHE
materials = list(MAT_GLASS = 4000, MAT_PLASMA = 2000, MAT_DIAMOND = 2000)
reliability = 76
build_path = /obj/item/weapon/reagent_containers/syringe/bluespace
category = list("Medical Designs", "Bluespace Designs")
category = list("Medical Designs")
/datum/design/noreactsyringe
name = "Cryo Syringe"
desc = "An advanced syringe that stops reagents inside from reacting. It can hold up to 20 units."
id = "noreactsyringe"
req_tech = list("materials" = 2, "combat" = 2)
req_tech = list("materials" = 3, "engineering" = 3)
build_type = PROTOLATHE
materials = list(MAT_GLASS = 4000, MAT_GOLD = 1000)
reliability = 76
build_path = /obj/item/weapon/reagent_containers/syringe/noreact
category = list("Medical Designs")
@@ -110,10 +89,9 @@
name = "Piercing Syringe"
desc = "A diamond-tipped syringe that pierces armor when launched at high velocity. It can hold up to 10 units."
id = "piercesyringe"
req_tech = list("materials" = 3, "combat" = 3)
req_tech = list("materials" = 5, "combat" = 3, "engineering" = 7)
build_type = PROTOLATHE
materials = list(MAT_GLASS = 4000, MAT_DIAMOND = 1500)
reliability = 76
build_path = /obj/item/weapon/reagent_containers/syringe/piercing
category = list("Medical Designs")
@@ -121,10 +99,9 @@
name = "Bluespace body bag"
desc = "A bluespace body bag, powered by experimental bluespace technology. It can hold loads of bodies and the largest of creatures."
id = "bluespacebodybag"
req_tech = list("bluespace" = 2, "materials" = 6)
req_tech = list("bluespace" = 5, "materials" = 4, "plasmatech" = 4)
build_type = PROTOLATHE
materials = list(MAT_METAL = 3000, MAT_PLASMA = 2000, MAT_DIAMOND = 500)
reliability = 76
build_path = /obj/item/bodybag/bluespace
category = list("Medical Designs")
@@ -132,10 +109,9 @@
name = "Plasma-man jumpsuit refill"
desc = "A refill pack for the auto-extinguisher on Plasma-man suits."
id = "plasmarefiller"
req_tech = list("materials" = 2, "combat" = 2)
req_tech = list("materials" = 2, "plasmatech" = 3) //Why did this have no plasmatech
build_type = PROTOLATHE
materials = list(MAT_METAL = 4000, MAT_PLASMA = 1000)
reliability = 76
build_path = /obj/item/device/extinguisher_refill
category = list("Medical Designs")
@@ -147,10 +123,10 @@
name = "Welding Shield implant"
desc = "These reactive micro-shields will protect you from welders and flashes without obscuring your vision."
id = "ci-welding"
req_tech = list("materials" = 4, "biotech" = 2)
req_tech = list("materials" = 4, "biotech" = 4, "engineering" = 5, "plasmatech" = 4)
build_type = PROTOLATHE | MECHFAB
construction_time = 40
materials = list(MAT_METAL = 200, MAT_GLASS = 400)
materials = list(MAT_METAL = 600, MAT_GLASS = 400)
build_path = /obj/item/organ/cyberimp/eyes/shield
category = list("Misc", "Medical Designs")
@@ -158,10 +134,10 @@
name = "Breathing Tube implant"
desc = "This simple implant adds an internals connector to your back, allowing you to use internals without a mask and protecting you from being choked."
id = "ci-breather"
req_tech = list("materials" = 3, "biotech" = 3)
req_tech = list("materials" = 2, "biotech" = 3)
build_type = PROTOLATHE | MECHFAB
construction_time = 35
materials = list(MAT_METAL = 200, MAT_GLASS = 250)
materials = list(MAT_METAL = 600, MAT_GLASS = 250)
build_path = /obj/item/organ/cyberimp/mouth/breathing_tube
category = list("Misc", "Medical Designs")
@@ -169,7 +145,7 @@
name = "Toolset Arm implant"
desc = "A stripped-down version of engineering cyborg toolset, designed to be installed on subject's arm."
id = "ci-toolset"
req_tech = list("materials" = 4, "engineering" = 3, "biotech" = 4, "powerstorage" = 4)
req_tech = list("materials" = 3, "engineering" = 4, "biotech" = 4, "powerstorage" = 4)
build_type = PROTOLATHE | MECHFAB
materials = list (MAT_METAL = 2500, MAT_GLASS = 1500, MAT_SILVER = 1500)
construction_time = 200
@@ -180,10 +156,10 @@
name = "Medical HUD implant"
desc = "These cybernetic eyes will display a medical HUD over everything you see. Wiggle eyes to control."
id = "ci-medhud"
req_tech = list("materials" = 6, "programming" = 4, "biotech" = 4)
req_tech = list("materials" = 5, "programming" = 4, "biotech" = 4)
build_type = PROTOLATHE | MECHFAB
construction_time = 50
materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_SILVER = 500, MAT_GOLD = 500)
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 500, MAT_GOLD = 500)
build_path = /obj/item/organ/cyberimp/eyes/hud/medical
category = list("Misc", "Medical Designs")
@@ -191,10 +167,10 @@
name = "Security HUD implant"
desc = "These cybernetic eyes will display a security HUD over everything you see. Wiggle eyes to control."
id = "ci-sechud"
req_tech = list("materials" = 6, "programming" = 5, "biotech" = 4, "combat" = 2)
req_tech = list("materials" = 5, "programming" = 4, "biotech" = 4, "combat" = 3)
build_type = PROTOLATHE | MECHFAB
construction_time = 50
materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_SILVER = 750, MAT_GOLD = 750)
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 750, MAT_GOLD = 750)
build_path = /obj/item/organ/cyberimp/eyes/hud/security
category = list("Misc", "Medical Designs")
@@ -202,10 +178,10 @@
name = "X-Ray implant"
desc = "These cybernetic eyes will give you X-ray vision. Blinking is futile."
id = "ci-xray"
req_tech = list("materials" = 7, "programming" = 5, "biotech" = 6, "magnets" = 5)
req_tech = list("materials" = 7, "programming" = 5, "biotech" = 7, "magnets" = 5,"plasmatech" = 6)
build_type = PROTOLATHE | MECHFAB
construction_time = 60
materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_SILVER = 600, MAT_GOLD = 600, MAT_PLASMA = 1000, MAT_URANIUM = 1000, MAT_DIAMOND = 2000)
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 600, MAT_GOLD = 600, MAT_PLASMA = 1000, MAT_URANIUM = 1000, MAT_DIAMOND = 2000)
build_path = /obj/item/organ/cyberimp/eyes/xray
category = list("Misc", "Medical Designs")
@@ -213,10 +189,10 @@
name = "Thermals implant"
desc = "These cybernetic eyes will give you Thermal vision. Vertical slit pupil included."
id = "ci-thermals"
req_tech = list("materials" = 7, "programming" = 5, "biotech" = 5, "magnets" = 5, "syndicate" = 5)
req_tech = list("materials" = 6, "programming" = 4, "biotech" = 7, "magnets" = 5,"plasmatech" = 4)
build_type = PROTOLATHE | MECHFAB
construction_time = 60
materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_SILVER = 600, MAT_GOLD = 600, MAT_PLASMA = 1000, MAT_DIAMOND = 2000)
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 600, MAT_GOLD = 600, MAT_PLASMA = 1000, MAT_DIAMOND = 2000)
build_path = /obj/item/organ/cyberimp/eyes/thermals
category = list("Misc", "Medical Designs")
@@ -224,10 +200,10 @@
name = "Anti-Drop implant"
desc = "This cybernetic brain implant will allow you to force your hand muscles to contract, preventing item dropping. Twitch ear to toggle."
id = "ci-antidrop"
req_tech = list("materials" = 7, "programming" = 5, "biotech" = 5)
req_tech = list("materials" = 5, "programming" = 6, "biotech" = 5)
build_type = PROTOLATHE | MECHFAB
construction_time = 60
materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_SILVER = 400, MAT_GOLD = 400)
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 400, MAT_GOLD = 400)
build_path = /obj/item/organ/cyberimp/brain/anti_drop
category = list("Misc", "Medical Designs")
@@ -235,10 +211,10 @@
name = "CNS Rebooter implant"
desc = "This implant will automatically give you back control over your central nervous system, reducing downtime when stunned."
id = "ci-antistun"
req_tech = list("materials" = 7, "programming" = 5, "biotech" = 6)
req_tech = list("materials" = 6, "programming" = 5, "biotech" = 6)
build_type = PROTOLATHE | MECHFAB
construction_time = 60
materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_SILVER = 500, MAT_GOLD = 1000)
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 500, MAT_GOLD = 1000)
build_path = /obj/item/organ/cyberimp/brain/anti_stun
category = list("Misc", "Medical Designs")
@@ -246,10 +222,10 @@
name = "Nutriment pump implant"
desc = "This implant with synthesize and pump into your bloodstream a small amount of nutriment when you are starving."
id = "ci-nutriment"
req_tech = list("materials" = 6, "programming" = 4, "biotech" = 5)
req_tech = list("materials" = 5, "powerstorage" = 6, "biotech" = 5)
build_type = PROTOLATHE | MECHFAB
construction_time = 40
materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_GOLD = 500, MAT_URANIUM = 500)
materials = list(MAT_METAL = 500, MAT_GLASS = 500, MAT_GOLD = 500, MAT_URANIUM = 500)
build_path = /obj/item/organ/cyberimp/chest/nutriment
category = list("Misc", "Medical Designs")
@@ -257,10 +233,10 @@
name = "Nutriment pump implant PLUS"
desc = "This implant with synthesize and pump into your bloodstream a small amount of nutriment when you are hungry."
id = "ci-nutrimentplus"
req_tech = list("materials" = 6, "programming" = 4, "biotech" = 6)
req_tech = list("materials" = 5, "powerstorage" = 6, "biotech" = 6)
build_type = PROTOLATHE | MECHFAB
construction_time = 50
materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_GOLD = 500, MAT_URANIUM = 750)
materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_GOLD = 500, MAT_URANIUM = 750)
build_path = /obj/item/organ/cyberimp/chest/nutriment/plus
category = list("Misc", "Medical Designs")
@@ -268,10 +244,10 @@
name = "Reviver implant"
desc = "This implant will attempt to revive you if you lose consciousness. For the faint of heart!"
id = "ci-reviver"
req_tech = list("materials" = 6, "programming" = 4, "biotech" = 7, "syndicate" = 4)
req_tech = list("materials" = 5, "programming" = 4, "biotech" = 8)
build_type = PROTOLATHE | MECHFAB
construction_time = 60
materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_GOLD = 500, MAT_URANIUM = 1000, MAT_DIAMOND = 2000)
materials = list(MAT_METAL = 800, MAT_GLASS = 800, MAT_GOLD = 500, MAT_URANIUM = 1000, MAT_DIAMOND = 2000)
build_path = /obj/item/organ/cyberimp/chest/reviver
category = list("Misc", "Medical Designs")
@@ -279,7 +255,7 @@
name = "Thrusters set implant"
desc = "This implant will allow you to use gas from environment or your internals for propulsion in zero-gravity areas."
id = "ci-thrusters"
req_tech = list("materials" = 7, "programming" = 5, "biotech" = 5, "magnets" = 4, "engineering" = 5)
req_tech = list("materials" = 5, "biotech" = 5, "magnets" = 4, "engineering" = 7)
build_type = PROTOLATHE | MECHFAB
construction_time = 80
materials = list(MAT_METAL = 4000, MAT_GLASS = 2000, MAT_SILVER = 1000, MAT_DIAMOND = 1000)
@@ -295,7 +271,7 @@
name = "Implanter"
desc = "A sterile automatic implant injector."
id = "implanter"
req_tech = list("materials" = 1, "programming" = 2, "biotech" = 3)
req_tech = list("materials" = 2, "biotech" = 3, "programming" = 2)
build_type = PROTOLATHE
materials = list(MAT_METAL = 600, MAT_GLASS = 200)
build_path = /obj/item/weapon/implanter
@@ -305,7 +281,7 @@
name = "Implant Case"
desc = "A glass case for containing an implant."
id = "implantcase"
req_tech = list("materials" = 1, "biotech" = 2)
req_tech = list("biotech" = 2)
build_type = PROTOLATHE
materials = list(MAT_GLASS = 500)
build_path = /obj/item/weapon/implantcase
@@ -315,9 +291,9 @@
name = "Freedom Implant Case"
desc = "A glass case containing an implant."
id = "implant_freedom"
req_tech = list("materials" = 2, "biotech" = 3, "magnets" = 3, "syndicate" = 5)
req_tech = list("combat" = 6, "biotech" = 5, "magnets" = 3, "syndicate" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL = 50, MAT_GLASS = 500, MAT_GOLD = 250)
materials = list(MAT_METAL = 800, MAT_GLASS = 500, MAT_GOLD = 500)
build_path = /obj/item/weapon/implantcase/freedom
category = list("Medical Designs")
@@ -325,8 +301,8 @@
name = "Adrenalin Implant Case"
desc = "A glass case containing an implant."
id = "implant_adrenalin"
req_tech = list("materials" = 2, "biotech" = 5, "combat" = 3, "syndicate" = 6)
req_tech = list("biotech" = 6, "combat" = 6, "syndicate" = 6)
build_type = PROTOLATHE
materials = list(MAT_METAL = 50, MAT_GLASS = 500, MAT_GOLD = 500, MAT_URANIUM = 100, MAT_DIAMOND = 200)
materials = list(MAT_METAL = 1000, MAT_GLASS = 500, MAT_GOLD = 500, MAT_URANIUM = 600, MAT_DIAMOND = 600)
build_path = /obj/item/weapon/implantcase/adrenaline
category = list("Medical Designs")
category = list("Medical Designs")
+7 -13
View File
@@ -28,8 +28,7 @@
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 = 75
req_tech = list("powerstorage" = 3, "materials" = 3)
build_type = PROTOLATHE | MECHFAB
materials = list(MAT_METAL = 700, MAT_GLASS = 70)
construction_time=100
@@ -40,10 +39,9 @@
name = "Hyper-Capacity Power Cell"
desc = "A power cell that holds 30000 units of energy."
id = "hyper_cell"
req_tech = list("powerstorage" = 5, "materials" = 4)
reliability = 70
req_tech = list("powerstorage" = 5, "materials" = 5, "engineering" = 5)
build_type = PROTOLATHE | MECHFAB
materials = list(MAT_METAL = 400, MAT_GOLD = 150, MAT_SILVER = 150, MAT_GLASS = 80)
materials = list(MAT_METAL = 700, MAT_GOLD = 150, MAT_SILVER = 150, MAT_GLASS = 80)
construction_time=100
build_path = /obj/item/weapon/stock_parts/cell/hyper
category = list("Misc","Power Designs")
@@ -52,8 +50,7 @@
name = "Bluespace Power Cell"
desc = "A power cell that holds 40000 units of energy."
id = "bluespace_cell"
req_tech = list("powerstorage" = 6, "materials" = 5)
reliability = 70
req_tech = list("powerstorage" = 6, "materials" = 5, "engineering" = 5, "bluespace" = 5)
build_type = PROTOLATHE | MECHFAB
materials = list(MAT_METAL = 800, MAT_GOLD = 300, MAT_SILVER = 300, MAT_GLASS = 160, MAT_DIAMOND = 160)
construction_time=100
@@ -65,7 +62,7 @@
name = "Light Replacer"
desc = "A device to automatically replace lights. Refill with working lightbulbs."
id = "light_replacer"
req_tech = list("magnets" = 3, "materials" = 4)
req_tech = list("magnets" = 3, "engineering" = 4)
build_type = PROTOLATHE
materials = list(MAT_METAL = 1500, MAT_SILVER = 150, MAT_GLASS = 3000)
build_path = /obj/item/device/lightreplacer
@@ -75,9 +72,8 @@
name = "Machine Design (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)
req_tech = list("programming" = 2, "plasmatech" = 3, "powerstorage" = 3, "engineering" = 3)
build_type = IMPRINTER
reliability = 79
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/machine/pacman
category = list("Engineering Machinery")
@@ -88,7 +84,6 @@
id = "superpacman"
req_tech = list("programming" = 3, "powerstorage" = 4, "engineering" = 4)
build_type = IMPRINTER
reliability = 76
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/machine/pacman/super
category = list("Engineering Machinery")
@@ -97,9 +92,8 @@
name = "Machine Design (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)
req_tech = list("programming" = 3, "powerstorage" = 5, "engineering" = 5, "plasmatech" = 4)
build_type = IMPRINTER
reliability = 74
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/machine/pacman/mrs
category = list("Engineering Machinery")
@@ -6,8 +6,7 @@
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)
req_tech = list("engineering" = 1)
build_type = PROTOLATHE
materials = list(MAT_METAL = 10000, MAT_GLASS = 5000) //hardcore
build_path = /obj/item/weapon/storage/part_replacer
@@ -17,7 +16,7 @@
name = "Bluespace RPED"
desc = "Powered by bluespace technology, this RPED variant can upgrade buildings from a distance, without needing to remove the panel first."
id = "bs_rped"
req_tech = list("engineering" = 3, "materials" = 5, "programming" = 3, "bluespace" = 3)
req_tech = list("engineering" = 4, "bluespace" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL = 15000, MAT_GLASS = 5000, MAT_SILVER = 2500) //hardcore
build_path = /obj/item/weapon/storage/part_replacer/bluespace
@@ -30,7 +29,7 @@
id = "basic_capacitor"
req_tech = list("powerstorage" = 1)
build_type = PROTOLATHE | AUTOLATHE
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
materials = list(MAT_METAL = 100, MAT_GLASS = 100)
build_path = /obj/item/weapon/stock_parts/capacitor
category = list("Stock Parts","Machinery","initial")
@@ -40,7 +39,7 @@
id = "adv_capacitor"
req_tech = list("powerstorage" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL = 50, MAT_GLASS = 50)
materials = list(MAT_METAL = 150, MAT_GLASS = 150)
build_path = /obj/item/weapon/stock_parts/capacitor/adv
category = list("Stock Parts")
@@ -48,10 +47,9 @@
name = "Super Capacitor"
desc = "A stock part used in the construction of various devices."
id = "super_capacitor"
req_tech = list("powerstorage" = 5, "materials" = 4)
req_tech = list("powerstorage" = 5, "engineering" = 5)
build_type = PROTOLATHE
reliability = 71
materials = list(MAT_METAL = 50, MAT_GLASS = 50, MAT_GOLD = 20)
materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_GOLD = 100)
build_path = /obj/item/weapon/stock_parts/capacitor/super
category = list("Stock Parts")
@@ -59,10 +57,9 @@
name = "Quadratic Capacitor"
desc = "A stock part used in the construction of various devices."
id = "quadratic_capacitor"
req_tech = list("powerstorage" = 6, "materials" = 5)
req_tech = list("powerstorage" = 6, "engineering" = 5, "materials" = 5, "bluespace" = 5)
build_type = PROTOLATHE
reliability = 71
materials = list(MAT_METAL = 100, MAT_GLASS = 100, MAT_DIAMOND = 40)
materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_DIAMOND = 100)
build_path = /obj/item/weapon/stock_parts/capacitor/quadratic
category = list("Stock Parts")
@@ -73,7 +70,7 @@
id = "basic_scanning"
req_tech = list("magnets" = 1)
build_type = PROTOLATHE | AUTOLATHE
materials = list(MAT_METAL = 50, MAT_GLASS = 20)
materials = list(MAT_METAL = 100, MAT_GLASS = 50)
build_path = /obj/item/weapon/stock_parts/scanning_module
category = list("Stock Parts","Machinery","initial")
@@ -83,7 +80,7 @@
id = "adv_scanning"
req_tech = list("magnets" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL = 50, MAT_GLASS = 20)
materials = list(MAT_METAL = 150, MAT_GLASS = 100)
build_path = /obj/item/weapon/stock_parts/scanning_module/adv
category = list("Stock Parts")
@@ -91,10 +88,9 @@
name = "Phasic Scanning Module"
desc = "A stock part used in the construction of various devices."
id = "phasic_scanning"
req_tech = list("magnets" = 5, "materials" = 3)
req_tech = list("magnets" = 5, "engineering" = 5)
build_type = PROTOLATHE
materials = list(MAT_METAL = 50, MAT_GLASS = 20, MAT_SILVER = 10)
reliability = 72
materials = list(MAT_METAL = 200, MAT_GLASS = 150, MAT_SILVER = 60)
build_path = /obj/item/weapon/stock_parts/scanning_module/phasic
category = list("Stock Parts")
@@ -102,10 +98,9 @@
name = "Triphasic Scanning Module"
desc = "A stock part used in the construction of various devices."
id = "triphasic_scanning"
req_tech = list("magnets" = 6, "materials" = 4)
req_tech = list("magnets" = 6, "materials" = 5, "engineering" = 5, "bluespace" = 5)
build_type = PROTOLATHE
materials = list(MAT_METAL = 100, MAT_GLASS = 40, MAT_DIAMOND = 20)
reliability = 72
materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_DIAMOND = 60)
build_path = /obj/item/weapon/stock_parts/scanning_module/triphasic
category = list("Stock Parts")
@@ -114,9 +109,9 @@
name = "Micro Manipulator"
desc = "A stock part used in the construction of various devices."
id = "micro_mani"
req_tech = list("materials" = 1, "programming" = 1)
req_tech = list("materials" = 1)
build_type = PROTOLATHE | AUTOLATHE
materials = list(MAT_METAL = 30)
materials = list(MAT_METAL = 100)
build_path = /obj/item/weapon/stock_parts/manipulator
category = list("Stock Parts","Machinery","initial")
@@ -126,7 +121,7 @@
id = "nano_mani"
req_tech = list("materials" = 3, "programming" = 2)
build_type = PROTOLATHE
materials = list(MAT_METAL = 30)
materials = list(MAT_METAL = 150)
build_path = /obj/item/weapon/stock_parts/manipulator/nano
category = list("Stock Parts")
@@ -134,10 +129,9 @@
name = "Pico Manipulator"
desc = "A stock part used in the construction of various devices."
id = "pico_mani"
req_tech = list("materials" = 5, "programming" = 2)
req_tech = list("materials" = 5, "programming" = 4, "engineering" = 5)
build_type = PROTOLATHE
materials = list(MAT_METAL = 30)
reliability = 73
materials = list(MAT_METAL = 200)
build_path = /obj/item/weapon/stock_parts/manipulator/pico
category = list("Stock Parts")
@@ -145,10 +139,9 @@
name = "Femto Manipulator"
desc = "A stock part used in the construction of various devices."
id = "femto_mani"
req_tech = list("materials" = 6, "programming" = 3)
req_tech = list("materials" = 7, "programming" = 5, "engineering" = 5, "bluespace" = 5)
build_type = PROTOLATHE
materials = list(MAT_METAL = 60, MAT_DIAMOND = 30)
reliability = 73
materials = list(MAT_METAL = 200, MAT_DIAMOND = 60)
build_path = /obj/item/weapon/stock_parts/manipulator/femto
category = list("Stock Parts")
@@ -159,7 +152,7 @@
id = "basic_micro_laser"
req_tech = list("magnets" = 1)
build_type = PROTOLATHE | AUTOLATHE
materials = list(MAT_METAL = 10, MAT_GLASS = 20)
materials = list(MAT_METAL = 100, MAT_GLASS = 50)
build_path = /obj/item/weapon/stock_parts/micro_laser
category = list("Stock Parts","Machinery","initial")
@@ -169,7 +162,7 @@
id = "high_micro_laser"
req_tech = list("magnets" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL = 10, MAT_GLASS = 20)
materials = list(MAT_METAL = 150, MAT_GLASS = 100)
build_path = /obj/item/weapon/stock_parts/micro_laser/high
category = list("Stock Parts")
@@ -177,10 +170,9 @@
name = "Ultra-High-Power Micro-Laser"
desc = "A stock part used in the construction of various devices."
id = "ultra_micro_laser"
req_tech = list("magnets" = 5, "materials" = 5)
req_tech = list("magnets" = 5, "engineering" = 5)
build_type = PROTOLATHE
materials = list(MAT_METAL = 10, MAT_GLASS = 20, MAT_URANIUM = 10)
reliability = 70
materials = list(MAT_METAL = 200, MAT_GLASS = 150, MAT_URANIUM = 60)
build_path = /obj/item/weapon/stock_parts/micro_laser/ultra
category = list("Stock Parts")
@@ -188,10 +180,9 @@
name = "Quad-Ultra Micro-Laser"
desc = "A stock part used in the construction of various devices."
id = "quadultra_micro_laser"
req_tech = list("magnets" = 6, "materials" = 6)
req_tech = list("magnets" = 6, "materials" = 5, "engineering" = 5, "bluespace" = 5)
build_type = PROTOLATHE
materials = list(MAT_METAL = 20, MAT_GLASS = 40, MAT_URANIUM = 20, MAT_DIAMOND = 20)
reliability = 70
materials = list(MAT_METAL = 200, MAT_GLASS = 200, MAT_URANIUM = 100, MAT_DIAMOND = 60)
build_path = /obj/item/weapon/stock_parts/micro_laser/quadultra
category = list("Stock Parts")
@@ -201,7 +192,7 @@
id = "basic_matter_bin"
req_tech = list("materials" = 1)
build_type = PROTOLATHE | AUTOLATHE
materials = list(MAT_METAL = 80)
materials = list(MAT_METAL = 100)
build_path = /obj/item/weapon/stock_parts/matter_bin
category = list("Stock Parts","Machinery","initial")
@@ -211,7 +202,7 @@
id = "adv_matter_bin"
req_tech = list("materials" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL = 80)
materials = list(MAT_METAL = 150)
build_path = /obj/item/weapon/stock_parts/matter_bin/adv
category = list("Stock Parts")
@@ -219,10 +210,9 @@
name = "Super Matter Bin"
desc = "A stock part used in the construction of various devices."
id = "super_matter_bin"
req_tech = list("materials" = 5)
req_tech = list("materials" = 5, "engineering" = 5)
build_type = PROTOLATHE
materials = list(MAT_METAL = 80)
reliability = 75
materials = list(MAT_METAL = 200)
build_path = /obj/item/weapon/stock_parts/matter_bin/super
category = list("Stock Parts")
@@ -230,10 +220,9 @@
name = "Bluespace Matter Bin"
desc = "A stock part used in the construction of various devices."
id = "bluespace_matter_bin"
req_tech = list("materials" = 6)
req_tech = list("materials" = 7, "engineering" = 5, "bluespace" = 5)
build_type = PROTOLATHE
materials = list(MAT_METAL = 160, MAT_DIAMOND = 200)
reliability = 75
materials = list(MAT_METAL = 250, MAT_DIAMOND = 200)
build_path = /obj/item/weapon/stock_parts/matter_bin/bluespace
category = list("Stock Parts")
@@ -242,9 +231,9 @@
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)
req_tech = list("programming" = 2, "magnets" = 2, "materials" = 2)
build_type = PROTOLATHE
materials = list(MAT_METAL = 80, MAT_SILVER = 20)
materials = list(MAT_METAL = 100, MAT_SILVER = 100)
build_path = /obj/item/weapon/stock_parts/subspace/ansible
category = list("Stock Parts")
@@ -252,9 +241,9 @@
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)
req_tech = list("programming" = 3, "magnets" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL = 40, MAT_SILVER = 10)
materials = list(MAT_METAL = 100, MAT_SILVER = 100)
build_path = /obj/item/weapon/stock_parts/subspace/filter
category = list("Stock Parts")
@@ -262,9 +251,9 @@
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)
req_tech = list("programming" = 3, "magnets" = 4, "materials" = 3, "bluespace" = 2)
build_type = PROTOLATHE
materials = list(MAT_METAL = 10, MAT_GOLD = 30, MAT_URANIUM = 15)
materials = list(MAT_METAL = 100, MAT_GOLD = 100, MAT_URANIUM = 100)
build_path = /obj/item/weapon/stock_parts/subspace/amplifier
category = list("Stock Parts")
@@ -272,9 +261,9 @@
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)
req_tech = list("programming" = 2, "magnets" = 3, "materials" = 2, "bluespace" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL = 10, MAT_SILVER = 20)
materials = list(MAT_METAL = 100, MAT_SILVER = 200)
build_path = /obj/item/weapon/stock_parts/subspace/treatment
category = list("Stock Parts")
@@ -282,9 +271,9 @@
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)
req_tech = list("programming" = 3, "magnets" = 4, "materials" = 2, "bluespace" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL = 10, MAT_GOLD = 15)
materials = list(MAT_METAL = 100, MAT_GOLD = 100)
build_path = /obj/item/weapon/stock_parts/subspace/analyzer
category = list("Stock Parts")
@@ -292,9 +281,9 @@
name = "Ansible Crystal"
desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths."
id = "s-crystal"
req_tech = list("magnets" = 2, "materials" = 2, "bluespace" = 1)
req_tech = list("magnets" = 2, "materials" = 2, "bluespace" = 3, "plasmatech" = 3)
build_type = PROTOLATHE
materials = list(MAT_GLASS = 1000, MAT_SILVER = 20, MAT_GOLD = 20)
materials = list(MAT_GLASS = 800, MAT_SILVER = 100, MAT_GOLD = 100)
build_path = /obj/item/weapon/stock_parts/subspace/crystal
category = list("Stock Parts")
@@ -302,8 +291,8 @@
name = "Subspace Transmitter"
desc = "A large piece of equipment used to open a window into the subspace dimension."
id = "s-transmitter"
req_tech = list("magnets" = 3, "materials" = 3, "bluespace" = 2)
req_tech = list("magnets" = 3, "materials" = 4, "bluespace" = 4)
build_type = PROTOLATHE
materials = list(MAT_GLASS = 100, MAT_SILVER = 10, MAT_URANIUM = 15)
materials = list(MAT_GLASS = 100, MAT_SILVER = 100, MAT_URANIUM = 100)
build_path = /obj/item/weapon/stock_parts/subspace/transmitter
category = list("Stock Parts")
@@ -66,8 +66,8 @@
name = "Machine Design (Subspace Broadcaster)"
desc = "Allows for the construction of Subspace Broadcasting equipment."
id = "s-broadcaster"
req_tech = list("programming" = 2, "engineering" = 2, "bluespace" = 1)
req_tech = list("programming" = 2, "engineering" = 2)
build_type = IMPRINTER
materials = list(MAT_GLASS = 1000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/machine/telecomms/broadcaster
category = list("Subspace Telecomms")
category = list("Subspace Telecomms")
+23 -30
View File
@@ -6,7 +6,7 @@
name = "test-range firing pin"
desc = "This safety firing pin allows firearms to be operated within proximity to a firing range."
id = "pin_testing"
req_tech = list("combat" = 1, "materials" = 2)
req_tech = list("combat" = 2, "materials" = 2)
build_type = PROTOLATHE
materials = list(MAT_METAL = 500, MAT_GLASS = 300)
build_path = /obj/item/device/firing_pin/test_range
@@ -16,7 +16,7 @@
name = "loyalty firing pin"
desc = "This is a security firing pin which only authorizes users who are loyalty-implanted."
id = "pin_loyalty"
req_tech = list("combat" = 5, "materials" = 6, "powerstorage" = 3)
req_tech = list("combat" = 5, "materials" = 6)
build_type = PROTOLATHE
materials = list(MAT_SILVER = 600, MAT_DIAMOND = 600, MAT_URANIUM = 200)
build_path = /obj/item/device/firing_pin/implant/loyalty
@@ -26,21 +26,19 @@
name = "Tesla Revolver"
desc = "A high-tech revolver that fires internal, reusable shock cartridges in a revolving cylinder. The cartridges can be recharged using conventional rechargers."
id = "stunrevolver"
req_tech = list("combat" = 3, "materials" = 3, "powerstorage" = 5)
req_tech = list("combat" = 4, "materials" = 4, "powerstorage" = 5)
build_type = PROTOLATHE
materials = list(MAT_METAL = 10000, MAT_GLASS = 10000, MAT_SILVER = 10000)
build_path = /obj/item/weapon/gun/energy/shock_revolver
category = list("Weapons")
/datum/design/nuclear_gun
name = "Advanced Energy Gun"
desc = "An energy gun with an experimental miniaturized reactor."
id = "nuclear_gun"
req_tech = list("combat" = 4, "materials" = 5, "powerstorage" = 3)
req_tech = list("combat" = 5, "magnets" = 5, "powerstorage" = 5)
build_type = PROTOLATHE
materials = list(MAT_METAL = 5000, MAT_GLASS = 1000, MAT_URANIUM = 2000)
reliability = 76
materials = list(MAT_METAL = 10000, MAT_GLASS = 2000, MAT_URANIUM = 4000)
build_path = /obj/item/weapon/gun/energy/gun/nuclear
category = list("Weapons")
@@ -48,7 +46,7 @@
name = "Telescopic Riot Shield"
desc = "An advanced riot shield made of lightweight materials that collapses for easy storage."
id = "tele_shield"
req_tech = list("combat" = 4, "materials" = 3, "engineering" = 3)
req_tech = list("combat" = 4, "materials" = 3, "engineering" = 4)
build_type = PROTOLATHE
materials = list(MAT_METAL = 4000, MAT_GLASS = 5000, MAT_SILVER = 300)
build_path = /obj/item/weapon/shield/riot/tele
@@ -58,9 +56,9 @@
name = "Accelerator Laser Cannon"
desc = "A heavy duty laser cannon. It does more damage the farther away the target is."
id = "lasercannon"
req_tech = list("combat" = 4, "materials" = 3, "powerstorage" = 3)
req_tech = list("combat" = 5, "magnets" = 5, "powerstorage" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL = 10000, MAT_GLASS = 2000, MAT_DIAMOND = 2000)
materials = list(MAT_METAL = 10000, MAT_GLASS = 3000, MAT_DIAMOND = 3000)
build_path = /obj/item/weapon/gun/energy/lasercannon
category = list("Weapons")
@@ -68,7 +66,7 @@
name = "Decloner"
desc = "Your opponent will bubble into a messy pile of goop."
id = "decloner"
req_tech = list("combat" = 8, "materials" = 7, "biotech" = 5, "powerstorage" = 6)
req_tech = list("combat" = 5, "materials" = 5, "biotech" = 6, "plasmatech" = 7)
build_type = PROTOLATHE
materials = list(MAT_GOLD = 5000,MAT_URANIUM = 10000)
reagents = list("mutagen" = 40)
@@ -79,7 +77,7 @@
name = "Rapid Syringe Gun"
desc = "A gun that fires many syringes."
id = "rapidsyringe"
req_tech = list("combat" = 3, "materials" = 3, "engineering" = 3, "biotech" = 2)
req_tech = list("combat" = 3, "biotech" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL = 5000, MAT_GLASS = 1000)
build_path = /obj/item/weapon/gun/syringe/rapidsyringe
@@ -89,18 +87,17 @@
name = "Energy Crossbow"
desc = "A reverse-engineered energy crossbow favored by syndicate infiltration teams and carp hunters."
id = "largecrossbow"
req_tech = list("combat" = 5, "materials" = 5, "engineering" = 3, "biotech" = 4, "syndicate" = 3)
req_tech = list("combat" = 5, "engineering" = 3, "magnet" = 5, "syndicate" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL = 5000, MAT_GLASS = 1500, MAT_URANIUM = 1500, MAT_SILVER = 1500)
build_path = /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow/large
category = list("Weapons")
reliability = 76
/datum/design/temp_gun
name = "Temperature Gun"
desc = "A gun that shoots temperature bullet energythings to change temperature."//Change it if you want
id = "temp_gun"
req_tech = list("combat" = 3, "materials" = 4, "powerstorage" = 3, "magnets" = 2)
req_tech = list("combat" = 4, "materials" = 4, "powerstorage" = 3, "magnets" = 2)
build_type = PROTOLATHE
materials = list(MAT_METAL = 5000, MAT_GLASS = 500, MAT_SILVER = 3000)
build_path = /obj/item/weapon/gun/energy/temperature
@@ -110,7 +107,7 @@
name = "Floral Somatoray"
desc = "A tool that discharges controlled radiation which induces mutation in plant cells. Harmless to other organic life."
id = "flora_gun"
req_tech = list("materials" = 2, "biotech" = 3, "powerstorage" = 3)
req_tech = list("materials" = 2, "biotech" = 4)
build_type = PROTOLATHE
materials = list(MAT_METAL = 2000, MAT_GLASS = 500)
reagents = list("radium" = 20)
@@ -121,10 +118,9 @@
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)
req_tech = list("combat" = 3, "engineering" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL = 3000)
reliability = 79
build_path = /obj/item/weapon/grenade/chem_grenade/large
category = list("Weapons")
@@ -132,10 +128,9 @@
name = "Pyro Grenade"
desc = "An advanced grenade that is able to self ignite its mixture."
id = "pyro_Grenade"
req_tech = list("combat" = 3, "materials" = 3)
req_tech = list("combat" = 4, "engineering" = 4)
build_type = PROTOLATHE
materials = list(MAT_METAL = 2000, MAT_PLASMA = 500)
reliability = 79
build_path = /obj/item/weapon/grenade/chem_grenade/pyro
category = list("Weapons")
@@ -148,7 +143,6 @@
req_tech = list("combat" = 3, "materials" = 3)
build_type = PROTOLATHE
materials = list(MAT_METAL = 2000, MAT_SILVER = 500)
reliability = 79
build_path = /obj/item/weapon/grenade/chem_grenade/cryo
category = list("Weapons")
*/
@@ -157,10 +151,9 @@
name = "Advanced Release Grenade"
desc = "An advanced grenade that can be detonated several times, best used with a repeating igniter."
id = "adv_Grenade"
req_tech = list("combat" = 3, "materials" = 3)
req_tech = list("combat" = 3, "engineering" = 4)
build_type = PROTOLATHE
materials = list(MAT_METAL = 3000, MAT_GLASS = 500)
reliability = 79
build_path = /obj/item/weapon/grenade/chem_grenade/adv_release
category = list("Weapons")
@@ -168,9 +161,9 @@
name = "Xray Laser Gun"
desc = "Not quite as menacing as it sounds"
id = "xray"
req_tech = list("combat" = 6, "materials" = 5, "biotech" = 5, "powerstorage" = 4)
req_tech = list("combat" = 7, "magnets" = 5, "biotech" = 5, "powerstorage" = 4)
build_type = PROTOLATHE
materials = list(MAT_GOLD = 5000,MAT_URANIUM = 10000, MAT_METAL = 4000)
materials = list(MAT_GOLD = 5000,MAT_URANIUM = 10000, MAT_METAL = 5000)
build_path = /obj/item/weapon/gun/energy/xray
category = list("Weapons")
@@ -178,9 +171,9 @@
name = "Ion Carbine"
desc = "How to dismantle a cyborg : The gun."
id = "ioncarbine"
req_tech = list("combat" = 5, "materials" = 4, "magnets" = 4)
req_tech = list("combat" = 5, "magnets" = 4)
build_type = PROTOLATHE
materials = list(MAT_SILVER = 4000, MAT_METAL = 6000, MAT_URANIUM = 1000)
materials = list(MAT_SILVER = 6000, MAT_METAL = 8000, MAT_URANIUM = 2000)
build_path = /obj/item/weapon/gun/energy/ionrifle/carbine
category = list("Weapons")
@@ -188,9 +181,9 @@
name = "Bluespace Wormhole Projector"
desc = "A projector that emits high density quantum-coupled bluespace beams."
id = "wormholeprojector"
req_tech = list("combat" = 6, "materials" = 6, "bluespace" = 4)
req_tech = list("combat" = 5, "engineering" = 5, "bluespace" = 7, "plasmatech" = 6)
build_type = PROTOLATHE
materials = list(MAT_SILVER = 1000, MAT_METAL = 5000, MAT_DIAMOND = 3000)
materials = list(MAT_SILVER = 2000, MAT_METAL = 5000, MAT_DIAMOND = 3000)
build_path = /obj/item/weapon/gun/energy/wormhole_projector
category = list("Weapons")
@@ -198,7 +191,7 @@
name = "Modular Receiver"
desc = "A prototype modular receiver and trigger assembly for a variety of firearms."
id = "reciever"
req_tech = list("combat" = 5, "materials" = 4)
req_tech = list("combat" = 4, "materials" = 4)
build_type = PROTOLATHE
materials = list(MAT_METAL = 6500, MAT_SILVER = 500)
build_path = /obj/item/weaponcrafting/reciever
@@ -65,5 +65,5 @@ Note: Must be placed within 3 tiles of the R&D Console
user << "<span class='notice'>You add the [O.name] to the [src.name]!</span>"
flick("d_analyzer_la", src)
spawn(10)
icon_state = "d_analyzer_l"
busy = 0
+2 -10
View File
@@ -129,9 +129,6 @@
if (temp_tech.len == 0)
user << "<span class='warning'>You cannot experiment on this item!</span>"
return
if(O.reliability < 90 && O.crit_fail == 0)
usr << "<span class='warning'>Item is neither reliable enough or broken enough to learn from.</span>"
return
if(!user.drop_item())
return
loaded_item = O
@@ -484,16 +481,11 @@
investigate_log("Experimentor has spawned a new corgi.", "experimentor")
ejectItem(TRUE)
if(globalMalf > 36 && globalMalf < 50)
visible_message("<span class='warning'>[src] improves [exp_on], drawing the life essence of those nearby!</span>")
visible_message("<span class='warning'>Experimentor draws the life essence of those nearby!</span>")
for(var/mob/living/m in view(4,src))
m << "<span class='danger'>You feel your flesh being torn from you, mists of blood drifting to [src]!</span>"
m.apply_damage(50,"brute","chest")
investigate_log("Experimentor has taken 50 brute a blood sacrifice from [m]", "experimentor")
var/list/reqs = ConvertReqString2List(exp_on.origin_tech)
for(var/T in reqs)
reqs[T] = reqs[T] + 1
exp_on.origin_tech = list2params(reqs)
investigate_log("Experimentor has set the origin tech of [exp_on] to [exp_on.origin_tech]", "experimentor")
if(globalMalf > 51 && globalMalf < 75)
visible_message("<span class='warning'>[src] encounters a run-time error!</span>")
throwSmoke(src.loc)
@@ -557,7 +549,6 @@
var/list/temp_tech = ConvertReqString2List(process.origin_tech)
for(var/T in temp_tech)
linked_console.files.UpdateTech(T, temp_tech[T])
linked_console.files.UpdateDesigns(process,temp_tech)
src.updateUsrDialog()
return
@@ -609,6 +600,7 @@
name = realName
cooldownMax = rand(60,300)
realProc = pick("teleport","explode","rapidDupe","petSpray","flash","clean","corgicannon")
origin_tech = pick("engineering=[rand(2,5)]","magnets=[rand(2,5)]","plasmatech=[rand(2,5)]","programming=[rand(2,5)]","powerstorage=[rand(2,5)]")
/obj/item/weapon/relic/attack_self(mob/user)
if(revealed)
+4 -4
View File
@@ -60,10 +60,10 @@ Note: Must be placed west/left of and R&D console to function.
for(var/obj/item/weapon/stock_parts/matter_bin/M in component_parts)
T += M.rating
materials.max_amount = T * 75000
T = 0
T = 1.2
for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts)
T += (M.rating/3)
efficiency_coeff = max(T, 1)
T -= M.rating/10
efficiency_coeff = min(max(0, T), 1)
/obj/machinery/r_n_d/protolathe/proc/check_mat(datum/design/being_built, M) // now returns how many times the item can be built with the material
var/A = materials.amount(M)
@@ -90,7 +90,7 @@ Note: Must be placed west/left of and R&D console to function.
if(istype(O,/obj/item/stack/sheet))
. = 1
if(!is_insertion_ready(user))
if(!is_insertion_ready(user) || busy)
return
if(!materials.has_space( materials.get_item_material_amount(O) ))
user << "<span class='warning'>The [src.name]'s material bin is full! Please remove material before adding more.</span>"
+1 -1
View File
@@ -22,7 +22,7 @@ materials.
While researching you are dealing with two different types of information: Technology Paths and Device Designs. Technology Paths
are the "Tech Trees" of the game. You start out with a number of them at the game start and they are improved by using the
Destructive Analyzer. By themselves, they don't do a whole lot. However, they unlock Device Designs. This is the information used
by the circuit imprinter and the protolathe to produce objects. It also tracks the current reliability of that particular design.
by the circuit imprinter and the protolathe to produce objects.
//EXISTING TECH
Each tech path should have at LEAST one item at every level (levels 1 - 20). This is to allow for a more fluid progression of the
+109 -107
View File
@@ -250,60 +250,63 @@ proc/CallMaterialName(ID)
linked_destroy.loaded_item.loc = linked_destroy.loc
linked_destroy.loaded_item = null
linked_destroy.icon_state = "d_analyzer"
screen = 2.1
screen = 1.0
else if(href_list["deconstruct"]) //Deconstruct the item in the destructive analyzer and update the research holder.
if(linked_destroy)
if(linked_destroy.busy)
usr << "<span class='danger'>The destructive analyzer is busy at the moment.</span>"
else
var/choice = input("Proceeding will destroy loaded item.") in list("Proceed", "Cancel")
return
var/list/temp_tech = linked_destroy.ConvertReqString2List(linked_destroy.loaded_item.origin_tech)
var/cancontinue = FALSE
for(var/T in temp_tech)
if(files.IsTechHigher(T, temp_tech[T]))
cancontinue = TRUE
break
if(!cancontinue)
var/choice = input("This item does not raise tech levels. Proceed destroying loaded item anyway?") in list("Proceed", "Cancel")
if(choice == "Cancel" || !linked_destroy) return
linked_destroy.busy = 1
screen = 0.1
updateUsrDialog()
flick("d_analyzer_process", linked_destroy)
spawn(24)
if(linked_destroy)
linked_destroy.busy = 0
if(!linked_destroy.hacked)
if(!linked_destroy.loaded_item)
usr <<"<span class='danger'>The destructive analyzer appears to be empty.</span>"
screen = 1.0
return
if((linked_destroy.loaded_item.reliability >= 99 - (linked_destroy.decon_mod * 3)) || linked_destroy.loaded_item.crit_fail)
var/list/temp_tech = linked_destroy.ConvertReqString2List(linked_destroy.loaded_item.origin_tech)
for(var/T in temp_tech)
if(prob(linked_destroy.loaded_item.reliability)) //If deconstructed item is not reliable enough its just being wasted, else it is pocessed
files.UpdateTech(T, temp_tech[T]) //Check if deconstructed item has research levels higher/same/one less than current ones
files.UpdateDesigns(linked_destroy.loaded_item, temp_tech, src) //If if such reseach type found all the known designs are checked for having this research type in them
screen = 1.0 //If design have it it gains some reliability
else //Same design always gain quality
screen = 2.3 //Crit fail gives the same design a lot of reliability, like really a lot
if(linked_lathe) //Also sends salvaged materials to a linked protolathe, if any.
for(var/material in linked_destroy.loaded_item.materials)
linked_lathe.materials.insert_amount(min((linked_lathe.materials.max_amount - linked_lathe.materials.total_amount), (linked_destroy.loaded_item.materials[material]*(linked_destroy.decon_mod/10))), material)
feedback_add_details("item_deconstructed","[linked_destroy.loaded_item.type]")
linked_destroy.loaded_item = null
else
screen = 1.0
for(var/obj/I in linked_destroy.contents)
for(var/mob/M in I.contents)
M.death()
if(istype(I,/obj/item/stack/sheet))//Only deconsturcts one sheet at a time instead of the entire stack
var/obj/item/stack/sheet/S = I
if(S.amount > 1)
S.amount--
linked_destroy.loaded_item = S
else
qdel(S)
linked_destroy.icon_state = "d_analyzer"
linked_destroy.busy = 1
screen = 0.1
updateUsrDialog()
flick("d_analyzer_process", linked_destroy)
spawn(24)
if(linked_destroy)
linked_destroy.busy = 0
if(!linked_destroy.loaded_item)
usr <<"<span class='danger'>The destructive analyzer appears to be empty.</span>"
screen = 1.0
return
for(var/T in temp_tech)
var/datum/tech/KT = files.known_tech[T] //For stat logging of high levels
if(files.IsTechHigher(T, temp_tech[T]) && KT.level >= 5) //For stat logging of high levels
feedback_add_details("high_research_level","[KT][KT.level + 1]") //+1 to show the level which we're about to get
files.UpdateTech(T, temp_tech[T])
if(linked_lathe) //Also sends salvaged materials to a linked protolathe, if any.
for(var/material in linked_destroy.loaded_item.materials)
linked_lathe.materials.insert_amount(min((linked_lathe.materials.max_amount - linked_lathe.materials.total_amount), (linked_destroy.loaded_item.materials[material]*(linked_destroy.decon_mod/10))), material)
feedback_add_details("item_deconstructed","[linked_destroy.loaded_item.type]")
linked_destroy.loaded_item = null
for(var/obj/I in linked_destroy.contents)
for(var/mob/M in I.contents)
M.death()
if(istype(I,/obj/item/stack/sheet))//Only deconsturcts one sheet at a time instead of the entire stack
var/obj/item/stack/sheet/S = I
if(S.amount > 1)
S.amount--
linked_destroy.loaded_item = S
else
if(!(I in linked_destroy.component_parts))
qdel(I)
linked_destroy.icon_state = "d_analyzer"
use_power(250)
updateUsrDialog()
qdel(S)
linked_destroy.icon_state = "d_analyzer"
else
if(!(I in linked_destroy.component_parts))
qdel(I)
linked_destroy.icon_state = "d_analyzer"
screen = 1.0
use_power(250)
updateUsrDialog()
else if(href_list["lock"]) //Lock the console from use by anyone without tox access.
if(src.allowed(usr))
@@ -350,15 +353,12 @@ proc/CallMaterialName(ID)
sync = !sync
else if(href_list["build"]) //Causes the Protolathe to build something.
var/coeff
if(linked_lathe)
coeff = linked_lathe.efficiency_coeff
else
coeff = 1
var/g2g = 1
if(linked_lathe)
if(linked_lathe.busy)
usr << "<span class='danger'>Protolathe is busy at the moment.</span>"
return
var/coeff = linked_lathe.efficiency_coeff
var/g2g = 1
var/datum/design/being_built = files.known_designs[href_list["build"]]
if(being_built)
var/power = 2000
@@ -369,15 +369,11 @@ proc/CallMaterialName(ID)
power += round(being_built.materials[M] * amount / 5)
power = max(2000, power)
screen = 0.3
if(linked_lathe.busy)
g2g = 0
var/key = usr.key //so we don't lose the info during the spawn delay
if (!(being_built.build_type & PROTOLATHE))
g2g = 0
message_admins("Protolathe exploit attempted by [key_name(usr, usr.client)]!")
if (g2g) //If input is incorrect, nothing happens
var/enough_materials = 1
linked_lathe.busy = 1
@@ -386,7 +382,7 @@ proc/CallMaterialName(ID)
var/list/efficient_mats = list()
for(var/MAT in being_built.materials)
efficient_mats[MAT] = being_built.materials[MAT]
efficient_mats[MAT] = being_built.materials[MAT]*coeff
if(!linked_lathe.materials.has_materials(efficient_mats, amount))
src.visible_message("<span class='notice'>The [src.name] beeps, \"Not enough materials to complete prototype.\"</span>")
@@ -394,7 +390,7 @@ proc/CallMaterialName(ID)
g2g = 0
else
for(var/R in being_built.reagents)
if(!linked_lathe.reagents.has_reagent(R, being_built.reagents[R]))
if(!linked_lathe.reagents.has_reagent(R, being_built.reagents[R])*coeff)
src.visible_message("<span class='notice'>The [src.name] beeps, \"Not enough reagents to complete prototype.\"</span>")
enough_materials = 0
g2g = 0
@@ -402,33 +398,37 @@ proc/CallMaterialName(ID)
if(enough_materials)
linked_lathe.materials.use_amount(efficient_mats, amount)
for(var/R in being_built.reagents)
linked_lathe.reagents.remove_reagent(R, being_built.reagents[R])
linked_lathe.reagents.remove_reagent(R, being_built.reagents[R]*coeff)
var/P = being_built.build_path //lets save these values before the spawn() just in case. Nobody likes runtimes.
var/R = being_built.reliability
spawn(32*amount/coeff)
if(g2g) //And if we only fail the material requirements, we still spend time and power
var/already_logged = 0
for(var/i = 0, i<amount, i++)
var/obj/item/new_item = new P(src)
if( new_item.type == /obj/item/weapon/storage/backpack/holding )
new_item.investigate_log("built by [key]","singulo")
new_item.reliability = R
if(!istype(new_item, /obj/item/stack/sheet)) // To avoid materials dupe glitches
new_item.materials = efficient_mats.Copy()
if(linked_lathe.hacked)
R = max((new_item.reliability/2), 0)
new_item.loc = linked_lathe.loc
if(!already_logged)
feedback_add_details("item_printed","[new_item.type]|[amount]")
already_logged = 1
linked_lathe.busy = 0
screen = old_screen
spawn(32*coeff*amount**0.8)
if(linked_lathe)
if(g2g) //And if we only fail the material requirements, we still spend time and power
var/already_logged = 0
for(var/i = 0, i<amount, i++)
var/obj/item/new_item = new P(src)
if( new_item.type == /obj/item/weapon/storage/backpack/holding )
new_item.investigate_log("built by [key]","singulo")
if(!istype(new_item, /obj/item/stack/sheet)) // To avoid materials dupe glitches
new_item.materials = efficient_mats.Copy()
new_item.loc = linked_lathe.loc
if(!already_logged)
feedback_add_details("item_printed","[new_item.type]|[amount]")
already_logged = 1
screen = old_screen
linked_lathe.busy = 0
else
src.visible_message("<span class='notice'>The [src.name] beeps, \"Something went wrong, production halted!\"</span>")
screen = 1.0
updateUsrDialog()
else if(href_list["imprint"]) //Causes the Circuit Imprinter to build something.
var/coeff = linked_imprinter.efficiency_coeff
var/g2g = 1
if(linked_imprinter)
if(linked_lathe.busy)
usr << "<span class='danger'>Circuit Imprinter is busy at the moment.</span>"
return
var/datum/design/being_built = files.known_designs[href_list["imprint"]]
if(being_built)
var/power = 2000
@@ -437,8 +437,6 @@ proc/CallMaterialName(ID)
power += round(being_built.materials[M] / 5)
power = max(2000, power)
screen = 0.4
if (linked_imprinter.busy)
g2g = 0
if (!(being_built.build_type & IMPRINTER))
g2g = 0
message_admins("Circuit imprinter exploit attempted by [key_name(usr, usr.client)]!")
@@ -455,24 +453,26 @@ proc/CallMaterialName(ID)
break
switch(M)
if(MAT_GLASS)
linked_imprinter.g_amount = max(0, (linked_imprinter.g_amount-being_built.materials[M]))
linked_imprinter.g_amount = max(0, (linked_imprinter.g_amount-being_built.materials[M]/coeff))
if(MAT_GOLD)
linked_imprinter.gold_amount = max(0, (linked_imprinter.gold_amount-being_built.materials[M]))
linked_imprinter.gold_amount = max(0, (linked_imprinter.gold_amount-being_built.materials[M]/coeff))
if(MAT_DIAMOND)
linked_imprinter.diamond_amount = max(0, (linked_imprinter.diamond_amount-being_built.materials[M]))
linked_imprinter.diamond_amount = max(0, (linked_imprinter.diamond_amount-being_built.materials[M]/coeff))
else
linked_imprinter.reagents.remove_reagent(M, being_built.materials[M])
linked_imprinter.reagents.remove_reagent(M, being_built.materials[M]/coeff)
var/P = being_built.build_path //lets save these values before the spawn() just in case. Nobody likes runtimes.
var/R = being_built.reliability
spawn(16)
if(g2g)
var/obj/item/new_item = new P(src)
new_item.reliability = R
new_item.loc = linked_imprinter.loc
feedback_add_details("circuit_printed","[new_item.type]")
linked_imprinter.busy = 0
screen = old_screen
if(linked_imprinter)
if(g2g)
var/obj/item/new_item = new P(src)
new_item.loc = linked_imprinter.loc
feedback_add_details("circuit_printed","[new_item.type]")
screen = old_screen
linked_imprinter.busy = 0
else
src.visible_message("<span class='notice'>The [src.name] beeps, \"Something went wrong, production halted!\"</span>")
screen = 1.0
updateUsrDialog()
else if(href_list["disposeI"] && linked_imprinter) //Causes the circuit imprinter to dispose of a single reagent (all of it)
@@ -701,7 +701,6 @@ proc/CallMaterialName(ID)
dat += "<A href='?src=\ref[src];menu=1.5'>Load Design to Disk</A>"
else
dat += "Name: [d_disk.blueprint.name]<BR>"
dat += "Level: [d_disk.blueprint.reliability]<BR>"
var/b_type = d_disk.blueprint.build_type
if(b_type)
dat += "Lathe Types:<BR>"
@@ -776,7 +775,6 @@ proc/CallMaterialName(ID)
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A><div class='statusDisplay'>"
dat += "<h3>Deconstruction Menu</h3><BR>"
dat += "Name: [linked_destroy.loaded_item.name]<BR>"
dat += "Reliability: [linked_destroy.loaded_item.reliability]<BR>"
dat += "Origin Tech:<BR>"
var/list/temp_tech = linked_destroy.ConvertReqString2List(linked_destroy.loaded_item.origin_tech)
for(var/T in temp_tech)
@@ -825,6 +823,7 @@ proc/CallMaterialName(ID)
dat += "<B>Material Amount:</B> [linked_lathe.materials.total_amount] / [linked_lathe.materials.max_amount]<BR>"
dat += "<B>Chemical Volume:</B> [linked_lathe.reagents.total_volume] / [linked_lathe.reagents.maximum_volume]<HR>"
var/coeff = linked_lathe.efficiency_coeff
for(var/v in files.known_designs)
var/datum/design/D = files.known_designs[v]
if(!(selected_category in D.category)|| !(D.build_type & PROTOLATHE))
@@ -836,18 +835,18 @@ proc/CallMaterialName(ID)
t = linked_lathe.check_mat(D, M)
temp_material += " | "
if (t < 1)
temp_material += "<span class='bad'>[D.materials[M]] [CallMaterialName(M)]</span>"
temp_material += "<span class='bad'>[D.materials[M]*coeff] [CallMaterialName(M)]</span>"
else
temp_material += " [D.materials[M]] [CallMaterialName(M)]"
temp_material += " [D.materials[M]*coeff] [CallMaterialName(M)]"
c = min(c,t)
for(var/R in D.reagents)
t = linked_lathe.check_mat(D, R)
temp_material += " | "
if (t < 1)
temp_material += "<span class='bad'>[D.reagents[R]] [CallMaterialName(R)]</span>"
temp_material += "<span class='bad'>[D.reagents[R]*coeff] [CallMaterialName(R)]</span>"
else
temp_material += " [D.reagents[R]] [CallMaterialName(R)]"
temp_material += " [D.reagents[R]*coeff] [CallMaterialName(R)]"
c = min(c,t)
if (c >= 1)
@@ -869,6 +868,7 @@ proc/CallMaterialName(ID)
dat += "<B>Material Amount:</B> [linked_lathe.materials.total_amount] / [linked_lathe.materials.max_amount]<BR>"
dat += "<B>Chemical Volume:</B> [linked_lathe.reagents.total_volume] / [linked_lathe.reagents.maximum_volume]<HR>"
var/coeff = linked_lathe.efficiency_coeff
for(var/datum/design/D in matching_designs)
var/temp_material
var/c = 50
@@ -877,9 +877,9 @@ proc/CallMaterialName(ID)
t = linked_lathe.check_mat(D, M)
temp_material += " | "
if (t < 1)
temp_material += "<span class='bad'>[D.materials[M]] [CallMaterialName(M)]</span>"
temp_material += "<span class='bad'>[D.materials[M]*coeff] [CallMaterialName(M)]</span>"
else
temp_material += " [D.materials[M]] [CallMaterialName(M)]"
temp_material += " [D.materials[M]*coeff] [CallMaterialName(M)]"
c = min(c,t)
if (c >= 1)
@@ -994,6 +994,7 @@ proc/CallMaterialName(ID)
dat += "Material Amount: [linked_imprinter.TotalMaterials()]<BR>"
dat += "Chemical Volume: [linked_imprinter.reagents.total_volume]<HR>"
var/coeff = linked_imprinter.efficiency_coeff
for(var/v in files.known_designs)
var/datum/design/D = files.known_designs[v]
if(!(selected_category in D.category) || !(D.build_type & IMPRINTER))
@@ -1004,9 +1005,9 @@ proc/CallMaterialName(ID)
temp_materials += " | "
if (!linked_imprinter.check_mat(D, M))
check_materials = 0
temp_materials += " <span class='bad'>[D.materials[M]] [CallMaterialName(M)]</span>"
temp_materials += " <span class='bad'>[D.materials[M]/coeff] [CallMaterialName(M)]</span>"
else
temp_materials += " [D.materials[M]] [CallMaterialName(M)]"
temp_materials += " [D.materials[M]/coeff] [CallMaterialName(M)]"
if (check_materials)
dat += "<A href='?src=\ref[src];imprint=[D.id]'>[D.name]</A>[temp_materials]<BR>"
else
@@ -1020,6 +1021,7 @@ proc/CallMaterialName(ID)
dat += "Material Amount: [linked_imprinter.TotalMaterials()]<BR>"
dat += "Chemical Volume: [linked_imprinter.reagents.total_volume]<HR>"
var/coeff = linked_imprinter.efficiency_coeff
for(var/datum/design/D in matching_designs)
var/temp_materials
var/check_materials = 1
@@ -1027,9 +1029,9 @@ proc/CallMaterialName(ID)
temp_materials += " | "
if (!linked_imprinter.check_mat(D, M))
check_materials = 0
temp_materials += " <span class='bad'>[D.materials[M]] [CallMaterialName(M)]</span>"
temp_materials += " <span class='bad'>[D.materials[M]/coeff] [CallMaterialName(M)]</span>"
else
temp_materials += " [D.materials[M]] [CallMaterialName(M)]"
temp_materials += " [D.materials[M]/coeff] [CallMaterialName(M)]"
if (check_materials)
dat += "<A href='?src=\ref[src];imprint=[D.id]'>[D.name]</A>[temp_materials]<BR>"
else
+13 -21
View File
@@ -49,8 +49,8 @@ research holder datum.
//Datum/tech go here.
var/list/possible_tech = list() //List of all tech in the game that players have access to (barring special events).
var/list/known_tech = list() //List of locally known tech.
var/list/possible_designs = list() //List of all designs (at base reliability).
var/list/known_designs = list() //List of available designs (at base reliability).
var/list/possible_designs = list() //List of all designs.
var/list/known_designs = list() //List of available designs.
/datum/research/New() //Insert techs into possible_tech here. Known_tech automatically updated.
for(var/T in subtypesof(/datum/tech))
@@ -93,13 +93,10 @@ research holder datum.
/datum/research/proc/AddDesign2Known(datum/design/D)
if(known_designs[D.id])
var/datum/design/known = known_designs[D.id]
if(D.reliability > known.reliability)
known.reliability = D.reliability
return
known_designs[D.id] = D
//Refreshes known_tech and known_designs list. Then updates the reliability vars of the designs in the known_designs list.
//Refreshes known_tech and known_designs list.
//Input/Output: n/a
/datum/research/proc/RefreshResearch()
for(var/datum/tech/PT in possible_tech)
@@ -113,10 +110,6 @@ research holder datum.
for(var/v in known_tech)
var/datum/tech/T = known_tech[v]
T.level = Clamp(T.level, 0, 20)
for(var/v in known_designs)
var/datum/design/D = known_designs[v]
D.CalcReliability(known_tech)
return
//Refreshes the levels of a given tech.
@@ -125,18 +118,17 @@ research holder datum.
var/datum/tech/KT = known_tech[ID]
if(KT)
if(KT.level <= level)
KT.level = max((KT.level + 1), (level - 1))
KT.level = KT.level + 1
/datum/research/proc/UpdateDesigns(obj/item/I, list/temp_tech)
for(var/v in known_designs)
var/datum/design/D = known_designs[v]
var/shared_tech = length(temp_tech & D.req_tech)
if(shared_tech)
D.reliability = min(100, D.reliability + shared_tech)
if(D.build_path == I.type)
D.reliability = min(100, D.reliability + shared_tech * rand(1,3))
if(I.crit_fail)
D.reliability = min(100, D.reliability + shared_tech * rand(3, 5))
//Checks if the origin level can raise current tech levels
//Input: Tech's ID and Level; Output: TRUE for yes, FALSE for no
/datum/research/proc/IsTechHigher(ID, level)
var/datum/tech/KT = known_tech[ID]
if(KT)
if(KT.level <= level)
return TRUE
else
return FALSE
/datum/research/proc/FindDesignByID(id)
return known_designs[id]
+1 -1
View File
@@ -241,7 +241,7 @@
temp_server.files.RefreshResearch()
else if(href_list["reset_design"])
var/choice = alert("Design Data Deletion", "Are you sure you want to delete this design? If you still have the prerequisites for the design, it'll reset to its base reliability. Data lost cannot be recovered.", "Continue", "Cancel")
var/choice = alert("Design Data Deletion", "Are you sure you want to delete this design? Data lost cannot be recovered.", "Continue", "Cancel")
if(choice == "Continue")
var/datum/design/D = temp_server.files.known_designs[href_list["reset_design"]]
if(D)
+22 -23
View File
@@ -21,12 +21,11 @@
/obj/item/weapon/storage/part_replacer/afterattack(obj/machinery/T, mob/living/carbon/human/user, flag, params)
if(flag)
return
else
if(works_from_distance)
if(istype(T))
if(T.component_parts)
T.exchange_parts(user, src)
user.Beam(T,icon_state="rped_upgrade",icon='icons/effects/effects.dmi',time=5)
else if(works_from_distance)
if(istype(T))
if(T.component_parts)
T.exchange_parts(user, src)
user.Beam(T,icon_state="rped_upgrade",icon='icons/effects/effects.dmi',time=5)
return
/obj/item/weapon/storage/part_replacer/bluespace
@@ -167,7 +166,7 @@
name = "super capacitor"
desc = "A super-high capacity capacitor used in the construction of a variety of devices."
icon_state = "super_capacitor"
origin_tech = "powerstorage=5;materials=4"
origin_tech = "powerstorage=4;engineering=4"
rating = 3
materials = list(MAT_METAL=50, MAT_GLASS=50)
@@ -175,7 +174,7 @@
name = "phasic scanning module"
desc = "A compact, high resolution phasic scanning module used in the construction of certain devices."
icon_state = "super_scan_module"
origin_tech = "magnets=5"
origin_tech = "magnets=4;engineering=4"
rating = 3
materials = list(MAT_METAL=50, MAT_GLASS=20)
@@ -183,7 +182,7 @@
name = "pico-manipulator"
desc = "A tiny little manipulator used in the construction of certain devices."
icon_state = "pico_mani"
origin_tech = "materials=5;programming=2"
origin_tech = "materials=4;programming=4,engineering=4"
rating = 3
materials = list(MAT_METAL=30)
@@ -191,7 +190,7 @@
name = "ultra-high-power micro-laser"
icon_state = "ultra_high_micro_laser"
desc = "A tiny laser used in certain devices."
origin_tech = "magnets=5"
origin_tech = "magnets=4;engineering=4"
rating = 3
materials = list(MAT_METAL=10, MAT_GLASS=20)
@@ -199,7 +198,7 @@
name = "super matter bin"
desc = "A container designed to hold compressed matter awaiting reconstruction."
icon_state = "super_matter_bin"
origin_tech = "materials=5"
origin_tech = "materials=4;engineering=4"
rating = 3
materials = list(MAT_METAL=80)
@@ -209,7 +208,7 @@
name = "quadratic capacitor"
desc = "An capacity capacitor used in the construction of a variety of devices."
icon_state = "quadratic_capacitor"
origin_tech = "powerstorage=6;materials=5"
origin_tech = "powerstorage=5;materials=4;engineering=4"
rating = 4
materials = list(MAT_METAL=50, MAT_GLASS=50)
@@ -217,7 +216,7 @@
name = "triphasic scanning module"
desc = "A compact, ultra resolution triphasic scanning module used in the construction of certain devices."
icon_state = "triphasic_scan_module"
origin_tech = "magnets=6"
origin_tech = "magnets=5;materials=4;engineering=4"
rating = 4
materials = list(MAT_METAL=50, MAT_GLASS=20)
@@ -225,7 +224,7 @@
name = "femto-manipulator"
desc = "A tiny little manipulator used in the construction of certain devices."
icon_state = "femto_mani"
origin_tech = "materials=6;programming=3"
origin_tech = "materials=6;programming=4;engineering=4"
rating = 4
materials = list(MAT_METAL=30)
@@ -233,7 +232,7 @@
name = "quad-ultra micro-laser"
icon_state = "quadultra_micro_laser"
desc = "A tiny laser used in certain devices."
origin_tech = "magnets=6"
origin_tech = "magnets=5;materials=4;engineering=4"
rating = 4
materials = list(MAT_METAL=10, MAT_GLASS=20)
@@ -241,7 +240,7 @@
name = "bluespace matter bin"
desc = "A container designed to hold compressed matter awaiting reconstruction."
icon_state = "bluespace_matter_bin"
origin_tech = "materials=6"
origin_tech = "materials=6;programming=4;engineering=4"
rating = 4
materials = list(MAT_METAL=80)
@@ -251,49 +250,49 @@
name = "subspace ansible"
icon_state = "subspace_ansible"
desc = "A compact module capable of sensing extradimensional activity."
origin_tech = "programming=2;magnets=3;materials=2;bluespace=1"
origin_tech = "programming=2;magnets=2;materials=2;bluespace=1"
materials = list(MAT_METAL=30, MAT_GLASS=10)
/obj/item/weapon/stock_parts/subspace/filter
name = "hyperwave filter"
icon_state = "hyperwave_filter"
desc = "A tiny device capable of filtering and converting super-intense radiowaves."
origin_tech = "programming=2;magnets=1"
origin_tech = "programming=2;magnets=2"
materials = list(MAT_METAL=30, MAT_GLASS=10)
/obj/item/weapon/stock_parts/subspace/amplifier
name = "subspace amplifier"
icon_state = "subspace_amplifier"
desc = "A compact micro-machine capable of amplifying weak subspace transmissions."
origin_tech = "programming=2;magnets=2;materials=2;bluespace=1"
origin_tech = "programming=2;magnets=2;materials=2;bluespace=2"
materials = list(MAT_METAL=30, MAT_GLASS=10)
/obj/item/weapon/stock_parts/subspace/treatment
name = "subspace treatment disk"
icon_state = "treatment_disk"
desc = "A compact micro-machine capable of stretching out hyper-compressed radio waves."
origin_tech = "programming=2;magnets=1;materials=3;bluespace=1"
origin_tech = "programming=2;magnets=2;materials=2;bluespace=2"
materials = list(MAT_METAL=30, MAT_GLASS=10)
/obj/item/weapon/stock_parts/subspace/analyzer
name = "subspace wavelength analyzer"
icon_state = "wavelength_analyzer"
desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths."
origin_tech = "programming=2;magnets=2;materials=2;bluespace=1"
origin_tech = "programming=2;magnets=2;materials=2;bluespace=2"
materials = list(MAT_METAL=30, MAT_GLASS=10)
/obj/item/weapon/stock_parts/subspace/crystal
name = "ansible crystal"
icon_state = "ansible_crystal"
desc = "A crystal made from pure glass used to transmit laser databursts to subspace."
origin_tech = "magnets=2;materials=2;bluespace=1"
origin_tech = "magnets=2;materials=2;bluespace=2;plasmatech=2"
materials = list(MAT_GLASS=50)
/obj/item/weapon/stock_parts/subspace/transmitter
name = "subspace transmitter"
icon_state = "subspace_transmitter"
desc = "A large piece of equipment used to open a window into the subspace dimension."
origin_tech = "magnets=3;materials=3;bluespace=2"
origin_tech = "magnets=2;materials=2;bluespace=2"
materials = list(MAT_METAL=50)
/obj/item/weapon/research//Makes testing much less of a pain -Sieve
@@ -160,7 +160,7 @@
desc = "A miraculous chemical mix that can raise the intelligence of creatures to human levels. Unlike normal slime potions, it can be absorbed by any nonsentient being."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle19"
origin_tech = "biotech=5"
origin_tech = "biotech=6"
var/list/not_interested = list()
var/being_used = 0
var/sentience_type = SENTIENCE_ORGANIC
@@ -326,6 +326,7 @@
desc = "A potent chemical mix that will remove the slowdown from any item."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle3"
origin_tech = "biotech=5"
/obj/item/slimepotion/speed/afterattack(obj/C, mob/user)
..()
@@ -356,6 +357,7 @@
desc = "A potent chemical mix that will fireproof any article of clothing. Has three uses."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle17"
origin_tech = "biotech=5"
var/uses = 3
/obj/item/slimepotion/fireproof/afterattack(obj/item/clothing/C, mob/user)
@@ -662,4 +664,3 @@
for(var/turf/T in A)
T.color = "#2956B2"
qdel(src)