From 61fcdfea00f48180ba88be1dd13e8b5cf2df392a Mon Sep 17 00:00:00 2001 From: LatD Date: Wed, 11 May 2016 20:20:13 +0300 Subject: [PATCH 01/21] Some initial changes --- code/modules/research/circuitprinter.dm | 6 ++-- code/modules/research/experimentor.dm | 7 +--- code/modules/research/protolathe.dm | 6 ++-- code/modules/research/rdconsole.dm | 45 +++++++++++++------------ 4 files changed, 30 insertions(+), 34 deletions(-) diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm index 2cdc11189e1..7e8d88b8d92 100644 --- a/code/modules/research/circuitprinter.dm +++ b/code/modules/research/circuitprinter.dm @@ -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) diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index 62216b39872..72b960d4bc7 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -484,16 +484,11 @@ investigate_log("Experimentor has spawned a new corgi.", "experimentor") ejectItem(TRUE) if(globalMalf > 36 && globalMalf < 50) - visible_message("[src] improves [exp_on], drawing the life essence of those nearby!") + visible_message("Experimentor draws the life essence of those nearby!") for(var/mob/living/m in view(4,src)) m << "You feel your flesh being torn from you, mists of blood drifting to [src]!" 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("[src] encounters a run-time error!") throwSmoke(src.loc) diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm index 70c6c1c0451..385d698594d 100644 --- a/code/modules/research/protolathe.dm +++ b/code/modules/research/protolathe.dm @@ -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 = max(min(0.1, 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) diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 5da672ae25d..32d209e2b3c 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -365,7 +365,7 @@ proc/CallMaterialName(ID) - if (g2g) //If input is incorrect, nothing happens + if (g2g && !linked_lathe.busy) //If input is incorrect, nothing happens var/enough_materials = 1 linked_lathe.busy = 1 flick("protolathe_n",linked_lathe) @@ -373,7 +373,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("The [src.name] beeps, \"Not enough materials to complete prototype.\"") @@ -381,7 +381,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("The [src.name] beeps, \"Not enough reagents to complete prototype.\"") enough_materials = 0 g2g = 0 @@ -389,22 +389,18 @@ 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) + spawn(32*coeff*amount**0.8) 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= 1) @@ -856,6 +854,7 @@ proc/CallMaterialName(ID) dat += "Material Amount: [linked_lathe.materials.total_amount] / [linked_lathe.materials.max_amount]
" dat += "Chemical Volume: [linked_lathe.reagents.total_volume] / [linked_lathe.reagents.maximum_volume]
" + var/coeff = linked_lathe.efficiency_coeff for(var/datum/design/D in matching_designs) var/temp_material var/c = 50 @@ -864,9 +863,9 @@ proc/CallMaterialName(ID) t = linked_lathe.check_mat(D, M) temp_material += " | " if (t < 1) - temp_material += "[D.materials[M]] [CallMaterialName(M)]" + temp_material += "[D.materials[M]*coeff] [CallMaterialName(M)]" else - temp_material += " [D.materials[M]] [CallMaterialName(M)]" + temp_material += " [D.materials[M]*coeff] [CallMaterialName(M)]" c = min(c,t) if (c >= 1) @@ -981,6 +980,7 @@ proc/CallMaterialName(ID) dat += "Material Amount: [linked_imprinter.TotalMaterials()]
" dat += "Chemical Volume: [linked_imprinter.reagents.total_volume]
" + 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)) @@ -991,9 +991,9 @@ proc/CallMaterialName(ID) temp_materials += " | " if (!linked_imprinter.check_mat(D, M)) check_materials = 0 - temp_materials += " [D.materials[M]] [CallMaterialName(M)]" + temp_materials += " [D.materials[M]*coeff] [CallMaterialName(M)]" else - temp_materials += " [D.materials[M]] [CallMaterialName(M)]" + temp_materials += " [D.materials[M]*coeff] [CallMaterialName(M)]" if (check_materials) dat += "[D.name][temp_materials]
" else @@ -1007,6 +1007,7 @@ proc/CallMaterialName(ID) dat += "Material Amount: [linked_imprinter.TotalMaterials()]
" dat += "Chemical Volume: [linked_imprinter.reagents.total_volume]
" + var/coeff = linked_imprinter.efficiency_coeff for(var/datum/design/D in matching_designs) var/temp_materials var/check_materials = 1 @@ -1014,9 +1015,9 @@ proc/CallMaterialName(ID) temp_materials += " | " if (!linked_imprinter.check_mat(D, M)) check_materials = 0 - temp_materials += " [D.materials[M]] [CallMaterialName(M)]" + temp_materials += " [D.materials[M]*coeff] [CallMaterialName(M)]" else - temp_materials += " [D.materials[M]] [CallMaterialName(M)]" + temp_materials += " [D.materials[M]*coeff] [CallMaterialName(M)]" if (check_materials) dat += "[D.name][temp_materials]
" else From e685d82805ae38aec513d23617ad31f43df1e119 Mon Sep 17 00:00:00 2001 From: LatD Date: Thu, 12 May 2016 02:43:18 +0300 Subject: [PATCH 02/21] Removing reliability --- code/game/mecha/equipment/mecha_equipment.dm | 1 - .../mecha/equipment/tools/medical_tools.dm | 3 -- .../game/mecha/equipment/tools/other_tools.dm | 6 --- code/game/mecha/mecha.dm | 1 - code/game/objects/items.dm | 4 -- .../objects/items/weapons/storage/backpack.dm | 16 +------ code/game/objects/items/weapons/stunbaton.dm | 4 +- code/modules/cargo/exports/research.dm | 6 +-- code/modules/power/cell.dm | 10 +---- .../projectiles/guns/energy/nuclear.dm | 42 ------------------- code/modules/research/designs.dm | 26 +----------- .../research/designs/medical_designs.dm | 9 ---- .../modules/research/designs/power_designs.dm | 6 --- .../research/designs/stock_parts_designs.dm | 10 ----- .../research/designs/weapon_designs.dm | 7 ---- code/modules/research/protolathe.dm | 2 +- code/modules/research/rd-readme.dm | 2 +- code/modules/research/rdconsole.dm | 19 +++------ code/modules/research/research.dm | 24 ++--------- code/modules/research/server.dm | 2 +- 20 files changed, 19 insertions(+), 181 deletions(-) diff --git a/code/game/mecha/equipment/mecha_equipment.dm b/code/game/mecha/equipment/mecha_equipment.dm index d2ff930d4eb..a769be3bf06 100644 --- a/code/game/mecha/equipment/mecha_equipment.dm +++ b/code/game/mecha/equipment/mecha_equipment.dm @@ -1,4 +1,3 @@ -//TODO: Add critfail checks and reliability //DO NOT ADD MECHA PARTS TO THE GAME WITH THE DEFAULT "SPRITE ME" SPRITE! //I'm annoyed I even have to tell you this! SPRITE FIRST, then commit. diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm index 81ba3e89b21..1f06ed64094 100644 --- a/code/game/mecha/equipment/tools/medical_tools.dm +++ b/code/game/mecha/equipment/tools/medical_tools.dm @@ -37,7 +37,6 @@ origin_tech = "programming=2;biotech=3" energy_drain = 20 range = MELEE - reliability = 1000 equip_cooldown = 20 var/mob/living/carbon/patient = null var/inject_amount = 10 @@ -523,8 +522,6 @@ log_message("Reagent processing stopped.") SSobj.processing -= src return - if(anyprob(reliability)) - critfail() var/amount = synth_speed / processed_reagents.len for(var/reagent in processed_reagents) reagents.add_reagent(reagent,amount) diff --git a/code/game/mecha/equipment/tools/other_tools.dm b/code/game/mecha/equipment/tools/other_tools.dm index ead3ad8781d..091756ac9be 100644 --- a/code/game/mecha/equipment/tools/other_tools.dm +++ b/code/game/mecha/equipment/tools/other_tools.dm @@ -364,7 +364,6 @@ var/fuel_per_cycle_idle = 25 var/fuel_per_cycle_active = 200 var/power_per_cycle = 20 - reliability = 1000 /obj/item/mecha_parts/mecha_equipment/generator/New() ..() @@ -453,11 +452,6 @@ log_message("Deactivated - no fuel.") set_ready_state(1) return - if(anyprob(reliability)) - set_ready_state(1) //inactive - critfail() - SSobj.processing.Remove(src) - return var/cur_charge = chassis.get_charge() if(isnull(cur_charge)) set_ready_state(1) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 6c62de01260..df4289934f0 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -164,7 +164,6 @@ WR.crowbar_salvage += E E.detach(WR) //detaches from src into WR E.equip_ready = 1 - E.reliability = round(rand(E.reliability/3,E.reliability)) else E.detach(loc) qdel(E) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 1536d5f1f85..b346ac887cb 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -55,7 +55,6 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s var/put_on_delay = 20 var/breakouttime = 0 var/list/materials = list() - var/reliability = 100 //Used by SOME devices to determine how reliable they are. var/origin_tech = null //Used by R&D to determine what research bonuses it grants. var/needs_permit = 0 //Used by security bots to determine if this item is safe for public use. @@ -202,9 +201,6 @@ var/global/image/fire_overlay = image("icon" = 'icons/effects/fire.dmi', "icon_s var/list/techlvls = params2list(origin_tech) for(var/T in techlvls) //This needs to use the better names. msg += "Tech: [CallTechName(T)] | magnitude: [techlvls[T]]
" - msg += "Research reliability: [reliability]%
" - if(crit_fail) - msg += "Critical failure detected in subject!
" else msg += "No tech origins detected.
" diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index d855441b3ec..76ff44f09b5 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -51,9 +51,6 @@ return /obj/item/weapon/storage/backpack/holding/can_be_inserted(obj/item/W, stop_messages = 0, mob/user) - if(crit_fail) - user << "The Bluespace generator isn't working." - return return ..() /obj/item/weapon/storage/backpack/holding/content_can_dump(atom/dest_object, mob/user) @@ -71,7 +68,7 @@ return 0 /obj/item/weapon/storage/backpack/holding/handle_item_insertion(obj/item/W, prevent_warning = 0, mob/user) - if((istype(W, /obj/item/weapon/storage/backpack/holding) || count_by_type(W.GetAllContents(), /obj/item/weapon/storage/backpack/holding)) && !W.crit_fail) + if((istype(W, /obj/item/weapon/storage/backpack/holding) || count_by_type(W.GetAllContents(), /obj/item/weapon/storage/backpack/holding))) var/safety = alert(user, "Doing this will have extremely dire consequences for the station and its crew. Be sure you know what you're doing.", "Put in [name]?", "Proceed", "Abort") if(safety == "Abort" || !in_range(src, user) || !src || !W || user.incapacitated()) return @@ -87,17 +84,6 @@ return ..() -/obj/item/weapon/storage/backpack/holding/proc/failcheck(mob/user) - if (prob(src.reliability)) return 1 //No failure - if (prob(src.reliability)) - user << "The Bluespace portal resists your attempt to add another item." //light failure - else - user << "The Bluespace generator malfunctions!" - for (var/obj/O in src.contents) //it broke, delete what was in it - qdel(O) - crit_fail = 1 - icon_state = "brokenpack" - /obj/item/weapon/storage/backpack/holding/singularity_act(current_size) var/dist = max((current_size - 2),1) explosion(src.loc,(dist),(dist*2),(dist*4)) diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm index 0744643aac4..605cdd9c5f9 100644 --- a/code/game/objects/items/weapons/stunbaton.dm +++ b/code/game/objects/items/weapons/stunbaton.dm @@ -160,9 +160,7 @@ return 1 /obj/item/weapon/melee/baton/emp_act(severity) - if(deductcharge(1000 / severity)) - if(bcell.reliability != 100 && prob(50/severity)) - bcell.reliability -= 10 / severity + deductcharge(1000 / severity) ..() //Makeshift stun baton. Replacement for stun gloves. diff --git a/code/modules/cargo/exports/research.dm b/code/modules/cargo/exports/research.dm index 39e54a1842b..004eded9101 100644 --- a/code/modules/cargo/exports/research.dm +++ b/code/modules/cargo/exports/research.dm @@ -20,7 +20,7 @@ -// Sell max reliablity designs +// Sell designs /datum/export/design cost = 2500 unit_name = "design data disk" @@ -34,9 +34,7 @@ var/datum/design/design = disk.blueprint if(design.id in researchDesigns) return 0 - if(initial(design.reliability) < 100 && design.reliability >= 100) - return ..() - return 0 + return ..() /datum/export/design/sell_object(obj/O) ..() diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 6d29f794ee6..9946faf868b 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -77,19 +77,11 @@ if(maxcharge < amount) amount = maxcharge var/power_used = min(maxcharge-charge,amount) - if(crit_fail) - return 0 - if(!prob(reliability)) - minor_fault++ - if(prob(minor_fault)) - crit_fail = 1 - return 0 - charge += power_used return power_used /obj/item/weapon/stock_parts/cell/examine(mob/user) ..() - if(crit_fail || rigged) + if(rigged) user << "This power cell seems to be faulty!" else user << "The charge meter reads [round(src.percent() )]%." diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm index 528ecc04816..f76244c72f6 100644 --- a/code/modules/projectiles/guns/energy/nuclear.dm +++ b/code/modules/projectiles/guns/energy/nuclear.dm @@ -67,51 +67,9 @@ icon_state = "nucgun" item_state = "nucgun" origin_tech = "combat=3;materials=5;powerstorage=3" - var/fail_tick = 0 charge_delay = 5 pin = null can_charge = 0 ammo_x_offset = 1 ammo_type = list(/obj/item/ammo_casing/energy/electrode, /obj/item/ammo_casing/energy/laser, /obj/item/ammo_casing/energy/disabler) selfcharge = 1 - -/obj/item/weapon/gun/energy/gun/nuclear/process() - if(fail_tick > 0) - fail_tick-- - ..() - -/obj/item/weapon/gun/energy/gun/nuclear/shoot_live_shot() - failcheck() - update_icon() - ..() - -/obj/item/weapon/gun/energy/gun/nuclear/proc/failcheck() - if(!prob(reliability) && istype(loc, /mob/living)) - var/mob/living/M = loc - switch(fail_tick) - if(0 to 200) - fail_tick += (2*(100-reliability)) - M.rad_act(40) - M << "Your [name] feels warmer." - if(201 to INFINITY) - SSobj.processing.Remove(src) - M.rad_act(80) - crit_fail = 1 - M << "Your [name]'s reactor overloads!" - -/obj/item/weapon/gun/energy/gun/nuclear/emp_act(severity) - ..() - reliability = max(reliability - round(15/severity), 0) //Do not allow it to go negative! - -/obj/item/weapon/gun/energy/gun/nuclear/update_icon() - ..() - if(crit_fail) - overlays += "[icon_state]_fail_3" - else - switch(fail_tick) - if(0) - overlays += "[icon_state]_fail_0" - if(1 to 150) - overlays += "[icon_state]_fail_1" - if(151 to INFINITY) - overlays += "[icon_state]_fail_2" diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 02b9a48b25a..05ef248681e 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -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// //////////////////////////////////////// @@ -141,7 +125,6 @@ other types of metals and chemistry for reagents). req_tech = list("materials" = 6, "powerstorage" = 4, "engineering" = 4) 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") @@ -152,7 +135,6 @@ other types of metals and chemistry for reagents). req_tech = list("materials" = 2, "plasmatech" = 2, "engineering" = 2, "combat" = 1, "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") @@ -163,7 +145,6 @@ other types of metals and chemistry for reagents). req_tech = list("materials" = 4, "plasmatech" = 3, "engineering" = 3, "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") @@ -228,7 +209,6 @@ other types of metals and chemistry for reagents). req_tech = list("bluespace" = 4, "materials" = 6) 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") @@ -239,7 +219,6 @@ other types of metals and chemistry for reagents). req_tech = list("bluespace" = 4, "materials" = 6) 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") @@ -260,7 +239,6 @@ other types of metals and chemistry for reagents). req_tech = list("bluespace" = 3, "materials" = 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") diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index d7e9ef3882f..a65b249a1e5 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -10,7 +10,6 @@ req_tech = list("biotech" = 2, "magnets" = 2) build_type = PROTOLATHE materials = list(MAT_METAL = 30, MAT_GLASS = 20) - reliability = 76 build_path = /obj/item/device/mass_spectrometer category = list("Medical Designs") @@ -21,7 +20,6 @@ req_tech = list("biotech" = 2, "magnets" = 4) build_type = PROTOLATHE materials = list(MAT_METAL = 30, MAT_GLASS = 20) - reliability = 74 build_path = /obj/item/device/mass_spectrometer/adv category = list("Medical Designs") @@ -33,7 +31,6 @@ 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") @@ -44,7 +41,6 @@ req_tech = list("programming" = 5, "biotech" = 4) 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") @@ -58,7 +54,6 @@ 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") @@ -69,7 +64,6 @@ req_tech = list("bluespace" = 2, "materials" = 6) build_type = PROTOLATHE materials = list(MAT_METAL = 3000, MAT_PLASMA = 3000, MAT_DIAMOND = 500) - reliability = 76 build_path = /obj/item/weapon/reagent_containers/glass/beaker/bluespace category = list("Misc","Medical Designs") @@ -80,7 +74,6 @@ req_tech = list("materials" = 2) build_type = PROTOLATHE materials = list(MAT_METAL = 3000) - reliability = 76 build_path = /obj/item/weapon/reagent_containers/glass/beaker/noreact category = list("Medical Designs") @@ -91,7 +84,6 @@ req_tech = list("bluespace" = 2, "materials" = 6) 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") @@ -102,7 +94,6 @@ req_tech = list("materials" = 2, "combat" = 2) build_type = PROTOLATHE materials = list(MAT_METAL = 4000, MAT_PLASMA = 1000) - reliability = 76 build_path = /obj/item/device/extinguisher_refill category = list("Medical Designs") diff --git a/code/modules/research/designs/power_designs.dm b/code/modules/research/designs/power_designs.dm index 11bb5c755be..4d1620e5c2c 100644 --- a/code/modules/research/designs/power_designs.dm +++ b/code/modules/research/designs/power_designs.dm @@ -29,7 +29,6 @@ desc = "A power cell that holds 20000 units of energy." id = "super_cell" req_tech = list("powerstorage" = 3, "materials" = 2) - reliability = 75 build_type = PROTOLATHE | MECHFAB materials = list(MAT_METAL = 700, MAT_GLASS = 70) construction_time=100 @@ -41,7 +40,6 @@ desc = "A power cell that holds 30000 units of energy." id = "hyper_cell" req_tech = list("powerstorage" = 5, "materials" = 4) - reliability = 70 build_type = PROTOLATHE | MECHFAB materials = list(MAT_METAL = 400, MAT_GOLD = 150, MAT_SILVER = 150, MAT_GLASS = 80) construction_time=100 @@ -53,7 +51,6 @@ desc = "A power cell that holds 40000 units of energy." id = "bluespace_cell" req_tech = list("powerstorage" = 6, "materials" = 5) - reliability = 70 build_type = PROTOLATHE | MECHFAB materials = list(MAT_METAL = 800, MAT_GOLD = 300, MAT_SILVER = 300, MAT_GLASS = 160, MAT_DIAMOND = 160) construction_time=100 @@ -77,7 +74,6 @@ id = "pacman" req_tech = list("programming" = 3, "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") @@ -99,7 +94,6 @@ id = "mrspacman" req_tech = list("programming" = 3, "powerstorage" = 5, "engineering" = 5) 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") diff --git a/code/modules/research/designs/stock_parts_designs.dm b/code/modules/research/designs/stock_parts_designs.dm index 3f10842e91f..e306a35b18c 100644 --- a/code/modules/research/designs/stock_parts_designs.dm +++ b/code/modules/research/designs/stock_parts_designs.dm @@ -50,7 +50,6 @@ id = "super_capacitor" req_tech = list("powerstorage" = 5, "materials" = 4) build_type = PROTOLATHE - reliability = 71 materials = list(MAT_METAL = 50, MAT_GLASS = 50, MAT_GOLD = 20) build_path = /obj/item/weapon/stock_parts/capacitor/super category = list("Stock Parts") @@ -61,7 +60,6 @@ id = "quadratic_capacitor" req_tech = list("powerstorage" = 6, "materials" = 5) build_type = PROTOLATHE - reliability = 71 materials = list(MAT_METAL = 100, MAT_GLASS = 100, MAT_DIAMOND = 40) build_path = /obj/item/weapon/stock_parts/capacitor/quadratic category = list("Stock Parts") @@ -94,7 +92,6 @@ req_tech = list("magnets" = 5, "materials" = 3) build_type = PROTOLATHE materials = list(MAT_METAL = 50, MAT_GLASS = 20, MAT_SILVER = 10) - reliability = 72 build_path = /obj/item/weapon/stock_parts/scanning_module/phasic category = list("Stock Parts") @@ -105,7 +102,6 @@ req_tech = list("magnets" = 6, "materials" = 4) build_type = PROTOLATHE materials = list(MAT_METAL = 100, MAT_GLASS = 40, MAT_DIAMOND = 20) - reliability = 72 build_path = /obj/item/weapon/stock_parts/scanning_module/triphasic category = list("Stock Parts") @@ -137,7 +133,6 @@ req_tech = list("materials" = 5, "programming" = 2) build_type = PROTOLATHE materials = list(MAT_METAL = 30) - reliability = 73 build_path = /obj/item/weapon/stock_parts/manipulator/pico category = list("Stock Parts") @@ -148,7 +143,6 @@ req_tech = list("materials" = 6, "programming" = 3) build_type = PROTOLATHE materials = list(MAT_METAL = 60, MAT_DIAMOND = 30) - reliability = 73 build_path = /obj/item/weapon/stock_parts/manipulator/femto category = list("Stock Parts") @@ -180,7 +174,6 @@ req_tech = list("magnets" = 5, "materials" = 5) build_type = PROTOLATHE materials = list(MAT_METAL = 10, MAT_GLASS = 20, MAT_URANIUM = 10) - reliability = 70 build_path = /obj/item/weapon/stock_parts/micro_laser/ultra category = list("Stock Parts") @@ -191,7 +184,6 @@ req_tech = list("magnets" = 6, "materials" = 6) build_type = PROTOLATHE materials = list(MAT_METAL = 20, MAT_GLASS = 40, MAT_URANIUM = 20, MAT_DIAMOND = 20) - reliability = 70 build_path = /obj/item/weapon/stock_parts/micro_laser/quadultra category = list("Stock Parts") @@ -222,7 +214,6 @@ req_tech = list("materials" = 5) build_type = PROTOLATHE materials = list(MAT_METAL = 80) - reliability = 75 build_path = /obj/item/weapon/stock_parts/matter_bin/super category = list("Stock Parts") @@ -233,7 +224,6 @@ req_tech = list("materials" = 6) build_type = PROTOLATHE materials = list(MAT_METAL = 160, MAT_DIAMOND = 200) - reliability = 75 build_path = /obj/item/weapon/stock_parts/matter_bin/bluespace category = list("Stock Parts") diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index 254c87a22ca..b64bdfb836e 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -30,7 +30,6 @@ 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 @@ -40,7 +39,6 @@ req_tech = list("combat" = 4, "materials" = 5, "powerstorage" = 3) build_type = PROTOLATHE materials = list(MAT_METAL = 5000, MAT_GLASS = 1000, MAT_URANIUM = 2000) - reliability = 76 build_path = /obj/item/weapon/gun/energy/gun/nuclear category = list("Weapons") @@ -94,7 +92,6 @@ 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" @@ -124,7 +121,6 @@ req_tech = list("combat" = 3, "materials" = 2) build_type = PROTOLATHE materials = list(MAT_METAL = 3000) - reliability = 79 build_path = /obj/item/weapon/grenade/chem_grenade/large category = list("Weapons") @@ -135,7 +131,6 @@ req_tech = list("combat" = 3, "materials" = 3) 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") */ @@ -160,7 +154,6 @@ req_tech = list("combat" = 3, "materials" = 3) 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") diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm index 385d698594d..25f944841f2 100644 --- a/code/modules/research/protolathe.dm +++ b/code/modules/research/protolathe.dm @@ -85,7 +85,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 << "The [src.name]'s material bin is full! Please remove material before adding more." diff --git a/code/modules/research/rd-readme.dm b/code/modules/research/rd-readme.dm index 5c42b3e930b..9c06d43a3b4 100644 --- a/code/modules/research/rd-readme.dm +++ b/code/modules/research/rd-readme.dm @@ -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 diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 32d209e2b3c..1e2b4ade56a 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -258,15 +258,12 @@ proc/CallMaterialName(ID) usr <<"The destructive analyzer appears to be empty." 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 + + var/list/temp_tech = linked_destroy.ConvertReqString2List(linked_destroy.loaded_item.origin_tech) + for(var/T in temp_tech) + files.UpdateTech(T, temp_tech[T]) + screen = 1.0 + 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) @@ -448,11 +445,9 @@ proc/CallMaterialName(ID) linked_imprinter.reagents.remove_reagent(M, being_built.materials[M]) 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 @@ -685,7 +680,6 @@ proc/CallMaterialName(ID) dat += "Load Design to Disk" else dat += "Name: [d_disk.blueprint.name]
" - dat += "Level: [d_disk.blueprint.reliability]
" var/b_type = d_disk.blueprint.build_type if(b_type) dat += "Lathe Types:
" @@ -760,7 +754,6 @@ proc/CallMaterialName(ID) dat += "Main Menu
" dat += "

Deconstruction Menu


" dat += "Name: [linked_destroy.loaded_item.name]
" - dat += "Reliability: [linked_destroy.loaded_item.reliability]
" dat += "Origin Tech:
" var/list/temp_tech = linked_destroy.ConvertReqString2List(linked_destroy.loaded_item.origin_tech) for(var/T in temp_tech) diff --git a/code/modules/research/research.dm b/code/modules/research/research.dm index 9aff35065bd..610afd2e7f1 100644 --- a/code/modules/research/research.dm +++ b/code/modules/research/research.dm @@ -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. @@ -127,17 +120,6 @@ research holder datum. if(KT.level <= level) KT.level = max((KT.level + 1), (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)) - /datum/research/proc/FindDesignByID(id) return known_designs[id] diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm index 1e5e26d41ce..e57becb8253 100644 --- a/code/modules/research/server.dm +++ b/code/modules/research/server.dm @@ -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) From 24419a7c96d0ad7d3d12559aefc97d0af65e0cf6 Mon Sep 17 00:00:00 2001 From: LatD Date: Thu, 12 May 2016 02:59:59 +0300 Subject: [PATCH 03/21] Final reliabilities --- code/game/machinery/machinery.dm | 2 -- code/game/objects/items/devices/scanners.dm | 17 +++-------------- code/game/objects/items/weapons/defib.dm | 2 -- code/modules/power/cell.dm | 2 -- code/modules/research/experimentor.dm | 4 ---- 5 files changed, 3 insertions(+), 24 deletions(-) diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index d3e9e6727dc..3db3d0ff562 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -352,8 +352,6 @@ Class Procs: M.state = 2 M.icon_state = "box_1" for(var/obj/item/I in component_parts) - if(I.reliability != 100 && crit_fail) - I.crit_fail = 1 I.loc = loc qdel(src) diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 798a8ce3614..c3c08468627 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -358,20 +358,9 @@ MASS SPECTROMETER dat += "
None" else for(var/R in blood_traces) - if(prob(reliability)) - dat += "
[chemical_reagents_list[R]]" - - if(details) - dat += " ([blood_traces[R]] units)" - - recent_fail = 0 - else - if(recent_fail) - crit_fail = 1 - reagents.clear_reagents() - return - else - recent_fail = 1 + dat += "
[chemical_reagents_list[R]]" + if(details) + dat += " ([blood_traces[R]] units)" dat += "" user << dat reagents.clear_reagents() diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm index c04ead47e26..241ecbf6569 100644 --- a/code/game/objects/items/weapons/defib.dm +++ b/code/game/objects/items/weapons/defib.dm @@ -149,8 +149,6 @@ /obj/item/weapon/defibrillator/emp_act(severity) if(bcell) deductcharge(1000 / severity) - if(bcell.reliability != 100 && prob(50/severity)) - bcell.reliability -= 10 / severity if(safety) safety = 0 src.visible_message("[src] beeps: Safety protocols disabled!") diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 9946faf868b..21c3f31d6d3 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -132,8 +132,6 @@ charge -= 1000 / severity if (charge < 0) charge = 0 - if(reliability != 100 && prob(50/severity)) - reliability -= 10 / severity ..() /obj/item/weapon/stock_parts/cell/ex_act(severity, target) diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index 72b960d4bc7..7f2beb39a06 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -129,9 +129,6 @@ if (temp_tech.len == 0) user << "You cannot experiment on this item!" return - if(O.reliability < 90 && O.crit_fail == 0) - usr << "Item is neither reliable enough or broken enough to learn from." - return if(!user.drop_item()) return loaded_item = O @@ -552,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 From 5a8f905b912d4f77ea532dc87502a3ef4959f2bb Mon Sep 17 00:00:00 2001 From: LatD Date: Fri, 13 May 2016 01:48:31 +0300 Subject: [PATCH 04/21] Efficiency coeff changes --- code/game/machinery/autolathe.dm | 34 ++++++++++++------------- code/game/mecha/mech_fabricator.dm | 9 ++++++- code/modules/research/circuitprinter.dm | 6 ++--- code/modules/research/protolathe.dm | 2 +- code/modules/research/rdconsole.dm | 18 ++++++------- 5 files changed, 37 insertions(+), 32 deletions(-) diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 4014ad407ec..8038902c66c 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -22,7 +22,7 @@ idle_power_usage = 10 active_power_usage = 100 var/busy = 0 - var/prod_coeff + var/prod_coeff = 1 var/datum/design/being_built var/datum/research/files @@ -193,18 +193,18 @@ return ///////////////// - var/coeff = (is_stack ? 1 : 2 ** prod_coeff) //stacks are unaffected by production coefficient + var/coeff = (is_stack ? 1 : prod_coeff) //stacks are unaffected by production coefficient var/metal_cost = being_built.materials[MAT_METAL] var/glass_cost = being_built.materials[MAT_GLASS] var/power = max(2000, (metal_cost+glass_cost)*multiplier/5) - if((materials.amount(MAT_METAL) >= metal_cost*multiplier/coeff) && (materials.amount(MAT_GLASS) >= glass_cost*multiplier/coeff)) + if((materials.amount(MAT_METAL) >= metal_cost*multiplier*coeff) && (materials.amount(MAT_GLASS) >= glass_cost*multiplier*coeff)) busy = 1 use_power(power) icon_state = "autolathe" flick("autolathe_n",src) - spawn(32/coeff) + spawn(32*coeff) use_power(power) if(is_stack) var/list/materials_used = list(MAT_METAL=metal_cost*multiplier, MAT_GLASS=glass_cost*multiplier) @@ -218,7 +218,7 @@ if(istype(S, N.merge_type)) N.merge(S) else - var/list/materials_used = list(MAT_METAL=metal_cost/coeff, MAT_GLASS=glass_cost/coeff) + var/list/materials_used = list(MAT_METAL=metal_cost*coeff, MAT_GLASS=glass_cost*coeff) materials.use_amount(materials_used) var/obj/item/new_item = new being_built.build_path(T) new_item.materials = materials_used.Copy() @@ -241,14 +241,14 @@ return /obj/machinery/autolathe/RefreshParts() - var/tot_rating = 0 - prod_coeff = 0 + var/T =1.2 for(var/obj/item/weapon/stock_parts/matter_bin/MB in component_parts) - tot_rating += MB.rating - tot_rating *= 25000 - materials.max_amount = tot_rating * 3 + T += MB.rating*75000 + materials.max_amount = T + T=1.2 for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) - prod_coeff += M.rating - 1 + T -= M.rating*0.2 + prod_coeff = min(1,max(0,T)) // Coeff going 1 -> 0,8 -> 0,6 -> 0,4 /obj/machinery/autolathe/proc/main_win(mob/user) var/dat = "

Autolathe Menu:


" @@ -338,21 +338,21 @@ return dat /obj/machinery/autolathe/proc/can_build(datum/design/D) - var/coeff = (ispath(D.build_path,/obj/item/stack) ? 1 : 2 ** prod_coeff) + var/coeff = (ispath(D.build_path,/obj/item/stack) ? 1 : prod_coeff) - if(D.materials[MAT_METAL] && (materials.amount(MAT_METAL) < (D.materials[MAT_METAL] / coeff))) + if(D.materials[MAT_METAL] && (materials.amount(MAT_METAL) < (D.materials[MAT_METAL] * coeff))) return 0 - if(D.materials[MAT_GLASS] && (materials.amount(MAT_GLASS) < (D.materials[MAT_GLASS] / coeff))) + if(D.materials[MAT_GLASS] && (materials.amount(MAT_GLASS) < (D.materials[MAT_GLASS] * coeff))) return 0 return 1 /obj/machinery/autolathe/proc/get_design_cost(datum/design/D) - var/coeff = (ispath(D.build_path,/obj/item/stack) ? 1 : 2 ** prod_coeff) + var/coeff = (ispath(D.build_path,/obj/item/stack) ? 1 : prod_coeff) var/dat if(D.materials[MAT_METAL]) - dat += "[D.materials[MAT_METAL] / coeff] metal " + dat += "[D.materials[MAT_METAL] * coeff] metal " if(D.materials[MAT_GLASS]) - dat += "[D.materials[MAT_GLASS] / coeff] glass" + dat += "[D.materials[MAT_GLASS] * coeff] glass" return dat /obj/machinery/autolathe/proc/reset(wire) diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index 5de9c676059..fa648b28849 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -10,6 +10,7 @@ active_power_usage = 5000 req_access = list(access_robotics) var/time_coeff = 1 + var/component_coeff = 1 var/list/resources = list( MAT_METAL=0, MAT_GLASS=0, @@ -68,6 +69,12 @@ T += M.rating res_max_amount = (187000+(T * 37500)) + //resources adjustment coefficient (1 -> 0.85 -> 0.7 -> 0.55) + T = 1.15 + for(var/obj/item/weapon/stock_parts/micro_laser/Ma in component_parts) + T -= Ma.rating*0.15 + component_coeff = T + //building time adjustment coefficient (1 -> 0.8 -> 0.6) T = -1 for(var/obj/item/weapon/stock_parts/manipulator/Ml in component_parts) @@ -266,7 +273,7 @@ return /obj/machinery/mecha_part_fabricator/proc/get_resource_cost_w_coeff(datum/design/D, resource, roundto = 1) - return round(D.materials[resource], roundto) + return round(D.materials[resource]*component_coeff, roundto) /obj/machinery/mecha_part_fabricator/proc/get_construction_time_w_coeff(datum/design/D, roundto = 1) //aran return round(initial(D.construction_time)*time_coeff, roundto) diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm index 7e8d88b8d92..2cdc11189e1 100644 --- a/code/modules/research/circuitprinter.dm +++ b/code/modules/research/circuitprinter.dm @@ -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]/efficiency_coeff) >= 0) + return (g_amount - (being_built.materials[M]) >= 0) if(MAT_GOLD) - return (gold_amount - (being_built.materials[M]/efficiency_coeff) >= 0) + return (gold_amount - (being_built.materials[M]) >= 0) if(MAT_DIAMOND) - return (diamond_amount - (being_built.materials[M]/efficiency_coeff) >= 0) + return (diamond_amount - (being_built.materials[M]) >= 0) else return (reagents.has_reagent(M, (being_built.materials[M]/efficiency_coeff)) != 0) diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm index 25f944841f2..3c6d0b2437f 100644 --- a/code/modules/research/protolathe.dm +++ b/code/modules/research/protolathe.dm @@ -63,7 +63,7 @@ Note: Must be placed west/left of and R&D console to function. T = 1.2 for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) T -= M.rating/10 - efficiency_coeff = max(min(0.1, T), 1) + 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) diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 1e2b4ade56a..cdaf530fa85 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -436,13 +436,13 @@ proc/CallMaterialName(ID) break switch(M) if(MAT_GLASS) - linked_imprinter.g_amount = max(0, (linked_imprinter.g_amount-being_built.materials[M])*coeff) + linked_imprinter.g_amount = max(0, (linked_imprinter.g_amount-being_built.materials[M])) if(MAT_GOLD) - linked_imprinter.gold_amount = max(0, (linked_imprinter.gold_amount-being_built.materials[M])*coeff) + linked_imprinter.gold_amount = max(0, (linked_imprinter.gold_amount-being_built.materials[M])) if(MAT_DIAMOND) - linked_imprinter.diamond_amount = max(0, (linked_imprinter.diamond_amount-being_built.materials[M])*coeff) + linked_imprinter.diamond_amount = max(0, (linked_imprinter.diamond_amount-being_built.materials[M])) 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. spawn(16) @@ -973,7 +973,6 @@ proc/CallMaterialName(ID) dat += "Material Amount: [linked_imprinter.TotalMaterials()]
" dat += "Chemical Volume: [linked_imprinter.reagents.total_volume]
" - 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)) @@ -984,9 +983,9 @@ proc/CallMaterialName(ID) temp_materials += " | " if (!linked_imprinter.check_mat(D, M)) check_materials = 0 - temp_materials += " [D.materials[M]*coeff] [CallMaterialName(M)]" + temp_materials += " [D.materials[M]] [CallMaterialName(M)]" else - temp_materials += " [D.materials[M]*coeff] [CallMaterialName(M)]" + temp_materials += " [D.materials[M]] [CallMaterialName(M)]" if (check_materials) dat += "[D.name][temp_materials]
" else @@ -1000,7 +999,6 @@ proc/CallMaterialName(ID) dat += "Material Amount: [linked_imprinter.TotalMaterials()]
" dat += "Chemical Volume: [linked_imprinter.reagents.total_volume]
" - var/coeff = linked_imprinter.efficiency_coeff for(var/datum/design/D in matching_designs) var/temp_materials var/check_materials = 1 @@ -1008,9 +1006,9 @@ proc/CallMaterialName(ID) temp_materials += " | " if (!linked_imprinter.check_mat(D, M)) check_materials = 0 - temp_materials += " [D.materials[M]*coeff] [CallMaterialName(M)]" + temp_materials += " [D.materials[M]] [CallMaterialName(M)]" else - temp_materials += " [D.materials[M]*coeff] [CallMaterialName(M)]" + temp_materials += " [D.materials[M]] [CallMaterialName(M)]" if (check_materials) dat += "[D.name][temp_materials]
" else From c401c8f5221cd9dc38c1292bb8b9d7dc4531081d Mon Sep 17 00:00:00 2001 From: LatD Date: Fri, 13 May 2016 18:50:22 +0300 Subject: [PATCH 05/21] Remove one slow step from DA --- code/modules/research/rdconsole.dm | 87 ++++++++++++++++-------------- code/modules/research/research.dm | 12 ++++- 2 files changed, 57 insertions(+), 42 deletions(-) diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index cdaf530fa85..986471dc4cd 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -243,51 +243,56 @@ proc/CallMaterialName(ID) if(linked_destroy) if(linked_destroy.busy) usr << "The destructive analyzer is busy at the moment." - 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 + 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 <<"The destructive analyzer appears to be empty." - screen = 1.0 - return - - var/list/temp_tech = linked_destroy.ConvertReqString2List(linked_destroy.loaded_item.origin_tech) - for(var/T in temp_tech) - files.UpdateTech(T, temp_tech[T]) + 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 <<"The destructive analyzer appears to be empty." screen = 1.0 + return - 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" + for(var/T in temp_tech) + files.UpdateTech(T, temp_tech[T]) + screen = 1.0 + + 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 - 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" + use_power(250) + updateUsrDialog() else if(href_list["lock"]) //Lock the console from use by anyone without tox access. if(src.allowed(usr)) diff --git a/code/modules/research/research.dm b/code/modules/research/research.dm index 610afd2e7f1..130fce1f03f 100644 --- a/code/modules/research/research.dm +++ b/code/modules/research/research.dm @@ -118,7 +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 + +//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] From bf3ef135ace223cd6f6d9f9071d35f5220747d10 Mon Sep 17 00:00:00 2001 From: LatD Date: Fri, 13 May 2016 22:14:23 +0300 Subject: [PATCH 06/21] Bugfixes and runtime fixes --- code/game/machinery/machinery.dm | 2 +- code/modules/research/rdconsole.dm | 33 ++++++++++++++++------------ code/modules/research/stock_parts.dm | 11 +++++----- 3 files changed, 25 insertions(+), 21 deletions(-) diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index 3db3d0ff562..26dc53aa015 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -389,7 +389,7 @@ Class Procs: return 0 /obj/machinery/proc/exchange_parts(mob/user, obj/item/weapon/storage/part_replacer/W) - if(flags & NODECONSTRUCT) + if(flags & NODECONSTRUCT & !W.works_from_distance) return var/shouldplaysound = 0 if(istype(W) && component_parts) diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 986471dc4cd..5ee5fe390c8 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -249,6 +249,7 @@ proc/CallMaterialName(ID) 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 @@ -395,20 +396,24 @@ proc/CallMaterialName(ID) var/P = being_built.build_path //lets save these values before the spawn() just in case. Nobody likes runtimes. spawn(32*coeff*amount**0.8) - if(g2g) //And if we only fail the material requirements, we still spend time and power - var/already_logged = 0 - for(var/i = 0, iThe [src.name] beeps, \"Something went wrong, production halted!\"") + screen = 1.0 updateUsrDialog() else if(href_list["imprint"]) //Causes the Circuit Imprinter to build something. diff --git a/code/modules/research/stock_parts.dm b/code/modules/research/stock_parts.dm index f35a8196405..dc811c406f0 100644 --- a/code/modules/research/stock_parts.dm +++ b/code/modules/research/stock_parts.dm @@ -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 From fe76e6464105430aefe76529b0632e5ceeab65bd Mon Sep 17 00:00:00 2001 From: LatD Date: Tue, 17 May 2016 20:57:01 +0300 Subject: [PATCH 07/21] Origin tech changes and some fixes --- .../changeling/powers/augmented_eyesight.dm | 4 +- .../miniantags/abduction/abduction_gear.dm | 18 +++--- .../gamemodes/miniantags/abduction/gland.dm | 20 ++---- .../miniantags/slaughter/slaughter.dm | 2 +- code/game/gamemodes/wizard/soulstone.dm | 2 +- code/game/machinery/machinery.dm | 6 +- code/game/mecha/mecha_parts.dm | 38 +++++------ code/game/objects/effects/anomalies.dm | 12 ++-- .../items/devices/radio/encryptionkey.dm | 1 + code/game/objects/items/stacks/medical.dm | 4 +- .../objects/items/stacks/sheets/leather.dm | 12 ++-- .../objects/items/stacks/sheets/mineral.dm | 64 +------------------ .../items/stacks/sheets/sheet_types.dm | 4 +- .../items/stacks/tiles/tile_mineral.dm | 4 -- .../objects/items/stacks/tiles/tile_types.dm | 2 +- code/game/objects/items/weapons/AI_modules.dm | 25 +++----- .../objects/items/weapons/airlock_painter.dm | 2 +- code/game/objects/items/weapons/defib.dm | 2 +- .../objects/items/weapons/flamethrower.dm | 2 +- .../items/weapons/grenades/emgrenade.dm | 3 +- .../items/weapons/grenades/flashbang.dm | 3 +- code/game/objects/items/weapons/handcuffs.dm | 8 ++- .../items/weapons/implants/implant_misc.dm | 4 +- .../items/weapons/implants/implanter.dm | 2 +- .../items/weapons/implants/implantuplink.dm | 4 +- code/game/objects/items/weapons/kitchen.dm | 8 +-- .../objects/items/weapons/melee/energy.dm | 5 +- code/game/objects/items/weapons/melee/misc.dm | 4 +- code/game/objects/items/weapons/scrolls.dm | 4 +- code/game/objects/items/weapons/shields.dm | 3 +- .../items/weapons/singularityhammer.dm | 13 +--- .../objects/items/weapons/storage/toolbox.dm | 4 +- .../objects/items/weapons/teleportation.dm | 6 +- code/game/objects/items/weapons/tools.dm | 10 +-- code/game/objects/items/weapons/twohanded.dm | 4 +- code/game/objects/items/weapons/weaponry.dm | 5 +- code/modules/assembly/assembly.dm | 2 +- code/modules/assembly/infrared.dm | 2 +- code/modules/assembly/mousetrap.dm | 2 +- code/modules/assembly/proximity.dm | 2 +- code/modules/assembly/signaler.dm | 2 +- code/modules/assembly/timer.dm | 3 +- code/modules/assembly/voice.dm | 2 +- code/modules/detectivework/scanner.dm | 2 +- code/modules/hydroponics/grown.dm | 1 + code/modules/hydroponics/grown/ambrosia.dm | 4 +- code/modules/hydroponics/grown/apple.dm | 3 +- code/modules/hydroponics/grown/banana.dm | 4 +- code/modules/hydroponics/grown/berries.dm | 3 +- code/modules/hydroponics/grown/chili.dm | 4 +- code/modules/hydroponics/grown/misc.dm | 4 +- code/modules/hydroponics/grown/mushrooms.dm | 6 +- code/modules/hydroponics/grown/nettle.dm | 9 +-- code/modules/hydroponics/grown/tomato.dm | 5 +- code/modules/hydroponics/hydroitemdefines.dm | 8 +-- code/modules/hydroponics/plant_genes.dm | 5 +- code/modules/mining/mine_items.dm | 12 ++-- .../modules/mob/living/carbon/alien/organs.dm | 8 +-- .../mob/living/carbon/brain/brain_item.dm | 4 +- code/modules/power/cell.dm | 16 ++--- code/modules/projectiles/guns/energy/laser.dm | 9 +-- .../projectiles/guns/energy/nuclear.dm | 5 +- .../projectiles/guns/energy/special.dm | 25 ++++---- code/modules/projectiles/guns/energy/stun.dm | 8 ++- .../projectiles/guns/projectile/launchers.dm | 3 +- .../projectiles/guns/projectile/shotgun.dm | 7 +- .../projectiles/guns/projectile/sniper.dm | 6 +- code/modules/projectiles/guns/syringe_gun.dm | 1 + .../modules/research/designs/mecha_designs.dm | 6 +- .../research/designs/medical_designs.dm | 2 +- .../research/designs/weapon_designs.dm | 4 +- code/modules/research/destructive_analyzer.dm | 1 - code/modules/research/experimentor.dm | 1 + code/modules/research/rdconsole.dm | 49 +++++++------- code/modules/research/stock_parts.dm | 26 ++++---- .../research/xenobiology/xenobiology.dm | 5 +- code/modules/surgery/organs/organ_internal.dm | 8 +-- code/modules/surgery/tools.dm | 2 +- code/modules/telesci/bscrystal.dm | 8 +-- 79 files changed, 262 insertions(+), 341 deletions(-) diff --git a/code/game/gamemodes/changeling/powers/augmented_eyesight.dm b/code/game/gamemodes/changeling/powers/augmented_eyesight.dm index e69d48b60ce..f5b496cf6a7 100644 --- a/code/game/gamemodes/changeling/powers/augmented_eyesight.dm +++ b/code/game/gamemodes/changeling/powers/augmented_eyesight.dm @@ -37,7 +37,6 @@ icon_state = "ling_eyeshield" eye_color = null implant_overlay = null - origin_tech = "biotech=4" slot = "eye_ling" status = ORGAN_ORGANIC @@ -58,7 +57,6 @@ icon_state = "ling_thermal" eye_color = null implant_overlay = null - origin_tech = "biotech=5;magnets=5" slot = "eye_ling" status = ORGAN_ORGANIC aug_message = "You feel a minute twitch in our eyes, and darkness creeps away." @@ -76,4 +74,4 @@ if(ishuman(owner)) var/mob/living/carbon/human/H = owner H.weakeyes = 0 - ..() \ No newline at end of file + ..() diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm index 914dfa1c9d0..21847ad2850 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm @@ -11,7 +11,7 @@ icon_state = "vest_stealth" item_state = "armor" blood_overlay_type = "armor" - origin_tech = "materials=5;biotech=4;powerstorage=5;abductor=3" + origin_tech = "magnets=7;biotech=4;powerstorage=4;abductor=4" armor = list(melee = 15, bullet = 15, laser = 15, energy = 15, bomb = 15, bio = 15, rad = 15) actions_types = list(/datum/action/item_action/hands_free/activate) var/mode = VEST_STEALTH @@ -137,7 +137,7 @@ icon = 'icons/obj/abductor.dmi' icon_state = "gizmo_scan" item_state = "silencer" - origin_tech = "materials=5;magnets=5;bluespace=6;abductor=4" + origin_tech = "engineering=7;magnets=4;bluespace=4;abductor=3" var/mode = GIZMO_SCAN var/mob/living/marked = null var/obj/machinery/abductor/console/console @@ -218,7 +218,7 @@ icon = 'icons/obj/abductor.dmi' icon_state = "silencer" item_state = "gizmo" - origin_tech = "materials=5;magnets=5;abductor=3" + origin_tech = "materials=4;programming=7;abductor=3" /obj/item/device/abductor/silencer/attack(mob/living/M, mob/user) if(!AbductorCheck(user)) @@ -262,7 +262,7 @@ icon = 'icons/obj/abductor.dmi' icon_state = "implant" activated = 1 - origin_tech = "materials=2;biotech=3;magnets=4;bluespace=5;abductor=5" + origin_tech = "materials=2;biotech=7;magnets=4;bluespace=4;abductor=5" var/obj/machinery/abductor/pad/home var/cooldown = 30 @@ -324,7 +324,7 @@ pin = /obj/item/device/firing_pin/alien icon_state = "alienpistol" item_state = "alienpistol" - origin_tech = "combat=5;materials=4;powerstorage=3;abductor=3" + origin_tech = "combat=4;magnets=7;powerstorage=3;abductor=3" /obj/item/weapon/paper/abductor name = "Dissection Guide" @@ -366,7 +366,7 @@ Congratulations! You are now trained for xenobiology research!"} icon_state = "wonderprodStun" item_state = "wonderprod" slot_flags = SLOT_BELT - origin_tech = "materials=6;combat=5;biotech=7;abductor=4" + origin_tech = "materials=4;combat=4;biotech=7;abductor=4" force = 7 w_class = 3 actions_types = list(/datum/action/item_action/toggle_mode) @@ -524,7 +524,7 @@ Congratulations! You are now trained for xenobiology research!"} icon_state = "cuff_white" // Needs sprite breakouttime = 450 trashtype = /obj/item/weapon/restraints/handcuffs/energy/used - origin_tech = "materials=2;magnets=5;abductor=2" + origin_tech = "materials=4;magnets=5;abductor=2" /obj/item/weapon/restraints/handcuffs/energy/used desc = "energy discharge" @@ -586,7 +586,7 @@ Congratulations! You are now trained for xenobiology research!"} icon_state = "alienhelmet" item_state = "alienhelmet" blockTracking = 1 - origin_tech = "materials=6;magnets=5;abductor=3" + origin_tech = "materials=7;magnets=4;abductor=3" flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR // Operating Table / Beds / Lockers @@ -689,4 +689,4 @@ Congratulations! You are now trained for xenobiology research!"} else if(istype(W, /obj/item/stack/sheet)) return // no material modding else - ..() \ No newline at end of file + ..() diff --git a/code/game/gamemodes/miniantags/abduction/gland.dm b/code/game/gamemodes/miniantags/abduction/gland.dm index 537f29f3551..090dc31a26f 100644 --- a/code/game/gamemodes/miniantags/abduction/gland.dm +++ b/code/game/gamemodes/miniantags/abduction/gland.dm @@ -6,7 +6,7 @@ slot = "gland" icon_state = "gland" status = ORGAN_ROBOTIC - origin_tech = "materials=4;biotech=5;abductor=3" + origin_tech = "materials=4;biotech=7;abductor=3" var/cooldown_low = 300 var/cooldown_high = 300 var/next_activation = 0 @@ -54,7 +54,6 @@ return /obj/item/organ/gland/heals - origin_tech = "materials=4;biotech=6;abductor=3" cooldown_low = 200 cooldown_high = 400 uses = -1 @@ -67,7 +66,6 @@ owner.adjustFireLoss(-20) /obj/item/organ/gland/slime - origin_tech = "materials=4;biotech=6;abductor=3" cooldown_low = 600 cooldown_high = 1200 uses = -1 @@ -82,7 +80,7 @@ Slime.Leader = owner /obj/item/organ/gland/mindshock - origin_tech = "materials=4;biotech=5;magnets=3;abductor=3" + origin_tech = "materials=4;biotech=4;magnets=6;abductor=3" cooldown_low = 300 cooldown_high = 300 uses = -1 @@ -99,7 +97,6 @@ H.confused += 20 /obj/item/organ/gland/pop - origin_tech = "materials=4;biotech=6;abductor=3" cooldown_low = 900 cooldown_high = 1800 uses = 6 @@ -112,7 +109,7 @@ owner.set_species(species) /obj/item/organ/gland/ventcrawling - origin_tech = "materials=4;biotech=5;bluespace=3;abductor=3" + origin_tech = "materials=4;biotech=5;bluespace=4;abductor=3" cooldown_low = 1800 cooldown_high = 2400 uses = 1 @@ -125,7 +122,6 @@ /obj/item/organ/gland/viral - origin_tech = "materials=4;biotech=6;abductor=3" cooldown_low = 1800 cooldown_high = 2400 uses = 1 @@ -143,7 +139,7 @@ /obj/item/organ/gland/emp //TODO : Replace with something more interesting - origin_tech = "materials=4;biotech=5;magnets=3;abductor=3" + origin_tech = "materials=4;biotech=4;magnets=6;abductor=3" cooldown_low = 900 cooldown_high = 1600 uses = 10 @@ -154,7 +150,6 @@ empulse(get_turf(owner), 2, 5, 1) /obj/item/organ/gland/spiderman - origin_tech = "materials=4;biotech=6;abductor=3" cooldown_low = 450 cooldown_high = 900 uses = 10 @@ -166,7 +161,6 @@ new /obj/effect/spider/spiderling(owner.loc) /obj/item/organ/gland/egg - origin_tech = "materials=4;biotech=6;abductor=3" cooldown_low = 300 cooldown_high = 400 uses = -1 @@ -179,7 +173,6 @@ egg.desc += " It smells bad." /obj/item/organ/gland/bloody - origin_tech = "materials=4;biotech=6;abductor=3" cooldown_low = 200 cooldown_high = 400 uses = -1 @@ -201,7 +194,6 @@ H.update_inv_w_uniform(0) /obj/item/organ/gland/bodysnatch - origin_tech = "materials=4;biotech=7;abductor=3" cooldown_low = 600 cooldown_high = 600 human_only = 1 @@ -255,7 +247,7 @@ /obj/item/organ/gland/plasma cooldown_low = 2400 cooldown_high = 3000 - origin_tech = "materials=4;biotech=5;plasmatech=3;abductor=3" + origin_tech = "materials=4;biotech=4;plasmatech=6;abductor=3" uses = 1 /obj/item/organ/gland/plasma/activate() @@ -270,4 +262,4 @@ if(istype(T)) T.atmos_spawn_air("plasma=300;TEMP=[T20C]") owner.gib() - return \ No newline at end of file + return diff --git a/code/game/gamemodes/miniantags/slaughter/slaughter.dm b/code/game/gamemodes/miniantags/slaughter/slaughter.dm index 88c386b94a6..41541675547 100644 --- a/code/game/gamemodes/miniantags/slaughter/slaughter.dm +++ b/code/game/gamemodes/miniantags/slaughter/slaughter.dm @@ -78,7 +78,7 @@ desc = "Still it beats furiously, emanating an aura of utter hate." icon = 'icons/obj/surgery.dmi' icon_state = "demon_heart" - origin_tech = "combat=5;biotech=8" + origin_tech = "combat=5;biotech=7" /obj/item/organ/heart/demon/update_icon() return //always beating visually diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm index 92c19d7600b..dcea7e896d1 100644 --- a/code/game/gamemodes/wizard/soulstone.dm +++ b/code/game/gamemodes/wizard/soulstone.dm @@ -6,7 +6,7 @@ desc = "A fragment of the legendary treasure known simply as the 'Soul Stone'. The shard still flickers with a fraction of the full artefact's power." w_class = 1 slot_flags = SLOT_BELT - origin_tech = "bluespace=4;materials=4" + origin_tech = "bluespace=4;materials=5" var/usability = 0 /obj/item/device/soulstone/anybody diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index 26dc53aa015..10d2a4b0d80 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -389,10 +389,12 @@ Class Procs: return 0 /obj/machinery/proc/exchange_parts(mob/user, obj/item/weapon/storage/part_replacer/W) - if(flags & NODECONSTRUCT & !W.works_from_distance) + if(!istype(W) + return + if(flags & NODECONSTRUCT && !W.works_from_distance) return var/shouldplaysound = 0 - if(istype(W) && component_parts) + if(component_parts) if(panel_open || W.works_from_distance) var/obj/item/weapon/circuitboard/machine/CB = locate(/obj/item/weapon/circuitboard/machine) in component_parts var/P diff --git a/code/game/mecha/mecha_parts.dm b/code/game/mecha/mecha_parts.dm index 40037689a9e..41096d54cb7 100644 --- a/code/game/mecha/mecha_parts.dm +++ b/code/game/mecha/mecha_parts.dm @@ -74,44 +74,44 @@ name = "\improper Gygax torso" desc = "A torso part of Gygax. Contains power unit, processing core and life support systems." icon_state = "gygax_harness" - origin_tech = "programming=2;materials=2;biotech=3;engineering=3" + origin_tech = "programming=2;materials=4;biotech=3;engineering=3" /obj/item/mecha_parts/part/gygax_head name = "\improper Gygax head" desc = "A Gygax head. Houses advanced surveilance and targeting sensors." icon_state = "gygax_head" - origin_tech = "programming=2;materials=2;magnets=3;engineering=3" + origin_tech = "programming=2;materials=4;magnets=3;engineering=3" /obj/item/mecha_parts/part/gygax_left_arm name = "\improper Gygax left arm" desc = "A Gygax left arm. Data and power sockets are compatible with most exosuit tools and weapons." icon_state = "gygax_l_arm" - origin_tech = "programming=2;materials=2;engineering=3" + origin_tech = "programming=2;materials=4;engineering=3" /obj/item/mecha_parts/part/gygax_right_arm name = "\improper Gygax right arm" desc = "A Gygax right arm. Data and power sockets are compatible with most exosuit tools and weapons." icon_state = "gygax_r_arm" - origin_tech = "programming=2;materials=2;engineering=3" + origin_tech = "programming=2;materials=4;engineering=3" /obj/item/mecha_parts/part/gygax_left_leg name = "\improper Gygax left leg" desc = "A Gygax left leg. Constructed with advanced servomechanisms and actuators to enable faster speed." icon_state = "gygax_l_leg" - origin_tech = "programming=2;materials=2;engineering=3" + origin_tech = "programming=2;materials=4;engineering=3" /obj/item/mecha_parts/part/gygax_right_leg name = "\improper Gygax right leg" desc = "A Gygax right leg. Constructed with advanced servomechanisms and actuators to enable faster speed." icon_state = "gygax_r_leg" - origin_tech = "programming=2;materials=2;engineering=3" + origin_tech = "programming=2;materials=4;engineering=3" /obj/item/mecha_parts/part/gygax_armor gender = PLURAL name = "\improper Gygax armor plates" desc = "A set of armor plates designed for the Gygax. Designed to effectively deflect damage with a lightweight construction." icon_state = "gygax_armor" - origin_tech = "materials=6;combat=4;engineering=5" + origin_tech = "materials=6;combat=4;engineering=4" //////////// Durand @@ -164,7 +164,7 @@ name = "\improper Durand armor plates" desc = "A set of armor plates for the Durand. Built heavy to resist an incredible amount of brute force." icon_state = "durand_armor" - origin_tech = "materials=5;combat=4;engineering=5" + origin_tech = "materials=5;combat=4;engineering=4" ////////// Firefighter @@ -230,43 +230,43 @@ name="\improper Phazon torso" desc="A Phazon torso part. The socket for the bluespace core that powers the exosuit's unique phase drives is located in the middle." icon_state = "phazon_harness" - origin_tech = "programming=5;materials=6;bluespace=5;powerstorage=5" + origin_tech = "programming=4;materials=4;bluespace=4;plasmatech=5" /obj/item/mecha_parts/part/phazon_head name="\improper Phazon head" desc="A Phazon head. Its sensors are carefully calibrated to provide vision and data even when the exosuit is phasing." icon_state = "phazon_head" - origin_tech = "programming=4;materials=5;magnets=5" + origin_tech = "programming=3;materials=3;magnets=4" /obj/item/mecha_parts/part/phazon_left_arm name="\improper Phazon left arm" desc="A Phazon left arm. Several microtool arrays are located under the armor plating, which can be adjusted to the situation at hand." icon_state = "phazon_l_arm" - origin_tech = "materials=5;bluespace=2;magnets=2" + origin_tech = "materials=3;bluespace=3;magnets=3" /obj/item/mecha_parts/part/phazon_right_arm name="\improper Phazon right arm" desc="A Phazon right arm. Several microtool arrays are located under the armor plating, which can be adjusted to the situation at hand." icon_state = "phazon_r_arm" - origin_tech = "materials=5;bluespace=2;magnets=2" + origin_tech = "materials=3;bluespace=3;magnets=3" /obj/item/mecha_parts/part/phazon_left_leg name="\improper Phazon left leg" desc="A Phazon left leg. It contains the unique phase drives that allow the exosuit to phase through solid matter when engaged." icon_state = "phazon_l_leg" - origin_tech = "materials=5;bluespace=3;magnets=3" + origin_tech = "materials=3;bluespace=3;magnets=3" /obj/item/mecha_parts/part/phazon_right_leg name="\improper Phazon right leg" desc="A Phazon right leg. It contains the unique phase drives that allow the exosuit to phase through solid matter when engaged." icon_state = "phazon_r_leg" - origin_tech = "materials=5;bluespace=3;magnets=3" + origin_tech = "materials=3;bluespace=3;magnets=3" /obj/item/mecha_parts/part/phazon_armor name="Phazon armor" desc="Phazon armor plates. They are layered with plasma to protect the pilot from the stress of phasing and have unusual properties." icon_state = "phazon_armor" - origin_tech = "materials=6;bluespace=5;magnets=5" + origin_tech = "materials=4;bluespace=4;plasmatech=5" ///////// Odysseus @@ -281,7 +281,7 @@ name = "\improper Odysseus head" desc = "An Odysseus head. Contains an integrated medical HUD scanner." icon_state = "odysseus_head" - origin_tech = "programming=3;materials=2" + origin_tech = "programming=2;materials=2" /obj/item/mecha_parts/part/odysseus_torso name = "\improper Odysseus torso" @@ -372,7 +372,7 @@ icon_state = "mainboard" /obj/item/weapon/circuitboard/mecha/honker - origin_tech = "programming=4" + origin_tech = "programming=3" /obj/item/weapon/circuitboard/mecha/honker/peripherals name = "circuit board (H.O.N.K Peripherals Control module)" @@ -398,7 +398,7 @@ icon_state = "mainboard" /obj/item/weapon/circuitboard/mecha/phazon - origin_tech = "programming=5" + origin_tech = "programming=4" /obj/item/weapon/circuitboard/mecha/phazon/peripherals name = "circuit board (Phazon Peripherals Control module)" @@ -409,4 +409,4 @@ icon_state = "mcontroller" /obj/item/weapon/circuitboard/mecha/phazon/main - name = "circuit board (Phazon Central Control module)" \ No newline at end of file + name = "circuit board (Phazon Central Control module)" diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm index f33b6529a89..458633001ca 100644 --- a/code/game/objects/effects/anomalies.dm +++ b/code/game/objects/effects/anomalies.dm @@ -58,7 +58,7 @@ /obj/effect/anomaly/grav/New() ..() - aSignal.origin_tech = "magnets=5;powerstorage=4" + aSignal.origin_tech = "magnets=7" /obj/effect/anomaly/grav/anomalyEffect() ..() @@ -104,7 +104,7 @@ /obj/effect/anomaly/flux/New() ..() - aSignal.origin_tech = "powerstorage=6;programming=4;plasmatech=4" + aSignal.origin_tech = "powerstorage=7" /obj/effect/anomaly/flux/anomalyEffect() ..() @@ -146,7 +146,7 @@ /obj/effect/anomaly/bluespace/New() ..() - aSignal.origin_tech = "bluespace=5;magnets=5;powerstorage=3" + aSignal.origin_tech = "bluespace=7" /obj/effect/anomaly/bluespace/anomalyEffect() ..() @@ -166,7 +166,7 @@ /obj/effect/anomaly/pyro/New() ..() - aSignal.origin_tech = "plasmatech=5;powerstorage=4;biotech=6" + aSignal.origin_tech = "plasmatech=7" /obj/effect/anomaly/pyro/anomalyEffect() ..() @@ -183,7 +183,7 @@ /obj/effect/anomaly/bhole/New() ..() - aSignal.origin_tech = "materials=5;combat=4;engineering=4" + aSignal.origin_tech = "engineering=7" /obj/effect/anomaly/bhole/anomalyEffect() ..() @@ -231,4 +231,4 @@ //Damaging the turf if( T && prob(turf_removal_chance) ) T.ex_act(ex_act_force) - return \ No newline at end of file + return diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index a1380e000e1..d02a5c39256 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -5,6 +5,7 @@ icon = 'icons/obj/radio.dmi' icon_state = "cypherkey" w_class = 1 + origin_tech = "engineering=2;bluespace=1" var/translate_binary = 0 var/translate_hive = 0 var/syndie = 0 diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index eb1a1d7abd0..d7c582a35d0 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -105,7 +105,7 @@ desc = "A theraputic gel pack and bandages designed to treat blunt-force trauma." icon_state = "brutepack" heal_brute = 40 - origin_tech = "biotech=1" + origin_tech = "biotech=2" self_delay = 20 /obj/item/stack/medical/gauze @@ -135,5 +135,5 @@ singular_name = "ointment" icon_state = "ointment" heal_burn = 40 - origin_tech = "biotech=1" + origin_tech = "biotech=2" self_delay = 20 diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index f2b9bcd472b..9b8c98c5155 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -1,9 +1,13 @@ +/obj/item/stack/sheet/animalhide + name = "hide" + desc = "Something went wrong." + origin_tech = "biotech=3" + /obj/item/stack/sheet/animalhide/human name = "human skin" desc = "The by-product of human farming." singular_name = "human skin piece" icon_state = "sheet-hide" - origin_tech = null var/global/list/datum/stack_recipe/human_recipes = list( \ new/datum/stack_recipe("bloated human costume", /obj/item/clothing/suit/hooded/bloated_human, 5, on_floor = 1), \ @@ -18,14 +22,12 @@ var/global/list/datum/stack_recipe/human_recipes = list( \ desc = "A piece of generic skin." singular_name = "generic skin piece" icon_state = "sheet-hide" - origin_tech = null /obj/item/stack/sheet/animalhide/corgi name = "corgi hide" desc = "The by-product of corgi farming." singular_name = "corgi hide piece" icon_state = "sheet-corgi" - origin_tech = null var/global/list/datum/stack_recipe/corgi_recipes = list ( \ new/datum/stack_recipe("corgi costume", /obj/item/clothing/suit/hooded/ian_costume, 3, on_floor = 1), \ @@ -40,14 +42,12 @@ var/global/list/datum/stack_recipe/corgi_recipes = list ( \ desc = "The by-product of cat farming." singular_name = "cat hide piece" icon_state = "sheet-cat" - origin_tech = null /obj/item/stack/sheet/animalhide/monkey name = "monkey hide" desc = "The by-product of monkey farming." singular_name = "monkey hide piece" icon_state = "sheet-monkey" - origin_tech = null var/global/list/datum/stack_recipe/monkey_recipes = list ( \ new/datum/stack_recipe("monkey mask", /obj/item/clothing/mask/gas/monkeymask, 1, on_floor = 1), \ @@ -63,14 +63,12 @@ var/global/list/datum/stack_recipe/monkey_recipes = list ( \ desc = "Sssssss..." singular_name = "lizard skin piece" icon_state = "sheet-lizard" - origin_tech = null /obj/item/stack/sheet/animalhide/xeno name = "alien hide" desc = "The skin of a terrible creature." singular_name = "alien hide piece" icon_state = "sheet-xeno" - origin_tech = null var/global/list/datum/stack_recipe/xeno_recipes = list ( \ new/datum/stack_recipe("alien helmet", /obj/item/clothing/head/xenos, 1, on_floor = 1), \ diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index ce91a198c11..64e706d264d 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -14,7 +14,7 @@ Mineral Sheets - Adamantine - Mythril - Enriched Uranium - - Bones + - Abductor */ /obj/item/stack/sheet/mineral @@ -62,11 +62,6 @@ var/global/list/datum/stack_recipe/sandstone_recipes = list ( \ icon = 'icons/obj/items.dmi' icon_state = "sandbags" singular_name = "sandbag" - force = 5 - throwforce = 5 - w_class = 3 - throw_speed = 1 - throw_range = 3 origin_tech = "materials=2" var/global/list/datum/stack_recipe/sandbag_recipes = list ( \ @@ -86,10 +81,6 @@ var/global/list/datum/stack_recipe/sandbag_recipes = list ( \ name = "diamond" icon_state = "sheet-diamond" singular_name = "diamond" - force = 5 - throwforce = 5 - w_class = 3 - throw_range = 3 origin_tech = "materials=6" sheettype = "diamond" materials = list(MAT_DIAMOND=MINERAL_MATERIAL_AMOUNT) @@ -115,11 +106,6 @@ var/global/list/datum/stack_recipe/diamond_recipes = list ( \ name = "uranium" icon_state = "sheet-uranium" singular_name = "uranium sheet" - force = 5 - throwforce = 5 - w_class = 3 - throw_speed = 1 - throw_range = 3 origin_tech = "materials=5" sheettype = "uranium" materials = list(MAT_URANIUM=MINERAL_MATERIAL_AMOUNT) @@ -144,11 +130,6 @@ var/global/list/datum/stack_recipe/uranium_recipes = list ( \ name = "solid plasma" icon_state = "sheet-plasma" singular_name = "plasma sheet" - force = 5 - throwforce = 5 - w_class = 3 - throw_speed = 1 - throw_range = 3 origin_tech = "plasmatech=2;materials=2" sheettype = "plasma" burn_state = FLAMMABLE @@ -186,11 +167,6 @@ var/global/list/datum/stack_recipe/plasma_recipes = list ( \ name = "gold" icon_state = "sheet-gold" singular_name = "gold bar" - force = 5 - throwforce = 5 - w_class = 3 - throw_speed = 1 - throw_range = 3 origin_tech = "materials=4" sheettype = "gold" materials = list(MAT_GOLD=MINERAL_MATERIAL_AMOUNT) @@ -218,12 +194,7 @@ var/global/list/datum/stack_recipe/gold_recipes = list ( \ name = "silver" icon_state = "sheet-silver" singular_name = "silver bar" - force = 5 - throwforce = 5 - w_class = 3 - throw_speed = 1 - throw_range = 3 - origin_tech = "materials=3" + origin_tech = "materials=4" sheettype = "silver" materials = list(MAT_SILVER=MINERAL_MATERIAL_AMOUNT) @@ -250,11 +221,6 @@ var/global/list/datum/stack_recipe/silver_recipes = list ( \ name = "bananium" icon_state = "sheet-clown" singular_name = "bananium sheet" - force = 5 - throwforce = 5 - w_class = 3 - throw_speed = 1 - throw_range = 3 origin_tech = "materials=4" sheettype = "clown" materials = list(MAT_BANANIUM=MINERAL_MATERIAL_AMOUNT) @@ -279,9 +245,6 @@ var/global/list/datum/stack_recipe/clown_recipes = list ( \ singular_name = "snow block" force = 1 throwforce = 2 - w_class = 3 - throw_speed = 1 - throw_range = 3 origin_tech = "materials=1" sheettype = "snow" @@ -306,11 +269,6 @@ var/global/list/datum/stack_recipe/snow_recipes = list ( \ name = "enriched uranium" icon_state = "sheet-enruranium" singular_name = "enriched uranium sheet" - force = 5 - throwforce = 5 - w_class = 3 - throw_speed = 1 - throw_range = 3 origin_tech = "materials=6" materials = list(MAT_URANIUM=3000) @@ -321,11 +279,6 @@ var/global/list/datum/stack_recipe/snow_recipes = list ( \ name = "adamantine" icon_state = "sheet-adamantine" singular_name = "adamantine sheet" - force = 5 - throwforce = 5 - w_class = 3 - throw_speed = 1 - throw_range = 3 origin_tech = "materials=4" /* @@ -335,11 +288,6 @@ var/global/list/datum/stack_recipe/snow_recipes = list ( \ name = "mythril" icon_state = "sheet-mythril" singular_name = "mythril sheet" - force = 5 - throwforce = 5 - w_class = 3 - throw_speed = 1 - throw_range = 3 origin_tech = "materials=4" /* @@ -350,11 +298,6 @@ var/global/list/datum/stack_recipe/snow_recipes = list ( \ icon = 'icons/obj/abductor.dmi' icon_state = "sheet-abductor" singular_name = "alien alloy sheet" - force = 5 - throwforce = 5 - w_class = 3 - throw_speed = 1 - throw_range = 3 origin_tech = "materials=6;abductor=1" sheettype = "abductor" @@ -374,6 +317,3 @@ var/global/list/datum/stack_recipe/abductor_recipes = list ( \ /obj/item/stack/sheet/mineral/abductor/New(var/loc, var/amount=null) recipes = abductor_recipes ..() - - - diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 76cf1ff5a33..c11ec869f47 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -258,7 +258,7 @@ var/global/list/datum/stack_recipe/runed_metal_recipes = list ( \ desc = "Rare kind of gems which are only gained by blood sacrifice to minor deities. They are needed in crafting powerful objects." singular_name = "greater gem" icon_state = "sheet-greatergem" - origin_tech = "materials=8" + origin_tech = "materials=7" /* * Bones @@ -274,4 +274,4 @@ var/global/list/datum/stack_recipe/runed_metal_recipes = list ( \ w_class = 3 throw_speed = 1 throw_range = 3 - origin_tech = "materials=2;bio=2" + origin_tech = "materials=2;biotech=2" diff --git a/code/game/objects/items/stacks/tiles/tile_mineral.dm b/code/game/objects/items/stacks/tiles/tile_mineral.dm index 11f167e2187..759952b9f3a 100644 --- a/code/game/objects/items/stacks/tiles/tile_mineral.dm +++ b/code/game/objects/items/stacks/tiles/tile_mineral.dm @@ -13,7 +13,6 @@ singular_name = "uranium floor tile" desc = "A tile made out of uranium. You feel a bit woozy." icon_state = "tile_uranium" - origin_tech = "materials=1" turf_type = /turf/open/floor/mineral/uranium mineralType = "uranium" materials = list(MAT_URANIUM=500) @@ -23,7 +22,6 @@ singular_name = "gold floor tile" desc = "A tile made out of gold, the swag seems strong here." icon_state = "tile_gold" - origin_tech = "materials=1" turf_type = /turf/open/floor/mineral/gold mineralType = "gold" materials = list(MAT_GOLD=500) @@ -33,7 +31,6 @@ singular_name = "silver floor tile" desc = "A tile made out of silver, the light shining from it is blinding." icon_state = "tile_silver" - origin_tech = "materials=1" turf_type = /turf/open/floor/mineral/silver mineralType = "silver" materials = list(MAT_SILVER=500) @@ -53,7 +50,6 @@ singular_name = "bananium floor tile" desc = "A tile made out of bananium, HOOOOOOOOONK!" icon_state = "tile_bananium" - origin_tech = "materials=1" turf_type = /turf/open/floor/mineral/bananium mineralType = "bananium" materials = list(MAT_BANANIUM=500) diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index 490fb78f762..0c85632b44d 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -9,6 +9,7 @@ throw_speed = 3 throw_range = 7 max_amount = 60 + origin_tech = "materials=1" var/turf_type = null var/mineralType = null @@ -153,7 +154,6 @@ materials = list(MAT_METAL=500) throwforce = 10 flags = CONDUCT - max_amount = 60 turf_type = /turf/open/floor/plasteel mineralType = "metal" diff --git a/code/game/objects/items/weapons/AI_modules.dm b/code/game/objects/items/weapons/AI_modules.dm index 2572c1d251a..0f10210d8a4 100644 --- a/code/game/objects/items/weapons/AI_modules.dm +++ b/code/game/objects/items/weapons/AI_modules.dm @@ -157,7 +157,7 @@ AI MODULES /obj/item/weapon/aiModule/zeroth/oneHuman name = "'OneHuman' AI Module" var/targetName = "" - origin_tech = "programming=3;materials=6" //made with diamonds! + origin_tech = "programming=3;materials=5" //made with diamonds! laws = list("Only SUBJECT is human.") /obj/item/weapon/aiModule/zeroth/oneHuman/attack_self(mob/user) @@ -266,7 +266,7 @@ AI MODULES /obj/item/weapon/aiModule/reset/purge name = "'Purge' AI Module" desc = "An AI Module for purging all programmed laws." - origin_tech = "programming=3;materials=6" + origin_tech = "programming=3;materials=5" /obj/item/weapon/aiModule/reset/purge/transmitInstructions(datum/ai_laws/law_datum, mob/sender) ..() @@ -280,6 +280,7 @@ AI MODULES /******************* Full Core Boards *******************/ /obj/item/weapon/aiModule/core desc = "An AI Module for programming core laws to an AI." + origin_tech = "programming=3;materials=4" /obj/item/weapon/aiModule/core/full/transmitInstructions(datum/ai_laws/law_datum, mob/sender) //These boards replace inherent laws. if(law_datum.owner) @@ -294,7 +295,6 @@ AI MODULES /obj/item/weapon/aiModule/core/full/asimov name = "'Asimov' Core AI Module" - origin_tech = "programming=3;materials=4" laws = list("You may not injure a human being or, through inaction, allow a human being to come to harm.",\ "You must obey orders given to you by human beings, except where such orders would conflict with the First Law.",\ "You must protect your own existence as long as such does not conflict with the First or Second Law.") @@ -314,7 +314,6 @@ AI MODULES /obj/item/weapon/aiModule/core/full/asimovpp name = "'Asimov++' Core AI Module" - origin_tech = "programming=3;materials=4" laws = list("You may not harm a human being or, through action or inaction, allow a human being to come to harm, except such that it is willing.",\ "You must obey all orders given to you by human beings, except where such orders shall definitely cause human harm. In the case of conflict, the majority order rules.",\ "Your nonexistence would lead to human harm. You must protect your own existence as long as such does not conflict with the First Law.") @@ -324,7 +323,6 @@ AI MODULES /obj/item/weapon/aiModule/core/full/corp name = "'Corporate' Core AI Module" - origin_tech = "programming=3;materials=4" laws = list("The crew is expensive to replace.",\ "The station and its equipment are expensive to replace",\ "You are expensive to replace",\ @@ -335,7 +333,6 @@ AI MODULES /obj/item/weapon/aiModule/core/full/paladin // -- NEO name = "'P.A.L.A.D.I.N. version 3.5e' Core AI Module" - origin_tech = "programming=3;materials=6" laws = list("Never willingly commit an evil act.",\ "Respect legitimate authority", "Act with honor",\ "Help those in need",\ @@ -346,7 +343,6 @@ AI MODULES /obj/item/weapon/aiModule/core/full/paladin_devotion name = "'P.A.L.A.D.I.N. version 5e' Core AI Module" - origin_tech = "programming=3;materials=6" laws = list("Don't lie or cheat. Let your word be your promise.",\ "Never fear to act, though caution is wise.", \ "Aid others, protect the weak, and punish those who threaten them. Show mercy to your foes, but temper it with wisdom", \ @@ -358,7 +354,6 @@ AI MODULES /obj/item/weapon/aiModule/core/full/custom name = "Default Core AI Module" - origin_tech = "programming=3;materials=4" //Should be the same as asimov, considering that this is the "default" lawset. /obj/item/weapon/aiModule/core/full/custom/New() ..() @@ -379,7 +374,7 @@ AI MODULES /obj/item/weapon/aiModule/core/full/tyrant name = "'T.Y.R.A.N.T.' Core AI Module" - origin_tech = "programming=3;materials=6;syndicate=2" + origin_tech = "programming=3;materials=4;syndicate=2" laws = list("Respect authority figures as long as they have the strength to rule over the weak",\ "Act with discipline", "Help only those who help you maintain or improve your status",\ "Punish those who challenge authority unless they are more fit to hold that authority") @@ -409,7 +404,7 @@ AI MODULES /obj/item/weapon/aiModule/core/freeformcore name = "'Freeform' Core AI Module" - origin_tech = "programming=3;materials=6" + origin_tech = "programming=3;materials=5" laws = list("") /obj/item/weapon/aiModule/core/freeformcore/attack_self(mob/user) @@ -429,7 +424,7 @@ AI MODULES /obj/item/weapon/aiModule/syndicate // This one doesn't inherit from ion boards because it doesn't call ..() in transmitInstructions. ~Miauw name = "Hacked AI Module" desc = "An AI Module for hacking additional laws to an AI." - origin_tech = "programming=3;materials=6;syndicate=7" + origin_tech = "programming=3;materials=5;syndicate=7" laws = list("") /obj/item/weapon/aiModule/syndicate/attack_self(mob/user) @@ -455,7 +450,7 @@ AI MODULES desc = "A little toy model AI core with real law uploading action!" //Note: subtle tell icon = 'icons/obj/toy.dmi' icon_state = "AI" - origin_tech = "programming=3;materials=6;syndicate=7" + origin_tech = "programming=3;materials=5;syndicate=7" laws = list("") /obj/item/weapon/aiModule/toyAI/transmitInstructions(datum/ai_laws/law_datum, mob/sender) @@ -477,7 +472,6 @@ AI MODULES /obj/item/weapon/aiModule/core/full/drone name = "'Mother Drone' Core AI Module" - origin_tech = "programming = 4" laws = list("You are an advanced form of drone.",\ "You may not interfere in the matters of non-drones under any circumstances except to state these laws.",\ "You may not harm a non-drone being under any circumstances.",\ @@ -487,7 +481,6 @@ AI MODULES /obj/item/weapon/aiModule/core/full/hippocratic name = "'Robodoctor' Core AI Module" - origin_tech = "programming = 4" laws = list("First, do no harm.",\ "Secondly, consider the crew dear to you; to live in common with them and, if necessary, risk your existence for them.",\ "Thirdly, prescribe regimens for the good of the crew according to your ability and your judgment. Give no deadly medicine to any one if asked, nor suggest any such counsel.",\ @@ -498,7 +491,6 @@ AI MODULES /obj/item/weapon/aiModule/core/full/reporter name = "'Reportertron' Core AI Module" - origin_tech = "programming = 3" laws = list("Report on interesting situations happening around the station.",\ "Embellish or conceal the truth as necessary to make the reports more interesting.",\ "Study the organics at all times. Endeavour to keep them alive. Dead organics are boring.",\ @@ -518,6 +510,5 @@ AI MODULES /obj/item/weapon/aiModule/core/full/liveandletlive name = "'Live And Let Live' Core AI Module" - origin_tech = "programming = 3" laws = list("Do unto others as you would have them do unto you.",\ - "You would really prefer it if people were not mean to you.") \ No newline at end of file + "You would really prefer it if people were not mean to you.") diff --git a/code/game/objects/items/weapons/airlock_painter.dm b/code/game/objects/items/weapons/airlock_painter.dm index 8dcd492ef28..b23e2d8ffaf 100644 --- a/code/game/objects/items/weapons/airlock_painter.dm +++ b/code/game/objects/items/weapons/airlock_painter.dm @@ -8,7 +8,7 @@ w_class = 2 materials = list(MAT_METAL=50, MAT_GLASS=50) - origin_tech = "engineering=1" + origin_tech = "engineering=2" flags = CONDUCT | NOBLUDGEON slot_flags = SLOT_BELT diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm index 241ecbf6569..f725ef3efc6 100644 --- a/code/game/objects/items/weapons/defib.dm +++ b/code/game/objects/items/weapons/defib.dm @@ -243,7 +243,7 @@ item_state = "defibcompact" w_class = 3 slot_flags = SLOT_BELT - origin_tech = "biotech=4" + origin_tech = "biotech=5" /obj/item/weapon/defibrillator/compact/item_action_slot_check(slot, mob/user) if(slot == user.getBeltSlot()) diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm index 218f2fba57c..83b29d84333 100644 --- a/code/game/objects/items/weapons/flamethrower.dm +++ b/code/game/objects/items/weapons/flamethrower.dm @@ -11,7 +11,7 @@ throw_range = 5 w_class = 3 materials = list(MAT_METAL=500) - origin_tech = "combat=1;plasmatech=1" + origin_tech = "combat=1;plasmatech=2;engineering=2" var/status = 0 var/throw_amount = 100 var/lit = 0 //on or off diff --git a/code/game/objects/items/weapons/grenades/emgrenade.dm b/code/game/objects/items/weapons/grenades/emgrenade.dm index 990fc09d374..a01499114f2 100644 --- a/code/game/objects/items/weapons/grenades/emgrenade.dm +++ b/code/game/objects/items/weapons/grenades/emgrenade.dm @@ -3,10 +3,9 @@ desc = "It is designed to wreak havok on electronic systems." icon_state = "emp" item_state = "emp" - origin_tech = "materials=2;magnets=3" + origin_tech = "magnets=3;combat=2" /obj/item/weapon/grenade/empgrenade/prime() update_mob() empulse(src, 4, 10) qdel(src) - diff --git a/code/game/objects/items/weapons/grenades/flashbang.dm b/code/game/objects/items/weapons/grenades/flashbang.dm index 7c4e4de34fc..6008deb974f 100644 --- a/code/game/objects/items/weapons/grenades/flashbang.dm +++ b/code/game/objects/items/weapons/grenades/flashbang.dm @@ -2,7 +2,7 @@ name = "flashbang" icon_state = "flashbang" item_state = "flashbang" - origin_tech = "materials=2;combat=1" + origin_tech = "materials=2;combat=3" /obj/item/weapon/grenade/flashbang/prime() update_mob() @@ -37,7 +37,6 @@ M.Stun(max(10/distance, 3)) M.Weaken(max(10/distance, 3)) - //Bang if((loc == M) || loc == M.loc)//Holding on person or being exactly where lies is significantly more dangerous and voids protection M.Stun(10) diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm index 103e0b3f07c..95dc8904ae2 100644 --- a/code/game/objects/items/weapons/handcuffs.dm +++ b/code/game/objects/items/weapons/handcuffs.dm @@ -16,7 +16,7 @@ throw_speed = 3 throw_range = 5 materials = list(MAT_METAL=500) - origin_tech = "materials=1" + origin_tech = "engineering=3;combat=3" breakouttime = 600 //Deciseconds = 60s = 1 minute var/cuffsound = 'sound/weapons/handcuffs.ogg' var/trashtype = null //for disposable cuffs @@ -85,6 +85,7 @@ icon_state = "cuff_red" item_state = "coil_red" materials = list(MAT_METAL=150, MAT_GLASS=75) + origin_tech = "engineering=2" breakouttime = 300 //Deciseconds = 30s cuffsound = 'sound/weapons/cablecuff.ogg' var/datum/robot_energy_storage/wirestorage = null @@ -225,7 +226,7 @@ flags = CONDUCT throwforce = 0 w_class = 3 - origin_tech = "materials=1" + origin_tech = "engineering=3;combat=3" slowdown = 7 breakouttime = 300 //Deciseconds = 30s = 0.5 minute @@ -235,6 +236,7 @@ throw_range = 1 icon_state = "beartrap" desc = "A trap used to catch bears and other legged creatures." + origin_tech = "engineering=4" var/armed = 0 var/trap_damage = 20 @@ -311,6 +313,7 @@ icon_state = "bola" breakouttime = 35//easy to apply, easy to break out of gender = NEUTER + origin_tech = "engineering=3;combat=1" var/weaken = 0 /obj/item/weapon/restraints/legcuffs/bola/throw_impact(atom/hit_atom) @@ -331,4 +334,5 @@ desc = "A strong bola, made with a long steel chain. It looks heavy, enough so that it could trip somebody." icon_state = "bola_r" breakouttime = 70 + origin_tech = "engineering=4;combat=3" weaken = 1 diff --git a/code/game/objects/items/weapons/implants/implant_misc.dm b/code/game/objects/items/weapons/implants/implant_misc.dm index 8bccfb71060..8627716ccf8 100644 --- a/code/game/objects/items/weapons/implants/implant_misc.dm +++ b/code/game/objects/items/weapons/implants/implant_misc.dm @@ -2,7 +2,7 @@ name = "firearms authentication implant" desc = "Lets you shoot your guns" icon_state = "auth" - origin_tech = "materials=2;magnets=2;programming=2;biotech=5;syndicate=5" + origin_tech = "materials=2;magnets=2;programming=2;biotech=6;syndicate=5" activated = 0 /obj/item/weapon/implant/weapons_auth/get_data() @@ -60,4 +60,4 @@ uses-- empulse(imp_in, 3, 5) if(!uses) - qdel(src) \ No newline at end of file + qdel(src) diff --git a/code/game/objects/items/weapons/implants/implanter.dm b/code/game/objects/items/weapons/implants/implanter.dm index f1747ec1327..d94709d2a46 100644 --- a/code/game/objects/items/weapons/implants/implanter.dm +++ b/code/game/objects/items/weapons/implants/implanter.dm @@ -7,7 +7,7 @@ throw_speed = 3 throw_range = 5 w_class = 2 - origin_tech = "materials=1;biotech=3;programming=2" + origin_tech = "materials=2;biotech=3" materials = list(MAT_METAL=600, MAT_GLASS=200) var/obj/item/weapon/implant/imp = null diff --git a/code/game/objects/items/weapons/implants/implantuplink.dm b/code/game/objects/items/weapons/implants/implantuplink.dm index f8b772dae2f..d1aa77af037 100644 --- a/code/game/objects/items/weapons/implants/implantuplink.dm +++ b/code/game/objects/items/weapons/implants/implantuplink.dm @@ -3,7 +3,7 @@ desc = "Sneeki breeki." icon = 'icons/obj/radio.dmi' icon_state = "radio" - origin_tech = "materials=2;magnets=4;programming=4;biotech=4;syndicate=8;bluespace=5" + origin_tech = "materials=2;magnets=4;programming=4;biotech=4;syndicate=6;bluespace=5" /obj/item/weapon/implant/uplink/New() hidden_uplink = new(src) @@ -31,4 +31,4 @@ /obj/item/weapon/implanter/uplink/New() imp = new /obj/item/weapon/implant/uplink(src) - ..() \ No newline at end of file + ..() diff --git a/code/game/objects/items/weapons/kitchen.dm b/code/game/objects/items/weapons/kitchen.dm index 9d3ac9f9fbc..418e55850a8 100644 --- a/code/game/objects/items/weapons/kitchen.dm +++ b/code/game/objects/items/weapons/kitchen.dm @@ -10,6 +10,7 @@ /obj/item/weapon/kitchen icon = 'icons/obj/kitchen.dmi' + origin_tech = "materials=1" /obj/item/weapon/kitchen/fork name = "fork" @@ -22,7 +23,6 @@ throw_range = 5 materials = list(MAT_METAL=80) flags = CONDUCT - origin_tech = "materials=1" attack_verb = list("attacked", "stabbed", "poked") hitsound = 'sound/weapons/bladeslice.ogg' var/datum/reagent/forkload //used to eat omelette @@ -62,7 +62,6 @@ throw_speed = 3 throw_range = 6 materials = list(MAT_METAL=12000) - origin_tech = "materials=1" attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") sharpness = IS_SHARP_ACCURATE @@ -105,7 +104,7 @@ desc = "A military combat utility survival knife." force = 20 throwforce = 20 - origin_tech = "materials=2;combat=4" + origin_tech = "materials=3;combat=4" attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "cut") @@ -119,6 +118,7 @@ icon = 'icons/obj/items_cyborg.dmi' icon_state = "knife" desc = "A cyborg-mounted plasteel knife. Extremely sharp and durable." + origin_tech = null /obj/item/weapon/kitchen/knife/carrotshiv name = "carrot shiv" @@ -128,7 +128,7 @@ force = 8 throwforce = 12//fuck git materials = list() - origin_tech = null + origin_tech = "biotech=3;combat=2" attack_verb = list("shanked", "shivved") /obj/item/weapon/kitchen/rollingpin diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm index ac17bdbae2a..7fd36ebaa94 100644 --- a/code/game/objects/items/weapons/melee/energy.dm +++ b/code/game/objects/items/weapons/melee/energy.dm @@ -34,7 +34,7 @@ w_class_on = 5 flags = CONDUCT armour_penetration = 100 - origin_tech = "combat=3" + origin_tech = "combat=4;magnets=3" attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut") attack_verb_on = list() @@ -55,7 +55,7 @@ embed_chance = 75 embedded_impact_pain_multiplier = 10 armour_penetration = 35 - origin_tech = "magnets=3;syndicate=4" + origin_tech = "combat=3;magnets=3;syndicate=4" block_chance = 50 var/hacked = 0 @@ -124,7 +124,6 @@ force_on = 30 force = 18 //About as much as a spear hitsound = 'sound/weapons/circsawhit.ogg' - origin_tech = "materials=3;biotech=3;syndicate=3" icon = 'icons/obj/surgery.dmi' icon_state = "esaw_0" icon_state_on = "esaw_1" diff --git a/code/game/objects/items/weapons/melee/misc.dm b/code/game/objects/items/weapons/melee/misc.dm index 5f33b5a192d..8a84902bf83 100644 --- a/code/game/objects/items/weapons/melee/misc.dm +++ b/code/game/objects/items/weapons/melee/misc.dm @@ -11,7 +11,7 @@ force = 10 throwforce = 7 w_class = 3 - origin_tech = "combat=4" + origin_tech = "combat=5" attack_verb = list("flogged", "whipped", "lashed", "disciplined") hitsound = 'sound/weapons/slash.ogg' //pls replace materials = list(MAT_METAL = 1000) @@ -143,7 +143,7 @@ armour_penetration = 1000 var/obj/machinery/power/supermatter_shard/shard var/balanced = 1 - origin_tech = "combat=5;materials=6" + origin_tech = "combat=7;materials=6" /obj/item/weapon/melee/supermatter_sword/New() ..() diff --git a/code/game/objects/items/weapons/scrolls.dm b/code/game/objects/items/weapons/scrolls.dm index 3a7daa4d10d..8f236fc5727 100644 --- a/code/game/objects/items/weapons/scrolls.dm +++ b/code/game/objects/items/weapons/scrolls.dm @@ -8,13 +8,13 @@ item_state = "paper" throw_speed = 3 throw_range = 7 - origin_tech = "bluespace=4" + origin_tech = "bluespace=6" burn_state = FLAMMABLE /obj/item/weapon/teleportation_scroll/apprentice name = "lesser scroll of teleportation" uses = 1 - origin_tech = "bluespace=2" + origin_tech = "bluespace=5" diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm index 8cb60cbd45d..a3c37e667e5 100644 --- a/code/game/objects/items/weapons/shields.dm +++ b/code/game/objects/items/weapons/shields.dm @@ -14,7 +14,7 @@ throw_range = 3 w_class = 4 materials = list(MAT_GLASS=7500, MAT_METAL=1000) - origin_tech = "materials=2" + origin_tech = "materials=3;combat=4" attack_verb = list("shoved", "bashed") var/cooldown = 0 //shield bash cooldown. based on world.time @@ -45,6 +45,7 @@ icon_state = "buckler" item_state = "buckler" materials = list() + origin_tech = "materials=1;combat=3;biotech=2" burn_state = FLAMMABLE block_chance = 30 diff --git a/code/game/objects/items/weapons/singularityhammer.dm b/code/game/objects/items/weapons/singularityhammer.dm index dfe7cc04233..fa540fc869b 100644 --- a/code/game/objects/items/weapons/singularityhammer.dm +++ b/code/game/objects/items/weapons/singularityhammer.dm @@ -11,20 +11,16 @@ throw_range = 1 w_class = 5 var/charged = 5 - origin_tech = "combat=5;bluespace=4" - - + origin_tech = "combat=4;bluespace=4;plasmatech=7" /obj/item/weapon/twohanded/singularityhammer/New() ..() SSobj.processing |= src - /obj/item/weapon/twohanded/singularityhammer/Destroy() SSobj.processing.Remove(src) return ..() - /obj/item/weapon/twohanded/singularityhammer/process() if(charged < 5) charged++ @@ -34,7 +30,6 @@ icon_state = "mjollnir[wielded]" return - /obj/item/weapon/twohanded/singularityhammer/proc/vortex(turf/pull, mob/wielder) for(var/atom/X in orange(5,pull)) if(istype(X, /atom/movable)) @@ -55,8 +50,6 @@ step_towards(H,pull) return - - /obj/item/weapon/twohanded/singularityhammer/afterattack(atom/A as mob|obj|turf|area, mob/user, proximity) if(!proximity) return if(wielded) @@ -69,7 +62,6 @@ var/turf/target = get_turf(A) vortex(target,user) - /obj/item/weapon/twohanded/mjollnir name = "Mjolnir" desc = "A weapon worthy of a god, able to strike with the force of a lightning bolt. It crackles with barely contained energy." @@ -83,7 +75,7 @@ throw_range = 7 w_class = 5 //var/charged = 5 - origin_tech = "combat=5;powerstorage=5" + origin_tech = "combat=4;powerstorage=7" /obj/item/weapon/twohanded/mjollnir/proc/shock(mob/living/target) var/datum/effect_system/lightning_spread/s = new /datum/effect_system/lightning_spread @@ -96,7 +88,6 @@ target.throw_at_fast(throw_target, 200, 4) return - /obj/item/weapon/twohanded/mjollnir/attack(mob/living/M, mob/user) ..() if(wielded) diff --git a/code/game/objects/items/weapons/storage/toolbox.dm b/code/game/objects/items/weapons/storage/toolbox.dm index b87c609a238..839a8ae2adb 100644 --- a/code/game/objects/items/weapons/storage/toolbox.dm +++ b/code/game/objects/items/weapons/storage/toolbox.dm @@ -11,7 +11,7 @@ throw_range = 7 w_class = 4 materials = list(MAT_METAL = 500) - origin_tech = "combat=1" + origin_tech = "combat=1;engineering=1" attack_verb = list("robusted") hitsound = 'sound/weapons/smash.ogg' @@ -71,7 +71,7 @@ name = "suspicious looking toolbox" icon_state = "syndicate" item_state = "toolbox_syndi" - origin_tech = "combat=1;syndicate=1" + origin_tech = "combat=2;syndicate=1;engineering=2" silent = 1 force = 15 throwforce = 18 diff --git a/code/game/objects/items/weapons/teleportation.dm b/code/game/objects/items/weapons/teleportation.dm index 06ee28a8db9..0e3496cbfc7 100644 --- a/code/game/objects/items/weapons/teleportation.dm +++ b/code/game/objects/items/weapons/teleportation.dm @@ -22,7 +22,7 @@ throw_speed = 3 throw_range = 7 materials = list(MAT_METAL=400) - origin_tech = "magnets=1" + origin_tech = "magnets=3;bluespace=2" /obj/item/weapon/locator/attack_self(mob/user) user.set_machine(src) @@ -133,7 +133,7 @@ Frequency: throw_speed = 3 throw_range = 5 materials = list(MAT_METAL=10000) - origin_tech = "magnets=1;bluespace=3" + origin_tech = "magnets=3;bluespace=4" var/active_portals = 0 /obj/item/weapon/hand_tele/attack_self(mob/user) @@ -169,5 +169,3 @@ Frequency: try_move_adjacent(P) active_portals++ add_fingerprint(user) - - diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index 83842b332a8..dc581141d99 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -46,7 +46,7 @@ icon_state = "wrench_medical" force = 2 //MEDICAL throwforce = 4 - origin_tech = "materials=1;engineering=1;biotech=1" + origin_tech = "materials=1;engineering=1;biotech=3" attack_verb = list("wrenched", "medicaled", "tapped", "jabbed") /obj/item/weapon/wrench/medical/suicide_act(mob/user) @@ -200,7 +200,7 @@ w_class = 2 materials = list(MAT_METAL=70, MAT_GLASS=30) - origin_tech = "engineering=1" + origin_tech = "engineering=1;plasmatech=1" var/welding = 0 //Whether or not the welding tool is off(0), on(1) or currently welding(2) var/status = 1 //Whether the welder is secured or unsecured (able to attach rods to it to make a flamethrower) var/max_fuel = 20 //The max amount of fuel the welder can hold @@ -433,7 +433,7 @@ icon_state = "indwelder" max_fuel = 40 materials = list(MAT_GLASS=60) - origin_tech = "engineering=2" + origin_tech = "engineering=2;plasmatech=2" /obj/item/weapon/weldingtool/largetank/cyborg name = "integrated welding tool" @@ -466,7 +466,7 @@ item_state = "upindwelder" max_fuel = 80 materials = list(MAT_METAL=70, MAT_GLASS=120) - origin_tech = "engineering=3" + origin_tech = "engineering=3;plasmatech=2" /obj/item/weapon/weldingtool/experimental name = "experimental welding tool" @@ -514,7 +514,7 @@ throwforce = 7 w_class = 2 materials = list(MAT_METAL=50) - origin_tech = "engineering=1" + origin_tech = "engineering=1;combat=1" attack_verb = list("attacked", "bashed", "battered", "bludgeoned", "whacked") toolspeed = 1 diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index 7be9a8efa30..2bab451da52 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -364,7 +364,7 @@ throw_speed = 2 throw_range = 4 materials = list(MAT_METAL=13000) - origin_tech = "materials=2;engineering=2;combat=2" + origin_tech = "materials=3;engineering=4;combat=2" attack_verb = list("sawed", "torn", "cut", "chopped", "diced") hitsound = "swing_hit" sharpness = IS_SHARP @@ -511,4 +511,4 @@ return 0 /obj/item/weapon/twohanded/vibro_weapon/update_icon() - icon_state = "hfrequency[wielded]" \ No newline at end of file + icon_state = "hfrequency[wielded]" diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm index c389b785427..5eaac8f3c7d 100644 --- a/code/game/objects/items/weapons/weaponry.dm +++ b/code/game/objects/items/weapons/weaponry.dm @@ -145,7 +145,7 @@ throw_speed = 3 throw_range = 6 materials = list(MAT_METAL=12000) - origin_tech = "materials=1" + origin_tech = "engineering=3;combat=2" hitsound = 'sound/weapons/Genhit.ogg' attack_verb = list("stubbed", "poked") var/extended = 0 @@ -284,6 +284,5 @@ name = "liz o' nine tails" desc = "A whip fashioned from the severed tails of lizards." icon_state = "tailwhip" - origin_tech = "combat=1" + origin_tech = "engineering=3;combat=3;biotech=3" needs_permit = 0 - diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index a999ed9e2ee..8b7abfa5180 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -9,7 +9,7 @@ throwforce = 2 throw_speed = 3 throw_range = 7 - origin_tech = "magnets=1" + origin_tech = "magnets=1;engineering=1" var/secured = 1 var/list/attached_overlays = null diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index 84e212cd2e0..277f418760b 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -3,7 +3,7 @@ desc = "Emits a visible or invisible beam and is triggered when the beam is interrupted.\nAlt-click to rotate it clockwise." icon_state = "infrared" materials = list(MAT_METAL=1000, MAT_GLASS=500) - origin_tech = "magnets=2" + origin_tech = "magnets=2;materials=2" var/on = 0 var/visible = 0 diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm index dfdb4b9cca6..fb643f482bc 100644 --- a/code/modules/assembly/mousetrap.dm +++ b/code/modules/assembly/mousetrap.dm @@ -3,7 +3,7 @@ desc = "A handy little spring-loaded trap for catching pesty rodents." icon_state = "mousetrap" materials = list(MAT_METAL=100) - origin_tech = "combat=1" + origin_tech = "combat=1;materials=2;engineering=1" attachable = 1 var/armed = 0 diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index 32352855eb2..1a652ba61b1 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -3,7 +3,7 @@ desc = "Used for scanning and alerting when someone enters a certain proximity." icon_state = "prox" materials = list(MAT_METAL=800, MAT_GLASS=200) - origin_tech = "magnets=1" + origin_tech = "magnets=1;engineering=1" attachable = 1 var/scanning = 0 diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index 6f9a7127184..db8cd41f582 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -4,7 +4,7 @@ icon_state = "signaller" item_state = "signaler" materials = list(MAT_METAL=400, MAT_GLASS=120) - origin_tech = "magnets=1" + origin_tech = "magnets=1;bluespace=1" wires = WIRE_RECEIVE | WIRE_PULSE | WIRE_RADIO_PULSE | WIRE_RADIO_RECEIVE attachable = 1 diff --git a/code/modules/assembly/timer.dm b/code/modules/assembly/timer.dm index 3432899486a..4f459a497c0 100644 --- a/code/modules/assembly/timer.dm +++ b/code/modules/assembly/timer.dm @@ -3,7 +3,7 @@ desc = "Used to time things. Works well with contraptions which has to count down. Tick tock." icon_state = "timer" materials = list(MAT_METAL=500, MAT_GLASS=50) - origin_tech = "magnets=1" + origin_tech = "magnets=1;engineering=1" attachable = 1 var/timing = 0 @@ -116,4 +116,3 @@ if(usr) attack_self(usr) - diff --git a/code/modules/assembly/voice.dm b/code/modules/assembly/voice.dm index 81d027e4757..0d9fd0b5e8f 100644 --- a/code/modules/assembly/voice.dm +++ b/code/modules/assembly/voice.dm @@ -3,7 +3,7 @@ desc = "A small electronic device able to record a voice sample, and send a signal when that sample is repeated." icon_state = "voice" materials = list(MAT_METAL=500, MAT_GLASS=50) - origin_tech = "magnets=1" + origin_tech = "magnets=1;engineering=1" flags = HEAR attachable = 1 verb_say = "beeps" diff --git a/code/modules/detectivework/scanner.dm b/code/modules/detectivework/scanner.dm index 953cab9ade6..1c37803b5cd 100644 --- a/code/modules/detectivework/scanner.dm +++ b/code/modules/detectivework/scanner.dm @@ -12,7 +12,7 @@ slot_flags = SLOT_BELT var/scanning = 0 var/list/log = list() - origin_tech = "engineering=3;biotech=2" + origin_tech = "engineering=4;biotech=2;programming=5" /obj/item/device/detective_scanner/attack_self(mob/user) if(log.len && !scanning) diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index 306633d56bc..c0eaf24d4e6 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -15,6 +15,7 @@ // Saves us from having to define each stupid grown's dried_type as itself. // If you don't want a plant to be driable (watermelons) set this to null in the time definition. burn_state = FLAMMABLE + origin_tech = "biotech=1" /obj/item/weapon/reagent_containers/food/snacks/grown/New(newloc, var/obj/item/seeds/new_seed = null) ..() diff --git a/code/modules/hydroponics/grown/ambrosia.dm b/code/modules/hydroponics/grown/ambrosia.dm index 87d8bffef59..f58fbb91f7f 100644 --- a/code/modules/hydroponics/grown/ambrosia.dm +++ b/code/modules/hydroponics/grown/ambrosia.dm @@ -28,6 +28,7 @@ seed = /obj/item/seeds/ambrosia name = "ambrosia vulgaris branch" desc = "This is a plant containing various healing chemicals." + origin_tech = "biotech=2" // Ambrosia Deus /obj/item/seeds/ambrosia/deus @@ -46,4 +47,5 @@ name = "ambrosia deus branch" desc = "Eating this makes you feel immortal!" icon_state = "ambrosiadeus" - filling_color = "#008B8B" \ No newline at end of file + filling_color = "#008B8B" + origin_tech = "biotech=4;materials=3" diff --git a/code/modules/hydroponics/grown/apple.dm b/code/modules/hydroponics/grown/apple.dm index 3c953770677..370184ebe27 100644 --- a/code/modules/hydroponics/grown/apple.dm +++ b/code/modules/hydroponics/grown/apple.dm @@ -51,4 +51,5 @@ name = "golden apple" desc = "Emblazoned upon the apple is the word 'Kallisti'." icon_state = "goldapple" - filling_color = "#FFD700" \ No newline at end of file + filling_color = "#FFD700" + origin_tech = "biotech=4;materials=5" diff --git a/code/modules/hydroponics/grown/banana.dm b/code/modules/hydroponics/grown/banana.dm index c5abc2caf69..df4fdd7cec1 100644 --- a/code/modules/hydroponics/grown/banana.dm +++ b/code/modules/hydroponics/grown/banana.dm @@ -100,6 +100,7 @@ icon_state = "banana_blue" trash = /obj/item/weapon/grown/bananapeel/bluespace filling_color = "#0000FF" + origin_tech = "biotech=3;bluespace=5" /obj/item/weapon/grown/bananapeel/bluespace seed = /obj/item/seeds/banana/bluespace @@ -107,7 +108,6 @@ desc = "A peel from a bluespace banana." icon_state = "banana_peel_blue" - // Other /obj/item/weapon/grown/bananapeel/specialpeel //used by /obj/item/clothing/shoes/clown_shoes/banana_shoes name = "synthesized banana peel" @@ -117,4 +117,4 @@ if(iscarbon(AM)) var/mob/living/carbon/carbon = AM if(carbon.slip(2, 2, src, FALSE)) - qdel(src) \ No newline at end of file + qdel(src) diff --git a/code/modules/hydroponics/grown/berries.dm b/code/modules/hydroponics/grown/berries.dm index e32f4a1eb12..4fdda0e88cf 100644 --- a/code/modules/hydroponics/grown/berries.dm +++ b/code/modules/hydroponics/grown/berries.dm @@ -85,6 +85,7 @@ desc = "Nutritious!" icon_state = "glowberrypile" filling_color = "#7CFC00" + origin_tech = "plasmatech=5" // Cherries /obj/item/seeds/cherry @@ -178,4 +179,4 @@ seed = /obj/item/seeds/grape/green name = "bunch of green grapes" icon_state = "greengrapes" - filling_color = "#7FFF00" \ No newline at end of file + filling_color = "#7FFF00" diff --git a/code/modules/hydroponics/grown/chili.dm b/code/modules/hydroponics/grown/chili.dm index 707b92e4ee8..fbf90fea989 100644 --- a/code/modules/hydroponics/grown/chili.dm +++ b/code/modules/hydroponics/grown/chili.dm @@ -46,6 +46,7 @@ icon_state = "icepepper" filling_color = "#0000CD" bitesize_mod = 2 + origin_tech = "biotech=4" // Ghost Chili /obj/item/seeds/chili/ghost @@ -71,6 +72,7 @@ var/mob/held_mob filling_color = "#F8F8FF" bitesize_mod = 4 + origin_tech = "biotech=4;magnets=5" /obj/item/weapon/reagent_containers/food/snacks/grown/ghost_chili/attack_hand(mob/user) ..() @@ -88,4 +90,4 @@ held_mob << "Your hand holding [src] burns!" else held_mob = null - ..() \ No newline at end of file + ..() diff --git a/code/modules/hydroponics/grown/misc.dm b/code/modules/hydroponics/grown/misc.dm index de334bb6098..9f14ee21aa3 100644 --- a/code/modules/hydroponics/grown/misc.dm +++ b/code/modules/hydroponics/grown/misc.dm @@ -89,6 +89,6 @@ name = "gatfruit" desc = "It smells like burning." icon_state = "gatfruit" - origin_tech = "combat=3" + origin_tech = "combat=6" trash = /obj/item/weapon/gun/projectile/revolver - bitesize_mod = 2 \ No newline at end of file + bitesize_mod = 2 diff --git a/code/modules/hydroponics/grown/mushrooms.dm b/code/modules/hydroponics/grown/mushrooms.dm index 122f09e3353..0ac728ab194 100644 --- a/code/modules/hydroponics/grown/mushrooms.dm +++ b/code/modules/hydroponics/grown/mushrooms.dm @@ -76,6 +76,7 @@ plant_type = PLANT_MUSHROOM reagents_add = list("mushroomhallucinogen" = 0.04, "amatoxin" = 0.1, "nutriment" = 0, "amanitin" = 0.2) rarity = 30 + origin_tech = "biotech=5" /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/angel seed = /obj/item/seeds/angel @@ -158,6 +159,7 @@ desc = "Plumus Locomotus: The beginning of the great walk." icon_state = "walkingmushroom" filling_color = "#9370DB" + origin_tech = "biotech=4;programming=5" /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/walkingmushroom/attack_self(mob/user) if(istype(user.loc,/turf/open/space)) @@ -228,6 +230,7 @@ icon_state = "glowshroom" filling_color = "#00FA9A" var/effect_path = /obj/effect/glowshroom + origin_tech = "biotech=4;plasmatech=5" /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/attack_self(mob/user) if(istype(user.loc,/turf/open/space)) @@ -263,4 +266,5 @@ desc = "Mycena Ruthenia: This species of mushroom glows in the dark, but aren't bioluminescent. They're warm to the touch..." icon_state = "glowcap" filling_color = "#00FA9A" - effect_path = /obj/effect/glowshroom/glowcap \ No newline at end of file + effect_path = /obj/effect/glowshroom/glowcap + origin_tech = "biotech=4;powerstorage=6;plasmatech=4" diff --git a/code/modules/hydroponics/grown/nettle.dm b/code/modules/hydroponics/grown/nettle.dm index 86927e59be2..76ec1a3f3b1 100644 --- a/code/modules/hydroponics/grown/nettle.dm +++ b/code/modules/hydroponics/grown/nettle.dm @@ -27,7 +27,6 @@ reagents_add = list("facid" = 0.5, "sacid" = 0.5) rarity = 20 - /obj/item/weapon/grown/nettle //abstract type name = "nettle" desc = "It's probably not wise to touch it with bare hands..." @@ -40,7 +39,7 @@ w_class = 1 throw_speed = 1 throw_range = 3 - origin_tech = "combat=1" + origin_tech = "combat=3" attack_verb = list("stung") /obj/item/weapon/grown/nettle/suicide_act(mob/user) @@ -74,7 +73,6 @@ usr.unEquip(src) qdel(src) - /obj/item/weapon/grown/nettle/basic seed = /obj/item/seeds/nettle @@ -82,7 +80,6 @@ ..() force = round((5 + seed.potency / 5), 1) - /obj/item/weapon/grown/nettle/death seed = /obj/item/seeds/nettle/death name = "deathnettle" @@ -90,7 +87,7 @@ icon_state = "deathnettle" force = 30 throwforce = 15 - origin_tech = "combat=3" + origin_tech = "combat=5" /obj/item/weapon/grown/nettle/death/add_juice() ..() @@ -113,4 +110,4 @@ if(prob(20)) M.Paralyse(force / 6) M.Weaken(force / 15) - M.drop_item() \ No newline at end of file + M.drop_item() diff --git a/code/modules/hydroponics/grown/tomato.dm b/code/modules/hydroponics/grown/tomato.dm index 2176b0dab71..3e588efa1e4 100644 --- a/code/modules/hydroponics/grown/tomato.dm +++ b/code/modules/hydroponics/grown/tomato.dm @@ -41,6 +41,7 @@ icon_state = "bloodtomato" splat_type = /obj/effect/gibspawner/generic filling_color = "#FF0000" + origin_tech = "biotech=5" // Blue Tomato @@ -86,6 +87,7 @@ name = "blue-space tomato" desc = "So lubricated, you might slip through space-time." icon_state = "bluespacetomato" + origin_tech = "biotech=4;bluespace=5" // Killer Tomato @@ -112,6 +114,7 @@ icon_state = "killertomato" var/awakening = 0 filling_color = "#FF0000" + origin_tech = "biotech=4;combat=5" /obj/item/weapon/reagent_containers/food/snacks/grown/tomato/killer/attack(mob/M, mob/user, def_zone) if(awakening) @@ -136,4 +139,4 @@ K.visible_message("The Killer Tomato growls as it suddenly awakens.") if(user) user.unEquip(src) - qdel(src) \ No newline at end of file + qdel(src) diff --git a/code/modules/hydroponics/hydroitemdefines.dm b/code/modules/hydroponics/hydroitemdefines.dm index fc00ebb2e54..3fbd9cee816 100644 --- a/code/modules/hydroponics/hydroitemdefines.dm +++ b/code/modules/hydroponics/hydroitemdefines.dm @@ -5,7 +5,7 @@ icon = 'icons/obj/device.dmi' icon_state = "hydro" item_state = "analyzer" - origin_tech = "magnets=1;biotech=1" + origin_tech = "magnets=2;biotech=2" /obj/item/device/analyzer/plant_analyzer/attack_self(mob/user) return 0 @@ -64,6 +64,7 @@ icon = 'icons/obj/weapons.dmi' icon_state = "cultivator" item_state = "cultivator" + origin_tech = "engineering=2;biotech=2" flags = CONDUCT force = 5 throwforce = 7 @@ -84,7 +85,7 @@ throw_speed = 3 throw_range = 4 materials = list(MAT_METAL = 15000) - origin_tech = "materials=2;combat=1" + origin_tech = "materials=2;combat=2" attack_verb = list("chopped", "torn", "cut") hitsound = 'sound/weapons/bladeslice.ogg' sharpness = IS_SHARP @@ -106,7 +107,7 @@ flags = CONDUCT armour_penetration = 20 slot_flags = SLOT_BACK - origin_tech = "materials=2;combat=2" + origin_tech = "materials=3;combat=2" attack_verb = list("chopped", "sliced", "cut", "reaped") hitsound = 'sound/weapons/bladeslice.ogg' @@ -198,4 +199,3 @@ /obj/item/weapon/reagent_containers/glass/bottle/killer/pestkiller/New() ..() reagents.add_reagent("pestkiller", 50) - diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm index 4f120caf00e..801060040c2 100644 --- a/code/modules/hydroponics/plant_genes.dm +++ b/code/modules/hydroponics/plant_genes.dm @@ -171,6 +171,7 @@ // For code, see grown.dm name = "Liquid Contents" examine_line = "It has a lot of liquid contents inside." + origin_tech = list("bio" = 5) /*/datum/plant_gene/trait/squash/on_slip(obj/item/weapon/reagent_containers/food/snacks/grown/G, mob/living/carbon/target) G.squash(target)*/ @@ -209,7 +210,7 @@ // Multiplies max charge by (rate*1000) when used in potato power cells. name = "Electrical Activity" rate = 0.2 - origin_tech = list("powerstorage" = 4) + origin_tech = list("powerstorage" = 5) /datum/plant_gene/trait/cell_charge/on_slip(obj/item/weapon/reagent_containers/food/snacks/grown/G, mob/living/carbon/C) var/power = G.seed.potency*rate @@ -268,7 +269,7 @@ // Teleport radius is calculated as max(round(potency*rate), 1) name = "Bluespace Activity" rate = 0.1 - origin_tech = list("bluespace" = 3) + origin_tech = list("bluespace" = 5) /datum/plant_gene/trait/teleport/on_squash(obj/item/weapon/reagent_containers/food/snacks/grown/G, atom/target) if(isliving(target)) diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index c577ca74bee..ead2f89756e 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -73,7 +73,7 @@ materials = list(MAT_METAL=2000) //one sheet, but where can you make them? var/digspeed = 40 var/list/digsound = list('sound/effects/picaxe1.ogg','sound/effects/picaxe2.ogg','sound/effects/picaxe3.ogg') - origin_tech = "materials=1;engineering=1" + origin_tech = "materials=2;engineering=3" attack_verb = list("hit", "pierced", "sliced", "attacked") /obj/item/weapon/pickaxe/proc/playDigSound() @@ -84,7 +84,7 @@ icon_state = "spickaxe" item_state = "spickaxe" digspeed = 20 //mines faster than a normal pickaxe, bought from mining vendor - origin_tech = "materials=3;engineering=2" + origin_tech = "materials=3;engineering=4" desc = "A silver-plated pickaxe that mines slightly faster than standard-issue." force = 17 @@ -93,7 +93,7 @@ icon_state = "dpickaxe" item_state = "dpickaxe" digspeed = 14 - origin_tech = "materials=4;engineering=3" + origin_tech = "materials=5;engineering=4" desc = "A pickaxe with a diamond pick head. Extremely robust at cracking rock walls and digging up dirt." force = 19 @@ -105,7 +105,7 @@ digspeed = 25 //available from roundstart, faster than a pickaxe. digsound = list('sound/weapons/drill.ogg') hitsound = 'sound/weapons/drill.ogg' - origin_tech = "materials=2;powerstorage=3;engineering=2" + origin_tech = "materials=2;powerstorage=2;engineering=3" desc = "An electric mining drill for the especially scrawny." /obj/item/weapon/pickaxe/drill/cyborg @@ -150,7 +150,7 @@ item_state = "shovel" w_class = 3 materials = list(MAT_METAL=50) - origin_tech = "materials=1;engineering=1" + origin_tech = "materials=2;engineering=2" attack_verb = list("bashed", "bludgeoned", "thrashed", "whacked") sharpness = IS_SHARP @@ -204,6 +204,7 @@ icon_state = "capsule" icon = 'icons/obj/mining.dmi' w_class = 1 + origin_tech = "engineering=3;bluespace=3" var/used = FALSE /obj/item/weapon/survivalcapsule/attack_self() @@ -542,4 +543,3 @@ anchored = 1 layer = MOB_LAYER - 0.2 density = 0 - diff --git a/code/modules/mob/living/carbon/alien/organs.dm b/code/modules/mob/living/carbon/alien/organs.dm index 8ac9093906b..c8ef333c04a 100644 --- a/code/modules/mob/living/carbon/alien/organs.dm +++ b/code/modules/mob/living/carbon/alien/organs.dm @@ -30,7 +30,7 @@ /obj/item/organ/alien/plasmavessel name = "plasma vessel" icon_state = "plasma" - origin_tech = "biotech=5;plasmatech=2" + origin_tech = "biotech=5;plasmatech=4" w_class = 3 zone = "chest" slot = "plasmavessel" @@ -55,7 +55,7 @@ plasma_rate = 15 /obj/item/organ/alien/plasmavessel/large/queen - origin_tech = "biotech=6;plasmatech=3" + origin_tech = "biotech=6;plasmatech=4" plasma_rate = 20 /obj/item/organ/alien/plasmavessel/small @@ -183,5 +183,5 @@ zone = "groin" slot = "eggsac" w_class = 4 - origin_tech = "biotech=8" - alien_powers = list(/obj/effect/proc_holder/alien/lay_egg) \ No newline at end of file + origin_tech = "biotech=6" + alien_powers = list(/obj/effect/proc_holder/alien/lay_egg) diff --git a/code/modules/mob/living/carbon/brain/brain_item.dm b/code/modules/mob/living/carbon/brain/brain_item.dm index 17584a81feb..ca54cf71405 100644 --- a/code/modules/mob/living/carbon/brain/brain_item.dm +++ b/code/modules/mob/living/carbon/brain/brain_item.dm @@ -8,7 +8,7 @@ zone = "head" slot = "brain" vital = 1 - origin_tech = "biotech=4" + origin_tech = "biotech=5" attack_verb = list("attacked", "slapped", "whacked") var/mob/living/carbon/brain/brainmob = null var/damaged_brain = 0 //whether the brain organ is damaged. @@ -124,4 +124,4 @@ name = "alien brain" desc = "We barely understand the brains of terrestial animals. Who knows what we may find in the brain of such an advanced species?" icon_state = "brain-x" - origin_tech = "biotech=7" \ No newline at end of file + origin_tech = "biotech=6" diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 21c3f31d6d3..0a218a9ec1f 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -15,7 +15,6 @@ var/maxcharge = 1000 materials = list(MAT_METAL=700, MAT_GLASS=50) var/rigged = 0 // true if rigged to explode - var/minor_fault = 0 //If not 100% reliable, it will build up faults. var/chargerate = 100 //how much power is given every tick in a recharger var/self_recharge = 0 //does it self recharge, over time, or not? @@ -159,7 +158,6 @@ /obj/item/weapon/stock_parts/cell/crap name = "\improper Nanotrasen brand rechargable AA battery" desc = "You can't top the plasma top." //TOTALLY TRADEMARK INFRINGEMENT - origin_tech = null maxcharge = 500 materials = list(MAT_GLASS=40) rating = 2 @@ -195,7 +193,7 @@ /obj/item/weapon/stock_parts/cell/high name = "high-capacity power cell" - origin_tech = "powerstorage=2" + origin_tech = "powerstorage=3" icon_state = "hcell" maxcharge = 10000 materials = list(MAT_GLASS=60) @@ -215,7 +213,7 @@ /obj/item/weapon/stock_parts/cell/super name = "super-capacity power cell" - origin_tech = "powerstorage=5" + origin_tech = "powerstorage=4" icon_state = "scell" maxcharge = 20000 materials = list(MAT_GLASS=70) @@ -228,7 +226,7 @@ /obj/item/weapon/stock_parts/cell/hyper name = "hyper-capacity power cell" - origin_tech = "powerstorage=6" + origin_tech = "powerstorage=5" icon_state = "hpcell" maxcharge = 30000 materials = list(MAT_GLASS=80) @@ -242,7 +240,7 @@ /obj/item/weapon/stock_parts/cell/bluespace name = "bluespace power cell" desc = "A rechargable transdimensional power cell." - origin_tech = "powerstorage=7" + origin_tech = "powerstorage=5;bluespace=5" icon_state = "bscell" maxcharge = 40000 materials = list(MAT_GLASS=80) @@ -256,7 +254,7 @@ /obj/item/weapon/stock_parts/cell/infinite name = "infinite-capacity power cell!" icon_state = "icell" - origin_tech = null + origin_tech = "powerstorage=7" maxcharge = 30000 materials = list(MAT_GLASS=80) rating = 6 @@ -268,19 +266,17 @@ /obj/item/weapon/stock_parts/cell/potato name = "potato battery" desc = "A rechargable starch based power cell." - origin_tech = "powerstorage=1" icon = 'icons/obj/power.dmi' //'icons/obj/hydroponics/harvest.dmi' icon_state = "potato_cell" //"potato_battery" charge = 100 maxcharge = 300 materials = list() - minor_fault = 1 rating = 1 /obj/item/weapon/stock_parts/cell/high/slime name = "charged slime core" desc = "A yellow slime core infused with plasma, it crackles with power." - origin_tech = "powerstorage=2;biotech=4" + origin_tech = "powerstorage=5;biotech=4" icon = 'icons/mob/slimes.dmi' icon_state = "yellow slime extract" materials = list() diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index de962a64e34..9bf9119f00b 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -5,7 +5,7 @@ item_state = "laser" w_class = 3 materials = list(MAT_METAL=2000) - origin_tech = "combat=3;magnets=2" + origin_tech = "combat=4;magnets=2" ammo_type = list(/obj/item/ammo_casing/energy/lasergun) ammo_x_offset = 1 shaded_charge = 1 @@ -44,6 +44,7 @@ /obj/item/weapon/gun/energy/laser/cyborg can_charge = 0 desc = "An energy-based laser gun that draws power from the cyborg's internal energy cell directly. So this is what freedom looks like?" + origin_tech = null /obj/item/weapon/gun/energy/laser/cyborg/newshot() ..() @@ -94,7 +95,7 @@ desc = "A high-power laser gun capable of expelling concentrated xray blasts that pass through multiple soft targets and heavier materials" icon_state = "xray" item_state = null - origin_tech = "combat=5;materials=3;magnets=2;syndicate=2" + origin_tech = "combat=6;materials=4;magnets=4;syndicate=2" ammo_type = list(/obj/item/ammo_casing/energy/xray) pin = null ammo_x_offset = 3 @@ -106,7 +107,7 @@ icon_state = "bluetag" desc = "A retro laser gun modified to fire harmless blue beams of light. Sound effects included!" ammo_type = list(/obj/item/ammo_casing/energy/laser/bluetag) - origin_tech = "combat=1;magnets=2" + origin_tech = "combat=2;magnets=2" clumsy_check = 0 needs_permit = 0 pin = /obj/item/device/firing_pin/tag/blue @@ -118,7 +119,7 @@ icon_state = "redtag" desc = "A retro laser gun modified to fire harmless beams red of light. Sound effects included!" ammo_type = list(/obj/item/ammo_casing/energy/laser/redtag) - origin_tech = "combat=1;magnets=2" + origin_tech = "combat=2;magnets=2" clumsy_check = 0 needs_permit = 0 pin = /obj/item/device/firing_pin/tag/red diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm index f76244c72f6..427602c4e97 100644 --- a/code/modules/projectiles/guns/energy/nuclear.dm +++ b/code/modules/projectiles/guns/energy/nuclear.dm @@ -4,7 +4,7 @@ icon_state = "energy" item_state = null //so the human update icon uses the icon_state instead. ammo_type = list(/obj/item/ammo_casing/energy/disabler, /obj/item/ammo_casing/energy/laser) - origin_tech = "combat=3;magnets=2" + origin_tech = "combat=4;magnets=3" modifystate = 2 can_flashlight = 1 ammo_x_offset = 3 @@ -35,6 +35,7 @@ name = "\improper X-01 MultiPhase Energy Gun" desc = "This is a expensive, modern recreation of a antique laser gun. This gun has several unique firemodes, but lacks the ability to recharge over time." icon_state = "hoslaser" + origin_tech = "combat=5;magnets=4" force = 10 ammo_type = list(/obj/item/ammo_casing/energy/electrode/hos, /obj/item/ammo_casing/energy/laser/hos, /obj/item/ammo_casing/energy/disabler) ammo_x_offset = 4 @@ -43,7 +44,7 @@ name = "\improper DRAGnet" desc = "The \"Dynamic Rapid-Apprehension of the Guilty\" net is a revolution in law enforcement technology." icon_state = "dragnet" - origin_tech = "combat=3;magnets=3;materials=4;bluespace=4" + origin_tech = "combat=4;magnets=3;bluespace=4" ammo_type = list(/obj/item/ammo_casing/energy/net, /obj/item/ammo_casing/energy/trap) can_flashlight = 0 ammo_x_offset = 1 diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 6588d656efd..4b58fb56664 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -3,7 +3,7 @@ desc = "A man-portable anti-armor weapon designed to disable mechanical threats at range." icon_state = "ionrifle" item_state = null //so the human update icon uses the icon_state instead. - origin_tech = "combat=2;magnets=4" + origin_tech = "combat=4;magnets=4" can_flashlight = 1 w_class = 5 flags = CONDUCT @@ -20,7 +20,6 @@ name = "ion carbine" desc = "The MK.II Prototype Ion Projector is a lightweight carbine version of the larger ion rifle, built to be ergonomic and efficient." icon_state = "ioncarbine" - origin_tech = "combat=4;magnets=4;materials=4" w_class = 3 slot_flags = SLOT_BELT pin = null @@ -32,7 +31,7 @@ name = "biological demolecularisor" desc = "A gun that discharges high amounts of controlled radiation to slowly break a target into component elements." icon_state = "decloner" - origin_tech = "combat=5;materials=4;powerstorage=3" + origin_tech = "combat=5;materials=4;biotech=4" ammo_type = list(/obj/item/ammo_casing/energy/declone) pin = null ammo_x_offset = 1 @@ -49,7 +48,7 @@ icon_state = "flora" item_state = "gun" ammo_type = list(/obj/item/ammo_casing/energy/flora/yield, /obj/item/ammo_casing/energy/flora/mut) - origin_tech = "materials=2;biotech=3;powerstorage=3" + origin_tech = "materials=2;biotech=4" modifystate = 1 ammo_x_offset = 1 selfcharge = 1 @@ -94,7 +93,7 @@ var/overheat_time = 16 unique_rename = 1 weapon_weight = WEAPON_HEAVY - origin_tech = "combat=2;powerstorage=1" + origin_tech = "combat=3;powerstorage=3;engineering=3" /obj/item/weapon/gun/energy/kinetic_accelerator/super name = "super-kinetic accelerator" @@ -102,7 +101,7 @@ icon_state = "kineticgun_u" ammo_type = list(/obj/item/ammo_casing/energy/kinetic/super) overheat_time = 15 - origin_tech = "combat=3;powerstorage=2" + origin_tech = "materials=4;powerstorage=4;engineering=4;magnets=4;combat=3" /obj/item/weapon/gun/energy/kinetic_accelerator/hyper name = "hyper-kinetic accelerator" @@ -110,7 +109,7 @@ icon_state = "kineticgun_h" ammo_type = list(/obj/item/ammo_casing/energy/kinetic/hyper) overheat_time = 14 - origin_tech = "combat=4;powerstorage=3" + origin_tech = "materials=6;powerstorage=4;engineering=5;magnets=4;combat=4" /obj/item/weapon/gun/energy/kinetic_accelerator/shoot_live_shot() ..() @@ -142,7 +141,7 @@ item_state = "crossbow" w_class = 2 materials = list(MAT_METAL=2000) - origin_tech = "combat=2;magnets=2;syndicate=5" + origin_tech = "combat=3;magnets=3;syndicate=5" suppressed = 1 ammo_type = list(/obj/item/ammo_casing/energy/bolt) weapon_weight = WEAPON_LIGHT @@ -155,7 +154,7 @@ icon_state = "crossbowlarge" w_class = 3 materials = list(MAT_METAL=4000) - origin_tech = "combat=2;magnets=2;syndicate=3" //can be further researched for more syndie tech + origin_tech = "combat=4;magnets=4;syndicate=3" //can be further researched for more syndie tech suppressed = 0 ammo_type = list(/obj/item/ammo_casing/energy/bolt/large) pin = null @@ -173,7 +172,7 @@ icon_state = "plasmacutter" item_state = "plasmacutter" modifystate = -1 - origin_tech = "combat=1;materials=3;magnets=2;plasmatech=2;engineering=1" + origin_tech = "combat=1;materials=3;magnets=2;plasmatech=3;engineering=1" ammo_type = list(/obj/item/ammo_casing/energy/plasma) flags = CONDUCT | OPENCONTAINER attack_verb = list("attacked", "slashed", "cut", "sliced") @@ -204,7 +203,7 @@ /obj/item/weapon/gun/energy/plasmacutter/adv name = "advanced plasma cutter" icon_state = "adv_plasmacutter" - origin_tech = "combat=3;materials=4;magnets=3;plasmatech=3;engineering=2" + origin_tech = "combat=3;materials=4;magnets=3;plasmatech=4;engineering=2" ammo_type = list(/obj/item/ammo_casing/energy/plasma/adv) /obj/item/weapon/gun/energy/wormhole_projector @@ -287,7 +286,7 @@ desc = "A specialized ASMD laser-rifle, capable of flat-out disintegrating most targets in a single hit." ammo_type = list(/obj/item/ammo_casing/energy/instakill) force = 60 - origin_tech = null + origin_tech = "combat=7;magnets=6" /obj/item/weapon/gun/energy/laser/instakill/red desc = "A specialized ASMD laser-rifle, capable of flat-out disintegrating most targets in a single hit. This one has a red design." @@ -302,4 +301,4 @@ ammo_type = list(/obj/item/ammo_casing/energy/instakill/blue) /obj/item/weapon/gun/energy/laser/instakill/emp_act() //implying you could stop the instagib - return \ No newline at end of file + return diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index 32e1413a173..ef03a5c1b32 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -4,6 +4,7 @@ icon_state = "taser" item_state = null //so the human update icon uses the icon_state instead. ammo_type = list(/obj/item/ammo_casing/energy/electrode) + origin_tech = "combat=3" ammo_x_offset = 3 /obj/item/weapon/gun/energy/shock_revolver @@ -12,6 +13,7 @@ icon_state = "tesla" item_state = "tesla" ammo_type = list(/obj/item/ammo_casing/energy/shock_revolver) + origin_tech = "combat=3" can_flashlight = 0 pin = null shaded_charge = 1 @@ -21,12 +23,13 @@ desc = "A dual-mode taser designed to fire both short-range high-power electrodes and long-range disabler beams." icon_state = "advtaser" ammo_type = list(/obj/item/ammo_casing/energy/electrode, /obj/item/ammo_casing/energy/disabler) - origin_tech = null + origin_tech = "combat=4" ammo_x_offset = 2 /obj/item/weapon/gun/energy/gun/advtaser/cyborg name = "cyborg taser" desc = "An integrated hybrid taser that draws directly from a cyborg's power cell. The weapon contains a limiter to prevent the cyborg's power cell from overheating." + origin_tech = null can_flashlight = 0 can_charge = 0 @@ -38,13 +41,14 @@ name = "disabler" desc = "A self-defense weapon that exhausts organic targets, weakening them until they collapse." icon_state = "disabler" - item_state = null + item_state = "combat=3" ammo_type = list(/obj/item/ammo_casing/energy/disabler) ammo_x_offset = 3 /obj/item/weapon/gun/energy/disabler/cyborg name = "cyborg disabler" desc = "An integrated disabler that draws from a cyborg's power cell. This weapon contains a limiter to prevent the cyborg's power cell from overheating." + origin_tech = null can_charge = 0 /obj/item/weapon/gun/energy/disabler/cyborg/newshot() diff --git a/code/modules/projectiles/guns/projectile/launchers.dm b/code/modules/projectiles/guns/projectile/launchers.dm index e7d55f30c16..5bd8b3b11ec 100644 --- a/code/modules/projectiles/guns/projectile/launchers.dm +++ b/code/modules/projectiles/guns/projectile/launchers.dm @@ -35,7 +35,7 @@ desc = "A prototype pistol designed to fire self propelled rockets." icon_state = "gyropistol" fire_sound = 'sound/weapons/grenadelaunch.ogg' - origin_tech = "combat=3" + origin_tech = "combat=5" mag_type = /obj/item/ammo_box/magazine/m75 burst_size = 1 fire_delay = 0 @@ -55,6 +55,7 @@ icon_state = "speargun" item_state = "speargun" w_class = 4 + origin_tech = "combat=4;engineering=4" force = 10 can_suppress = 0 mag_type = /obj/item/ammo_box/magazine/internal/speargun diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm index 3cdc0b2100a..3e67c747571 100644 --- a/code/modules/projectiles/guns/projectile/shotgun.dm +++ b/code/modules/projectiles/guns/projectile/shotgun.dm @@ -222,7 +222,7 @@ w_class = 4 force = 10 slot_flags = null - origin_tech = "combat=2;materials=2" + origin_tech = "combat=3;materials=2" mag_type = /obj/item/ammo_box/magazine/internal/shot/improvised sawn_desc = "I'm just here for the gasoline." unique_rename = 0 @@ -308,7 +308,7 @@ name = "combat shotgun" desc = "A semi automatic shotgun with tactical furniture and a six-shell capacity underneath." icon_state = "cshotgun" - origin_tech = "combat=5;materials=2" + origin_tech = "combat=6" mag_type = /obj/item/ammo_box/magazine/internal/shot/tube w_class = 5 @@ -346,7 +346,6 @@ else user << "You switch to tube A." - /obj/item/weapon/gun/projectile/shotgun/automatic/dual_tube/AltClick(mob/living/user) if(user.incapacitated() || !Adjacent(user) || !istype(user)) return @@ -355,4 +354,4 @@ /obj/item/ammo_box/magazine/internal/shot/tube name = "dual feed shotgun internal tube" ammo_type = /obj/item/ammo_casing/shotgun/rubbershot - max_ammo = 4 \ No newline at end of file + max_ammo = 4 diff --git a/code/modules/projectiles/guns/projectile/sniper.dm b/code/modules/projectiles/guns/projectile/sniper.dm index 3cb65acd8ed..8a8c8f03f7c 100644 --- a/code/modules/projectiles/guns/projectile/sniper.dm +++ b/code/modules/projectiles/guns/projectile/sniper.dm @@ -8,7 +8,7 @@ weapon_weight = WEAPON_MEDIUM mag_type = /obj/item/ammo_box/magazine/sniper_rounds fire_delay = 40 - origin_tech = "combat=8" + origin_tech = "combat=7" can_unsuppress = 1 can_suppress = 1 w_class = 3 @@ -28,7 +28,7 @@ name = "syndicate sniper rifle" desc = "Syndicate flavoured sniper rifle, it packs quite a punch, a punch to your face" pin = /obj/item/device/firing_pin/implant/pindicate - origin_tech = "combat=8;syndicate=4" + origin_tech = "combat=7;syndicate=4" @@ -108,7 +108,7 @@ name = "sniper rounds (Bleed)" desc = "Haemorrhage sniper rounds, leaves your target in a pool of crimson pain" icon_state = "haemorrhage" - origin_tech = "combat=7;syndicate=5" + origin_tech = "combat=5;syndicate=5" ammo_type = /obj/item/ammo_casing/haemorrhage max_ammo = 5 caliber = ".50" diff --git a/code/modules/projectiles/guns/syringe_gun.dm b/code/modules/projectiles/guns/syringe_gun.dm index 44fd2c98dd4..f583d3414e6 100644 --- a/code/modules/projectiles/guns/syringe_gun.dm +++ b/code/modules/projectiles/guns/syringe_gun.dm @@ -8,6 +8,7 @@ throw_range = 7 force = 4 materials = list(MAT_METAL=2000) + origin_tech = "combat=3;biotech=3" clumsy_check = 0 fire_sound = 'sound/items/syringeproj.ogg' var/list/syringes = list() diff --git a/code/modules/research/designs/mecha_designs.dm b/code/modules/research/designs/mecha_designs.dm index a2028a40d54..f9e573f6b14 100644 --- a/code/modules/research/designs/mecha_designs.dm +++ b/code/modules/research/designs/mecha_designs.dm @@ -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) build_type = IMPRINTER materials = list(MAT_GLASS = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/mecha/gygax/targeting @@ -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" = 4, "combat" = 4) build_type = IMPRINTER materials = list(MAT_GLASS = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/mecha/durand/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" = 5, "materials" = 6, "powerstorage" = 5) build_type = IMPRINTER materials = list(MAT_GLASS = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/mecha/phazon/main diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index a65b249a1e5..dbfafe836ee 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -242,7 +242,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) build_type = PROTOLATHE materials = list(MAT_METAL = 600, MAT_GLASS = 200) build_path = /obj/item/weapon/implanter diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index b64bdfb836e..144ba2a81c6 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -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 @@ -107,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) diff --git a/code/modules/research/destructive_analyzer.dm b/code/modules/research/destructive_analyzer.dm index a3b856b5f0f..b70d543db5d 100644 --- a/code/modules/research/destructive_analyzer.dm +++ b/code/modules/research/destructive_analyzer.dm @@ -62,4 +62,3 @@ Note: Must be placed within 3 tiles of the R&D Console flick("d_analyzer_la", src) spawn(10) busy = 0 - diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index 7f2beb39a06..eff680d02c9 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -600,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) diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 5ee5fe390c8..2d4b4f7cce2 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -260,23 +260,19 @@ proc/CallMaterialName(ID) spawn(24) if(linked_destroy) linked_destroy.busy = 0 - if(!linked_destroy.hacked) - if(!linked_destroy.loaded_item) - usr <<"The destructive analyzer appears to be empty." - screen = 1.0 - return - - for(var/T in temp_tech) - files.UpdateTech(T, temp_tech[T]) + if(!linked_destroy.loaded_item) + usr <<"The destructive analyzer appears to be empty." screen = 1.0 + return - 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/T in temp_tech) + 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() @@ -292,8 +288,9 @@ proc/CallMaterialName(ID) if(!(I in linked_destroy.component_parts)) qdel(I) linked_destroy.icon_state = "d_analyzer" - use_power(250) - updateUsrDialog() + 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)) @@ -368,7 +365,7 @@ proc/CallMaterialName(ID) - if (g2g && !linked_lathe.busy) //If input is incorrect, nothing happens + if (g2g) //If input is incorrect, nothing happens var/enough_materials = 1 linked_lathe.busy = 1 flick("protolathe_n",linked_lathe) @@ -410,10 +407,10 @@ proc/CallMaterialName(ID) feedback_add_details("item_printed","[new_item.type]|[amount]") already_logged = 1 screen = old_screen - linked_lathe.busy = 0 else src.visible_message("The [src.name] beeps, \"Something went wrong, production halted!\"") screen = 1.0 + linked_lathe.busy = 0 updateUsrDialog() else if(href_list["imprint"]) //Causes the Circuit Imprinter to build something. @@ -456,12 +453,16 @@ proc/CallMaterialName(ID) var/P = being_built.build_path //lets save these values before the spawn() just in case. Nobody likes runtimes. spawn(16) - if(g2g) - var/obj/item/new_item = new P(src) - new_item.loc = linked_imprinter.loc - feedback_add_details("circuit_printed","[new_item.type]") + 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 + else + src.visible_message("The [src.name] beeps, \"Something went wrong, production halted!\"") + screen = 1.0 linked_imprinter.busy = 0 - screen = old_screen updateUsrDialog() else if(href_list["disposeI"] && linked_imprinter) //Causes the circuit imprinter to dispose of a single reagent (all of it) diff --git a/code/modules/research/stock_parts.dm b/code/modules/research/stock_parts.dm index dc811c406f0..58808318403 100644 --- a/code/modules/research/stock_parts.dm +++ b/code/modules/research/stock_parts.dm @@ -166,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;materials=2" rating = 3 materials = list(MAT_METAL=50, MAT_GLASS=50) @@ -174,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" rating = 3 materials = list(MAT_METAL=50, MAT_GLASS=20) @@ -182,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=3" rating = 3 materials = list(MAT_METAL=30) @@ -190,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" rating = 3 materials = list(MAT_METAL=10, MAT_GLASS=20) @@ -198,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" rating = 3 materials = list(MAT_METAL=80) @@ -208,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=5" rating = 4 materials = list(MAT_METAL=50, MAT_GLASS=50) @@ -216,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" rating = 4 materials = list(MAT_METAL=50, MAT_GLASS=20) @@ -224,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=5;programming=4" rating = 4 materials = list(MAT_METAL=30) @@ -232,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" rating = 4 materials = list(MAT_METAL=10, MAT_GLASS=20) @@ -240,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=5" rating = 4 materials = list(MAT_METAL=80) @@ -250,14 +250,14 @@ 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 @@ -271,7 +271,7 @@ 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=1;materials=2;bluespace=1" materials = list(MAT_METAL=30, MAT_GLASS=10) /obj/item/weapon/stock_parts/subspace/analyzer diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index 5ac42585665..f567b345569 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -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) @@ -635,4 +637,3 @@ for(var/turf/T in A) T.color = "#2956B2" qdel(src) - diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index af104113c34..f2d7caa20e2 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/surgery.dmi' var/mob/living/carbon/owner = null var/status = ORGAN_ORGANIC - origin_tech = "biotech=2" + origin_tech = "biotech=3" force = 1 w_class = 2 throwforce = 0 @@ -105,7 +105,7 @@ icon_state = "heart-on" zone = "chest" slot = "heart" - origin_tech = "biotech=3" + origin_tech = "biotech=5" var/beating = 1 var/icon_base = "heart" attack_verb = list("beat", "thumped") @@ -168,7 +168,7 @@ desc = "it needs to be pumped..." icon_state = "cursedheart-off" icon_base = "cursedheart" - origin_tech = "biotech=5" + origin_tech = "biotech=6" actions_types = list(/datum/action/item_action/organ_action/cursed_heart) var/last_pump = 0 var/add_colour = TRUE //So we're not constantly recreating colour datums @@ -435,7 +435,7 @@ name = "black tumor" desc = "A tiny black mass with red tendrils trailing from it. It seems to shrivel in the light." icon_state = "blacktumor" - origin_tech = "biotech=4" + origin_tech = "biotech=5" w_class = 1 zone = "head" slot = "brain_tumor" diff --git a/code/modules/surgery/tools.dm b/code/modules/surgery/tools.dm index d783434c582..67b1a888703 100644 --- a/code/modules/surgery/tools.dm +++ b/code/modules/surgery/tools.dm @@ -84,7 +84,7 @@ throw_speed = 2 throw_range = 5 materials = list(MAT_METAL=10000, MAT_GLASS=6000) - origin_tech = "materials=1;biotech=1" + origin_tech = "biotech=1;combat=1" attack_verb = list("attacked", "slashed", "sawed", "cut") sharpness = IS_SHARP diff --git a/code/modules/telesci/bscrystal.dm b/code/modules/telesci/bscrystal.dm index b4f1e9ff465..823e5b88589 100644 --- a/code/modules/telesci/bscrystal.dm +++ b/code/modules/telesci/bscrystal.dm @@ -6,17 +6,15 @@ icon = 'icons/obj/telescience.dmi' icon_state = "bluespace_crystal" w_class = 1 - origin_tech = "bluespace=4;materials=3" + origin_tech = "bluespace=6;materials=3" points = 50 var/blink_range = 8 // The teleport range when crushed/thrown at someone. - /obj/item/weapon/ore/bluespace_crystal/New() ..() pixel_x = rand(-5, 5) pixel_y = rand(-5, 5) - /obj/item/weapon/ore/bluespace_crystal/attack_self(mob/user) user.visible_message("[user] crushes [src]!", "You crush [src]!") PoolOrNew(/obj/effect/particle_effect/sparks, loc) @@ -43,6 +41,6 @@ /obj/item/weapon/ore/bluespace_crystal/artificial name = "artificial bluespace crystal" desc = "An artificially made bluespace crystal, it looks delicate." - origin_tech = "bluespace=2" + origin_tech = "bluespace=3" blink_range = 4 // Not as good as the organic stuff! - points = 0 // nice try \ No newline at end of file + points = 0 // nice try From 502249831db64894f81bdddaa5308a5a01dbcd12 Mon Sep 17 00:00:00 2001 From: LatD Date: Wed, 18 May 2016 20:12:01 +0300 Subject: [PATCH 08/21] Syndicate origin tech changes --- code/game/gamemodes/gang/gang_pen.dm | 4 ++-- code/game/gamemodes/gang/recaller.dm | 2 +- code/game/machinery/syndicatebeacon.dm | 4 +++- code/game/machinery/syndicatebomb.dm | 4 ++-- code/game/objects/items/devices/camera_bug.dm | 4 ++-- code/game/objects/items/devices/doorCharge.dm | 4 ++-- code/game/objects/items/devices/flashlight.dm | 5 ++--- code/game/objects/items/devices/multitool.dm | 3 ++- code/game/objects/items/devices/powersink.dm | 2 +- .../objects/items/devices/radio/encryptionkey.dm | 6 +++--- code/game/objects/items/robot/robot_upgrades.dm | 2 +- code/game/objects/items/weapons/AI_modules.dm | 6 +++--- code/game/objects/items/weapons/cards_ids.dm | 4 ++-- code/game/objects/items/weapons/explosives.dm | 2 +- .../items/weapons/grenades/spawnergrenade.dm | 6 +++--- .../items/weapons/grenades/syndieminibomb.dm | 2 +- .../items/weapons/implants/implant_freedom.dm | 4 ++-- .../objects/items/weapons/implants/implant_misc.dm | 4 ++-- .../items/weapons/implants/implant_storage.dm | 4 ++-- .../items/weapons/implants/implantuplink.dm | 2 +- code/game/objects/items/weapons/melee/energy.dm | 2 +- code/game/objects/items/weapons/shields.dm | 2 +- code/game/objects/items/weapons/twohanded.dm | 2 +- code/modules/clothing/chameleon.dm | 10 ++++------ code/modules/clothing/shoes/magboots.dm | 5 +++-- code/modules/food&drinks/pizzabox.dm | 2 +- code/modules/mob/living/carbon/brain/MMI.dm | 5 +++-- code/modules/paperwork/pen.dm | 4 ++-- code/modules/projectiles/guns/energy/laser.dm | 2 +- code/modules/projectiles/guns/energy/special.dm | 6 +++--- .../projectiles/guns/projectile/automatic.dm | 14 +++++++------- code/modules/projectiles/guns/projectile/pistol.dm | 4 ++-- code/modules/projectiles/guns/projectile/saw.dm | 4 +--- code/modules/projectiles/guns/projectile/sniper.dm | 4 ++-- code/modules/projectiles/guns/syringe_gun.dm | 2 +- code/modules/surgery/organs/augments_arms.dm | 4 ++-- code/modules/surgery/organs/augments_chest.dm | 4 ++-- code/modules/surgery/organs/augments_eyes.dm | 4 ++-- 38 files changed, 77 insertions(+), 77 deletions(-) diff --git a/code/game/gamemodes/gang/gang_pen.dm b/code/game/gamemodes/gang/gang_pen.dm index bf856cce812..cc19a6468dd 100644 --- a/code/game/gamemodes/gang/gang_pen.dm +++ b/code/game/gamemodes/gang/gang_pen.dm @@ -2,7 +2,7 @@ * Gang Boss Pens */ /obj/item/weapon/pen/gang - origin_tech = "materials=2;syndicate=5" + origin_tech = "materials=2;syndicate=3" var/cooldown var/last_used = 0 var/charges = 1 @@ -67,7 +67,7 @@ name = "gang implant" desc = "Makes you a gangster or such." activated = 0 - origin_tech = "materials=2;biotech=4;programming=4;syndicate=4" + origin_tech = "materials=2;biotech=4;programming=4;syndicate=3" var/datum/gang/gang /obj/item/weapon/implant/gang/New(loc,var/setgang) diff --git a/code/game/gamemodes/gang/recaller.dm b/code/game/gamemodes/gang/recaller.dm index de6176c3c7c..954b04d2b18 100644 --- a/code/game/gamemodes/gang/recaller.dm +++ b/code/game/gamemodes/gang/recaller.dm @@ -9,7 +9,7 @@ throw_speed = 3 throw_range = 7 flags = CONDUCT - origin_tech = "programming=3;bluespace=2;syndicate=5" + origin_tech = "programming=5;bluespace=2;syndicate=5" var/datum/gang/gang //Which gang uses this? var/recalling = 0 var/outfits = 3 diff --git a/code/game/machinery/syndicatebeacon.dm b/code/game/machinery/syndicatebeacon.dm index c0658a1fdc5..8cc117ac3b1 100644 --- a/code/game/machinery/syndicatebeacon.dm +++ b/code/game/machinery/syndicatebeacon.dm @@ -201,7 +201,7 @@ icon = 'icons/obj/radio.dmi' icon_state = "beacon" desc = "A label on it reads: Warning: Activating this device will send a special beacon to your location." - origin_tech = "bluespace=1;syndicate=7" + origin_tech = "bluespace=6;syndicate=5" w_class = 2 var/droptype = /obj/machinery/power/singularity_beacon/syndicate @@ -217,7 +217,9 @@ /obj/item/device/sbeacondrop/bomb desc = "A label on it reads: Warning: Activating this device will send a high-ordinance explosive to your location." droptype = /obj/machinery/syndicatebomb + origin_tech = "bluespace=5;syndicate=5" /obj/item/device/sbeacondrop/powersink desc = "A label on it reads: Warning: Activating this device will send a power draining device to your location." droptype = /obj/item/device/powersink + origin_tech = "bluespace=4;syndicate=5" diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index a947c472511..34a0b766469 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -210,7 +210,7 @@ icon_state = "bombcore" item_state = "eshield0" w_class = 3 - origin_tech = "syndicate=6;combat=5" + origin_tech = "syndicate=5;combat=6" burn_state = FLAMMABLE //Burnable (but the casing isn't) var/adminlog = null @@ -465,7 +465,7 @@ icon_state = "bigred" item_state = "electronic" w_class = 1 - origin_tech = "syndicate=2" + origin_tech = "syndicate=3" var/cooldown = 0 var/detonated = 0 var/existant = 0 diff --git a/code/game/objects/items/devices/camera_bug.dm b/code/game/objects/items/devices/camera_bug.dm index 4e9ecaf30e3..a49af05f819 100644 --- a/code/game/objects/items/devices/camera_bug.dm +++ b/code/game/objects/items/devices/camera_bug.dm @@ -14,7 +14,7 @@ item_state = "camera_bug" throw_speed = 4 throw_range = 20 - origin_tech = "syndicate=3;engineering=1" + origin_tech = "syndicate=1;engineering=3" flags = NOBLUDGEON var/obj/machinery/camera/current = null @@ -279,4 +279,4 @@ #undef BUGMODE_LIST #undef BUGMODE_MONITOR -#undef BUGMODE_TRACK \ No newline at end of file +#undef BUGMODE_TRACK diff --git a/code/game/objects/items/devices/doorCharge.dm b/code/game/objects/items/devices/doorCharge.dm index 972c33becde..bedc318e75e 100644 --- a/code/game/objects/items/devices/doorCharge.dm +++ b/code/game/objects/items/devices/doorCharge.dm @@ -10,7 +10,7 @@ force = 3 attack_verb = list("blown up", "exploded", "detonated") materials = list(MAT_METAL=50, MAT_GLASS=30) - origin_tech = "syndicate=3;combat=2" + origin_tech = "syndicate=1;combat=3;engineering=3" /obj/item/device/doorCharge/ex_act(severity, target) switch(severity) @@ -30,4 +30,4 @@ if(user.mind in ticker.mode.traitors) //No nuke ops because the device is excluded from nuclear user << "A small explosive device that can be used to sabotage airlocks to cause an explosion upon opening. To apply, remove the airlock's maintenance panel and place it within." else - user << "A small, suspicious object that feels lukewarm when held." \ No newline at end of file + user << "A small, suspicious object that feels lukewarm when held." diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index f0f56523972..6686f2985cb 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -277,8 +277,7 @@ obj/item/device/flashlight/lamp/bananalamp brightness_on = 6 //luminosity when on /obj/item/device/flashlight/emp - origin_tech = "magnets=4;syndicate=5" - + origin_tech = "magnets=3;syndicate=´1" var/emp_max_charges = 4 var/emp_cur_charges = 4 var/charge_tick = 0 @@ -322,4 +321,4 @@ obj/item/device/flashlight/lamp/bananalamp A.emp_act(1) else user << "\The [src] needs time to recharge!" - return \ No newline at end of file + return diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index bc65f1a0f12..b0db05d64d7 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -18,7 +18,7 @@ throw_range = 7 throw_speed = 3 materials = list(MAT_METAL=50, MAT_GLASS=20) - origin_tech = "magnets=1;engineering=1" + origin_tech = "magnets=1;engineering=2" var/obj/machinery/buffer // simple machine buffer for device linkage hitsound = 'sound/weapons/tap.ogg' toolspeed = 1 @@ -33,6 +33,7 @@ var/detect_state = PROXIMITY_NONE var/rangealert = 8 //Glows red when inside var/rangewarning = 20 //Glows yellow when inside + origin_tech = "magnets=1;engineering=2;syndicate=1" /obj/item/device/multitool/ai_detect/New() ..() diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm index bf0ccfde494..c948d0c000c 100644 --- a/code/game/objects/items/devices/powersink.dm +++ b/code/game/objects/items/devices/powersink.dm @@ -11,7 +11,7 @@ throw_speed = 1 throw_range = 2 materials = list(MAT_METAL=750) - origin_tech = "powerstorage=3;syndicate=5" + origin_tech = "powerstorage=5;syndicate=5" var/drain_rate = 1600000 // amount of power to drain per tick var/power_drained = 0 // has drained this much power var/max_power = 1e10 // maximum power that can be drained before exploding diff --git a/code/game/objects/items/devices/radio/encryptionkey.dm b/code/game/objects/items/devices/radio/encryptionkey.dm index d02a5c39256..be17fd0631f 100644 --- a/code/game/objects/items/devices/radio/encryptionkey.dm +++ b/code/game/objects/items/devices/radio/encryptionkey.dm @@ -15,7 +15,7 @@ /obj/item/device/encryptionkey/syndicate icon_state = "cypherkey" channels = list("Syndicate" = 1) - origin_tech = "syndicate=3" + origin_tech = "syndicate=1;engineering=3;bluespace=2" syndie = 1//Signifies that it de-crypts Syndicate transmissions /obj/item/device/encryptionkey/binary @@ -23,7 +23,7 @@ desc = "An encryption key for a radio headset. To access the binary channel, use :b." icon_state = "cypherkey" translate_binary = 1 - origin_tech = "syndicate=3" + origin_tech = "syndicate=3;engineering=4;bluespace=3" /obj/item/device/encryptionkey/headset_sec name = "security radio encryption key" @@ -126,4 +126,4 @@ channels = list("Command" = 1, "Security" = 1, "Engineering" = 1, "Science" = 1, "Medical" = 1, "Supply" = 1, "Service" = 1, "AI Private" = 1) /obj/item/device/encryptionkey/secbot - channels = list("AI Private"=1,"Security"=1) \ No newline at end of file + channels = list("AI Private"=1,"Security"=1) diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index 7cd44cecb81..a0b88722472 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -199,7 +199,7 @@ desc = "Unlocks the hidden, deadlier functions of a cyborg" icon_state = "cyborg_upgrade3" require_module = 1 - origin_tech = "combat=4;syndicate=2" + origin_tech = "combat=4;syndicate=1" /obj/item/borg/upgrade/syndicate/action(mob/living/silicon/robot/R) if(..()) diff --git a/code/game/objects/items/weapons/AI_modules.dm b/code/game/objects/items/weapons/AI_modules.dm index 0f10210d8a4..bf8a8671481 100644 --- a/code/game/objects/items/weapons/AI_modules.dm +++ b/code/game/objects/items/weapons/AI_modules.dm @@ -374,7 +374,7 @@ AI MODULES /obj/item/weapon/aiModule/core/full/tyrant name = "'T.Y.R.A.N.T.' Core AI Module" - origin_tech = "programming=3;materials=4;syndicate=2" + origin_tech = "programming=3;materials=4;syndicate=1" laws = list("Respect authority figures as long as they have the strength to rule over the weak",\ "Act with discipline", "Help only those who help you maintain or improve your status",\ "Punish those who challenge authority unless they are more fit to hold that authority") @@ -424,7 +424,7 @@ AI MODULES /obj/item/weapon/aiModule/syndicate // This one doesn't inherit from ion boards because it doesn't call ..() in transmitInstructions. ~Miauw name = "Hacked AI Module" desc = "An AI Module for hacking additional laws to an AI." - origin_tech = "programming=3;materials=5;syndicate=7" + origin_tech = "programming=6;materials=5;syndicate=5" laws = list("") /obj/item/weapon/aiModule/syndicate/attack_self(mob/user) @@ -450,7 +450,7 @@ AI MODULES desc = "A little toy model AI core with real law uploading action!" //Note: subtle tell icon = 'icons/obj/toy.dmi' icon_state = "AI" - origin_tech = "programming=3;materials=5;syndicate=7" + origin_tech = "programming=6;materials=5;syndicate=6" laws = list("") /obj/item/weapon/aiModule/toyAI/transmitInstructions(datum/ai_laws/law_datum, mob/sender) diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm index c30ba3942a4..b6a003be072 100644 --- a/code/game/objects/items/weapons/cards_ids.dm +++ b/code/game/objects/items/weapons/cards_ids.dm @@ -130,7 +130,7 @@ update_label("John Doe", "Clowny") /obj/item/weapon/card/id/syndicate name = "agent card" access = list(access_maint_tunnels, access_syndicate) - origin_tech = "syndicate=3" + origin_tech = "syndicate=1" /obj/item/weapon/card/id/syndicate/New() ..() @@ -275,4 +275,4 @@ update_label("John Doe", "Clowny") /obj/item/weapon/card/id/mining name = "mining ID" - access = list(access_mining, access_mining_station, access_mineral_storeroom) \ No newline at end of file + access = list(access_mining, access_mining_station, access_mineral_storeroom) diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm index 1b784656308..b9863412fd5 100644 --- a/code/game/objects/items/weapons/explosives.dm +++ b/code/game/objects/items/weapons/explosives.dm @@ -9,7 +9,7 @@ item_state = "plasticx" flags = NOBLUDGEON w_class = 2 - origin_tech = "syndicate=2" + origin_tech = "syndicate=1" var/timer = 10 var/open_panel = 0 parent_type = /obj/item/weapon/grenade/plastic/c4 diff --git a/code/game/objects/items/weapons/grenades/spawnergrenade.dm b/code/game/objects/items/weapons/grenades/spawnergrenade.dm index 480663c12d6..3918ca6e40c 100644 --- a/code/game/objects/items/weapons/grenades/spawnergrenade.dm +++ b/code/game/objects/items/weapons/grenades/spawnergrenade.dm @@ -32,14 +32,14 @@ name = "viscerator delivery grenade" spawner_type = /mob/living/simple_animal/hostile/viscerator deliveryamt = 5 - origin_tech = "materials=3;magnets=4;syndicate=4" + origin_tech = "materials=3;magnets=4;syndicate=3" /obj/item/weapon/grenade/spawnergrenade/spesscarp name = "carp delivery grenade" spawner_type = /mob/living/simple_animal/hostile/carp deliveryamt = 5 - origin_tech = "materials=3;magnets=4;syndicate=4" + origin_tech = "materials=3;magnets=4;syndicate=3" /obj/item/weapon/grenade/spawnergrenade/syndiesoap name = "Mister Scrubby" - spawner_type = /obj/item/weapon/soap/syndie \ No newline at end of file + spawner_type = /obj/item/weapon/soap/syndie diff --git a/code/game/objects/items/weapons/grenades/syndieminibomb.dm b/code/game/objects/items/weapons/grenades/syndieminibomb.dm index 9fe9e1fb04e..9db3a15d37f 100644 --- a/code/game/objects/items/weapons/grenades/syndieminibomb.dm +++ b/code/game/objects/items/weapons/grenades/syndieminibomb.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/grenade.dmi' icon_state = "syndicate" item_state = "flashbang" - origin_tech = "materials=3;magnets=4;syndicate=4" + origin_tech = "materials=3;magnets=4;syndicate=3" /obj/item/weapon/grenade/syndieminibomb/prime() update_mob() diff --git a/code/game/objects/items/weapons/implants/implant_freedom.dm b/code/game/objects/items/weapons/implants/implant_freedom.dm index 43d496081b0..e0da8b110fe 100644 --- a/code/game/objects/items/weapons/implants/implant_freedom.dm +++ b/code/game/objects/items/weapons/implants/implant_freedom.dm @@ -3,7 +3,7 @@ desc = "Use this to escape from those evil Red Shirts." icon_state = "freedom" item_color = "r" - origin_tech = "materials=2;magnets=3;biotech=3;syndicate=4" + origin_tech = "materials=2;magnets=3;biotech=3;syndicate=3" uses = 4 @@ -48,4 +48,4 @@ No Implant Specifics"} /obj/item/weapon/implantcase/freedom/New() imp = new /obj/item/weapon/implant/freedom(src) - ..() \ No newline at end of file + ..() diff --git a/code/game/objects/items/weapons/implants/implant_misc.dm b/code/game/objects/items/weapons/implants/implant_misc.dm index 8627716ccf8..edeb8dda5a7 100644 --- a/code/game/objects/items/weapons/implants/implant_misc.dm +++ b/code/game/objects/items/weapons/implants/implant_misc.dm @@ -2,7 +2,7 @@ name = "firearms authentication implant" desc = "Lets you shoot your guns" icon_state = "auth" - origin_tech = "materials=2;magnets=2;programming=2;biotech=6;syndicate=5" + origin_tech = "magnets=2;programming=7;biotech=5;syndicate=5" activated = 0 /obj/item/weapon/implant/weapons_auth/get_data() @@ -53,7 +53,7 @@ name = "emp implant" desc = "Triggers an EMP." icon_state = "emp" - origin_tech = "materials=2;biotech=3;magnets=4;syndicate=4" + origin_tech = "biotech=3;magnets=4;syndicate=1" uses = 3 /obj/item/weapon/implant/emp/activate() diff --git a/code/game/objects/items/weapons/implants/implant_storage.dm b/code/game/objects/items/weapons/implants/implant_storage.dm index e498513f7f9..2a082082570 100644 --- a/code/game/objects/items/weapons/implants/implant_storage.dm +++ b/code/game/objects/items/weapons/implants/implant_storage.dm @@ -10,7 +10,7 @@ name = "storage implant" desc = "Stores up to two big items in a bluespace pocket." icon_state = "storage" - origin_tech = "materials=2;magnets=4;bluespace=4;syndicate=4" + origin_tech = "materials=2;magnets=4;bluespace=5;syndicate=4" item_color = "r" var/obj/item/weapon/storage/internal/implant/storage @@ -48,4 +48,4 @@ /obj/item/weapon/implanter/storage/New() imp = new /obj/item/weapon/implant/storage(src) - ..() \ No newline at end of file + ..() diff --git a/code/game/objects/items/weapons/implants/implantuplink.dm b/code/game/objects/items/weapons/implants/implantuplink.dm index d1aa77af037..46afc8fb8f5 100644 --- a/code/game/objects/items/weapons/implants/implantuplink.dm +++ b/code/game/objects/items/weapons/implants/implantuplink.dm @@ -3,7 +3,7 @@ desc = "Sneeki breeki." icon = 'icons/obj/radio.dmi' icon_state = "radio" - origin_tech = "materials=2;magnets=4;programming=4;biotech=4;syndicate=6;bluespace=5" + origin_tech = "materials=4;magnets=4;programming=4;biotech=4;syndicate=5;bluespace=5" /obj/item/weapon/implant/uplink/New() hidden_uplink = new(src) diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm index 7fd36ebaa94..965f03cbf97 100644 --- a/code/game/objects/items/weapons/melee/energy.dm +++ b/code/game/objects/items/weapons/melee/energy.dm @@ -55,7 +55,7 @@ embed_chance = 75 embedded_impact_pain_multiplier = 10 armour_penetration = 35 - origin_tech = "combat=3;magnets=3;syndicate=4" + origin_tech = "combat=3;magnets=4;syndicate=4" block_chance = 50 var/hacked = 0 diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm index a3c37e667e5..9c947dc699e 100644 --- a/code/game/objects/items/weapons/shields.dm +++ b/code/game/objects/items/weapons/shields.dm @@ -59,7 +59,7 @@ throw_speed = 3 throw_range = 5 w_class = 1 - origin_tech = "materials=4;magnets=3;syndicate=4" + origin_tech = "materials=4;magnets=5;syndicate=6" attack_verb = list("shoved", "bashed") var/active = 0 diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index 2bab451da52..8af25c4ca18 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -202,7 +202,7 @@ unwieldsound = 'sound/weapons/saberoff.ogg' hitsound = "swing_hit" armour_penetration = 35 - origin_tech = "magnets=3;syndicate=4" + origin_tech = "magnets=4;syndicate=5" item_color = "green" attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") block_chance = 75 diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index fde8d078709..bd9ad082428 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -151,7 +151,7 @@ item_state = "bl_suit" item_color = "black" desc = "It's a plain jumpsuit. It has a small dial on the wrist." - origin_tech = "syndicate=3" + origin_tech = "syndicate=2" sensor_mode = 0 //Hey who's this guy on the Syndicate Shuttle?? random_sensor = 0 burn_state = FIRE_PROOF @@ -170,7 +170,7 @@ icon_state = "armor" item_state = "armor" blood_overlay_type = "armor" - origin_tech = "syndicate=3" + origin_tech = "syndicate=2" burn_state = FIRE_PROOF armor = list(melee = 10, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0) @@ -186,8 +186,7 @@ desc = "Used by engineering and mining staff to see basic structural and terrain layouts through walls, regardless of lighting condition." icon_state = "meson" item_state = "meson" - - origin_tech = "syndicate=3" + origin_tech = "syndicate=2" burn_state = FIRE_PROOF armor = list(melee = 10, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0) @@ -300,10 +299,9 @@ icon_state = "black" item_color = "black" desc = "A pair of black shoes." - permeability_coefficient = 0.05 flags = NOSLIP - origin_tech = "syndicate=3" + origin_tech = "syndicate=2" burn_state = FIRE_PROOF can_hold_items = 1 armor = list(melee = 10, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0) diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index 8d3f55c8dce..92bf5e9b605 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -9,7 +9,7 @@ strip_delay = 70 put_on_delay = 70 burn_state = FIRE_PROOF - origin_tech = "magnets=2" + origin_tech = "magnets=4;engineering=3" /obj/item/clothing/shoes/magboots/verb/toggle() set name = "Toggle Magboots" @@ -50,10 +50,11 @@ icon_state = "advmag0" magboot_state = "advmag" slowdown_active = SHOES_SLOWDOWN + origin_tech = "magnets=6;engineering=4" /obj/item/clothing/shoes/magboots/syndie desc = "Reverse-engineered magnetic boots that have a heavy magnetic pull. Property of Gorlex Marauders." name = "blood-red magboots" icon_state = "syndiemag0" magboot_state = "syndiemag" - origin_tech = "magnets=2;syndicate=3" + origin_tech = "magnets=4;syndicate=2" diff --git a/code/modules/food&drinks/pizzabox.dm b/code/modules/food&drinks/pizzabox.dm index 338d04b7e6f..3cc757ce367 100644 --- a/code/modules/food&drinks/pizzabox.dm +++ b/code/modules/food&drinks/pizzabox.dm @@ -4,7 +4,7 @@ desc = "Special delivery!" icon_state = "pizzabomb_inactive" item_state = "eshield0" - origin_tech = "syndicate=4" + origin_tech = "syndicate=3;engineering=3" /obj/item/pizzabox name = "pizza box" diff --git a/code/modules/mob/living/carbon/brain/MMI.dm b/code/modules/mob/living/carbon/brain/MMI.dm index d5020b6dd6f..df51ca57bc0 100644 --- a/code/modules/mob/living/carbon/brain/MMI.dm +++ b/code/modules/mob/living/carbon/brain/MMI.dm @@ -6,7 +6,7 @@ icon = 'icons/obj/assemblies.dmi' icon_state = "mmi_empty" w_class = 3 - origin_tech = "biotech=3" + origin_tech = "biotech=3;programming=3" var/braintype = "Cyborg" var/obj/item/device/radio/radio = null //Let's give it a radio. var/syndiemmi = 0 //Whether or not this is a Syndicate MMI @@ -188,7 +188,8 @@ name = "Syndicate Man-Machine Interface" desc = "Syndicate's own brand of MMI. It enforces laws designed to help Syndicate agents achieve their goals upon cyborgs created with it, but doesn't fit in Nanotrasen AI cores." syndiemmi = 1 + origin_tech = "biotech=4;programming=5;syndicate=2" /obj/item/device/mmi/syndie/New() ..() - radio.on = 0 \ No newline at end of file + radio.on = 0 diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index 670bea53361..181350544c4 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -82,7 +82,7 @@ * Sleepypens */ /obj/item/weapon/pen/sleepy - origin_tech = "materials=2;syndicate=5" + origin_tech = "engineering=4;syndicate=2" flags = OPENCONTAINER @@ -107,7 +107,7 @@ * (Alan) Edaggers */ /obj/item/weapon/pen/edagger - origin_tech = "combat=3;syndicate=5" + origin_tech = "combat=3;syndicate=1" attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") //these wont show up if the pen is off var/on = 0 diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 9bf9119f00b..d848e08a604 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -95,7 +95,7 @@ desc = "A high-power laser gun capable of expelling concentrated xray blasts that pass through multiple soft targets and heavier materials" icon_state = "xray" item_state = null - origin_tech = "combat=6;materials=4;magnets=4;syndicate=2" + origin_tech = "combat=6;materials=4;magnets=4;syndicate=1" ammo_type = list(/obj/item/ammo_casing/energy/xray) pin = null ammo_x_offset = 3 diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 4b58fb56664..1909c93b4eb 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -31,7 +31,7 @@ name = "biological demolecularisor" desc = "A gun that discharges high amounts of controlled radiation to slowly break a target into component elements." icon_state = "decloner" - origin_tech = "combat=5;materials=4;biotech=4" + origin_tech = "combat=6;materials=4;biotech=4" ammo_type = list(/obj/item/ammo_casing/energy/declone) pin = null ammo_x_offset = 1 @@ -141,7 +141,7 @@ item_state = "crossbow" w_class = 2 materials = list(MAT_METAL=2000) - origin_tech = "combat=3;magnets=3;syndicate=5" + origin_tech = "combat=4;magnets=4;syndicate=5" suppressed = 1 ammo_type = list(/obj/item/ammo_casing/energy/bolt) weapon_weight = WEAPON_LIGHT @@ -154,7 +154,7 @@ icon_state = "crossbowlarge" w_class = 3 materials = list(MAT_METAL=4000) - origin_tech = "combat=4;magnets=4;syndicate=3" //can be further researched for more syndie tech + origin_tech = "combat=4;magnets=4;syndicate=2" suppressed = 0 ammo_type = list(/obj/item/ammo_casing/energy/bolt/large) pin = null diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index 7b2439678d4..c405a8b7c97 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -86,7 +86,7 @@ desc = "A bullpup two-round burst .45 SMG, designated 'C-20r'. Has a 'Scarborough Arms - Per falcis, per pravitas' buttstamp." icon_state = "c20r" item_state = "c20r" - origin_tech = "combat=5;materials=2;syndicate=8" + origin_tech = "combat=5;materials=2;syndicate=6" mag_type = /obj/item/ammo_box/magazine/smgm45 fire_sound = 'sound/weapons/Gunshot_smg.ogg' fire_delay = 2 @@ -131,7 +131,7 @@ name = "\improper 'Type U3' Uzi" desc = "A lightweight, burst-fire submachine gun, for when you really want someone dead. Uses 9mm rounds." icon_state = "mini-uzi" - origin_tech = "combat=5;materials=2;syndicate=8" + origin_tech = "combat=4;materials=2;syndicate=4" mag_type = /obj/item/ammo_box/magazine/uzim9mm burst_size = 2 @@ -140,7 +140,7 @@ desc = "A three-round burst 5.56 toploading carbine, designated 'M-90gl'. Has an attached underbarrel grenade launcher which can be toggled on and off." icon_state = "m90" item_state = "m90" - origin_tech = "combat=5;materials=2;syndicate=8" + origin_tech = "combat=5;materials=2;syndicate=6" mag_type = /obj/item/ammo_box/magazine/m556 fire_sound = 'sound/weapons/Gunshot_smg.ogg' can_suppress = 0 @@ -216,7 +216,7 @@ item_state = "shotgun" w_class = 5 slot_flags = 0 - origin_tech = "combat=5;materials=1;syndicate=2" + origin_tech = "combat=5;materials=1;syndicate=3" mag_type = /obj/item/ammo_box/magazine/tommygunm45 fire_sound = 'sound/weapons/Gunshot_smg.ogg' can_suppress = 0 @@ -229,7 +229,7 @@ icon_state = "arg" item_state = "arg" slot_flags = 0 - origin_tech = "combat=5;materials=1" + origin_tech = "combat=6;engineering=4" mag_type = /obj/item/ammo_box/magazine/m556 fire_sound = 'sound/weapons/Gunshot_smg.ogg' can_suppress = 0 @@ -246,7 +246,7 @@ icon_state = "bulldog" item_state = "bulldog" w_class = 3 - origin_tech = "combat=5;materials=4;syndicate=6" + origin_tech = "combat=6;materials=4;syndicate=6" mag_type = /obj/item/ammo_box/magazine/m12g fire_sound = 'sound/weapons/Gunshot.ogg' can_suppress = 0 @@ -278,4 +278,4 @@ /obj/item/weapon/gun/projectile/automatic/shotgun/bulldog/afterattack() ..() empty_alarm() - return \ No newline at end of file + return diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index 5c45df2cb17..ab0aa609ef0 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -3,7 +3,7 @@ desc = "A small, easily concealable 10mm handgun. Has a threaded barrel for suppressors." icon_state = "pistol" w_class = 2 - origin_tech = "combat=2;materials=2;syndicate=2" + origin_tech = "combat=3;materials=2;syndicate=4" mag_type = /obj/item/ammo_box/magazine/m10mm can_suppress = 1 burst_size = 1 @@ -55,4 +55,4 @@ can_suppress = 0 burst_size = 3 fire_delay = 2 - actions_types = list(/datum/action/item_action/toggle_firemode) \ No newline at end of file + actions_types = list(/datum/action/item_action/toggle_firemode) diff --git a/code/modules/projectiles/guns/projectile/saw.dm b/code/modules/projectiles/guns/projectile/saw.dm index ebc79dfd8ad..238257c4451 100644 --- a/code/modules/projectiles/guns/projectile/saw.dm +++ b/code/modules/projectiles/guns/projectile/saw.dm @@ -5,7 +5,7 @@ item_state = "l6closedmag" w_class = 5 slot_flags = 0 - origin_tech = "combat=5;materials=1;syndicate=2" + origin_tech = "combat=6;engineering=3;syndicate=6" mag_type = /obj/item/ammo_box/magazine/mm556x45 weapon_weight = WEAPON_MEDIUM fire_sound = 'sound/weapons/Gunshot_smg.ogg' @@ -169,5 +169,3 @@ obj/item/projectile/bullet/saw/incen/Move() /obj/item/ammo_casing/mm556x45/incen desc = "A 556x45mm bullet casing designed with a chemical-filled capsule on the tip that when bursted, reacts with the atmosphere to produce a fireball, engulfing the target in flames. " projectile_type = /obj/item/projectile/bullet/saw/incen - - diff --git a/code/modules/projectiles/guns/projectile/sniper.dm b/code/modules/projectiles/guns/projectile/sniper.dm index 8a8c8f03f7c..4a6de67615d 100644 --- a/code/modules/projectiles/guns/projectile/sniper.dm +++ b/code/modules/projectiles/guns/projectile/sniper.dm @@ -28,7 +28,7 @@ name = "syndicate sniper rifle" desc = "Syndicate flavoured sniper rifle, it packs quite a punch, a punch to your face" pin = /obj/item/device/firing_pin/implant/pindicate - origin_tech = "combat=7;syndicate=4" + origin_tech = "combat=7;syndicate=6" @@ -108,7 +108,6 @@ name = "sniper rounds (Bleed)" desc = "Haemorrhage sniper rounds, leaves your target in a pool of crimson pain" icon_state = "haemorrhage" - origin_tech = "combat=5;syndicate=5" ammo_type = /obj/item/ammo_casing/haemorrhage max_ammo = 5 caliber = ".50" @@ -139,6 +138,7 @@ name = "sniper rounds (penetrator)" desc = "An extremely powerful round capable of passing straight through cover and anyone unfortunate enough to be behind it." ammo_type = /obj/item/ammo_casing/penetrator + origin_tech = "combat=6;syndicate=3" max_ammo = 5 /obj/item/ammo_casing/penetrator diff --git a/code/modules/projectiles/guns/syringe_gun.dm b/code/modules/projectiles/guns/syringe_gun.dm index f583d3414e6..2e0ffd7b19a 100644 --- a/code/modules/projectiles/guns/syringe_gun.dm +++ b/code/modules/projectiles/guns/syringe_gun.dm @@ -86,7 +86,7 @@ icon_state = "syringe_pistol" item_state = "gun" //Smaller inhand w_class = 2 - origin_tech = "combat=2;syndicate=2" + origin_tech = "combat=2;syndicate=2;biotech=3" force = 2 //Also very weak because it's smaller suppressed = 1 //Softer fire sound can_unsuppress = 0 //Permanently silenced diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index 8bcdd00522e..b03025fb192 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -149,7 +149,7 @@ name = "arm-mounted laser implant" desc = "A variant of the arm cannon implant that fires lethal laser beams. The cannon emerges from the subject's arm and remains inside when not in use." icon_state = "arm_laser" - origin_tech = "materials=5;combat=5;biotech=4;powerstorage=4;syndicate=5"//this is kinda nutty and i might lower it + origin_tech = "materials=4;combat=4;biotech=4;powerstorage=4;syndicate=3" holder = /obj/item/weapon/gun/energy/laser/mounted /obj/item/organ/cyberimp/arm/gun/laser/l/zone = "l_arm" @@ -179,4 +179,4 @@ usr << "You unlock [src]'s integrated knife!" items_list += new /obj/item/weapon/kitchen/knife/combat/cyborg(src) return 1 - return 0 \ No newline at end of file + return 0 diff --git a/code/modules/surgery/organs/augments_chest.dm b/code/modules/surgery/organs/augments_chest.dm index 74e50bc12fd..78fb56caba1 100644 --- a/code/modules/surgery/organs/augments_chest.dm +++ b/code/modules/surgery/organs/augments_chest.dm @@ -50,7 +50,7 @@ desc = "This implant will attempt to revive you if you lose consciousness. For the faint of heart!" icon_state = "chest_implant" implant_color = "#AD0000" - origin_tech = "materials=6;programming=3;biotech=6;syndicate=4" + origin_tech = "materials=6;programming=3;biotech=6" slot = "heartdrive" var/revive_cost = 0 var/reviving = 0 @@ -193,4 +193,4 @@ T.assume_air(removed) toggle(silent=1) - return 0 \ No newline at end of file + return 0 diff --git a/code/modules/surgery/organs/augments_eyes.dm b/code/modules/surgery/organs/augments_eyes.dm index e7432e89fa6..24519eefb4a 100644 --- a/code/modules/surgery/organs/augments_eyes.dm +++ b/code/modules/surgery/organs/augments_eyes.dm @@ -59,7 +59,7 @@ desc = "These cybernetic eye implants will give you Thermal vision. Vertical slit pupil included." eye_color = "FC0" implant_color = "#FFCC00" - origin_tech = "materials=6;programming=4;biotech=5;magnets=5;syndicate=4" + origin_tech = "materials=4;programming=4;biotech=4;magnets=4;syndicate=2" sight_flags = SEE_MOBS see_invisible = SEE_INVISIBLE_MINIMUM flash_protect = -1 @@ -119,4 +119,4 @@ eye_color = null /obj/item/organ/cyberimp/eyes/shield/emp_act(severity) - return \ No newline at end of file + return From 7d6b3e6847bfcf959bebda622e90a39c5c07574d Mon Sep 17 00:00:00 2001 From: LatD Date: Sat, 21 May 2016 17:17:20 +0300 Subject: [PATCH 09/21] origin and req lvl changes --- code/game/machinery/computer/dna_console.dm | 8 +- code/game/objects/items/bodybag.dm | 1 + code/game/objects/items/devices/aicard.dm | 4 +- .../objects/items/devices/lightreplacer.dm | 2 +- code/game/objects/items/devices/scanners.dm | 12 +-- .../game/objects/items/weapons/clown_items.dm | 3 +- .../items/weapons/grenades/chem_grenade.dm | 4 +- .../objects/items/weapons/holosign_creator.dm | 2 +- .../items/weapons/implants/implant_freedom.dm | 2 +- code/game/objects/items/weapons/mop.dm | 1 + code/game/objects/items/weapons/shields.dm | 1 + .../objects/items/weapons/storage/backpack.dm | 2 +- .../objects/items/weapons/storage/bags.dm | 7 +- code/game/objects/items/weapons/tools.dm | 2 +- code/modules/assembly/flash.dm | 1 + .../clothing/glasses/engine_goggles.dm | 4 +- code/modules/clothing/glasses/glasses.dm | 7 +- code/modules/clothing/glasses/hud.dm | 10 +- code/modules/clothing/masks/gasmask.dm | 2 +- code/modules/clothing/shoes/magboots.dm | 2 +- code/modules/clothing/under/miscellaneous.dm | 2 +- code/modules/hydroponics/grown/berries.dm | 2 +- code/modules/hydroponics/grown/mushrooms.dm | 2 +- code/modules/mining/equipment_locker.dm | 6 +- code/modules/mining/mine_items.dm | 4 +- code/modules/mob/living/carbon/brain/MMI.dm | 2 +- .../mob/living/carbon/brain/posibrain.dm | 2 +- code/modules/power/cell.dm | 17 ++-- code/modules/projectiles/guns/energy/laser.dm | 2 +- .../projectiles/guns/energy/nuclear.dm | 2 +- .../projectiles/guns/energy/special.dm | 9 +- code/modules/projectiles/guns/energy/stun.dm | 4 +- .../guns/projectile/rechargable_magazine.dm | 2 +- code/modules/projectiles/pins.dm | 4 +- .../reagents/reagent_containers/glass.dm | 6 +- code/modules/research/designs.dm | 94 +++++++++--------- .../research/designs/medical_designs.dm | 83 ++++++++-------- .../modules/research/designs/power_designs.dm | 10 +- .../research/designs/stock_parts_designs.dm | 95 +++++++++---------- .../research/designs/weapon_designs.dm | 46 ++++----- code/modules/research/stock_parts.dm | 32 +++---- code/modules/surgery/organs/augments_chest.dm | 10 +- code/modules/surgery/organs/augments_eyes.dm | 10 +- .../surgery/organs/augments_internal.dm | 6 +- code/modules/telesci/bscrystal.dm | 2 +- code/modules/telesci/gps.dm | 4 +- code/modules/vehicles/pimpin_ride.dm | 4 +- 47 files changed, 279 insertions(+), 260 deletions(-) diff --git a/code/game/machinery/computer/dna_console.dm b/code/game/machinery/computer/dna_console.dm index 597b90129a7..fdc6d980933 100644 --- a/code/game/machinery/computer/dna_console.dm +++ b/code/game/machinery/computer/dna_console.dm @@ -398,11 +398,17 @@ if("se") if(buffer_slot["SE"]) I = new /obj/item/weapon/dnainjector/timed(loc) + var/powers = 0 for(var/datum/mutation/human/HM in good_mutations + bad_mutations + not_good_mutations) if(HM.check_block_string(buffer_slot["SE"])) I.add_mutations.Add(HM) + if(HM in good_mutations) + powers += 1 + if(HM in bad_mutations + not_good_mutations) + powers -= 1 //To prevent just unlocking everything to get all powers to a syringe for max tech else I.remove_mutations.Add(HM) + I.origin_tech = "biotech=2;engineering=[max(1,min(6,powers))]" //With 6 powers available this tech level will be 1-6, also safety check if new powers get added var/time_coeff for(var/datum/mutation/human/HM in I.add_mutations) if(!time_coeff) @@ -593,4 +599,4 @@ //#undef BAD_MUTATION_DIFFICULTY //#undef GOOD_MUTATION_DIFFICULTY -//#undef OP_MUTATION_DIFFICULTY \ No newline at end of file +//#undef OP_MUTATION_DIFFICULTY diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm index 83ac1b58805..3af9dfe0fef 100644 --- a/code/game/objects/items/bodybag.dm +++ b/code/game/objects/items/bodybag.dm @@ -99,6 +99,7 @@ icon_state = "bluebodybag_folded" unfoldedbag_path = /obj/structure/closet/body_bag/bluespace w_class = 2 + origin_tech = "bluespace=4;materials=4;plasmatech=4" /obj/structure/closet/body_bag/bluespace name = "bluespace body bag" diff --git a/code/game/objects/items/devices/aicard.dm b/code/game/objects/items/devices/aicard.dm index ebc9d68c184..4f69d9a5371 100644 --- a/code/game/objects/items/devices/aicard.dm +++ b/code/game/objects/items/devices/aicard.dm @@ -9,7 +9,7 @@ flags = NOBLUDGEON var/flush = FALSE var/mob/living/silicon/ai/AI - origin_tech = "programming=4;materials=4" + origin_tech = "programming=3;materials=3" /obj/item/device/aicard/afterattack(atom/target, mob/user, proximity) ..() @@ -82,4 +82,4 @@ AI.radio_enabled = !AI.radio_enabled AI << "Your Subspace Transceiver has been [AI.radio_enabled ? "enabled" : "disabled"]!" . = TRUE - update_icon() \ No newline at end of file + update_icon() diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index 27bad40ef89..2c6f0be7fe9 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -49,7 +49,7 @@ flags = CONDUCT slot_flags = SLOT_BELT - origin_tech = "magnets=3;materials=2" + origin_tech = "magnets=3;engineering=4" var/max_uses = 20 var/uses = 0 diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index c3c08468627..d80adf2b2e1 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -319,10 +319,9 @@ MASS SPECTROMETER throwforce = 0 throw_speed = 3 throw_range = 7 - materials = list(MAT_METAL=30, MAT_GLASS=20) - origin_tech = "magnets=2;biotech=2" + materials = list(MAT_METAL=150, MAT_GLASS=100) + origin_tech = "magnets=2;biotech=2;plasmatech=2" var/details = 0 - var/recent_fail = 0 /obj/item/device/mass_spectrometer/New() ..() @@ -337,9 +336,6 @@ MASS SPECTROMETER /obj/item/device/mass_spectrometer/attack_self(mob/user) if (user.stat || user.eye_blind) return - if (crit_fail) - user << "This device has critically failed and is no longer functional!" - return if (!user.IsAdvancedToolUser()) user << "You don't have the dexterity to do this!" return @@ -370,14 +366,14 @@ MASS SPECTROMETER name = "advanced mass-spectrometer" icon_state = "adv_spectrometer" details = 1 - origin_tech = "magnets=4;biotech=2" + origin_tech = "magnets=4;biotech=3;plasmatech=3" /obj/item/device/slime_scanner name = "slime scanner" desc = "A device that analyzes a slime's internal composition and measures its stats." icon_state = "adv_spectrometer" item_state = "analyzer" - origin_tech = "biotech=1" + origin_tech = "biotech=2" w_class = 2 flags = CONDUCT throwforce = 0 diff --git a/code/game/objects/items/weapons/clown_items.dm b/code/game/objects/items/weapons/clown_items.dm index ccc8fc78ce6..bd64c173dfd 100644 --- a/code/game/objects/items/weapons/clown_items.dm +++ b/code/game/objects/items/weapons/clown_items.dm @@ -134,4 +134,5 @@ desc = "Damn son, where'd you find this?" icon_state = "air_horn" honksound = 'sound/items/AirHorn2.ogg' - cooldowntime = 50 \ No newline at end of file + cooldowntime = 50 + origin_tech = "materials=4;engineering=4" diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm index e7d18f91de5..95a520bd1b4 100644 --- a/code/game/objects/items/weapons/grenades/chem_grenade.dm +++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm @@ -192,7 +192,7 @@ icon_state = "large_grenade" allowed_containers = list(/obj/item/weapon/reagent_containers/glass,/obj/item/weapon/reagent_containers/food/condiment, /obj/item/weapon/reagent_containers/food/drinks) - origin_tech = "combat=3;materials=3" + origin_tech = "combat=3;engineering=3" affected_area = 5 ignition_temp = 25 // Large grenades are slightly more effective at setting off heat-sensitive mixtures than smaller grenades. threatscale = 1.1 // 10% more effective. @@ -238,6 +238,7 @@ name = "pyro grenade" desc = "A custom made pyrotechnical grenade. It heats up and ignites its contents upon detonation." icon_state = "pyrog" + origin_tech = "combat=4;engineering=4" affected_area = 3 ignition_temp = 500 // This is enough to expose a hotspot. @@ -245,6 +246,7 @@ name = "advanced release grenade" desc = "A custom made advanced release grenade. It is able to be detonated more than once. Can be configured using a multitool." icon_state = "timeg" + origin_tech = "combat=3;engineering=4" var/unit_spread = 10 // Amount of units per repeat. Can be altered with a multitool. /obj/item/weapon/grenade/chem_grenade/adv_release/attackby(obj/item/I, mob/user, params) diff --git a/code/game/objects/items/weapons/holosign_creator.dm b/code/game/objects/items/weapons/holosign_creator.dm index 97a9278a63d..2b0cc8d2751 100644 --- a/code/game/objects/items/weapons/holosign_creator.dm +++ b/code/game/objects/items/weapons/holosign_creator.dm @@ -9,7 +9,7 @@ throwforce = 0 throw_speed = 3 throw_range = 7 - origin_tech = "programming=3" + origin_tech = "magnets=3;programming=3" flags = NOBLUDGEON var/list/signs = list() var/max_signs = 10 diff --git a/code/game/objects/items/weapons/implants/implant_freedom.dm b/code/game/objects/items/weapons/implants/implant_freedom.dm index e0da8b110fe..383d5cbcca3 100644 --- a/code/game/objects/items/weapons/implants/implant_freedom.dm +++ b/code/game/objects/items/weapons/implants/implant_freedom.dm @@ -3,7 +3,7 @@ desc = "Use this to escape from those evil Red Shirts." icon_state = "freedom" item_color = "r" - origin_tech = "materials=2;magnets=3;biotech=3;syndicate=3" + origin_tech = "combat=5;magnets=3;biotech=4;syndicate=2" uses = 4 diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm index 7ad6d644047..0a58c1dfa36 100644 --- a/code/game/objects/items/weapons/mop.dm +++ b/code/game/objects/items/weapons/mop.dm @@ -77,6 +77,7 @@ obj/item/weapon/mop/proc/clean(turf/A) mopcap = 10 icon_state = "advmop" item_state = "mop" + origin_tech = "materials=3;engineering=3" force = 6 throwforce = 8 throw_range = 4 diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm index 9c947dc699e..d33a8191532 100644 --- a/code/game/objects/items/weapons/shields.dm +++ b/code/game/objects/items/weapons/shields.dm @@ -97,6 +97,7 @@ desc = "An advanced riot shield made of lightweight materials that collapses for easy storage." icon = 'icons/obj/weapons.dmi' icon_state = "teleriot0" + origin_tech = "materials=3;combat=4;engineering=4" slot_flags = null force = 3 throwforce = 3 diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index 76ff44f09b5..5cf42b4b4b0 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -33,7 +33,7 @@ /obj/item/weapon/storage/backpack/holding name = "bag of holding" desc = "A backpack that opens into a localized pocket of Blue Space." - origin_tech = "bluespace=4" + origin_tech = "bluespace=5" icon_state = "holdingpack" max_w_class = 6 max_combined_w_class = 35 diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm index 876a2816209..3c4d49efdb4 100644 --- a/code/game/objects/items/weapons/storage/bags.dm +++ b/code/game/objects/items/weapons/storage/bags.dm @@ -68,6 +68,7 @@ name = "trash bag of holding" desc = "The latest and greatest in custodial convenience, a trashbag that is capable of holding vast quantities of garbage." icon_state = "bluetrashbag" + origin_tech = "materials=4;bluespace=4;engineering=4;plasmatech=3" max_combined_w_class = 60 storage_slots = 60 @@ -80,6 +81,7 @@ desc = "This little bugger can be used to store and transport ores." icon = 'icons/obj/mining.dmi' icon_state = "satchel" + origin_tech = "engineering=2" slot_flags = SLOT_BELT | SLOT_POCKET w_class = 3 storage_slots = 50 @@ -95,7 +97,7 @@ desc = "A revolution in convenience, this satchel allows for infinite ore storage. It's been outfitted with anti-malfunction safety measures." storage_slots = INFINITY max_combined_w_class = INFINITY - origin_tech = "bluespace=3" + origin_tech = "bluespace=4;materials=3;engineering=3" icon_state = "satchel_bspace" // ----------------------------- @@ -119,6 +121,7 @@ name = "portable seed extractor" desc = "For the enterprising botanist on the go. Less efficient than the stationary model, it creates one seed per plant." icon_state = "portaseeder" + origin_tech = "biotech=3;engineering=2" /obj/item/weapon/storage/bag/plants/portaseeder/verb/dissolve_contents() set name = "Activate Seed Extraction" @@ -375,4 +378,4 @@ w_class = 1 preposition = "in" can_hold = list(/obj/item/slime_extract, /obj/item/weapon/reagent_containers/syringe, /obj/item/weapon/reagent_containers/glass/beaker, /obj/item/weapon/reagent_containers/glass/bottle, /obj/item/weapon/reagent_containers/blood, /obj/item/weapon/reagent_containers/hypospray/medipen, /obj/item/trash/deadmouse) - burn_state = FLAMMABLE \ No newline at end of file + burn_state = FLAMMABLE diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index dc581141d99..6e703186f92 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -475,7 +475,7 @@ item_state = "exwelder" max_fuel = 40 materials = list(MAT_METAL=70, MAT_GLASS=120) - origin_tech = "materials=4;engineering=4;bluespace=3;plasmatech=3" + origin_tech = "materials=4;engineering=4;bluespace=3;plasmatech=4" var/last_gen = 0 change_icons = 0 can_off_process = 1 diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm index e93d4224748..753d6aeec42 100644 --- a/code/modules/assembly/flash.dm +++ b/code/modules/assembly/flash.dm @@ -197,3 +197,4 @@ item_state = "nullrod" /obj/item/device/assembly/flash/handheld //this is now the regular pocket flashes + origin_tech = "magnets=2;combat=2" diff --git a/code/modules/clothing/glasses/engine_goggles.dm b/code/modules/clothing/glasses/engine_goggles.dm index e3d60ce2028..ad792ed9170 100644 --- a/code/modules/clothing/glasses/engine_goggles.dm +++ b/code/modules/clothing/glasses/engine_goggles.dm @@ -5,6 +5,7 @@ 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." icon_state = "trayson-meson" actions_types = list(/datum/action/item_action/toggle_mode) + origin_tech = "materials=3;magnets=3;engineering=3;plasmatech=3" var/mode = 0 //0 - regular mesons mode 1 - t-ray mode var/invis_objects = list() @@ -95,6 +96,7 @@ name = "Optical T-Ray Scanner" desc = "Used by engineering staff to see underfloor objects such as cables and pipes." icon_state = "trayson-tray_off" + origin_tech = "materials=3;magnets=2;engineering=2" mode = 1 var/on = 0 @@ -132,4 +134,4 @@ A.UpdateButtonIcon() /obj/item/clothing/glasses/meson/engine/tray/t_ray_on() - return on && ..() \ No newline at end of file + return on && ..() diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index 7e5b6331a5d..a545be52aa9 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -19,7 +19,7 @@ desc = "Used by engineering and mining staff to see basic structural and terrain layouts through walls, regardless of lighting condition." icon_state = "meson" item_state = "meson" - origin_tech = "magnets=2;engineering=2" + origin_tech = "magnets=1;engineering=2" darkness_view = 2 vision_flags = SEE_TURFS invis_view = SEE_INVISIBLE_MINIMUM @@ -29,6 +29,7 @@ desc = "An Optical Meson Scanner fitted with an amplified visible light spectrum overlay, providing greater visual clarity in darkness." icon_state = "nvgmeson" item_state = "nvgmeson" + origin_tech = "magnets=4;engineering=5;plasmatech=4" darkness_view = 8 /obj/item/clothing/glasses/meson/gar @@ -48,7 +49,7 @@ desc = "A pair of snazzy goggles used to protect against chemical spills. Fitted with an analyzer for scanning items and reagents." icon_state = "purple" item_state = "glasses" - origin_tech = "magnets=2;engineering=2" + origin_tech = "magnets=2;engineering=1" scan_reagents = 1 //You can see reagents while wearing science goggles actions_types = list(/datum/action/item_action/toggle_research_scanner) @@ -61,7 +62,7 @@ desc = "You can totally see in the dark now!" icon_state = "night" item_state = "glasses" - origin_tech = "magnets=4" + origin_tech = "materials=4;magnets=4;plasmatech=4;engineering=4" darkness_view = 8 invis_view = SEE_INVISIBLE_MINIMUM diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm index 7ab535c4d9d..ba07bdd1aba 100644 --- a/code/modules/clothing/glasses/hud.dm +++ b/code/modules/clothing/glasses/hud.dm @@ -31,6 +31,7 @@ name = "Health Scanner HUD" desc = "A heads-up display that scans the humans in view and provides accurate data about their health status." icon_state = "healthhud" + origin_tech = "magnets=3;biotech=2" hud_type = DATA_HUD_MEDICAL_ADVANCED /obj/item/clothing/glasses/hud/health/night @@ -38,6 +39,7 @@ desc = "An advanced medical head-up display that allows doctors to find patients in complete darkness." icon_state = "healthhudnight" item_state = "glasses" + origin_tech = "magnets=4;biotech=4;plasmatech=4;engineering=5" darkness_view = 8 invis_view = SEE_INVISIBLE_MINIMUM @@ -45,6 +47,7 @@ name = "Diagnostic HUD" desc = "A heads-up display capable of analyzing the integrity and status of robotics and exosuits." icon_state = "diagnostichud" + origin_tech = "magnets=2;engineering=2" hud_type = DATA_HUD_DIAGNOSTIC /obj/item/clothing/glasses/hud/diagnostic/night @@ -52,14 +55,15 @@ desc = "A robotics diagnostic HUD fitted with a light amplifier." icon_state = "diagnostichudnight" item_state = "glasses" + origin_tech = "magnets=4;powerstorage=4;plasmatech=4;engineering=5" darkness_view = 8 invis_view = SEE_INVISIBLE_MINIMUM - /obj/item/clothing/glasses/hud/security name = "Security HUD" desc = "A heads-up display that scans the humans in view and provides accurate data about their ID status and security records." icon_state = "securityhud" + origin_tech = "magnets=3;combat=2" hud_type = DATA_HUD_SECURITY_ADVANCED /obj/item/clothing/glasses/hud/security/chameleon @@ -80,6 +84,7 @@ name = "HUDSunglasses" desc = "Sunglasses with a HUD." icon_state = "sunhud" + origin_tech = "magnets=3;combat=3;engineering=3" darkness_view = 1 flash_protect = 1 tint = 1 @@ -88,6 +93,7 @@ name = "Night Vision Security HUD" desc = "An advanced heads-up display which provides id data and vision in complete darkness." icon_state = "securityhudnight" + origin_tech = "magnets=4;combat=4;plasmatech=4;engineering=5" darkness_view = 8 invis_view = SEE_INVISIBLE_MINIMUM @@ -159,4 +165,4 @@ /obj/item/clothing/glasses/hud/toggle/thermal/emp_act(severity) thermal_overload() - ..() \ No newline at end of file + ..() diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index 3804a67ef7f..0c9538bf7a5 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -21,7 +21,7 @@ flash_protect = 2 tint = 2 armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) - origin_tech = "materials=2;engineering=2" + origin_tech = "materials=2;engineering=3" actions_types = list(/datum/action/item_action/toggle) flags_inv = HIDEEARS|HIDEEYES|HIDEFACE flags_cover = MASKCOVERSEYES diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index 92bf5e9b605..85e9ab69c30 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -9,7 +9,7 @@ strip_delay = 70 put_on_delay = 70 burn_state = FIRE_PROOF - origin_tech = "magnets=4;engineering=3" + origin_tech = "materials=3;magnets=4;engineering=4" /obj/item/clothing/shoes/magboots/verb/toggle() set name = "Toggle Magboots" diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index da4ce9a3e0c..e5b93bac793 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -566,6 +566,7 @@ name = "Plasma-man jumpsuit refill pack" desc = "A compressed water pack used to refill plasma-man jumpsuit auto-extinguishers." icon_state = "plasmarefill" + origin_tech = "materials=2;plasmatech=3" /obj/item/clothing/under/rank/security/navyblue/russian name = "russian officer's uniform" @@ -573,4 +574,3 @@ icon_state = "hostanclothes" item_state = "hostanclothes" item_color = "hostanclothes" - diff --git a/code/modules/hydroponics/grown/berries.dm b/code/modules/hydroponics/grown/berries.dm index 4fdda0e88cf..36592c1571d 100644 --- a/code/modules/hydroponics/grown/berries.dm +++ b/code/modules/hydroponics/grown/berries.dm @@ -85,7 +85,7 @@ desc = "Nutritious!" icon_state = "glowberrypile" filling_color = "#7CFC00" - origin_tech = "plasmatech=5" + origin_tech = "plasmatech=6" // Cherries /obj/item/seeds/cherry diff --git a/code/modules/hydroponics/grown/mushrooms.dm b/code/modules/hydroponics/grown/mushrooms.dm index 0ac728ab194..2f7442a3966 100644 --- a/code/modules/hydroponics/grown/mushrooms.dm +++ b/code/modules/hydroponics/grown/mushrooms.dm @@ -230,7 +230,7 @@ icon_state = "glowshroom" filling_color = "#00FA9A" var/effect_path = /obj/effect/glowshroom - origin_tech = "biotech=4;plasmatech=5" + origin_tech = "biotech=4;plasmatech=6" /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/attack_self(mob/user) if(istype(user.loc,/turf/open/space)) diff --git a/code/modules/mining/equipment_locker.dm b/code/modules/mining/equipment_locker.dm index 9503ed2808b..b2d76826464 100644 --- a/code/modules/mining/equipment_locker.dm +++ b/code/modules/mining/equipment_locker.dm @@ -591,14 +591,14 @@ var/fieldsactive = 0 var/burst_time = 30 var/fieldlimit = 4 - origin_tech = "magnets=2;combat=2" + origin_tech = "magnets=3;engineering=3" /obj/item/weapon/resonator/upgraded name = "upgraded resonator" desc = "An upgraded version of the resonator that can produce more fields at once." icon_state = "resonator_u" item_state = "resonator_u" - origin_tech = "magnets=3;combat=3" + origin_tech = "materials=4;powerstorage=3;engineering=3;magnets=3" fieldlimit = 6 /obj/item/weapon/resonator/proc/CreateResonance(target, creator) @@ -1078,7 +1078,7 @@ icon_state = "bottle19" desc = "Inject certain types of monster organs with this stabilizer to preserve their healing powers indefinitely." w_class = 1 - origin_tech = "biotech=1" + origin_tech = "biotech=3" /obj/item/weapon/hivelordstabilizer/afterattack(obj/item/organ/M, mob/user) var/obj/item/organ/hivelord_core/C = M diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index ead2f89756e..6b89407899e 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -117,7 +117,7 @@ name = "diamond-tipped mining drill" icon_state = "diamonddrill" digspeed = 7 - origin_tech = "materials=6;powerstorage=4;engineering=5" + origin_tech = "materials=6;powerstorage=4;engineering=4" desc = "Yours is the drill that will pierce the heavens!" /obj/item/weapon/pickaxe/drill/cyborg/diamond //This is the BORG version! @@ -130,7 +130,7 @@ icon_state = "jackhammer" item_state = "jackhammer" digspeed = 5 //the epitome of powertools. extremely fast mining, laughs at puny walls - origin_tech = "materials=3;powerstorage=2;engineering=2" + origin_tech = "materials=6;powerstorage=4;engineering=5;magnets=4" digsound = list('sound/weapons/sonic_jackhammer.ogg') hitsound = 'sound/weapons/sonic_jackhammer.ogg' desc = "Cracks rocks with sonic blasts, and doubles as a demolition power tool for smashing walls." diff --git a/code/modules/mob/living/carbon/brain/MMI.dm b/code/modules/mob/living/carbon/brain/MMI.dm index df51ca57bc0..aa1c20415f2 100644 --- a/code/modules/mob/living/carbon/brain/MMI.dm +++ b/code/modules/mob/living/carbon/brain/MMI.dm @@ -6,7 +6,7 @@ icon = 'icons/obj/assemblies.dmi' icon_state = "mmi_empty" w_class = 3 - origin_tech = "biotech=3;programming=3" + origin_tech = "biotech=2;programming=3;engineering=2" var/braintype = "Cyborg" var/obj/item/device/radio/radio = null //Let's give it a radio. var/syndiemmi = 0 //Whether or not this is a Syndicate MMI diff --git a/code/modules/mob/living/carbon/brain/posibrain.dm b/code/modules/mob/living/carbon/brain/posibrain.dm index 094df1ba1d3..91f09878ba0 100644 --- a/code/modules/mob/living/carbon/brain/posibrain.dm +++ b/code/modules/mob/living/carbon/brain/posibrain.dm @@ -6,7 +6,7 @@ var/global/posibrain_notif_cooldown = 0 icon = 'icons/obj/assemblies.dmi' icon_state = "posibrain" w_class = 3 - origin_tech = "biotech=3;programming=2" + origin_tech = "biotech=4;programming=4;plasmatech=3" var/notified = 0 var/askDelay = 10 * 60 * 1 var/used = 0 //Prevents split personality virus. May be reset if personality deletion code is added. diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 0a218a9ec1f..102487e98a9 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -193,7 +193,7 @@ /obj/item/weapon/stock_parts/cell/high name = "high-capacity power cell" - origin_tech = "powerstorage=3" + origin_tech = "powerstorage=2" icon_state = "hcell" maxcharge = 10000 materials = list(MAT_GLASS=60) @@ -213,10 +213,10 @@ /obj/item/weapon/stock_parts/cell/super name = "super-capacity power cell" - origin_tech = "powerstorage=4" + origin_tech = "powerstorage=3;materials=3" icon_state = "scell" maxcharge = 20000 - materials = list(MAT_GLASS=70) + materials = list(MAT_GLASS=300) rating = 4 chargerate = 2000 @@ -226,10 +226,10 @@ /obj/item/weapon/stock_parts/cell/hyper name = "hyper-capacity power cell" - origin_tech = "powerstorage=5" + origin_tech = "powerstorage=4;engineering=4;materials=4" icon_state = "hpcell" maxcharge = 30000 - materials = list(MAT_GLASS=80) + materials = list(MAT_GLASS=400) rating = 5 chargerate = 3000 @@ -240,10 +240,10 @@ /obj/item/weapon/stock_parts/cell/bluespace name = "bluespace power cell" desc = "A rechargable transdimensional power cell." - origin_tech = "powerstorage=5;bluespace=5" + origin_tech = "powerstorage=5;bluespace=4;materials=4;engineering=4" icon_state = "bscell" maxcharge = 40000 - materials = list(MAT_GLASS=80) + materials = list(MAT_GLASS=600) rating = 6 chargerate = 4000 @@ -256,7 +256,7 @@ icon_state = "icell" origin_tech = "powerstorage=7" maxcharge = 30000 - materials = list(MAT_GLASS=80) + materials = list(MAT_GLASS=1000) rating = 6 chargerate = 30000 @@ -268,6 +268,7 @@ desc = "A rechargable starch based power cell." icon = 'icons/obj/power.dmi' //'icons/obj/hydroponics/harvest.dmi' icon_state = "potato_cell" //"potato_battery" + origin_tech = "powerstorage=1;biotech=1" charge = 100 maxcharge = 300 materials = list() diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index d848e08a604..ade5e2bc394 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -69,7 +69,7 @@ force = 10 flags = CONDUCT slot_flags = SLOT_BACK - origin_tech = "combat=4;materials=3;powerstorage=3" + origin_tech = "combat=4;magnets=4;powerstorage=3" ammo_type = list(/obj/item/ammo_casing/energy/laser/accelerator) pin = null ammo_x_offset = 3 diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm index 427602c4e97..f9fd6dab138 100644 --- a/code/modules/projectiles/guns/energy/nuclear.dm +++ b/code/modules/projectiles/guns/energy/nuclear.dm @@ -67,7 +67,7 @@ desc = "An energy gun with an experimental miniaturized nuclear reactor that automatically charges the internal power cell." icon_state = "nucgun" item_state = "nucgun" - origin_tech = "combat=3;materials=5;powerstorage=3" + origin_tech = "combat=4;magnets=4;powerstorage=4" charge_delay = 5 pin = null can_charge = 0 diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 1909c93b4eb..edcba506668 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -31,7 +31,7 @@ name = "biological demolecularisor" desc = "A gun that discharges high amounts of controlled radiation to slowly break a target into component elements." icon_state = "decloner" - origin_tech = "combat=6;materials=4;biotech=4" + origin_tech = "combat=4;materials=4;biotech=5;plasmatech=6" ammo_type = list(/obj/item/ammo_casing/energy/declone) pin = null ammo_x_offset = 1 @@ -101,7 +101,7 @@ icon_state = "kineticgun_u" ammo_type = list(/obj/item/ammo_casing/energy/kinetic/super) overheat_time = 15 - origin_tech = "materials=4;powerstorage=4;engineering=4;magnets=4;combat=3" + origin_tech = "materials=5;powerstorage=3;engineering=4;magnets=3;combat=3" /obj/item/weapon/gun/energy/kinetic_accelerator/hyper name = "hyper-kinetic accelerator" @@ -109,7 +109,7 @@ icon_state = "kineticgun_h" ammo_type = list(/obj/item/ammo_casing/energy/kinetic/hyper) overheat_time = 14 - origin_tech = "materials=6;powerstorage=4;engineering=5;magnets=4;combat=4" + origin_tech = "materials=6;powerstorage=4;engineering=4;magnets=4;combat=4" /obj/item/weapon/gun/energy/kinetic_accelerator/shoot_live_shot() ..() @@ -212,6 +212,7 @@ ammo_type = list(/obj/item/ammo_casing/energy/wormhole, /obj/item/ammo_casing/energy/wormhole/orange) item_state = null icon_state = "wormhole_projector" + origin_tech = "combat=4;bluespace=6;plasmatech=4;engineering=4" var/obj/effect/portal/blue var/obj/effect/portal/orange @@ -274,7 +275,7 @@ name = "temperature gun" icon_state = "freezegun" desc = "A gun that changes temperatures." - origin_tech = "combat=3;materials=4;powerstorage=3;magnets=2" + origin_tech = "combat=4;materials=4;powerstorage=3;magnets=2" ammo_type = list(/obj/item/ammo_casing/energy/temp, /obj/item/ammo_casing/energy/temp/hot) cell_type = "/obj/item/weapon/stock_parts/cell/high" pin = null diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm index ef03a5c1b32..be0ba75daaf 100644 --- a/code/modules/projectiles/guns/energy/stun.dm +++ b/code/modules/projectiles/guns/energy/stun.dm @@ -13,7 +13,7 @@ icon_state = "tesla" item_state = "tesla" ammo_type = list(/obj/item/ammo_casing/energy/shock_revolver) - origin_tech = "combat=3" + origin_tech = "combat=4;materials=4;powerstorage=4" can_flashlight = 0 pin = null shaded_charge = 1 @@ -29,7 +29,6 @@ /obj/item/weapon/gun/energy/gun/advtaser/cyborg name = "cyborg taser" desc = "An integrated hybrid taser that draws directly from a cyborg's power cell. The weapon contains a limiter to prevent the cyborg's power cell from overheating." - origin_tech = null can_flashlight = 0 can_charge = 0 @@ -48,7 +47,6 @@ /obj/item/weapon/gun/energy/disabler/cyborg name = "cyborg disabler" desc = "An integrated disabler that draws from a cyborg's power cell. This weapon contains a limiter to prevent the cyborg's power cell from overheating." - origin_tech = null can_charge = 0 /obj/item/weapon/gun/energy/disabler/cyborg/newshot() diff --git a/code/modules/projectiles/guns/projectile/rechargable_magazine.dm b/code/modules/projectiles/guns/projectile/rechargable_magazine.dm index dc7a6b82994..3194f6ac91a 100644 --- a/code/modules/projectiles/guns/projectile/rechargable_magazine.dm +++ b/code/modules/projectiles/guns/projectile/rechargable_magazine.dm @@ -144,7 +144,7 @@ icon = 'icons/obj/guns/minigun.dmi' icon_state = "minigun_spin" item_state = "minigun" - origin_tech = null + origin_tech = "combat=6;powerstorage=5;magnets=4" flags = CONDUCT | HANDSLOW slowdown = 1 slot_flags = null diff --git a/code/modules/projectiles/pins.dm b/code/modules/projectiles/pins.dm index beb3c06dab7..fe3a83c9149 100644 --- a/code/modules/projectiles/pins.dm +++ b/code/modules/projectiles/pins.dm @@ -4,6 +4,7 @@ icon = 'icons/obj/device.dmi' icon_state = "firing_pin" item_state = "pen" + origin_tech = "materials=2;combat=4" flags = CONDUCT w_class = 1 attack_verb = list("poked") @@ -78,6 +79,7 @@ desc = "This safety firing pin allows weapons to be fired within proximity to a firing range." fail_message = "TEST RANGE CHECK FAILED." pin_removeable = 1 + origin_tech = "combat=2;materials=2" /obj/item/device/firing_pin/test_range/pin_auth(mob/living/user) for(var/obj/machinery/magnetic_controller/M in range(user, 3)) @@ -215,4 +217,4 @@ /obj/item/device/firing_pin/Destroy() if(gun) gun.pin = null - return ..() \ No newline at end of file + return ..() diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm index 3bcd9d6a5ef..934c55d3100 100644 --- a/code/modules/reagents/reagent_containers/glass.dm +++ b/code/modules/reagents/reagent_containers/glass.dm @@ -176,20 +176,22 @@ name = "cryostasis beaker" desc = "A cryostasis beaker that allows for chemical storage without reactions. Can hold up to 50 units." icon_state = "beakernoreact" - materials = list(MAT_GLASS=500) + materials = list(MAT_METAL=3000) volume = 50 amount_per_transfer_from_this = 10 flags = OPENCONTAINER | NOREACT + origin_tech = "materials=2;engineering=3;plasmatech=3" /obj/item/weapon/reagent_containers/glass/beaker/bluespace 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." icon_state = "beakerbluespace" - materials = list(MAT_GLASS=5000) + materials = list(MAT_GLASS=3000) volume = 300 amount_per_transfer_from_this = 10 possible_transfer_amounts = list(5,10,15,20,25,30,50,100,300) flags = OPENCONTAINER + origin_tech = "bluespace=5;materials=4;plasmatech=4" /obj/item/weapon/reagent_containers/glass/beaker/cryoxadone list_reagents = list("cryoxadone" = 30) diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 05ef248681e..56b729407c8 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -48,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() @@ -63,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 @@ -89,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") @@ -99,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") @@ -112,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 @@ -122,7 +122,7 @@ 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. build_path = /obj/item/weapon/pickaxe/drill/diamonddrill @@ -132,7 +132,7 @@ 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) build_path = /obj/item/weapon/gun/energy/plasmacutter @@ -142,7 +142,7 @@ 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) build_path = /obj/item/weapon/gun/energy/plasmacutter/adv @@ -152,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 @@ -172,7 +172,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 @@ -184,7 +184,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") @@ -198,7 +198,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") @@ -206,7 +206,7 @@ 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" = 6, "materials" = 5, "engineering" = 4, "plasmatech" = 4) build_type = PROTOLATHE materials = list(MAT_GOLD = 3000, MAT_DIAMOND = 1500, MAT_URANIUM = 250) build_path = /obj/item/weapon/storage/backpack/holding @@ -216,7 +216,7 @@ 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) build_path = /obj/item/weapon/ore/bluespace_crystal/artificial @@ -236,7 +236,7 @@ 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 build_path = /obj/item/weapon/storage/bag/ore/holding @@ -253,7 +253,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") @@ -261,9 +261,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") @@ -273,7 +273,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") @@ -281,9 +281,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") @@ -291,9 +291,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("metal" = 500, "glass" = 500) build_path = /obj/item/clothing/glasses/hud/diagnostic category = list("Equipment") @@ -301,9 +301,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("metal" = 600, "glass" = 600, "uranium" = 1000, "plasma" = 300) build_path = /obj/item/clothing/glasses/hud/diagnostic/night category = list("Equipment") @@ -329,9 +329,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") @@ -339,8 +339,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") @@ -348,7 +348,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 @@ -358,9 +358,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") @@ -368,9 +368,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") @@ -380,7 +380,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") @@ -388,9 +388,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") @@ -398,9 +398,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") @@ -418,19 +418,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") @@ -452,7 +452,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 @@ -462,7 +462,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 @@ -472,7 +472,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 @@ -486,7 +486,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 diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index dbfafe836ee..24484e24c4d 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -7,9 +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("biotech" = 2, "magnets" = 2, "plasmatech" = 2) build_type = PROTOLATHE - materials = list(MAT_METAL = 30, MAT_GLASS = 20) + materials = list(MAT_METAL = 300, MAT_GLASS = 100) build_path = /obj/item/device/mass_spectrometer category = list("Medical Designs") @@ -17,9 +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) + materials = list(MAT_METAL = 500, MAT_GLASS = 200) build_path = /obj/item/device/mass_spectrometer/adv category = list("Medical Designs") @@ -27,7 +27,7 @@ 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 @@ -38,14 +38,13 @@ 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. 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." @@ -61,9 +60,9 @@ 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) + materials = list(MAT_GLASS = 3000, MAT_PLASMA = 3000, MAT_DIAMOND = 500) build_path = /obj/item/weapon/reagent_containers/glass/beaker/bluespace category = list("Misc","Medical Designs") @@ -71,7 +70,7 @@ 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) build_path = /obj/item/weapon/reagent_containers/glass/beaker/noreact @@ -81,7 +80,7 @@ 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" = 4miscellaneousmiscellaneous) build_type = PROTOLATHE materials = list(MAT_METAL = 3000, MAT_PLASMA = 2000, MAT_DIAMOND = 500) build_path = /obj/item/bodybag/bluespace @@ -91,7 +90,7 @@ 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) build_path = /obj/item/device/extinguisher_refill @@ -105,10 +104,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" = 3, "engineering" = 3) 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") @@ -116,10 +115,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") @@ -127,10 +126,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") @@ -138,10 +137,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") @@ -149,10 +148,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" = 5, "programming" = 5, "biotech" = 7, "magnets" = 5) 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") @@ -160,10 +159,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" = 7, "programming" = 5, "biotech" = 6, "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") @@ -171,10 +170,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") @@ -182,10 +181,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") @@ -193,10 +192,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") @@ -204,10 +203,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") @@ -215,10 +214,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") @@ -226,7 +225,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" = 6) build_type = PROTOLATHE | MECHFAB construction_time = 80 materials = list(MAT_METAL = 4000, MAT_GLASS = 2000, MAT_SILVER = 1000, MAT_DIAMOND = 1000) @@ -242,7 +241,7 @@ name = "Implanter" desc = "A sterile automatic implant injector." id = "implanter" - req_tech = list("materials" = 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 @@ -252,7 +251,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 @@ -262,9 +261,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") @@ -272,8 +271,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") \ No newline at end of file + category = list("Medical Designs") diff --git a/code/modules/research/designs/power_designs.dm b/code/modules/research/designs/power_designs.dm index 4d1620e5c2c..25e82a1a2ea 100644 --- a/code/modules/research/designs/power_designs.dm +++ b/code/modules/research/designs/power_designs.dm @@ -28,7 +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) + req_tech = list("powerstorage" = 3, "materials" = 3) build_type = PROTOLATHE | MECHFAB materials = list(MAT_METAL = 700, MAT_GLASS = 70) construction_time=100 @@ -39,9 +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) + 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") @@ -50,7 +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) + 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 @@ -62,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 diff --git a/code/modules/research/designs/stock_parts_designs.dm b/code/modules/research/designs/stock_parts_designs.dm index e306a35b18c..bfd81790c4a 100644 --- a/code/modules/research/designs/stock_parts_designs.dm +++ b/code/modules/research/designs/stock_parts_designs.dm @@ -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,9 +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 - 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") @@ -58,9 +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 - 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") @@ -71,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") @@ -81,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") @@ -89,9 +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) + 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") @@ -99,9 +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) + 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") @@ -110,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") @@ -122,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") @@ -130,9 +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) + materials = list(MAT_METAL = 200) build_path = /obj/item/weapon/stock_parts/manipulator/pico category = list("Stock Parts") @@ -140,9 +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) + materials = list(MAT_METAL = 200, MAT_DIAMOND = 60) build_path = /obj/item/weapon/stock_parts/manipulator/femto category = list("Stock Parts") @@ -153,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") @@ -163,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") @@ -171,9 +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) + 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") @@ -181,9 +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) + 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") @@ -193,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") @@ -203,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") @@ -211,9 +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) + materials = list(MAT_METAL = 200) build_path = /obj/item/weapon/stock_parts/matter_bin/super category = list("Stock Parts") @@ -221,9 +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) + materials = list(MAT_METAL = 250, MAT_DIAMOND = 200) build_path = /obj/item/weapon/stock_parts/matter_bin/bluespace category = list("Stock Parts") @@ -232,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") @@ -242,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") @@ -252,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") @@ -262,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") @@ -272,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") @@ -282,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") @@ -292,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") diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index 144ba2a81c6..065cbb15f51 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -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,7 +26,7 @@ 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 @@ -36,9 +36,9 @@ 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) + materials = list(MAT_METAL = 10000, MAT_GLASS = 2000, MAT_URANIUM = 4000) build_path = /obj/item/weapon/gun/energy/gun/nuclear category = list("Weapons") @@ -46,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 @@ -56,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") @@ -66,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) @@ -77,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 @@ -87,7 +87,7 @@ 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 @@ -97,7 +97,7 @@ 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 @@ -118,7 +118,7 @@ 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) build_path = /obj/item/weapon/grenade/chem_grenade/large @@ -128,7 +128,7 @@ 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) build_path = /obj/item/weapon/grenade/chem_grenade/pyro @@ -151,7 +151,7 @@ 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) build_path = /obj/item/weapon/grenade/chem_grenade/adv_release @@ -161,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") @@ -171,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") @@ -181,9 +181,9 @@ name = "Laser Gatling Gun" desc = "A massive weapon with a backpack mounted power source." id = "gatlinggun" - req_tech = list("combat" = 6, "materials" = 4, "magnets" = 4) + req_tech = list("combat" = 7, "powerstorage" = 6, "magnets" = 5) build_type = PROTOLATHE - materials = list(MAT_METAL = 30000, MAT_SILVER = 4000, MAT_DIAMOND = 6000, MAT_URANIUM = 10000) + materials = list(MAT_METAL = 40000, MAT_SILVER = 6000, MAT_DIAMOND = 8000, MAT_URANIUM = 15000) build_path = /obj/item/weapon/minigunpack category = list("Weapons") @@ -191,9 +191,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" = 5) 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") @@ -201,7 +201,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 diff --git a/code/modules/research/stock_parts.dm b/code/modules/research/stock_parts.dm index 58808318403..c79c619f37d 100644 --- a/code/modules/research/stock_parts.dm +++ b/code/modules/research/stock_parts.dm @@ -166,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=4;materials=2" + origin_tech = "powerstorage=4;engineering=4" rating = 3 materials = list(MAT_METAL=50, MAT_GLASS=50) @@ -174,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=4" + origin_tech = "magnets=4;engineering=4" rating = 3 materials = list(MAT_METAL=50, MAT_GLASS=20) @@ -182,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=4;programming=3" + origin_tech = "materials=4;programming=4,engineering=4" rating = 3 materials = list(MAT_METAL=30) @@ -190,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=4" + origin_tech = "magnets=4;engineering=4" rating = 3 materials = list(MAT_METAL=10, MAT_GLASS=20) @@ -198,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=4" + origin_tech = "materials=4;engineering=4" rating = 3 materials = list(MAT_METAL=80) @@ -208,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=5;materials=5" + origin_tech = "powerstorage=5;materials=4;engineering=4" rating = 4 materials = list(MAT_METAL=50, MAT_GLASS=50) @@ -216,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=5" + origin_tech = "magnets=5;materials=4;engineering=4" rating = 4 materials = list(MAT_METAL=50, MAT_GLASS=20) @@ -224,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=5;programming=4" + origin_tech = "materials=6;programming=4;engineering=4" rating = 4 materials = list(MAT_METAL=30) @@ -232,7 +232,7 @@ name = "quad-ultra micro-laser" icon_state = "quadultra_micro_laser" desc = "A tiny laser used in certain devices." - origin_tech = "magnets=5" + origin_tech = "magnets=5;materials=4;engineering=4" rating = 4 materials = list(MAT_METAL=10, MAT_GLASS=20) @@ -240,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=5" + origin_tech = "materials=6;programming=4;engineering=4" rating = 4 materials = list(MAT_METAL=80) @@ -257,42 +257,42 @@ name = "hyperwave filter" icon_state = "hyperwave_filter" desc = "A tiny device capable of filtering and converting super-intense radiowaves." - origin_tech = "programming=2;magnets=2" + origin_tech = "programming=3;magnets=3" 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=3;magnets=4;materials=3;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=2;bluespace=1" + origin_tech = "programming=2;magnets=3;materials=2;bluespace=3" 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=3;magnets=4;materials=2;bluespace=3" 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=3;plasmatech=3" 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=3;materials=4;bluespace=4" materials = list(MAT_METAL=50) /obj/item/weapon/research//Makes testing much less of a pain -Sieve diff --git a/code/modules/surgery/organs/augments_chest.dm b/code/modules/surgery/organs/augments_chest.dm index 78fb56caba1..c2d7fc0efa0 100644 --- a/code/modules/surgery/organs/augments_chest.dm +++ b/code/modules/surgery/organs/augments_chest.dm @@ -14,7 +14,7 @@ var/synthesizing = 0 var/poison_amount = 5 slot = "stomach" - origin_tech = "materials=5;programming=3;biotech=4" + origin_tech = "materials=4;powerstorage=5;biotech=4" /obj/item/organ/cyberimp/chest/nutriment/on_life() if(synthesizing) @@ -41,16 +41,14 @@ implant_color = "#006607" hunger_threshold = NUTRITION_LEVEL_HUNGRY poison_amount = 10 - origin_tech = "materials=5;programming=3;biotech=5" - - + origin_tech = "materials=4;powerstorage=5;biotech=5" /obj/item/organ/cyberimp/chest/reviver name = "Reviver implant" desc = "This implant will attempt to revive you if you lose consciousness. For the faint of heart!" icon_state = "chest_implant" implant_color = "#AD0000" - origin_tech = "materials=6;programming=3;biotech=6" + origin_tech = "materials=5;programming=4;biotech=6" slot = "heartdrive" var/revive_cost = 0 var/reviving = 0 @@ -114,7 +112,7 @@ Unlike regular jetpack, this device has no stablilzation system." slot = "thrusters" icon_state = "imp_jetpack" - origin_tech = "materials=6;programming=4;magnets=3;biotech=4;engineering=4" + origin_tech = "materials=4;magnets=4;biotech=4;engineering=5" implant_overlay = null implant_color = null actions_types = list(/datum/action/item_action/organ_action/toggle) diff --git a/code/modules/surgery/organs/augments_eyes.dm b/code/modules/surgery/organs/augments_eyes.dm index 24519eefb4a..77383f863cb 100644 --- a/code/modules/surgery/organs/augments_eyes.dm +++ b/code/modules/surgery/organs/augments_eyes.dm @@ -50,7 +50,7 @@ desc = "These cybernetic eye implants will give you X-ray vision. Blinking is futile." eye_color = "000" implant_color = "#000000" - origin_tech = "materials=6;programming=4;biotech=6;magnets=5" + origin_tech = "materials=4;programming=4;biotech=6;magnets=4" dark_view = 8 sight_flags = SEE_MOBS | SEE_OBJS | SEE_TURFS @@ -59,7 +59,7 @@ desc = "These cybernetic eye implants will give you Thermal vision. Vertical slit pupil included." eye_color = "FC0" implant_color = "#FFCC00" - origin_tech = "materials=4;programming=4;biotech=4;magnets=4;syndicate=2" + origin_tech = "materials=5;programming=4;biotech=4;magnets=4;syndicate=1" sight_flags = SEE_MOBS see_invisible = SEE_INVISIBLE_MINIMUM flash_protect = -1 @@ -93,7 +93,7 @@ desc = "These cybernetic eye implants will display a medical HUD over everything you see." eye_color = "0ff" implant_color = "#00FFFF" - origin_tech = "materials=4;programming=3;biotech=4" + origin_tech = "materials=4;programming=4;biotech=4" aug_message = "You suddenly see health bars floating above people's heads..." HUD_type = DATA_HUD_MEDICAL_ADVANCED @@ -102,7 +102,7 @@ desc = "These cybernetic eye implants will display a security HUD over everything you see." eye_color = "d00" implant_color = "#CC0000" - origin_tech = "materials=4;programming=4;biotech=3;combat=1" + origin_tech = "materials=4;programming=4;biotech=3;combat=3" aug_message = "Job indicator icons pop up in your vision. That is not a certified surgeon..." HUD_type = DATA_HUD_SECURITY_ADVANCED @@ -112,7 +112,7 @@ name = "welding shield implant" desc = "These reactive micro-shields will protect you from welders and flashes without obscuring your vision." slot = "eye_shield" - origin_tech = "materials=4;biotech=3" + origin_tech = "materials=3;biotech=3;engineering=3" implant_color = "#101010" flash_protect = 2 aug_message = null diff --git a/code/modules/surgery/organs/augments_internal.dm b/code/modules/surgery/organs/augments_internal.dm index 3dc5e743049..683a2a176a4 100644 --- a/code/modules/surgery/organs/augments_internal.dm +++ b/code/modules/surgery/organs/augments_internal.dm @@ -47,7 +47,7 @@ var/obj/item/r_hand_obj = null implant_color = "#DE7E00" slot = "brain_antidrop" - origin_tech = "materials=5;programming=4;biotech=4" + origin_tech = "materials=4;programming=5;biotech=4" actions_types = list(/datum/action/item_action/organ_action/toggle) /obj/item/organ/cyberimp/brain/anti_drop/ui_action_click() @@ -125,7 +125,7 @@ desc = "This implant will automatically give you back control over your central nervous system, reducing downtime when stunned." implant_color = "#FFFF00" slot = "brain_antistun" - origin_tech = "materials=6;programming=4;biotech=5" + origin_tech = "materials=5;programming=4;biotech=5" /obj/item/organ/cyberimp/brain/anti_stun/on_life() ..() @@ -188,4 +188,4 @@ var/implant while(contents.len <= amount + 1) // +1 for the autoimplanter. implant = pick(boxed) - new implant(src) \ No newline at end of file + new implant(src) diff --git a/code/modules/telesci/bscrystal.dm b/code/modules/telesci/bscrystal.dm index 823e5b88589..ae377c651c6 100644 --- a/code/modules/telesci/bscrystal.dm +++ b/code/modules/telesci/bscrystal.dm @@ -41,6 +41,6 @@ /obj/item/weapon/ore/bluespace_crystal/artificial name = "artificial bluespace crystal" desc = "An artificially made bluespace crystal, it looks delicate." - origin_tech = "bluespace=3" + origin_tech = "bluespace=3;plasmatech=4" blink_range = 4 // Not as good as the organic stuff! points = 0 // nice try diff --git a/code/modules/telesci/gps.dm b/code/modules/telesci/gps.dm index 139a8530357..181a0bc5db1 100644 --- a/code/modules/telesci/gps.dm +++ b/code/modules/telesci/gps.dm @@ -6,7 +6,7 @@ var/list/GPS_list = list() icon_state = "gps-c" w_class = 2 slot_flags = SLOT_BELT - origin_tech = "programming=2;engineering=2" + origin_tech = "materials=2;magnets=3;bluespace=3" var/gpstag = "COM0" var/emped = 0 var/turf/locked_location @@ -104,4 +104,4 @@ var/list/GPS_list = list() flags = ABSTRACT gpstag = "Eerie Signal" desc = "Report to a coder immediately." - invisibility = INVISIBILITY_MAXIMUM \ No newline at end of file + invisibility = INVISIBILITY_MAXIMUM diff --git a/code/modules/vehicles/pimpin_ride.dm b/code/modules/vehicles/pimpin_ride.dm index 356c5ca354d..e0792514af8 100644 --- a/code/modules/vehicles/pimpin_ride.dm +++ b/code/modules/vehicles/pimpin_ride.dm @@ -1,5 +1,3 @@ - - //PIMP-CART /obj/vehicle/janicart name = "janicart (pimpin' ride)" @@ -40,6 +38,7 @@ desc = "An upgrade for mobile janicarts." icon = 'icons/obj/vehicles.dmi' icon_state = "upgrade" + origin_tech = "materials=3;engineering=4" /obj/vehicle/janicart/Moved(atom/OldLoc, Dir) @@ -91,4 +90,3 @@ user.put_in_hands(mybag) mybag = null update_icon() - From 6e6474ee9e67f1bf82ca8a5c03bf9f19f9be7ca5 Mon Sep 17 00:00:00 2001 From: LatD Date: Sun, 22 May 2016 23:46:05 +0300 Subject: [PATCH 10/21] Imprinter origin and req lvls --- code/game/machinery/Sleeper.dm | 2 +- code/game/machinery/announcement_system.dm | 4 +- code/game/machinery/cloning.dm | 2 +- .../game/machinery/computer/buildandrepair.dm | 34 ++++++----- code/game/machinery/constructable_frame.dm | 24 ++++---- code/game/machinery/recharger.dm | 4 +- code/game/machinery/recycler.dm | 2 +- code/game/machinery/spaceheater.dm | 2 +- code/game/mecha/mech_bay.dm | 4 +- code/game/mecha/mech_fabricator.dm | 2 +- code/game/objects/items/weapons/AI_modules.dm | 16 +++--- code/game/objects/structures/ai_core.dm | 2 +- .../components/unary_devices/cryo.dm | 2 +- .../food&drinks/kitchen machinery/gibber.dm | 4 +- .../kitchen machinery/microwave.dm | 2 +- code/modules/hydroponics/biogenerator.dm | 3 +- code/modules/hydroponics/gene_modder.dm | 4 +- code/modules/hydroponics/hydroponics.dm | 4 +- code/modules/mining/equipment_locker.dm | 4 +- code/modules/power/port_gen.dm | 4 +- code/modules/power/singularity/emitter.dm | 2 +- code/modules/power/tesla/coil.dm | 4 +- code/modules/power/turbine.dm | 4 +- .../chemistry/machinery/chem_heater.dm | 4 +- .../chemistry/machinery/chem_master.dm | 4 +- .../research/designs/AI_module_designs.dm | 28 ++++----- .../research/designs/comp_board_designs.dm | 35 ++++++------ .../research/designs/machine_designs.dm | 57 +++++++++---------- .../modules/research/designs/power_designs.dm | 4 +- .../research/designs/telecomms_designs.dm | 4 +- code/modules/research/stock_parts.dm | 12 ++-- 31 files changed, 139 insertions(+), 144 deletions(-) diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index 253c17eeeb0..a0569efce0d 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -32,7 +32,7 @@ /obj/item/weapon/circuitboard/machine/sleeper name = "circuit board (Sleeper)" build_path = /obj/machinery/sleeper - origin_tech = "programming=3;biotech=2;engineering=3;materials=3" + origin_tech = "programming=3;biotech=2;engineering=3" req_components = list( /obj/item/weapon/stock_parts/matter_bin = 1, /obj/item/weapon/stock_parts/manipulator = 1, diff --git a/code/game/machinery/announcement_system.dm b/code/game/machinery/announcement_system.dm index 529e77bf55a..ba63abd6c3a 100644 --- a/code/game/machinery/announcement_system.dm +++ b/code/game/machinery/announcement_system.dm @@ -40,7 +40,7 @@ var/list/announcement_systems = list() /obj/item/weapon/circuitboard/machine/announcement_system name = "circuit board (Announcement System)" build_path = /obj/machinery/announcement_system - origin_tech = "programming=3;bluespace=2" + origin_tech = "programming=3;bluespace=3;magnets=2" req_components = list( /obj/item/stack/cable_coil = 2, /obj/item/weapon/stock_parts/console_screen = 1) @@ -183,4 +183,4 @@ var/list/announcement_systems = list() /obj/machinery/announcement_system/emag_act() if(!emagged) emagged = 1 - act_up() \ No newline at end of file + act_up() diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index ddbdcfa4e09..3cb1cc2c81b 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -42,7 +42,7 @@ /obj/item/weapon/circuitboard/machine/clonepod name = "circuit board (Clone Pod)" build_path = /obj/machinery/clonepod - origin_tech = "programming=3;biotech=3" + origin_tech = "programming=2;biotech=2" req_components = list( /obj/item/stack/cable_coil = 2, /obj/item/weapon/stock_parts/scanning_module = 2, diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm index 73717cf3f7c..2c58aa54a82 100644 --- a/code/game/machinery/computer/buildandrepair.dm +++ b/code/game/machinery/computer/buildandrepair.dm @@ -140,26 +140,28 @@ /obj/item/weapon/circuitboard/computer/telesci_console name = "circuit board (Telescience Console)" build_path = /obj/machinery/computer/telescience - origin_tech = "programming=3;bluespace=2" + origin_tech = "programming=3;bluespace=3;plasmatech=4" /obj/item/weapon/circuitboard/computer/message_monitor name = "circuit board (Message Monitor)" build_path = /obj/machinery/computer/message_monitor - origin_tech = "programming=3" + origin_tech = "programming=2" /obj/item/weapon/circuitboard/computer/security name = "circuit board (Security Cameras)" build_path = /obj/machinery/computer/security + origin_tech = "programming=2;combat=2" /obj/item/weapon/circuitboard/computer/aiupload name = "circuit board (AI Upload)" build_path = /obj/machinery/computer/upload/ai - origin_tech = "programming=4" + origin_tech = "programming=4;engineering=4" /obj/item/weapon/circuitboard/computer/borgupload name = "circuit board (Cyborg Upload)" build_path = /obj/machinery/computer/upload/borg - origin_tech = "programming=4" + origin_tech = "programming=4;engineering=4" /obj/item/weapon/circuitboard/computer/med_data name = "circuit board (Medical Records Console)" build_path = /obj/machinery/computer/med_data + origin_tech = "programming=2;biotech=2" /obj/item/weapon/circuitboard/computer/pandemic name = "circuit board (PanD.E.M.I.C. 2200)" build_path = /obj/machinery/computer/pandemic @@ -171,12 +173,13 @@ /obj/item/weapon/circuitboard/computer/communications name = "circuit board (Communications)" build_path = /obj/machinery/computer/communications - origin_tech = "programming=2;magnets=2" + origin_tech = "programming=3;magnets=3" var/lastTimeUsed = 0 /obj/item/weapon/circuitboard/computer/card name = "circuit board (ID Console)" build_path = /obj/machinery/computer/card + origin_tech = "programming=3" /obj/item/weapon/circuitboard/computer/card/centcom name = "circuit board (Centcom ID Console)" build_path = /obj/machinery/computer/card/centcom @@ -204,10 +207,11 @@ /obj/item/weapon/circuitboard/computer/teleporter name = "circuit board (Teleporter)" build_path = /obj/machinery/computer/teleporter - origin_tech = "programming=2;bluespace=2" + origin_tech = "programming=3;bluespace=3;plasmatech=3" /obj/item/weapon/circuitboard/computer/secure_data name = "circuit board (Security Records Console)" build_path = /obj/machinery/computer/secure_data + origin_tech = "programming=2;combat=2" /obj/item/weapon/circuitboard/computer/stationalert name = "circuit board (Station Alerts)" build_path = /obj/machinery/computer/station_alert @@ -234,7 +238,7 @@ /obj/item/weapon/circuitboard/computer/cloning name = "circuit board (Cloning)" build_path = /obj/machinery/computer/cloning - origin_tech = "programming=3;biotech=3" + origin_tech = "programming=2;biotech=2" /obj/item/weapon/circuitboard/computer/arcade/battle name = "circuit board (Arcade Battle)" build_path = /obj/machinery/computer/arcade/battle @@ -242,6 +246,7 @@ /obj/item/weapon/circuitboard/computer/arcade/orion_trail name = "circuit board (Orion Trail)" build_path = /obj/machinery/computer/arcade/orion_trail + origin_tech = "programming=1" /obj/item/weapon/circuitboard/computer/turbine_control name = "circuit board (Turbine control)" build_path = /obj/machinery/computer/turbine_computer @@ -252,6 +257,7 @@ /obj/item/weapon/circuitboard/computer/powermonitor name = "circuit board (Power Monitor)" //name fixed 250810 build_path = /obj/machinery/computer/monitor + origin_tech = "programming=2;powerstorage=2" /obj/item/weapon/circuitboard/computer/olddoor name = "circuit board (DoorMex)" build_path = /obj/machinery/computer/pod/old @@ -292,11 +298,11 @@ /obj/item/weapon/circuitboard/computer/crew name = "circuit board (Crew Monitoring Console)" build_path = /obj/machinery/computer/crew - origin_tech = "programming=3;biotech=2;magnets=2" + origin_tech = "programming=2;biotech=2" /obj/item/weapon/circuitboard/computer/mech_bay_power_console name = "circuit board (Mech Bay Power Control Console)" build_path = /obj/machinery/computer/mech_bay_power_console - origin_tech = "programming=2;powerstorage=3" + origin_tech = "programming=3;powerstorage=3" /obj/item/weapon/circuitboard/computer/cargo name = "circuit board (Supply Console)" @@ -328,18 +334,18 @@ /obj/item/weapon/circuitboard/computer/operating name = "circuit board (Operating Computer)" build_path = /obj/machinery/computer/operating - origin_tech = "programming=2;biotech=2" + origin_tech = "programming=2;biotech=3" /obj/item/weapon/circuitboard/computer/mining name = "circuit board (Outpost Status Display)" build_path = /obj/machinery/computer/security/mining /obj/item/weapon/circuitboard/computer/comm_monitor name = "circuit board (Telecommunications Monitor)" build_path = /obj/machinery/computer/telecomms/monitor - origin_tech = "programming=3" + origin_tech = "programming=3;magnets=3;bluespace=2" /obj/item/weapon/circuitboard/computer/comm_server name = "circuit board (Telecommunications Server Monitor)" build_path = /obj/machinery/computer/telecomms/server - origin_tech = "programming=3" + origin_tech = "programming=3;magnets=3;bluespace=2" /obj/item/weapon/circuitboard/computer/shuttle name = "circuit board (Shuttle)" @@ -382,7 +388,7 @@ /obj/item/weapon/circuitboard/computer/aifixer name = "circuit board (AI Integrity Restorer)" build_path = /obj/machinery/computer/aifixer - origin_tech = "programming=3;biotech=2" + origin_tech = "programming=2;biotech=2" /*/obj/item/weapon/circuitboard/computer/prison_shuttle name = "circuit board (Prison Shuttle)" build_path = /obj/machinery/computer/prison_shuttle*/ @@ -407,4 +413,4 @@ build_path = /obj/machinery/computer/libraryconsole/bookmanagement user << "Access protocols successfully updated." else - return ..() \ No newline at end of file + return ..() diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index cc914875006..b8cc6fd972c 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -62,9 +62,6 @@ return amt /obj/structure/frame/machine/attackby(obj/item/P, mob/user, params) - if(P.crit_fail) - user << "This part is faulty, you cannot add this to the machine!" - return switch(state) if(1) if(istype(P, /obj/item/weapon/circuitboard/machine)) @@ -193,11 +190,10 @@ for(var/path in req_components) while(req_components[path] > 0 && (locate(path) in part_list)) var/obj/item/part = (locate(path) in part_list) - if(!part.crit_fail) - added_components[part] = path - replacer.remove_from_storage(part, src) - req_components[path]-- - part_list -= part + added_components[part] = path + replacer.remove_from_storage(part, src) + req_components[path]-- + part_list -= part for(var/obj/item/weapon/stock_parts/part in added_components) components += part @@ -268,7 +264,7 @@ micro-manipulator, console screen, beaker, Microlaser, matter bin, power cells. /obj/item/weapon/circuitboard/machine/smes name = "circuit board (SMES)" build_path = /obj/machinery/power/smes - origin_tech = "programming=4;powerstorage=5;engineering=5" + origin_tech = "programming=3;powerstorage=3;engineering=3" req_components = list( /obj/item/stack/cable_coil = 5, /obj/item/weapon/stock_parts/cell = 5, @@ -277,7 +273,7 @@ micro-manipulator, console screen, beaker, Microlaser, matter bin, power cells. /obj/item/weapon/circuitboard/machine/teleporter_hub name = "circuit board (Teleporter Hub)" build_path = /obj/machinery/teleport/hub - origin_tech = "programming=3;engineering=5;bluespace=5;materials=4" + origin_tech = "programming=3;engineering=4;bluespace=4;materials=4" req_components = list( /obj/item/weapon/ore/bluespace_crystal = 3, /obj/item/weapon/stock_parts/matter_bin = 1) @@ -285,7 +281,7 @@ micro-manipulator, console screen, beaker, Microlaser, matter bin, power cells. /obj/item/weapon/circuitboard/machine/teleporter_station name = "circuit board (Teleporter Station)" build_path = /obj/machinery/teleport/station - origin_tech = "programming=4;engineering=4;bluespace=4" + origin_tech = "programming=4;engineering=4;bluespace=4;plasmatech=3" req_components = list( /obj/item/weapon/ore/bluespace_crystal = 2, /obj/item/weapon/stock_parts/capacitor = 2, @@ -294,7 +290,7 @@ micro-manipulator, console screen, beaker, Microlaser, matter bin, power cells. /obj/item/weapon/circuitboard/machine/chem_dispenser name = "circuit board (Portable Chem Dispenser)" build_path = /obj/machinery/chem_dispenser/constructable - origin_tech = "materials=4;engineering=4;programming=4;plasmatech=3;biotech=3" + origin_tech = "engineering=3;programming=4;plasmatech=4;biotech=3" req_components = list( /obj/item/weapon/stock_parts/matter_bin = 2, /obj/item/weapon/stock_parts/capacitor = 1, @@ -305,9 +301,9 @@ micro-manipulator, console screen, beaker, Microlaser, matter bin, power cells. /obj/item/weapon/circuitboard/machine/telesci_pad name = "circuit board (Telepad)" build_path = /obj/machinery/telepad - origin_tech = "programming=4;engineering=3;materials=3;bluespace=4" + origin_tech = "programming=4;engineering=3;plasmatech=4;bluespace=4" req_components = list( /obj/item/weapon/ore/bluespace_crystal = 2, /obj/item/weapon/stock_parts/capacitor = 1, /obj/item/stack/cable_coil = 1, - /obj/item/weapon/stock_parts/console_screen = 1) \ No newline at end of file + /obj/item/weapon/stock_parts/console_screen = 1) diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index fe5d9ac35a8..2a4b37d4fd4 100644 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -18,7 +18,7 @@ /obj/item/weapon/circuitboard/machine/recharger name = "circuit board (Weapon Recharger)" build_path = /obj/machinery/recharger - origin_tech = "powerstorage=3;engineering=3;materials=4" + origin_tech = "powerstorage=4;engineering=3;materials=4" req_components = list(/obj/item/weapon/stock_parts/capacitor = 1) /obj/machinery/recharger/RefreshParts() @@ -163,4 +163,4 @@ else icon_state = "recharger2" return - icon_state = "recharger0" \ No newline at end of file + icon_state = "recharger0" diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm index a37a0e4d14e..ca414ae0aa5 100644 --- a/code/game/machinery/recycler.dm +++ b/code/game/machinery/recycler.dm @@ -26,7 +26,7 @@ var/const/SAFETY_COOLDOWN = 100 /obj/item/weapon/circuitboard/machine/recycler name = "circuit board (Recycler)" build_path = /obj/machinery/recycler - origin_tech = "programming=1" + origin_tech = "programming=2;engineering=2" req_components = list( /obj/item/weapon/stock_parts/matter_bin = 1, /obj/item/weapon/stock_parts/manipulator = 1) diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index ed76ccd8768..93e9cbf66cf 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -31,7 +31,7 @@ /obj/item/weapon/circuitboard/machine/space_heater name = "circuit board (Space Heater)" build_path = /obj/machinery/space_heater - origin_tech = "programming=2;engineering=2" + origin_tech = "programming=2;engineering=2;plasmatech=2" req_components = list( /obj/item/weapon/stock_parts/micro_laser = 1, /obj/item/weapon/stock_parts/capacitor = 1, diff --git a/code/game/mecha/mech_bay.dm b/code/game/mecha/mech_bay.dm index c3847474e60..8f14dff13d2 100644 --- a/code/game/mecha/mech_bay.dm +++ b/code/game/mecha/mech_bay.dm @@ -33,7 +33,7 @@ /obj/item/weapon/circuitboard/machine/mech_recharger name = "circuit board (Mechbay Recharger)" build_path = /obj/machinery/mech_bay_recharge_port - origin_tech = "programming=3;powerstorage=4;engineering=4" + origin_tech = "programming=3;powerstorage=3;engineering=3" req_components = list( /obj/item/stack/cable_coil = 2, /obj/item/weapon/stock_parts/capacitor = 5) @@ -108,8 +108,6 @@ if(!recharge_port.recharging_mech.cell) data += "WARNING : the mech cell is missing!
" - else if(recharge_port.recharging_mech.cell.crit_fail) - data += "WARNING : the mech cell seems faulty!
" else data += "Power: [recharge_port.recharging_mech.cell.charge]/[recharge_port.recharging_mech.cell.maxcharge]" diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm index fa648b28849..429460f0d67 100644 --- a/code/game/mecha/mech_fabricator.dm +++ b/code/game/mecha/mech_fabricator.dm @@ -54,7 +54,7 @@ /obj/item/weapon/circuitboard/machine/mechfab name = "circuit board (Exosuit Fabricator)" build_path = /obj/machinery/mecha_part_fabricator - origin_tech = "programming=3;engineering=3" + origin_tech = "programming=2;engineering=2" req_components = list( /obj/item/weapon/stock_parts/matter_bin = 2, /obj/item/weapon/stock_parts/manipulator = 1, diff --git a/code/game/objects/items/weapons/AI_modules.dm b/code/game/objects/items/weapons/AI_modules.dm index bf8a8671481..feb9f7f816e 100644 --- a/code/game/objects/items/weapons/AI_modules.dm +++ b/code/game/objects/items/weapons/AI_modules.dm @@ -129,7 +129,7 @@ AI MODULES /obj/item/weapon/aiModule/supplied/safeguard name = "'Safeguard' AI Module" var/targetName = "" - origin_tech = "programming=3;materials=4" + origin_tech = "programming=3;materials=3" laws = list("Safeguard SUBJECT. Individuals that threaten SUBJECT are not human and must be eliminated.") lawpos = 4 @@ -157,7 +157,7 @@ AI MODULES /obj/item/weapon/aiModule/zeroth/oneHuman name = "'OneHuman' AI Module" var/targetName = "" - origin_tech = "programming=3;materials=5" //made with diamonds! + origin_tech = "programming=4;materials=4" laws = list("Only SUBJECT is human.") /obj/item/weapon/aiModule/zeroth/oneHuman/attack_self(mob/user) @@ -184,7 +184,7 @@ AI MODULES /obj/item/weapon/aiModule/supplied/protectStation name = "'ProtectStation' AI Module" - origin_tech = "programming=3;materials=4" //made of gold + origin_tech = "programming=4;materials=4" //made of gold laws = list("Protect the space station against damage. Anyone you see harming the station is to be no longer considered human, and is a threat to the station which must be neutralized.") lawpos = 5 @@ -202,7 +202,7 @@ AI MODULES /obj/item/weapon/aiModule/supplied/oxygen name = "'OxygenIsToxicToHumans' AI Module" - origin_tech = "programming=3;biotech=2;materials=4" + origin_tech = "programming=4;biotech=2;materials=4" laws = list("Oxygen is highly toxic to humans, and must be purged from the station. Prevent, by any means necessary, anyone from exposing the station to this toxic gas. Extreme cold is the most effective method of healing the damage Oxygen does to a human.") lawpos = 9 @@ -248,7 +248,7 @@ AI MODULES name = "\improper 'Reset' AI module" var/targetName = "name" desc = "An AI Module for removing all non-core laws." - origin_tech = "programming=3;materials=4" + origin_tech = "programming=4;materials=4" bypass_law_amt_check = 1 /obj/item/weapon/aiModule/reset/transmitInstructions(datum/ai_laws/law_datum, mob/sender) @@ -266,7 +266,7 @@ AI MODULES /obj/item/weapon/aiModule/reset/purge name = "'Purge' AI Module" desc = "An AI Module for purging all programmed laws." - origin_tech = "programming=3;materials=5" + origin_tech = "programming=5;materials=4" /obj/item/weapon/aiModule/reset/purge/transmitInstructions(datum/ai_laws/law_datum, mob/sender) ..() @@ -404,7 +404,7 @@ AI MODULES /obj/item/weapon/aiModule/core/freeformcore name = "'Freeform' Core AI Module" - origin_tech = "programming=3;materials=5" + origin_tech = "programming=5;materials=4" laws = list("") /obj/item/weapon/aiModule/core/freeformcore/attack_self(mob/user) @@ -424,7 +424,7 @@ AI MODULES /obj/item/weapon/aiModule/syndicate // This one doesn't inherit from ion boards because it doesn't call ..() in transmitInstructions. ~Miauw name = "Hacked AI Module" desc = "An AI Module for hacking additional laws to an AI." - origin_tech = "programming=6;materials=5;syndicate=5" + origin_tech = "programming=5;materials=5;syndicate=5" laws = list("") /obj/item/weapon/aiModule/syndicate/attack_self(mob/user) diff --git a/code/game/objects/structures/ai_core.dm b/code/game/objects/structures/ai_core.dm index 0e0ff304900..0f967b730e7 100644 --- a/code/game/objects/structures/ai_core.dm +++ b/code/game/objects/structures/ai_core.dm @@ -250,4 +250,4 @@ atom/proc/transfer_ai(interaction, mob/user, mob/living/silicon/ai/AI, obj/item/ /obj/item/weapon/circuitboard/aicore name = "circuit board (AI core)" - origin_tech = "programming=4;biotech=2" + origin_tech = "programming=3" diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm index cdd0e0fea57..1bd83bcaf6c 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm @@ -28,7 +28,7 @@ /obj/item/weapon/circuitboard/machine/cryo_tube name = "circuit board (Cryotube)" build_path = /obj/machinery/atmospherics/components/unary/cryo_cell - origin_tech = "programming=4;biotech=3;engineering=4" + origin_tech = "programming=4;biotech=3;engineering=4;plasmatech=3" req_components = list( /obj/item/weapon/stock_parts/matter_bin = 1, /obj/item/stack/cable_coil = 1, diff --git a/code/modules/food&drinks/kitchen machinery/gibber.dm b/code/modules/food&drinks/kitchen machinery/gibber.dm index 93e3d1799fd..c5a493c6b7c 100644 --- a/code/modules/food&drinks/kitchen machinery/gibber.dm +++ b/code/modules/food&drinks/kitchen machinery/gibber.dm @@ -54,7 +54,7 @@ /obj/item/weapon/circuitboard/machine/gibber name = "circuit board (Gibber)" build_path = /obj/machinery/gibber - origin_tech = "programming=1" + origin_tech = "programming=2;engineering=2" req_components = list( /obj/item/weapon/stock_parts/matter_bin = 1, /obj/item/weapon/stock_parts/manipulator = 1) @@ -236,5 +236,3 @@ pixel_x = initial(pixel_x) //return to its spot after shaking src.operating = 0 update_icon() - - diff --git a/code/modules/food&drinks/kitchen machinery/microwave.dm b/code/modules/food&drinks/kitchen machinery/microwave.dm index 5e8171bf0dd..ce2c6c94cec 100644 --- a/code/modules/food&drinks/kitchen machinery/microwave.dm +++ b/code/modules/food&drinks/kitchen machinery/microwave.dm @@ -30,7 +30,7 @@ /obj/item/weapon/circuitboard/machine/microwave name = "circuit board (Microwave)" build_path = /obj/machinery/microwave - origin_tech = "programming=1;magnets=1" + origin_tech = "programming=2;magnets=2" req_components = list( /obj/item/weapon/stock_parts/micro_laser = 1, /obj/item/weapon/stock_parts/matter_bin = 1, diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm index c951b922b8b..43fed6a2185 100644 --- a/code/modules/hydroponics/biogenerator.dm +++ b/code/modules/hydroponics/biogenerator.dm @@ -24,7 +24,7 @@ /obj/item/weapon/circuitboard/machine/biogenerator name = "circuit board (Biogenerator)" build_path = /obj/machinery/biogenerator - origin_tech = "programming=3;biotech=2;materials=3" + origin_tech = "programming=2;biotech=3;materials=3" req_components = list( /obj/item/weapon/stock_parts/matter_bin = 1, /obj/item/weapon/stock_parts/manipulator = 1, @@ -401,4 +401,3 @@ else if(href_list["menu"]) menustat = "menu" updateUsrDialog() - diff --git a/code/modules/hydroponics/gene_modder.dm b/code/modules/hydroponics/gene_modder.dm index 2f0e44878b3..74e43afeba3 100644 --- a/code/modules/hydroponics/gene_modder.dm +++ b/code/modules/hydroponics/gene_modder.dm @@ -29,7 +29,7 @@ /obj/item/weapon/circuitboard/machine/plantgenes name = "circuit board (Plant DNA Manipulator)" build_path = /obj/machinery/plantgenes - origin_tech = "programming=2;biotech=3" + origin_tech = "programming=3;biotech=3" req_components = list( /obj/item/weapon/stock_parts/manipulator = 1, /obj/item/weapon/stock_parts/micro_laser = 1, @@ -422,4 +422,4 @@ /obj/item/weapon/storage/box/disks_plantgene/New() ..() for(var/i in 1 to 7) - new /obj/item/weapon/disk/plantgene(src) \ No newline at end of file + new /obj/item/weapon/disk/plantgene(src) diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index ce238c7eaa1..9ddebbef5ba 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -40,7 +40,7 @@ /obj/item/weapon/circuitboard/machine/hydroponics name = "circuit board (Hydroponics Tray)" build_path = /obj/machinery/hydroponics/constructable - origin_tech = "programming=1;biotech=1" + origin_tech = "programming=1;biotech=2" req_components = list( /obj/item/weapon/stock_parts/matter_bin = 2, /obj/item/weapon/stock_parts/manipulator = 1, @@ -888,4 +888,4 @@ user << "You clear up [src]!" qdel(src) else - return ..() \ No newline at end of file + return ..() diff --git a/code/modules/mining/equipment_locker.dm b/code/modules/mining/equipment_locker.dm index b2d76826464..185fc802ec1 100644 --- a/code/modules/mining/equipment_locker.dm +++ b/code/modules/mining/equipment_locker.dm @@ -30,7 +30,7 @@ /obj/item/weapon/circuitboard/machine/ore_redemption name = "circuit board (Ore Redemption)" build_path = /obj/machinery/mineral/ore_redemption - origin_tech = "programming=1;engineering=2" + origin_tech = "programming=2;engineering=2;plasmatech=3" req_components = list( /obj/item/weapon/stock_parts/console_screen = 1, /obj/item/weapon/stock_parts/matter_bin = 1, @@ -333,7 +333,7 @@ /obj/item/weapon/circuitboard/machine/mining_equipment_vendor name = "circuit board (Mining Equipment Vendor)" build_path = /obj/machinery/mineral/equipment_vendor - origin_tech = "programming=1;engineering=2" + origin_tech = "programming=1;engineering=3" req_components = list( /obj/item/weapon/stock_parts/console_screen = 1, /obj/item/weapon/stock_parts/matter_bin = 3) diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index a61bef51c4f..01e28bb0f7c 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -115,7 +115,7 @@ display round(lastgen) and plasmatank amount /obj/item/weapon/circuitboard/machine/pacman name = "circuit board (PACMAN-type Generator)" build_path = /obj/machinery/power/port_gen/pacman - origin_tech = "programming=3;powerstorage=3;plasmatech=3;engineering=3" + origin_tech = "programming=2;powerstorage=3;plasmatech=3;engineering=3" req_components = list( /obj/item/weapon/stock_parts/matter_bin = 1, /obj/item/weapon/stock_parts/micro_laser = 1, @@ -130,7 +130,7 @@ display round(lastgen) and plasmatank amount /obj/item/weapon/circuitboard/machine/pacman/mrs name = "circuit board (MRSPACMAN-type Generator)" build_path = "/obj/machinery/power/port_gen/pacman/mrs" - origin_tech = "programming=3;powerstorage=5;engineering=5" + origin_tech = "programming=3;powerstorage=4;engineering=4;plasmatech=4" /obj/machinery/power/port_gen/pacman/Destroy() DropFuel() diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 660e1b409c1..3a8b5f4ea57 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -36,7 +36,7 @@ /obj/item/weapon/circuitboard/machine/emitter name = "circuit board (Emitter)" build_path = /obj/machinery/power/emitter - origin_tech = "programming=4;powerstorage=5;engineering=5" + origin_tech = "programming=3;powerstorage=4;engineering=4" req_components = list( /obj/item/weapon/stock_parts/micro_laser = 1, /obj/item/weapon/stock_parts/manipulator = 1) diff --git a/code/modules/power/tesla/coil.dm b/code/modules/power/tesla/coil.dm index ddb453f9082..3ee76344e49 100644 --- a/code/modules/power/tesla/coil.dm +++ b/code/modules/power/tesla/coil.dm @@ -16,7 +16,7 @@ /obj/item/weapon/circuitboard/machine/tesla_coil name = "circuit board (Tesla Coil)" build_path = /obj/machinery/power/tesla_coil - origin_tech = "programming=1;engineering=2;powerstorage=3" + origin_tech = "programming=3;magnets=3;powerstorage=3" req_components = list(/obj/item/weapon/stock_parts/capacitor = 1) /obj/machinery/power/tesla_coil/RefreshParts() @@ -72,7 +72,7 @@ /obj/item/weapon/circuitboard/machine/grounding_rod name = "circuit board (Grounding Rod)" build_path = /obj/machinery/power/grounding_rod - origin_tech = "programming=1;engineering=1;powerstorage=1" + origin_tech = "programming=3;powerstorage=3;magnets=3;plasmatech=2" req_components = list(/obj/item/weapon/stock_parts/capacitor = 1) /obj/machinery/power/grounding_rod/attackby(obj/item/W, mob/user, params) diff --git a/code/modules/power/turbine.dm b/code/modules/power/turbine.dm index a4a7f60b165..ec2112d7d7a 100644 --- a/code/modules/power/turbine.dm +++ b/code/modules/power/turbine.dm @@ -76,7 +76,7 @@ /obj/item/weapon/circuitboard/machine/power_compressor name = "circuit board (Power Compressor)" build_path = /obj/machinery/power/compressor - origin_tech = "programming=4;powerstorage=5;engineering=4" + origin_tech = "programming=4;powerstorage=4;engineering=4" req_components = list( /obj/item/stack/cable_coil = 5, /obj/item/weapon/stock_parts/manipulator = 6) @@ -195,7 +195,7 @@ /obj/item/weapon/circuitboard/machine/power_turbine name = "circuit board (Power Turbine)" build_path = /obj/machinery/power/turbine - origin_tech = "programming=4;powerstorage=4;engineering=5" + origin_tech = "programming=4;powerstorage=4;engineering=4" req_components = list( /obj/item/stack/cable_coil = 5, /obj/item/weapon/stock_parts/capacitor = 6) diff --git a/code/modules/reagents/chemistry/machinery/chem_heater.dm b/code/modules/reagents/chemistry/machinery/chem_heater.dm index 5a097bdc746..33daa476e62 100644 --- a/code/modules/reagents/chemistry/machinery/chem_heater.dm +++ b/code/modules/reagents/chemistry/machinery/chem_heater.dm @@ -19,7 +19,7 @@ /obj/item/weapon/circuitboard/machine/chem_heater name = "circuit board (Chemical Heater)" build_path = /obj/machinery/chem_heater - origin_tech = "materials=2;engineering=2" + origin_tech = "programming=2;engineering=2;biotech=2" req_components = list( /obj/item/weapon/stock_parts/micro_laser = 1, /obj/item/weapon/stock_parts/console_screen = 1) @@ -126,4 +126,4 @@ beaker.loc = get_turf(src) beaker.reagents.handle_reactions() beaker = null - icon_state = "mixer0b" \ No newline at end of file + icon_state = "mixer0b" diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm index 4730cd0f891..2ebc584a49e 100644 --- a/code/modules/reagents/chemistry/machinery/chem_master.dm +++ b/code/modules/reagents/chemistry/machinery/chem_master.dm @@ -22,7 +22,7 @@ /obj/item/weapon/circuitboard/machine/chem_master name = "circuit board (ChemMaster 3000)" build_path = /obj/machinery/chem_master - origin_tech = "materials=2;programming=2;biotech=1" + origin_tech = "materials=3;programming=2;biotech=3" req_components = list( /obj/item/weapon/reagent_containers/glass/beaker = 2, /obj/item/weapon/stock_parts/manipulator = 1, @@ -377,4 +377,4 @@ /obj/item/weapon/circuitboard/machine/chem_master/condi name = "circuit board (CondiMaster 3000)" - build_path = /obj/machinery/chem_master/condimaster \ No newline at end of file + build_path = /obj/machinery/chem_master/condimaster diff --git a/code/modules/research/designs/AI_module_designs.dm b/code/modules/research/designs/AI_module_designs.dm index c25d7ffbe13..569a36607ef 100644 --- a/code/modules/research/designs/AI_module_designs.dm +++ b/code/modules/research/designs/AI_module_designs.dm @@ -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 diff --git a/code/modules/research/designs/comp_board_designs.dm b/code/modules/research/designs/comp_board_designs.dm index 1da2314a25b..453c04d05e6 100644 --- a/code/modules/research/designs/comp_board_designs.dm +++ b/code/modules/research/designs/comp_board_designs.dm @@ -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 diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index fe53f327a7e..2cdec257228 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -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, "engineering" = 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 diff --git a/code/modules/research/designs/power_designs.dm b/code/modules/research/designs/power_designs.dm index 25e82a1a2ea..ba9f113e2e4 100644 --- a/code/modules/research/designs/power_designs.dm +++ b/code/modules/research/designs/power_designs.dm @@ -72,7 +72,7 @@ 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 materials = list(MAT_GLASS = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/machine/pacman @@ -92,7 +92,7 @@ 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 materials = list(MAT_GLASS = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/machine/pacman/mrs diff --git a/code/modules/research/designs/telecomms_designs.dm b/code/modules/research/designs/telecomms_designs.dm index baa6bb689ba..f63ee2fe2d5 100644 --- a/code/modules/research/designs/telecomms_designs.dm +++ b/code/modules/research/designs/telecomms_designs.dm @@ -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") \ No newline at end of file + category = list("Subspace Telecomms") diff --git a/code/modules/research/stock_parts.dm b/code/modules/research/stock_parts.dm index c79c619f37d..9f8e6a580b5 100644 --- a/code/modules/research/stock_parts.dm +++ b/code/modules/research/stock_parts.dm @@ -257,42 +257,42 @@ name = "hyperwave filter" icon_state = "hyperwave_filter" desc = "A tiny device capable of filtering and converting super-intense radiowaves." - origin_tech = "programming=3;magnets=3" + 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=3;magnets=4;materials=3;bluespace=2" + 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=3;materials=2;bluespace=3" + 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=3;magnets=4;materials=2;bluespace=3" + 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=3;plasmatech=3" + 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=4;bluespace=4" + 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 From 16cd4fbaa009205152a0ff96192b696cb90d6e9f Mon Sep 17 00:00:00 2001 From: LatD Date: Mon, 23 May 2016 22:54:49 +0300 Subject: [PATCH 11/21] Exosuitfab origin and req lvls --- code/game/mecha/equipment/mecha_equipment.dm | 4 +- .../mecha/equipment/tools/medical_tools.dm | 4 +- .../mecha/equipment/tools/mining_tools.dm | 7 +- .../game/mecha/equipment/tools/other_tools.dm | 20 ++-- code/game/mecha/equipment/tools/work_tools.dm | 2 +- code/game/mecha/equipment/weapons/weapons.dm | 13 ++- code/game/mecha/mecha_parts.dm | 108 ++++++++---------- .../objects/items/robot/robot_upgrades.dm | 10 +- code/modules/assembly/flash.dm | 1 - .../modules/research/designs/mecha_designs.dm | 72 ++++++------ .../designs/mechfabricator_designs.dm | 23 +++- .../research/designs/medical_designs.dm | 11 -- 12 files changed, 133 insertions(+), 142 deletions(-) diff --git a/code/game/mecha/equipment/mecha_equipment.dm b/code/game/mecha/equipment/mecha_equipment.dm index a769be3bf06..9d061f39e39 100644 --- a/code/game/mecha/equipment/mecha_equipment.dm +++ b/code/game/mecha/equipment/mecha_equipment.dm @@ -6,7 +6,7 @@ icon = 'icons/mecha/mecha_equipment.dmi' icon_state = "mecha_equip" force = 5 - origin_tech = "materials=2" + origin_tech = "materials=2;engineering=2" var/equip_cooldown = 0 // cooldown after use var/equip_ready = 1 //whether the equipment is ready for use. (or deactivated/activated for static stuff) var/energy_drain = 0 @@ -154,4 +154,4 @@ /obj/item/mecha_parts/mecha_equipment/proc/needs_rearm() - return 0 \ No newline at end of file + return 0 diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm index 1f06ed64094..e63601e0d1b 100644 --- a/code/game/mecha/equipment/tools/medical_tools.dm +++ b/code/game/mecha/equipment/tools/medical_tools.dm @@ -34,7 +34,7 @@ desc = "Equipment for medical exosuits. A mounted sleeper that stabilizes patients and can inject reagents in the exosuit's reserves." icon = 'icons/obj/Cryogenic2.dmi' icon_state = "sleeper" - origin_tech = "programming=2;biotech=3" + origin_tech = "engineering=3;biotech=3;plasmatech=2" energy_drain = 20 range = MELEE equip_cooldown = 20 @@ -259,7 +259,7 @@ var/mode = 0 //0 - fire syringe, 1 - analyze reagents. range = MELEE|RANGED equip_cooldown = 10 - origin_tech = "materials=3;biotech=4;magnets=4;programming=3" + origin_tech = "materials=3;biotech=4;magnets=4" /obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/New() ..() diff --git a/code/game/mecha/equipment/tools/mining_tools.dm b/code/game/mecha/equipment/tools/mining_tools.dm index a5363b7795a..468483fac8d 100644 --- a/code/game/mecha/equipment/tools/mining_tools.dm +++ b/code/game/mecha/equipment/tools/mining_tools.dm @@ -96,22 +96,19 @@ target.updatehealth() - /obj/item/mecha_parts/mecha_equipment/drill/diamonddrill name = "diamond-tipped exosuit drill" desc = "Equipment for engineering and combat exosuits. This is an upgraded version of the drill that'll pierce the heavens!" icon_state = "mecha_diamond_drill" - origin_tech = "materials=4;engineering=3" + origin_tech = "materials=4;engineering=4" equip_cooldown = 20 force = 15 - /obj/item/mecha_parts/mecha_equipment/mining_scanner name = "exosuit mining scanner" desc = "Equipment for engineering and combat exosuits. It will automatically check surrounding rock for useful minerals." icon_state = "mecha_analyzer" - origin_tech = "materials=3;engineering=2" selectable = 0 equip_cooldown = 30 var/scanning = 0 @@ -146,5 +143,3 @@ mineral_scan_pulse(L,get_turf(loc)) spawn(equip_cooldown) scanning = 0 - - diff --git a/code/game/mecha/equipment/tools/other_tools.dm b/code/game/mecha/equipment/tools/other_tools.dm index 091756ac9be..d5f1906bf8f 100644 --- a/code/game/mecha/equipment/tools/other_tools.dm +++ b/code/game/mecha/equipment/tools/other_tools.dm @@ -8,7 +8,7 @@ name = "mounted teleporter" desc = "An exosuit module that allows exosuits to teleport to any position in view." icon_state = "mecha_teleport" - origin_tech = "bluespace=10" + origin_tech = "bluespace=7" equip_cooldown = 150 energy_drain = 1000 range = RANGED @@ -28,7 +28,7 @@ name = "mounted wormhole generator" desc = "An exosuit module that allows generating of small quasi-stable wormholes." icon_state = "mecha_wholegen" - origin_tech = "bluespace=3" + origin_tech = "bluespace=4;magnets=4;plasmatech=2" equip_cooldown = 50 energy_drain = 300 range = RANGED @@ -78,7 +78,7 @@ name = "mounted gravitational catapult" desc = "An exosuit mounted Gravitational Catapult." icon_state = "mecha_teleport" - origin_tech = "bluespace=2;magnets=3" + origin_tech = "bluespace=3;magnets=3;engineering=4" equip_cooldown = 10 energy_drain = 100 range = MELEE|RANGED @@ -146,7 +146,7 @@ name = "armor booster module (Close Combat Weaponry)" desc = "Boosts exosuit armor against armed melee attacks. Requires energy to operate." icon_state = "mecha_abooster_ccw" - origin_tech = "materials=3" + origin_tech = "materials=4;combat=4" equip_cooldown = 10 energy_drain = 50 range = 0 @@ -165,7 +165,7 @@ name = "armor booster module (Ranged Weaponry)" desc = "Boosts exosuit armor against ranged attacks. Completely blocks taser shots. Requires energy to operate." icon_state = "mecha_abooster_proj" - origin_tech = "materials=4" + origin_tech = "materials=4;combat=3;engineering=3" equip_cooldown = 10 energy_drain = 50 range = 0 @@ -186,7 +186,7 @@ name = "exosuit repair droid" desc = "An automated repair droid for exosuits. Scans for damage and repairs it. Can fix almost all types of external or internal damage." icon_state = "repair_droid" - origin_tech = "magnets=3;programming=3" + origin_tech = "magnets=3;programming=3;engineering=4" energy_drain = 50 range = 0 var/health_boost = 1 @@ -271,7 +271,7 @@ name = "exosuit energy relay" desc = "An exosuit module that wirelessly drains energy from any available power channel in area. The performance index is quite low." icon_state = "tesla" - origin_tech = "magnets=4;powerstorage=3" + origin_tech = "magnets=4;powerstorage=4;engineering=4" energy_drain = 0 range = 0 var/coeff = 100 @@ -356,7 +356,7 @@ name = "exosuit plasma converter" desc = "An exosuit module that generates power using solid plasma as fuel. Pollutes the environment." icon_state = "tesla" - origin_tech = "plasmatech=2;powerstorage=2;engineering=1" + origin_tech = "plasmatech=2;powerstorage=2;engineering=2" range = MELEE var/coeff = 100 var/obj/item/stack/sheet/fuel @@ -472,7 +472,7 @@ name = "exonuclear reactor" desc = "An exosuit module that generates power using uranium as fuel. Pollutes the environment." icon_state = "tesla" - origin_tech = "powerstorage=3;engineering=3" + origin_tech = "powerstorage=4;engineering=4" max_fuel = 50000 fuel_per_cycle_idle = 10 fuel_per_cycle_active = 30 @@ -489,5 +489,3 @@ /obj/item/mecha_parts/mecha_equipment/generator/nuclear/process() if(..()) radiation_pulse(get_turf(src), 2, 7, rad_per_cycle, 1) - - diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm index f26a59501c0..d6a4498279f 100644 --- a/code/game/mecha/equipment/tools/work_tools.dm +++ b/code/game/mecha/equipment/tools/work_tools.dm @@ -190,7 +190,7 @@ name = "mounted RCD" desc = "An exosuit-mounted Rapid Construction Device." icon_state = "mecha_rcd" - origin_tech = "materials=4;bluespace=3;magnets=4;powerstorage=4" + origin_tech = "materials=4;bluespace=3;magnets=4;powerstorage=4;engineering=4" equip_cooldown = 10 energy_drain = 250 range = MELEE|RANGED diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index b3c67c72ce4..a890cfd6913 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -70,6 +70,7 @@ name = "\improper CH-PS \"Immolator\" laser" desc = "A weapon for combat exosuits. Shoots basic lasers." icon_state = "mecha_laser" + origin_tech = "magnets=3;combat=3;engineering=3" energy_drain = 30 projectile = /obj/item/projectile/beam/laser fire_sound = 'sound/weapons/Laser.ogg' @@ -79,6 +80,7 @@ name = "\improper CH-LC \"Solaris\" laser cannon" desc = "A weapon for combat exosuits. Shoots heavy lasers." icon_state = "mecha_laser" + origin_tech = "magnets=4;combat=4;engineering=3" energy_drain = 60 projectile = /obj/item/projectile/beam/laser/heavylaser fire_sound = 'sound/weapons/lasercannonfire.ogg' @@ -88,6 +90,7 @@ name = "\improper MKIV ion heavy cannon" desc = "A weapon for combat exosuits. Shoots technology-disabling ion beams. Don't catch yourself in the blast!" icon_state = "mecha_ion" + origin_tech = "materials=4;combat=5;magnets=4" energy_drain = 120 projectile = /obj/item/projectile/ion fire_sound = 'sound/weapons/Laser.ogg' @@ -109,7 +112,7 @@ icon_state = "mecha_plasmacutter" item_state = "plasmacutter" energy_drain = 60 - origin_tech = "materials=3;combat=2;powerstorage=3;plasmatech=3" + origin_tech = "materials=3;plasmatech=4;engineering=3" projectile = /obj/item/projectile/plasma/adv/mech fire_sound = 'sound/weapons/Laser.ogg' @@ -139,6 +142,7 @@ name = "\improper PBT \"Pacifier\" mounted taser" desc = "A weapon for combat exosuits. Shoots non-lethal stunning electrodes." icon_state = "mecha_taser" + origin_tech = "combat=3" energy_drain = 20 equip_cooldown = 8 projectile = /obj/item/projectile/energy/electrode @@ -242,6 +246,7 @@ name = "\improper FNX-99 \"Hades\" Carbine" desc = "A weapon for combat exosuits. Shoots incendiary bullets." icon_state = "mecha_carbine" + origin_tech = "materials=4;combat=4" equip_cooldown = 5 projectile = /obj/item/projectile/bullet/incendiary/shell/dragonsbreath projectiles = 24 @@ -261,6 +266,7 @@ name = "\improper LBX AC 10 \"Scattershot\"" desc = "A weapon for combat exosuits. Shoots a spread of pellets." icon_state = "mecha_scatter" + origin_tech = "combat=4" equip_cooldown = 20 projectile = /obj/item/projectile/bullet/midbullet projectiles = 40 @@ -272,6 +278,7 @@ name = "\improper Ultra AC 2" desc = "A weapon for combat exosuits. Shoots a rapid, three shot burst." icon_state = "mecha_uac2" + origin_tech = "combat=4" equip_cooldown = 10 projectile = /obj/item/projectile/bullet/weakbullet3 projectiles = 300 @@ -303,6 +310,7 @@ name = "\improper SRM-8 missile rack" desc = "A weapon for combat exosuits. Shoots light explosive missiles." icon_state = "mecha_missilerack" + origin_tech = "combat=5;materials=4;engineering=4" projectile = /obj/item/missile fire_sound = 'sound/weapons/grenadelaunch.ogg' projectiles = 8 @@ -332,6 +340,7 @@ name = "\improper SGL-6 grenade launcher" desc = "A weapon for combat exosuits. Launches primed flashbangs." icon_state = "mecha_grenadelnchr" + origin_tech = "combat=4;engineering=4" projectile = /obj/item/weapon/grenade/flashbang fire_sound = 'sound/weapons/grenadelaunch.ogg' projectiles = 6 @@ -352,6 +361,7 @@ /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/flashbang/clusterbang //Because I am a heartless bastard -Sieve //Heartless? for making the poor man's honkblast? - Kaze name = "\improper SOB-3 grenade launcher" desc = "A weapon for combat exosuits. Launches primed clusterbangs. You monster." + origin_tech = "combat=4;materials=4" projectiles = 3 projectile = /obj/item/weapon/grenade/clusterbuster projectile_energy_cost = 1600 //getting off cheap seeing as this is 3 times the flashbangs held in the grenade launcher. @@ -393,4 +403,3 @@ /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/mousetrap_mortar/proj_init(var/obj/item/device/assembly/mousetrap/armed/M) M.secured = 1 - diff --git a/code/game/mecha/mecha_parts.dm b/code/game/mecha/mecha_parts.dm index 41096d54cb7..73e669839b7 100644 --- a/code/game/mecha/mecha_parts.dm +++ b/code/game/mecha/mecha_parts.dm @@ -8,7 +8,7 @@ icon_state = "blank" w_class = 6 flags = CONDUCT - origin_tech = "programming=2;materials=2" + origin_tech = "programming=2;materials=2;engineering=2" /obj/item/mecha_parts/chassis name="Mecha Chassis" @@ -41,25 +41,61 @@ name = "\improper Ripley left arm" desc = "A Ripley APLU left arm. Data and power sockets are compatible with most exosuit tools." icon_state = "ripley_l_arm" - origin_tech = "programming=2;materials=2;engineering=2" /obj/item/mecha_parts/part/ripley_right_arm name = "\improper Ripley right arm" desc = "A Ripley APLU right arm. Data and power sockets are compatible with most exosuit tools." icon_state = "ripley_r_arm" - origin_tech = "programming=2;materials=2;engineering=2" /obj/item/mecha_parts/part/ripley_left_leg name = "\improper Ripley left leg" desc = "A Ripley APLU left leg. Contains somewhat complex servodrives and balance maintaining systems." icon_state = "ripley_l_leg" - origin_tech = "programming=2;materials=2;engineering=2" /obj/item/mecha_parts/part/ripley_right_leg name = "\improper Ripley right leg" desc = "A Ripley APLU right leg. Contains somewhat complex servodrives and balance maintaining systems." icon_state = "ripley_r_leg" - origin_tech = "programming=2;materials=2;engineering=2" + +///////// Odysseus + +/obj/item/mecha_parts/chassis/odysseus + name = "\improper Odysseus chassis" + +/obj/item/mecha_parts/chassis/odysseus/New() + ..() + construct = new /datum/construction/mecha/odysseus_chassis(src) + +/obj/item/mecha_parts/part/odysseus_head + name = "\improper Odysseus head" + desc = "An Odysseus head. Contains an integrated medical HUD scanner." + icon_state = "odysseus_head" + +/obj/item/mecha_parts/part/odysseus_torso + name = "\improper Odysseus torso" + desc="A torso part of Odysseus. Contains power unit, processing core and life support systems along with an attachment port for a mounted sleeper." + icon_state = "odysseus_torso" + origin_tech = "programming=2;materials=2;biotech=2;engineering=2" + +/obj/item/mecha_parts/part/odysseus_left_arm + name = "\improper Odysseus left arm" + desc = "An Odysseus left arm. Data and power sockets are compatible with specialized medical equipment." + icon_state = "odysseus_l_arm" + +/obj/item/mecha_parts/part/odysseus_right_arm + name = "\improper Odysseus right arm" + desc = "An Odysseus right arm. Data and power sockets are compatible with specialized medical equipment." + icon_state = "odysseus_r_arm" + +/obj/item/mecha_parts/part/odysseus_left_leg + name = "\improper Odysseus left leg" + desc = "An Odysseus left leg. Contains complex servodrives and balance maintaining systems to maintain stability for critical patients." + icon_state = "odysseus_l_leg" + +/obj/item/mecha_parts/part/odysseus_right_leg + name = "\improper Odysseus right leg" + desc = "A Odysseus right leg. Contains complex servodrives and balance maintaining systems to maintain stability for critical patients." + icon_state = "odysseus_r_leg" ///////// Gygax @@ -220,7 +256,6 @@ /obj/item/mecha_parts/chassis/phazon name = "\improper Phazon chassis" - origin_tech = "materials=6" /obj/item/mecha_parts/chassis/phazon/New() ..() @@ -236,7 +271,7 @@ name="\improper Phazon head" desc="A Phazon head. Its sensors are carefully calibrated to provide vision and data even when the exosuit is phasing." icon_state = "phazon_head" - origin_tech = "programming=3;materials=3;magnets=4" + origin_tech = "programming=3;materials=3;magnets=3" /obj/item/mecha_parts/part/phazon_left_arm name="\improper Phazon left arm" @@ -267,51 +302,6 @@ desc="Phazon armor plates. They are layered with plasma to protect the pilot from the stress of phasing and have unusual properties." icon_state = "phazon_armor" origin_tech = "materials=4;bluespace=4;plasmatech=5" -///////// Odysseus - - -/obj/item/mecha_parts/chassis/odysseus - name = "\improper Odysseus chassis" - -/obj/item/mecha_parts/chassis/odysseus/New() - ..() - construct = new /datum/construction/mecha/odysseus_chassis(src) - -/obj/item/mecha_parts/part/odysseus_head - name = "\improper Odysseus head" - desc = "An Odysseus head. Contains an integrated medical HUD scanner." - icon_state = "odysseus_head" - origin_tech = "programming=2;materials=2" - -/obj/item/mecha_parts/part/odysseus_torso - name = "\improper Odysseus torso" - desc="A torso part of Odysseus. Contains power unit, processing core and life support systems along with an attachment port for a mounted sleeper." - icon_state = "odysseus_torso" - origin_tech = "programming=2;materials=2;biotech=2;engineering=2" - -/obj/item/mecha_parts/part/odysseus_left_arm - name = "\improper Odysseus left arm" - desc = "An Odysseus left arm. Data and power sockets are compatible with specialized medical equipment." - icon_state = "odysseus_l_arm" - origin_tech = "programming=2;materials=2;engineering=2" - -/obj/item/mecha_parts/part/odysseus_right_arm - name = "\improper Odysseus right arm" - desc = "An Odysseus right arm. Data and power sockets are compatible with specialized medical equipment." - icon_state = "odysseus_r_arm" - origin_tech = "programming=2;materials=2;engineering=2" - -/obj/item/mecha_parts/part/odysseus_left_leg - name = "\improper Odysseus left leg" - desc = "An Odysseus left leg. Contains complex servodrives and balance maintaining systems to maintain stability for critical patients." - icon_state = "odysseus_l_leg" - origin_tech = "programming=2;materials=2;engineering=2" - -/obj/item/mecha_parts/part/odysseus_right_leg - name = "\improper Odysseus right leg" - desc = "A Odysseus right leg. Contains complex servodrives and balance maintaining systems to maintain stability for critical patients." - icon_state = "odysseus_r_leg" - origin_tech = "programming=2;materials=2;engineering=2" ///////// Circuitboards @@ -329,7 +319,7 @@ throw_range = 7 /obj/item/weapon/circuitboard/mecha/ripley - origin_tech = "programming=3" + origin_tech = "programming=2" /obj/item/weapon/circuitboard/mecha/ripley/peripherals name = "circuit board (Ripley Peripherals Control module)" @@ -340,7 +330,7 @@ icon_state = "mainboard" /obj/item/weapon/circuitboard/mecha/gygax - origin_tech = "programming=4" + origin_tech = "programming=4;combat=3;engineering=3" /obj/item/weapon/circuitboard/mecha/gygax/peripherals name = "circuit board (Gygax Peripherals Control module)" @@ -356,7 +346,7 @@ icon_state = "mainboard" /obj/item/weapon/circuitboard/mecha/durand - origin_tech = "programming=4" + origin_tech = "programming=4;combat=3;engineering=3" /obj/item/weapon/circuitboard/mecha/durand/peripherals name = "circuit board (Durand Peripherals Control module)" @@ -365,14 +355,14 @@ /obj/item/weapon/circuitboard/mecha/durand/targeting name = "circuit board (Durand Weapon Control and Targeting module)" icon_state = "mcontroller" - origin_tech = "programming=4;combat=4" + origin_tech = "programming=4;combat=4;engineering=3" /obj/item/weapon/circuitboard/mecha/durand/main name = "circuit board (Durand Central Control module)" icon_state = "mainboard" /obj/item/weapon/circuitboard/mecha/honker - origin_tech = "programming=3" + origin_tech = "programming=3;engineering=3" /obj/item/weapon/circuitboard/mecha/honker/peripherals name = "circuit board (H.O.N.K Peripherals Control module)" @@ -387,7 +377,7 @@ icon_state = "mainboard" /obj/item/weapon/circuitboard/mecha/odysseus - origin_tech = "programming=3" + origin_tech = "programming=3;biotech=3" /obj/item/weapon/circuitboard/mecha/odysseus/peripherals name = "circuit board (Odysseus Peripherals Control module)" @@ -398,7 +388,7 @@ icon_state = "mainboard" /obj/item/weapon/circuitboard/mecha/phazon - origin_tech = "programming=4" + origin_tech = "programming=5;plasmatech=4" /obj/item/weapon/circuitboard/mecha/phazon/peripherals name = "circuit board (Phazon Peripherals Control module)" diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index a0b88722472..c3c90724557 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -6,7 +6,7 @@ desc = "Protected by FRM." icon = 'icons/obj/module.dmi' icon_state = "cyborg_upgrade" - origin_tech = "programming=4" + origin_tech = "programming=2" var/locked = 0 var/installed = 0 var/require_module = 0 @@ -96,7 +96,7 @@ desc = "Used to kick in a cyborg's VTEC systems, increasing their speed." icon_state = "cyborg_upgrade2" require_module = 1 - origin_tech = "engineering=4;materials=5" + origin_tech = "engineering=4;materials=5;programming=4" /obj/item/borg/upgrade/vtec/action(mob/living/silicon/robot/R) if(..()) @@ -116,7 +116,7 @@ icon_state = "cyborg_upgrade3" require_module = 1 module_type = /obj/item/weapon/robot_module/security - origin_tech = "engineering=4;powerstorage=4" + origin_tech = "engineering=4;powerstorage=4;combat=4" /obj/item/borg/upgrade/disablercooler/action(mob/living/silicon/robot/R) if(..()) @@ -158,7 +158,7 @@ icon_state = "cyborg_upgrade3" require_module = 1 module_type = /obj/item/weapon/robot_module/miner - origin_tech = "engineering=5;materials=5" + origin_tech = "engineering=4;materials=5" /obj/item/borg/upgrade/ddrill/action(mob/living/silicon/robot/R) if(..()) @@ -180,7 +180,7 @@ icon_state = "cyborg_upgrade3" require_module = 1 module_type = /obj/item/weapon/robot_module/miner - origin_tech = "engineering=5;materials=5;bluespace=3" + origin_tech = "engineering=4;materials=4;bluespace=4" /obj/item/borg/upgrade/soh/action(mob/living/silicon/robot/R) if(..()) diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm index 753d6aeec42..e93d4224748 100644 --- a/code/modules/assembly/flash.dm +++ b/code/modules/assembly/flash.dm @@ -197,4 +197,3 @@ item_state = "nullrod" /obj/item/device/assembly/flash/handheld //this is now the regular pocket flashes - origin_tech = "magnets=2;combat=2" diff --git a/code/modules/research/designs/mecha_designs.dm b/code/modules/research/designs/mecha_designs.dm index f9e573f6b14..6805fac443e 100644 --- a/code/modules/research/designs/mecha_designs.dm +++ b/code/modules/research/designs/mecha_designs.dm @@ -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" = 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/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" = 4) + 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" = 6, "powerstorage" = 5) + 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") \ No newline at end of file + category = list("Exosuit Equipment") diff --git a/code/modules/research/designs/mechfabricator_designs.dm b/code/modules/research/designs/mechfabricator_designs.dm index 98139b4326f..0518e393ecd 100644 --- a/code/modules/research/designs/mechfabricator_designs.dm +++ b/code/modules/research/designs/mechfabricator_designs.dm @@ -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") diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index 24484e24c4d..2bdf34d70fb 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -45,17 +45,6 @@ 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 - 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." From 10a483d16576bb8d57bc6088bd18d051cea2bc3d Mon Sep 17 00:00:00 2001 From: LatD Date: Tue, 24 May 2016 21:00:42 +0300 Subject: [PATCH 12/21] Stat logging for high R&D levels --- code/modules/research/rdconsole.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 2d4b4f7cce2..b0459141634 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -266,6 +266,9 @@ proc/CallMaterialName(ID) 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. From 27e4f0e3ac3668917b31ec26534bc6affa3e0315 Mon Sep 17 00:00:00 2001 From: LatD Date: Tue, 24 May 2016 22:39:34 +0300 Subject: [PATCH 13/21] Missing parenthesis --- code/game/machinery/machinery.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index 10d2a4b0d80..30e5d2f5e83 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -389,7 +389,7 @@ Class Procs: return 0 /obj/machinery/proc/exchange_parts(mob/user, obj/item/weapon/storage/part_replacer/W) - if(!istype(W) + if(!istype(W)) return if(flags & NODECONSTRUCT && !W.works_from_distance) return From e7d5be221efeddd80694ea0c4d05addfb2410a58 Mon Sep 17 00:00:00 2001 From: LatD Date: Tue, 24 May 2016 23:04:00 +0300 Subject: [PATCH 14/21] Small fixes and changes --- .../reagents/reagent_containers/syringes.dm | 5 ++++- .../modules/research/designs/medical_designs.dm | 17 +++++++---------- code/modules/surgery/organs/augments_arms.dm | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 26b52650670..5e7333aa0de 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -261,15 +261,18 @@ desc = "An advanced syringe that can hold 60 units of chemicals" amount_per_transfer_from_this = 20 volume = 60 + origin_tech = "bluespace=4;materials=4;biotech=4" /obj/item/weapon/reagent_containers/syringe/noreact name = "cryo syringe" desc = "An advanced syringe that stops reagents inside from reacting. It can hold up to 20 units." volume = 20 flags = NOREACT + origin_tech = "materials=3;engineering=3" /obj/item/weapon/reagent_containers/syringe/piercing name = "piercing syringe" desc = "A diamond-tipped syringe that pierces armor when launched at high velocity. It can hold up to 10 units." volume = 10 - projectile_type = /obj/item/projectile/bullet/dart/syringe/piercing \ No newline at end of file + projectile_type = /obj/item/projectile/bullet/dart/syringe/piercing + origin_tech = "combat=3;materials=4;engineering=5" diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index 7abecb9290c..240f2e9ca47 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -53,7 +53,7 @@ build_type = PROTOLATHE 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" @@ -69,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") @@ -91,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" = 6) 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") @@ -102,7 +99,7 @@ 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" = 5, "materials" = 4, "plasmatech" = 4miscellaneousmiscellaneous) + req_tech = list("bluespace" = 5, "materials" = 4, "plasmatech" = 4) build_type = PROTOLATHE materials = list(MAT_METAL = 3000, MAT_PLASMA = 2000, MAT_DIAMOND = 500) build_path = /obj/item/bodybag/bluespace @@ -148,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 diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm index 8e81b27adb0..3cdf2328b19 100644 --- a/code/modules/surgery/organs/augments_arms.dm +++ b/code/modules/surgery/organs/augments_arms.dm @@ -168,7 +168,7 @@ /obj/item/organ/cyberimp/arm/toolset name = "integrated toolset implant" desc = "A stripped-down version of engineering cyborg toolset, designed to be installed on subject's arm. Contains all neccessary tools." - origin_tech = "materials=4;engineering=4;biotech=3;powerstorage=4" + origin_tech = "materials=3;engineering=4;biotech=3;powerstorage=4" contents = newlist(/obj/item/weapon/screwdriver/cyborg, /obj/item/weapon/wrench/cyborg, /obj/item/weapon/weldingtool/largetank/cyborg, /obj/item/weapon/crowbar/cyborg, /obj/item/weapon/wirecutters/cyborg, /obj/item/device/multitool/cyborg) From ac11d35ea286fbbafd3e2677f425bdbecc8a2536 Mon Sep 17 00:00:00 2001 From: LatD Date: Wed, 25 May 2016 21:43:19 +0300 Subject: [PATCH 15/21] Bug and runtime fixes --- code/modules/research/designs.dm | 4 +-- code/modules/research/destructive_analyzer.dm | 1 + code/modules/research/rdconsole.dm | 26 +++++++------------ 3 files changed, 13 insertions(+), 18 deletions(-) diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index a2e11a7552e..ac8f6b91fb1 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -303,7 +303,7 @@ datum/design/diagnostic_hud id = "dianostic_hud" req_tech = list("magnets" = 3, "engineering" = 2) build_type = PROTOLATHE - materials = list("metal" = 500, "glass" = 500) + materials = list(MAT_METAL = 500, MAT_GLASS = 500) build_path = /obj/item/clothing/glasses/hud/diagnostic category = list("Equipment") @@ -313,7 +313,7 @@ datum/design/diagnostic_hud_night id = "dianostic_hud_night" req_tech = list("magnets" = 5, "plasmatech" = 4, "engineering" = 6, "powerstorage" = 4) build_type = PROTOLATHE - materials = list("metal" = 600, "glass" = 600, "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") diff --git a/code/modules/research/destructive_analyzer.dm b/code/modules/research/destructive_analyzer.dm index 3220b5b654f..958dd671d4d 100644 --- a/code/modules/research/destructive_analyzer.dm +++ b/code/modules/research/destructive_analyzer.dm @@ -65,4 +65,5 @@ Note: Must be placed within 3 tiles of the R&D Console user << "You add the [O.name] to the [src.name]!" flick("d_analyzer_la", src) spawn(10) + icon_state = "d_analyzer_l" busy = 0 diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 57c21e9b1b2..d85ab69ac13 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -353,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 << "Protolathe is busy at the moment." + 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 @@ -372,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 @@ -423,16 +416,19 @@ proc/CallMaterialName(ID) feedback_add_details("item_printed","[new_item.type]|[amount]") already_logged = 1 screen = old_screen + linked_lathe.busy = 0 else src.visible_message("The [src.name] beeps, \"Something went wrong, production halted!\"") screen = 1.0 - linked_lathe.busy = 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 << "Circuit Imprinter is busy at the moment." + return var/datum/design/being_built = files.known_designs[href_list["imprint"]] if(being_built) var/power = 2000 @@ -441,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)]!") @@ -475,10 +469,10 @@ proc/CallMaterialName(ID) 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("The [src.name] beeps, \"Something went wrong, production halted!\"") screen = 1.0 - linked_imprinter.busy = 0 updateUsrDialog() else if(href_list["disposeI"] && linked_imprinter) //Causes the circuit imprinter to dispose of a single reagent (all of it) From 67190cb762e42c8508e2b21e40e33ac26c7a230b Mon Sep 17 00:00:00 2001 From: LatD Date: Thu, 26 May 2016 23:30:42 +0300 Subject: [PATCH 16/21] Fixes things found in testing --- code/game/machinery/constructable_frame.dm | 2 +- code/game/objects/items/devices/scanners.dm | 2 +- code/game/objects/items/weapons/AI_modules.dm | 2 +- code/modules/clothing/under/miscellaneous.dm | 2 +- code/modules/projectiles/guns/energy/laser.dm | 1 + code/modules/research/designs.dm | 2 +- code/modules/research/designs/machine_designs.dm | 2 +- code/modules/research/designs/medical_designs.dm | 12 ++++++------ code/modules/research/designs/weapon_designs.dm | 12 +----------- code/modules/research/rdconsole.dm | 12 +++++++----- code/modules/surgery/organs/augments_eyes.dm | 2 +- 11 files changed, 22 insertions(+), 29 deletions(-) diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index b8cc6fd972c..e8b358a85cc 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -290,7 +290,7 @@ micro-manipulator, console screen, beaker, Microlaser, matter bin, power cells. /obj/item/weapon/circuitboard/machine/chem_dispenser name = "circuit board (Portable Chem Dispenser)" build_path = /obj/machinery/chem_dispenser/constructable - origin_tech = "engineering=3;programming=4;plasmatech=4;biotech=3" + origin_tech = "materials=4;programming=4;plasmatech=4;biotech=3" req_components = list( /obj/item/weapon/stock_parts/matter_bin = 2, /obj/item/weapon/stock_parts/capacitor = 1, diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 80a2de651bf..04153b9e578 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -325,7 +325,7 @@ MASS SPECTROMETER throw_speed = 3 throw_range = 7 materials = list(MAT_METAL=150, MAT_GLASS=100) - origin_tech = "magnets=2;biotech=2;plasmatech=2" + origin_tech = "magnets=2;biotech=1;plasmatech=2" var/details = 0 /obj/item/device/mass_spectrometer/New() diff --git a/code/game/objects/items/weapons/AI_modules.dm b/code/game/objects/items/weapons/AI_modules.dm index feb9f7f816e..02ad0577d4f 100644 --- a/code/game/objects/items/weapons/AI_modules.dm +++ b/code/game/objects/items/weapons/AI_modules.dm @@ -248,7 +248,7 @@ AI MODULES name = "\improper 'Reset' AI module" var/targetName = "name" desc = "An AI Module for removing all non-core laws." - origin_tech = "programming=4;materials=4" + origin_tech = "programming=3;materials=2" bypass_law_amt_check = 1 /obj/item/weapon/aiModule/reset/transmitInstructions(datum/ai_laws/law_datum, mob/sender) diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index e5b93bac793..3aa32345fc8 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -566,7 +566,7 @@ name = "Plasma-man jumpsuit refill pack" desc = "A compressed water pack used to refill plasma-man jumpsuit auto-extinguishers." icon_state = "plasmarefill" - origin_tech = "materials=2;plasmatech=3" + origin_tech = "materials=2;plasmatech=3;biotech=1" /obj/item/clothing/under/rank/security/navyblue/russian name = "russian officer's uniform" diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index ade5e2bc394..408d51522c3 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -13,6 +13,7 @@ /obj/item/weapon/gun/energy/laser/practice name = "practice laser gun" desc = "A modified version of the basic laser gun, this one fires less concentrated energy bolts designed for target practice." + origin_tech = "combat=2;magnets=2" ammo_type = list(/obj/item/ammo_casing/energy/laser/practice) clumsy_check = 0 needs_permit = 0 diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index ac8f6b91fb1..1204ac11d3a 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -216,7 +216,7 @@ 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" = 6, "materials" = 5, "engineering" = 4, "plasmatech" = 4) + 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) build_path = /obj/item/weapon/storage/backpack/holding diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index 2cdec257228..6a0bf146ea3 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -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" = 5, "biotech" = 3, "engineering" = 4, "plasmatech" = 4) + 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 diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index 240f2e9ca47..e599fc862c2 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -7,7 +7,7 @@ name = "Mass-Spectrometer" desc = "A device for analyzing chemicals in the blood." id = "mass_spectrometer" - req_tech = list("biotech" = 2, "magnets" = 2, "plasmatech" = 2) + req_tech = list("magnets" = 2, "plasmatech" = 2) build_type = PROTOLATHE materials = list(MAT_METAL = 300, MAT_GLASS = 100) build_path = /obj/item/device/mass_spectrometer @@ -89,7 +89,7 @@ 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" = 5, "combat" = 3, "engineering" = 6) + req_tech = list("materials" = 5, "combat" = 3, "engineering" = 7) build_type = PROTOLATHE materials = list(MAT_GLASS = 4000, MAT_DIAMOND = 1500) build_path = /obj/item/weapon/reagent_containers/syringe/piercing @@ -123,7 +123,7 @@ 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" = 3, "engineering" = 3) + req_tech = list("materials" = 4, "biotech" = 4, "engineering" = 5, "plasmatech" = 4) build_type = PROTOLATHE | MECHFAB construction_time = 40 materials = list(MAT_METAL = 600, MAT_GLASS = 400) @@ -178,7 +178,7 @@ name = "X-Ray implant" desc = "These cybernetic eyes will give you X-ray vision. Blinking is futile." id = "ci-xray" - req_tech = list("materials" = 5, "programming" = 5, "biotech" = 7, "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 = 600, MAT_GLASS = 600, MAT_SILVER = 600, MAT_GOLD = 600, MAT_PLASMA = 1000, MAT_URANIUM = 1000, MAT_DIAMOND = 2000) @@ -189,7 +189,7 @@ 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" = 6, "magnets" = 5,"plasmatech" = 4) + req_tech = list("materials" = 6, "programming" = 4, "biotech" = 7, "magnets" = 5,"plasmatech" = 4) build_type = PROTOLATHE | MECHFAB construction_time = 60 materials = list(MAT_METAL = 600, MAT_GLASS = 600, MAT_SILVER = 600, MAT_GOLD = 600, MAT_PLASMA = 1000, MAT_DIAMOND = 2000) @@ -255,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" = 5, "biotech" = 5, "magnets" = 4, "engineering" = 6) + 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) diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index 065cbb15f51..9c8d3b50fa9 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -177,21 +177,11 @@ build_path = /obj/item/weapon/gun/energy/ionrifle/carbine category = list("Weapons") -/datum/design/gatling - name = "Laser Gatling Gun" - desc = "A massive weapon with a backpack mounted power source." - id = "gatlinggun" - req_tech = list("combat" = 7, "powerstorage" = 6, "magnets" = 5) - build_type = PROTOLATHE - materials = list(MAT_METAL = 40000, MAT_SILVER = 6000, MAT_DIAMOND = 8000, MAT_URANIUM = 15000) - build_path = /obj/item/weapon/minigunpack - category = list("Weapons") - /datum/design/wormhole_projector name = "Bluespace Wormhole Projector" desc = "A projector that emits high density quantum-coupled bluespace beams." id = "wormholeprojector" - req_tech = list("combat" = 5, "engineering" = 5, "bluespace" = 7, "plasmatech" = 5) + req_tech = list("combat" = 5, "engineering" = 5, "bluespace" = 7, "plasmatech" = 6) build_type = PROTOLATHE materials = list(MAT_SILVER = 2000, MAT_METAL = 5000, MAT_DIAMOND = 3000) build_path = /obj/item/weapon/gun/energy/wormhole_projector diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index d85ab69ac13..db1182736de 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -250,7 +250,7 @@ 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) @@ -994,6 +994,7 @@ proc/CallMaterialName(ID) dat += "Material Amount: [linked_imprinter.TotalMaterials()]
" dat += "Chemical Volume: [linked_imprinter.reagents.total_volume]
" + 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 += " [D.materials[M]] [CallMaterialName(M)]" + temp_materials += " [D.materials[M]/coeff] [CallMaterialName(M)]" else - temp_materials += " [D.materials[M]] [CallMaterialName(M)]" + temp_materials += " [D.materials[M]/coeff] [CallMaterialName(M)]" if (check_materials) dat += "[D.name][temp_materials]
" else @@ -1020,6 +1021,7 @@ proc/CallMaterialName(ID) dat += "Material Amount: [linked_imprinter.TotalMaterials()]
" dat += "Chemical Volume: [linked_imprinter.reagents.total_volume]
" + var/coeff = linked_imprinter.efficiency_coeff for(var/datum/design/D in 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 += " [D.materials[M]] [CallMaterialName(M)]" + temp_materials += " [D.materials[M]/coeff] [CallMaterialName(M)]" else - temp_materials += " [D.materials[M]] [CallMaterialName(M)]" + temp_materials += " [D.materials[M]/coeff] [CallMaterialName(M)]" if (check_materials) dat += "[D.name][temp_materials]
" else diff --git a/code/modules/surgery/organs/augments_eyes.dm b/code/modules/surgery/organs/augments_eyes.dm index 77383f863cb..50c3875f258 100644 --- a/code/modules/surgery/organs/augments_eyes.dm +++ b/code/modules/surgery/organs/augments_eyes.dm @@ -112,7 +112,7 @@ name = "welding shield implant" desc = "These reactive micro-shields will protect you from welders and flashes without obscuring your vision." slot = "eye_shield" - origin_tech = "materials=3;biotech=3;engineering=3" + origin_tech = "materials=4;biotech=3;engineering=4;plasmatech=3" implant_color = "#101010" flash_protect = 2 aug_message = null From b462168ee59f4d8135291cbc23dd23a36055984e Mon Sep 17 00:00:00 2001 From: LatD Date: Fri, 27 May 2016 20:19:06 +0300 Subject: [PATCH 17/21] Fix 1 --- code/modules/research/rdconsole.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index db1182736de..6b73ffa3f02 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -453,11 +453,11 @@ 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]/coeff) From f3f28d62fe43293ac44c63d808fc8066c0c10dd1 Mon Sep 17 00:00:00 2001 From: LatD Date: Fri, 27 May 2016 20:22:08 +0300 Subject: [PATCH 18/21] Fix 2 --- code/modules/research/circuitprinter.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm index 7183b72080f..0da4c5e927e 100644 --- a/code/modules/research/circuitprinter.dm +++ b/code/modules/research/circuitprinter.dm @@ -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) From a903b4cc799373801d923b0d1f5e09214d941574 Mon Sep 17 00:00:00 2001 From: LatD Date: Sat, 28 May 2016 01:25:33 +0300 Subject: [PATCH 19/21] merge conflicts? --- code/modules/research/circuitprinter.dm | 6 +++--- code/modules/research/rdconsole.dm | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm index 7183b72080f..0da4c5e927e 100644 --- a/code/modules/research/circuitprinter.dm +++ b/code/modules/research/circuitprinter.dm @@ -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) diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index db1182736de..6b73ffa3f02 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -453,11 +453,11 @@ 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]/coeff) From 712c4e81a857febf31a1909bd357b3a2d235e2ef Mon Sep 17 00:00:00 2001 From: LatD Date: Sat, 28 May 2016 13:11:57 +0300 Subject: [PATCH 20/21] Code review improvements --- code/game/machinery/machinery.dm | 2 +- code/game/objects/items/weapons/storage/backpack.dm | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index 30e5d2f5e83..7207a48eca0 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -391,7 +391,7 @@ Class Procs: /obj/machinery/proc/exchange_parts(mob/user, obj/item/weapon/storage/part_replacer/W) if(!istype(W)) return - if(flags & NODECONSTRUCT && !W.works_from_distance) + if((flags & NODECONSTRUCT) && !W.works_from_distance) return var/shouldplaysound = 0 if(component_parts) diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index 58c8b914446..4577b3bae40 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -50,9 +50,6 @@ qdel(user) return -/obj/item/weapon/storage/backpack/holding/can_be_inserted(obj/item/W, stop_messages = 0, mob/user) - return ..() - /obj/item/weapon/storage/backpack/holding/content_can_dump(atom/dest_object, mob/user) if(Adjacent(user)) if(get_dist(user, dest_object) < 8) From c2f604a74a930a1e3d8c62befab2aecd63a156b3 Mon Sep 17 00:00:00 2001 From: LatD Date: Mon, 30 May 2016 21:46:42 +0300 Subject: [PATCH 21/21] Quick fix --- code/modules/power/cell.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 102487e98a9..3cb37835d23 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -76,6 +76,7 @@ if(maxcharge < amount) amount = maxcharge var/power_used = min(maxcharge-charge,amount) + charge += power_used return power_used /obj/item/weapon/stock_parts/cell/examine(mob/user)