From b65c7a36df4eb16b43c81fe24973a3ab700ba2f4 Mon Sep 17 00:00:00 2001 From: Iamgoofball Date: Fri, 5 Jun 2015 23:56:09 -0700 Subject: [PATCH] Upgrade Update: Bluespace Boogaloo --- code/game/gamemodes/objective.dm | 2 +- code/game/machinery/constructable_frame.dm | 28 ++++++ .../food&drinks/kitchen machinery/gibber.dm | 80 ++++++++++++------ .../kitchen machinery/microwave.dm | 7 +- .../kitchen machinery/processor.dm | 67 +++++++++++---- .../kitchen machinery/smartfridge.dm | 2 +- code/modules/hydroponics/biogenerator.dm | 12 ++- code/modules/hydroponics/hydroponics.dm | 65 ++++++++------ code/modules/power/cell.dm | 13 +++ code/modules/power/singularity/emitter.dm | 40 ++++++++- .../research/designs/machine_designs.dm | 12 ++- .../modules/research/designs/power_designs.dm | 13 +++ .../research/designs/stock_parts_designs.dm | 55 ++++++++++++ code/modules/research/stock_parts.dm | 45 ++++++++++ icons/obj/power.dmi | Bin 23326 -> 23549 bytes icons/obj/stock_parts.dmi | Bin 10834 -> 13157 bytes 16 files changed, 364 insertions(+), 77 deletions(-) diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm index e40d8bc6b3a..34097634102 100644 --- a/code/game/gamemodes/objective.dm +++ b/code/game/gamemodes/objective.dm @@ -209,7 +209,7 @@ if(/mob/living/silicon/ai, /mob/living/silicon/pai) continue if(get_area(player) == A) - if(!player.mind.special_role && !istype(get_turf(player.mind.current), /turf/simulated/shuttle/floor4)) + if(!player.mind.special_role && !istype(get_turf(player.mind.current), /turf/simulated/floor/plasteel/shuttle/red)) return 0 return 1 diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm index 4f7c4dfad82..85a817974bf 100644 --- a/code/game/machinery/constructable_frame.dm +++ b/code/game/machinery/constructable_frame.dm @@ -265,6 +265,15 @@ to destroy them and players will be able to make replacements. /obj/item/weapon/stock_parts/cell = 5, /obj/item/weapon/stock_parts/capacitor = 1) +/obj/item/weapon/circuitboard/emitter + name = "circuit board (Emitter)" + build_path = /obj/machinery/power/emitter + board_type = "machine" + origin_tech = "programming=4;powerstorage=5;engineering=5" + req_components = list( + /obj/item/weapon/stock_parts/micro_laser = 1, + /obj/item/weapon/stock_parts/manipulator = 1) + /obj/item/weapon/circuitboard/power_compressor name = "circuit board (Power Compressor)" build_path = /obj/machinery/power/compressor @@ -384,6 +393,7 @@ to destroy them and players will be able to make replacements. origin_tech = "programming=1;biotech=1" req_components = list( /obj/item/weapon/stock_parts/matter_bin = 2, + /obj/item/weapon/stock_parts/manipulator = 1, /obj/item/weapon/stock_parts/console_screen = 1) /obj/item/weapon/circuitboard/microwave @@ -396,6 +406,24 @@ to destroy them and players will be able to make replacements. /obj/item/stack/cable_coil = 2, /obj/item/weapon/stock_parts/console_screen = 1) +/obj/item/weapon/circuitboard/gibber + name = "circuit board (Gibber)" + build_path = /obj/machinery/gibber + board_type = "machine" + origin_tech = "programming=1" + req_components = list( + /obj/item/weapon/stock_parts/matter_bin = 1, + /obj/item/weapon/stock_parts/manipulator = 1) + +/obj/item/weapon/circuitboard/processor + name = "circuit board (Food processor)" + build_path = /obj/machinery/processor + board_type = "machine" + origin_tech = "programming=1" + req_components = list( + /obj/item/weapon/stock_parts/matter_bin = 1, + /obj/item/weapon/stock_parts/manipulator = 1) + /obj/item/weapon/circuitboard/chem_dispenser name = "circuit board (Portable Chem Dispenser)" build_path = /obj/machinery/chem_dispenser/constructable diff --git a/code/modules/food&drinks/kitchen machinery/gibber.dm b/code/modules/food&drinks/kitchen machinery/gibber.dm index 38a52ffa9ff..fa7a491eab7 100644 --- a/code/modules/food&drinks/kitchen machinery/gibber.dm +++ b/code/modules/food&drinks/kitchen machinery/gibber.dm @@ -10,6 +10,8 @@ var/dirty = 0 // Does it need cleaning? var/gibtime = 40 // Time from starting until meat appears var/typeofmeat = /obj/item/weapon/reagent_containers/food/snacks/meat/ + var/meat_produced = 0 + var/ignore_clothing = 0 use_power = 1 idle_power_usage = 2 active_power_usage = 500 @@ -47,6 +49,21 @@ /obj/machinery/gibber/New() ..() src.overlays += image('icons/obj/kitchen.dmi', "grjam") + component_parts = list() + component_parts += new /obj/item/weapon/circuitboard/gibber(null) + component_parts += new /obj/item/weapon/stock_parts/matter_bin(null) + component_parts += new /obj/item/weapon/stock_parts/manipulator(null) + RefreshParts() + +/obj/machinery/gibber/RefreshParts() + var/gib_time = 40 + for(var/obj/item/weapon/stock_parts/matter_bin/B in component_parts) + meat_produced += 3 * B.rating + for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) + gib_time -= 5 * M.rating + gibtime = gib_time + if(M.rating >= 2) + ignore_clothing = 1 /obj/machinery/gibber/update_icon() overlays.Cut() @@ -77,29 +94,43 @@ else src.startgibbing(user) -/obj/machinery/gibber/attackby(obj/item/weapon/grab/G as obj, mob/user as mob, params) - if(default_unfasten_wrench(user, G)) +/obj/machinery/gibber/attackby(obj/item/P as obj, mob/user as mob, params) + if (istype(P, /obj/item/weapon/grab)) + var/obj/item/weapon/grab/G = P + if(!istype(G.affecting, /mob/living/carbon/human)) + user << "This item is not suitable for the gibber!" + return + if(G.affecting.abiotic(1) && !ignore_clothing) + user << "Subject may not have abiotic items on." + return + + user.visible_message("[user] starts to put [G.affecting] into the gibber!") + src.add_fingerprint(user) + if(do_after(user, 30) && G && G.affecting && !occupant) + user.visible_message("[user] stuffs [G.affecting] into the gibber!") + var/mob/M = G.affecting + if(M.client) + M.client.perspective = EYE_PERSPECTIVE + M.client.eye = src + M.loc = src + src.occupant = M + qdel(G) + update_icon() + + if(default_deconstruction_screwdriver(user, "grinder", "grinder", P)) return - if (!( istype(G, /obj/item/weapon/grab)) || !(istype(G.affecting, /mob/living/carbon/human))) - user << "This item is not suitable for the gibber!" - return - if(G.affecting.abiotic(1)) - user << "Subject may not have abiotic items on." + if(exchange_parts(user, P)) return - user.visible_message("[user] starts to put [G.affecting] into the gibber!") - src.add_fingerprint(user) - if(do_after(user, 30) && G && G.affecting && !occupant) - user.visible_message("[user] stuffs [G.affecting] into the gibber!") - var/mob/M = G.affecting - if(M.client) - M.client.perspective = EYE_PERSPECTIVE - M.client.eye = src - M.loc = src - src.occupant = M - qdel(G) - update_icon() + if(default_pry_open(P)) + return + + if(default_unfasten_wrench(user, P)) + return + + default_deconstruction_crowbar(P) + /obj/machinery/gibber/verb/eject() @@ -131,9 +162,8 @@ var/sourcejob = src.occupant.job var/sourcenutriment = src.occupant.nutrition / 15 var/sourcetotalreagents = src.occupant.reagents.total_volume - var/totalslabs = 3 - var/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/allmeat[totalslabs] + var/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/allmeat[meat_produced] if(ishuman(occupant)) var/mob/living/carbon/human/gibee = occupant @@ -141,13 +171,13 @@ typeofmeat = gibee.dna.species.meat else typeofmeat = /obj/item/weapon/reagent_containers/food/snacks/meat/slab/human - for (var/i=1 to totalslabs) + for (var/i=1 to meat_produced) var/obj/item/weapon/reagent_containers/food/snacks/meat/slab/human/newmeat = new typeofmeat newmeat.name = sourcename + newmeat.name newmeat.subjectname = sourcename newmeat.subjectjob = sourcejob - newmeat.reagents.add_reagent ("nutriment", sourcenutriment / totalslabs) // Thehehe. Fat guys go first - src.occupant.reagents.trans_to (newmeat, round (sourcetotalreagents / totalslabs, 1)) // Transfer all the reagents from the + newmeat.reagents.add_reagent ("nutriment", sourcenutriment / meat_produced) // Thehehe. Fat guys go first + src.occupant.reagents.trans_to (newmeat, round (sourcetotalreagents / meat_produced, 1)) // Transfer all the reagents from the allmeat[i] = newmeat add_logs(user, occupant, "gibbed") @@ -157,7 +187,7 @@ spawn(src.gibtime) playsound(src.loc, 'sound/effects/splat.ogg', 50, 1) operating = 0 - for (var/i=1 to totalslabs) + for (var/i=1 to meat_produced) var/obj/item/meatslab = allmeat[i] var/turf/Tx = locate(src.x - i, src.y, src.z) meatslab.loc = src.loc diff --git a/code/modules/food&drinks/kitchen machinery/microwave.dm b/code/modules/food&drinks/kitchen machinery/microwave.dm index ff196ae88db..c35ffc078f6 100644 --- a/code/modules/food&drinks/kitchen machinery/microwave.dm +++ b/code/modules/food&drinks/kitchen machinery/microwave.dm @@ -12,7 +12,7 @@ var/operating = 0 // Is it on? var/dirty = 0 // = {0..100} Does it need cleaning? var/broken = 0 // ={0,1,2} How broken is it??? - var/global/max_n_of_items = 10 + var/max_n_of_items = 10 // whatever fat fuck made this a global var needs to look at themselves in the mirror sometime var/efficiency = 0 var/microwavepower = 1 @@ -28,15 +28,20 @@ component_parts = list() component_parts += new /obj/item/weapon/circuitboard/microwave(null) component_parts += new /obj/item/weapon/stock_parts/micro_laser(null) + component_parts += new /obj/item/weapon/stock_parts/matter_bin(null) component_parts += new /obj/item/weapon/stock_parts/console_screen(null) component_parts += new /obj/item/stack/cable_coil(null, 2) RefreshParts() /obj/machinery/microwave/RefreshParts() var/E + var/max_items = 10 for(var/obj/item/weapon/stock_parts/micro_laser/M in component_parts) E += M.rating + for(var/obj/item/weapon/stock_parts/matter_bin/M in component_parts) + max_items = 10 * M.rating efficiency = E + max_n_of_items = max_items /******************* * Item Adding diff --git a/code/modules/food&drinks/kitchen machinery/processor.dm b/code/modules/food&drinks/kitchen machinery/processor.dm index cde0bf70683..7128ecb6360 100644 --- a/code/modules/food&drinks/kitchen machinery/processor.dm +++ b/code/modules/food&drinks/kitchen machinery/processor.dm @@ -12,16 +12,32 @@ use_power = 1 idle_power_usage = 5 active_power_usage = 50 + var/rating_speed = 1 + var/rating_amount = 1 +/obj/machinery/processor/New() + ..() + component_parts = list() + component_parts += new /obj/item/weapon/circuitboard/processor(null) + component_parts += new /obj/item/weapon/stock_parts/matter_bin(null) + component_parts += new /obj/item/weapon/stock_parts/manipulator(null) + RefreshParts() +/obj/machinery/processor/RefreshParts() + for(var/obj/item/weapon/stock_parts/matter_bin/B in component_parts) + rating_amount = B.rating + for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) + rating_speed = M.rating /datum/food_processor_process var/input var/output var/time = 40 -/datum/food_processor_process/proc/process_food(loc, what) - if (src.output && loc) - new src.output(loc) +/datum/food_processor_process/proc/process_food(loc, what, var/obj/machinery/processor/processor) + world << "[processor.rating_amount]" + if (src.output && loc && processor) + for(var/i = 0, i < processor.rating_amount, i++) + new src.output(loc) if (what) qdel(what) // Note to self: Make this safer @@ -60,18 +76,18 @@ /* mobs */ -/datum/food_processor_process/mob/process_food(loc, what) +/datum/food_processor_process/mob/process_food(loc, what, processor) ..() -/datum/food_processor_process/mob/slime/process_food(loc, what) +/datum/food_processor_process/mob/slime/process_food(loc, what, var/obj/machinery/processor/processor) var/mob/living/simple_animal/slime/S = what var/C = S.cores if(S.stat != DEAD) S.loc = loc S.visible_message("[C] crawls free of the processor!") return - for(var/i = 1, i <= C, i++) + for(var/i = 1, i <= C * processor.rating_amount, i++) new S.coretype(loc) feedback_add_details("slime_core_harvested","[replacetext(S.colour," ","_")]") ..() @@ -79,7 +95,7 @@ /datum/food_processor_process/mob/slime/input = /mob/living/simple_animal/slime /datum/food_processor_process/mob/slime/output = null -/datum/food_processor_process/mob/monkey/process_food(loc, what) +/datum/food_processor_process/mob/monkey/process_food(loc, what, processor) var/mob/living/carbon/monkey/O = what if (O.client) //grief-proof O.loc = loc @@ -123,8 +139,20 @@ if(src.processing) user << "The processor is in the process of processing!" return 1 + if(default_deconstruction_screwdriver(user, "processor", "processor", O)) + return + + if(exchange_parts(user, O)) + return + + if(default_pry_open(O)) + return + if(default_unfasten_wrench(user, O)) return + + default_deconstruction_crowbar(O) + var/what = O if (istype(O, /obj/item/weapon/grab)) var/obj/item/weapon/grab/G = O @@ -151,20 +179,27 @@ if(src.contents.len == 0) user << "The processor is empty!" return 1 + src.processing = 1 + user.visible_message("[user] turns on [src].", \ + "You turn on [src].", \ + "You hear a food processor.") + playsound(src.loc, 'sound/machines/blender.ogg', 50, 1) + use_power(500) + var/total_time = 0 + for(var/O in src.contents) + var/datum/food_processor_process/P = select_recipe(O) + if (!P) + log_admin("DEBUG: [O] in processor havent suitable recipe. How do you put it in?") //-rastaf0 // DEAR GOD THIS BURNS MY EYES HAVE YOU EVER LOOKED IN AN ENGLISH DICTONARY BEFORE IN YOUR LIFE AAAAAAAAAAAAAAAAAAAAA - Iamgoofball + continue + total_time += P.time + sleep(total_time / rating_speed) for(var/O in src.contents) var/datum/food_processor_process/P = select_recipe(O) if (!P) log_admin("DEBUG: [O] in processor havent suitable recipe. How do you put it in?") //-rastaf0 continue - src.processing = 1 - user.visible_message("[user] turns on \a [src].", \ - "You turn on \a [src].", \ - "You hear a food processor.") - playsound(src.loc, 'sound/machines/blender.ogg', 50, 1) - use_power(500) - sleep(P.time) - P.process_food(src.loc, O) - src.processing = 0 + P.process_food(src.loc, O, src) + src.processing = 0 src.visible_message("\the [src] finishes processing.") /obj/machinery/processor/verb/eject() diff --git a/code/modules/food&drinks/kitchen machinery/smartfridge.dm b/code/modules/food&drinks/kitchen machinery/smartfridge.dm index 9746ee4a83c..f4b50112632 100644 --- a/code/modules/food&drinks/kitchen machinery/smartfridge.dm +++ b/code/modules/food&drinks/kitchen machinery/smartfridge.dm @@ -13,7 +13,7 @@ idle_power_usage = 5 active_power_usage = 100 flags = NOREACT - var/global/max_n_of_items = 999 // Sorry but the BYOND infinite loop detector doesn't like things over 1000. + var/max_n_of_items = 999 // Sorry but the BYOND infinite loop detector doesn't like things over 1000. var/icon_on = "smartfridge" var/icon_off = "smartfridge-off" var/item_quants = list() diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm index 41d7dedaaa5..4ba2414beb7 100644 --- a/code/modules/hydroponics/biogenerator.dm +++ b/code/modules/hydroponics/biogenerator.dm @@ -13,6 +13,7 @@ var/menustat = "menu" var/efficiency = 0 var/productivity = 0 + var/max_items = 40 /obj/machinery/biogenerator/New() ..() @@ -28,12 +29,15 @@ /obj/machinery/biogenerator/RefreshParts() var/E = 0 var/P = 0 + var/max_storage = 40 for(var/obj/item/weapon/stock_parts/matter_bin/B in component_parts) P += B.rating + max_storage = 40 * B.rating for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) E += M.rating efficiency = E productivity = P + max_items = max_storage /obj/machinery/biogenerator/on_reagent_change() //When the reagents change, change the icon as well. update_icon() @@ -65,15 +69,15 @@ var/i = 0 for(var/obj/item/weapon/reagent_containers/food/snacks/grown/G in contents) i++ - if(i >= 10) + if(i >= max_items) user << "The biogenerator is already full! Activate it." else for(var/obj/item/weapon/reagent_containers/food/snacks/grown/G in O.contents) - if(i >= 10) + if(i >= max_items) break G.loc = src i++ - if(i<10) + if(iYou empty the plant bag into the biogenerator." else if(O.contents.len == 0) user << "You empty the plant bag into the biogenerator, filling it to its capacity." @@ -87,7 +91,7 @@ var/i = 0 for(var/obj/item/weapon/reagent_containers/food/snacks/grown/G in contents) i++ - if(i >= 10) + if(i >= max_items) user << "The biogenerator is full! Activate it." else user.unEquip(O) diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index 78a92dc1481..44475f8d92b 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -22,6 +22,7 @@ var/planted = 0 //Is it occupied? var/harvest = 0 //Ready to harvest? var/obj/item/seeds/myseed = null //The currently planted seed + var/rating = 1 var/unwrenchable = 1 pixel_y=8 @@ -37,22 +38,34 @@ component_parts += new /obj/item/weapon/circuitboard/hydroponics(null) component_parts += new /obj/item/weapon/stock_parts/matter_bin(null) component_parts += new /obj/item/weapon/stock_parts/matter_bin(null) + component_parts += new /obj/item/weapon/stock_parts/manipulator(null) component_parts += new /obj/item/weapon/stock_parts/console_screen(null) RefreshParts() /obj/machinery/hydroponics/constructable/RefreshParts() - var tmp_capacity = 0 + var/tmp_capacity = 0 for (var/obj/item/weapon/stock_parts/matter_bin/M in component_parts) tmp_capacity += M.rating + for (var/obj/item/weapon/stock_parts/manipulator/M in component_parts) + rating = M.rating maxwater = tmp_capacity * 50 // Up to 300 maxnutri = tmp_capacity * 5 // Up to 30 waterlevel = maxwater nutrilevel = 3 /obj/machinery/hydroponics/constructable/attackby(obj/item/I, mob/user, params) + if(default_deconstruction_screwdriver(user, "hydrotray3", "hydrotray3", I)) + return + if(exchange_parts(user, I)) return + if(default_pry_open(I)) + return + + if(default_unfasten_wrench(user, I)) + return + if(istype(I, /obj/item/weapon/crowbar)) if(anchored==2) user << "Unscrew the hoses first!" @@ -89,10 +102,10 @@ mutate() else if(istype(Proj ,/obj/item/projectile/energy/florayield)) if(myseed.yield == 0)//Oh god don't divide by zero you'll doom us all. - adjustSYield(1) + adjustSYield(1 * rating) //world << "Yield increased by 1, from 0, to a total of [myseed.yield]" else if(prob(1/(myseed.yield * myseed.yield) * 100))//This formula gives you diminishing returns based on yield. 100% with 1 yield, decreasing to 25%, 11%, 6, 4, 2... - adjustSYield(1) + adjustSYield(1 * rating) //world << "Yield increased by 1, to a total of [myseed.yield]" else ..() @@ -115,7 +128,7 @@ //Nutrients////////////////////////////////////////////////////////////// // Nutrients deplete slowly if(prob(50)) - adjustNutri(-1) + adjustNutri(-1 / rating) // Lack of nutrients hurts non-weeds if(nutrilevel <= 0 && myseed.plant_type != 1) @@ -128,56 +141,56 @@ var/lightAmt = currentTurf.lighting_lumcount if(myseed.plant_type == 2) // Mushroom if(lightAmt < 2) - adjustHealth(-1) + adjustHealth(-1 / rating) else // Non-mushroom if(lightAmt < 4) - adjustHealth(-2) + adjustHealth(-2 / rating) //Water////////////////////////////////////////////////////////////////// // Drink random amount of water - adjustWater(-rand(1,6)) + adjustWater(-rand(1,6) / rating) // If the plant is dry, it loses health pretty fast, unless mushroom if(waterlevel <= 10 && myseed.plant_type != 2) - adjustHealth(-rand(0,1)) + adjustHealth(-rand(0,1) / rating) if(waterlevel <= 0) - adjustHealth(-rand(0,2)) + adjustHealth(-rand(0,2) / rating) // Sufficient water level and nutrient level = plant healthy else if(waterlevel > 10 && nutrilevel > 0) - adjustHealth(rand(1,2)) + adjustHealth(rand(1,2) / rating) if(prob(5)) //5 percent chance the weed population will increase - adjustWeeds(1) + adjustWeeds(1 / rating) //Toxins///////////////////////////////////////////////////////////////// // Too much toxins cause harm, but when the plant drinks the contaiminated water, the toxins disappear slowly if(toxic >= 40 && toxic < 80) - adjustHealth(-1) - adjustToxic(-rand(1,10)) + adjustHealth(-1 / rating) + adjustToxic(-rand(1,10) / rating) else if(toxic >= 80) // I don't think it ever gets here tbh unless above is commented out adjustHealth(-3) - adjustToxic(-rand(1,10)) + adjustToxic(-rand(1,10) / rating) //Pests & Weeds////////////////////////////////////////////////////////// else if(pestlevel >= 5) - adjustHealth(-1) + adjustHealth(-1 / rating) // If it's a weed, it doesn't stunt the growth if(weedlevel >= 5 && myseed.plant_type != 1 ) - adjustHealth(-1) + adjustHealth(-1 / rating) //Health & Age/////////////////////////////////////////////////////////// // Plant dies if health <= 0 if(health <= 0) plantdies() - adjustWeeds(1) // Weeds flourish + adjustWeeds(1 / rating) // Weeds flourish // If the plant is too old, lose health fast if(age > myseed.lifespan) - adjustHealth(-rand(1,5)) + adjustHealth(-rand(1,5) / rating) // Harvest code if(age > myseed.production && (age - lastproduce) > myseed.production && (!harvest && !dead)) @@ -187,10 +200,10 @@ else lastproduce = age if(prob(5)) // On each tick, there's a 5 percent chance the pest population will increase - adjustPests(1) + adjustPests(1 / rating) else if(waterlevel > 10 && nutrilevel > 0 && prob(10)) // If there's no plant, the percentage chance is 10% - adjustWeeds(1) + adjustWeeds(1 / rating) // Weeeeeeeeeeeeeeedddssss @@ -436,18 +449,18 @@ // Nutriments if(S.has_reagent("eznutriment", 1)) - yieldmod = 1 - mutmod = 1 + yieldmod = 1 * rating + mutmod = 1 * rating adjustNutri(round(S.get_reagent_amount("eznutriment") * 1)) if(S.has_reagent("left4zednutriment", 1)) - yieldmod = 0 - mutmod = 2 + yieldmod = 0 * rating + mutmod = 2 * rating adjustNutri(round(S.get_reagent_amount("left4zednutriment") * 1)) if(S.has_reagent("robustharvestnutriment", 1)) - yieldmod = 2 - mutmod = 0 + yieldmod = 2 * rating + mutmod = 0 * rating adjustNutri(round(S.get_reagent_amount("robustharvestnutriment") *1 )) // Antitoxin binds shit pretty well. So the tox goes significantly down diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 125d19729e9..849c404c9fd 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -217,6 +217,19 @@ ..() charge = 0 +/obj/item/weapon/stock_parts/cell/bluespace + name = "bluespace power cell" + origin_tech = "powerstorage=7" + icon_state = "bscell" + maxcharge = 40000 + g_amt = 80 + rating = 6 + chargerate = 4000 + +/obj/item/weapon/stock_parts/cell/bluespace/empty/New() + ..() + charge = 0 + /obj/item/weapon/stock_parts/cell/infinite name = "infinite-capacity power cell!" icon_state = "icell" diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 9a09974598c..8320aceda54 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -16,11 +16,36 @@ var/active = 0 var/powered = 0 var/fire_delay = 100 + var/maximum_fire_delay = 100 + var/minimum_fire_delay = 20 var/last_shot = 0 var/shot_number = 0 var/state = 0 var/locked = 0 +/obj/machinery/power/emitter/New() + ..() + component_parts = list() + component_parts += new /obj/item/weapon/circuitboard/emitter(null) + component_parts += new /obj/item/weapon/stock_parts/micro_laser(null) + component_parts += new /obj/item/weapon/stock_parts/manipulator(null) + RefreshParts() + +/obj/machinery/power/emitter/RefreshParts() + var/max_firedelay = 120 + var/firedelay = 120 + var/min_firedelay = 24 + var/power_usage = 350 + for(var/obj/item/weapon/stock_parts/micro_laser/L in component_parts) + max_firedelay -= 20 * L.rating + min_firedelay -= 4 * L.rating + firedelay -= 20 * L.rating + maximum_fire_delay = max_firedelay + minimum_fire_delay = min_firedelay + fire_delay = firedelay + for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts) + power_usage -= 50 * M.rating + active_power_usage = power_usage /obj/machinery/power/emitter/verb/rotate() set name = "Rotate" @@ -71,7 +96,7 @@ src.active = 1 user << "You turn on \the [src]." src.shot_number = 0 - src.fire_delay = 100 + src.fire_delay = maximum_fire_delay investigate_log("turned on by [user.key]","singulo") update_icon() else @@ -119,7 +144,7 @@ src.fire_delay = 2 src.shot_number ++ else - src.fire_delay = rand(20,100) + src.fire_delay = rand(minimum_fire_delay,maximum_fire_delay) src.shot_number = 0 var/obj/item/projectile/beam/emitter/A = PoolOrNew(/obj/item/projectile/beam/emitter,src.loc) @@ -221,6 +246,17 @@ user << "Access denied." return + if(default_deconstruction_screwdriver(user, "emitter", "emitter", W)) + return + + if(exchange_parts(user, W)) + return + + if(default_pry_open(W)) + return + + default_deconstruction_crowbar(W) + ..() return diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index ee333ef117b..6eaa62758d9 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -111,7 +111,7 @@ materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/chem_dispenser category = list ("Medical Machinery") - + /datum/design/chem_master name = "Machine Design (Chem Master Board)" desc = "The circuit board for a Chem Master 2999." @@ -252,6 +252,16 @@ build_path = /obj/item/weapon/circuitboard/microwave category = list ("Misc. Machinery") +/datum/design/microwave + name = "Machine Design (Gibber Board)" + desc = "The circuit board for a gibber." + id = "gibber" + req_tech = list("programming" = 1) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/gibber + category = list ("Misc. Machinery") + /datum/design/autolathe name = "Machine Design (Autolathe Board)" desc = "The circuit board for an autolathe." diff --git a/code/modules/research/designs/power_designs.dm b/code/modules/research/designs/power_designs.dm index ddf3ff047de..f9749c7267b 100644 --- a/code/modules/research/designs/power_designs.dm +++ b/code/modules/research/designs/power_designs.dm @@ -48,6 +48,19 @@ build_path = /obj/item/weapon/stock_parts/cell/hyper category = list("Misc","Power Designs") +/datum/design/bluespace_cell + name = "Bluespace Power Cell" + desc = "A power cell that holds 40000 units of energy." + id = "bluespace_cell" + req_tech = list("powerstorage" = 6, "materials" = 5) + reliability = 70 + build_type = PROTOLATHE | MECHFAB + materials = list("$metal" = 800, "$gold" = 300, "$silver" = 300, "$glass" = 160, "$diamond" = 160) + construction_time=100 + build_path = /obj/item/weapon/stock_parts/cell/bluespace + category = list("Misc","Power Designs") + + /datum/design/light_replacer name = "Light Replacer" desc = "A device to automatically replace lights. Refill with working lightbulbs." diff --git a/code/modules/research/designs/stock_parts_designs.dm b/code/modules/research/designs/stock_parts_designs.dm index 117722ecb4e..997716673bd 100644 --- a/code/modules/research/designs/stock_parts_designs.dm +++ b/code/modules/research/designs/stock_parts_designs.dm @@ -45,6 +45,17 @@ build_path = /obj/item/weapon/stock_parts/capacitor/super category = list("Stock Parts") +/datum/design/quadratic_capacitor + name = "Quadratic Capacitor" + desc = "A stock part used in the construction of various devices." + id = "quadratic_capacitor" + req_tech = list("powerstorage" = 6, "materials" = 5) + build_type = PROTOLATHE + reliability = 71 + materials = list("$metal" = 100, "$glass" = 100, "$diamond" = 40) + build_path = /obj/item/weapon/stock_parts/capacitor/quadratic + category = list("Stock Parts") + //Scanning modules /datum/design/basic_scanning name = "Basic Scanning Module" @@ -77,6 +88,17 @@ build_path = /obj/item/weapon/stock_parts/scanning_module/phasic category = list("Stock Parts") +/datum/design/triphasic_scanning + 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) + build_type = PROTOLATHE + materials = list("$metal" = 100, "$glass" = 40, "$diamond" = 20) + reliability = 72 + build_path = /obj/item/weapon/stock_parts/scanning_module/triphasic + category = list("Stock Parts") + //Maipulators /datum/design/micro_mani name = "Micro Manipulator" @@ -109,6 +131,17 @@ build_path = /obj/item/weapon/stock_parts/manipulator/pico category = list("Stock Parts") +/datum/design/femto_mani + name = "Femto Manipulator" + desc = "A stock part used in the construction of various devices." + id = "femto_mani" + req_tech = list("materials" = 6, "programming" = 3) + build_type = PROTOLATHE + materials = list("$metal" = 60, "$diamond" = 30) + reliability = 73 + build_path = /obj/item/weapon/stock_parts/manipulator/femto + category = list("Stock Parts") + //Micro-lasers /datum/design/basic_micro_laser name = "Basic Micro-Laser" @@ -141,6 +174,17 @@ build_path = /obj/item/weapon/stock_parts/micro_laser/ultra category = list("Stock Parts") +/datum/design/quadultra_micro_laser + 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) + build_type = PROTOLATHE + materials = list("$metal" = 20, "$glass" = 40, "$uranium" = 20, "$diamond" = 20) + reliability = 70 + build_path = /obj/item/weapon/stock_parts/micro_laser/quadultra + category = list("Stock Parts") + /datum/design/basic_matter_bin name = "Basic Matter Bin" desc = "A stock part used in the construction of various devices." @@ -172,6 +216,17 @@ build_path = /obj/item/weapon/stock_parts/matter_bin/super category = list("Stock Parts") +/datum/design/bluespace_matter_bin + name = "Bluespace Matter Bin" + desc = "A stock part used in the construction of various devices." + id = "bluespace_matter_bin" + req_tech = list("materials" = 6) + build_type = PROTOLATHE + materials = list("$metal" = 160, "$diamond" = 200) + reliability = 75 + build_path = /obj/item/weapon/stock_parts/matter_bin/bluespace + category = list("Stock Parts") + //T-Comms devices /datum/design/subspace_ansible name = "Subspace Ansible" diff --git a/code/modules/research/stock_parts.dm b/code/modules/research/stock_parts.dm index e522d1fc166..ee9a8724618 100644 --- a/code/modules/research/stock_parts.dm +++ b/code/modules/research/stock_parts.dm @@ -172,6 +172,51 @@ rating = 3 m_amt = 80 +//Rating 4 + +/obj/item/weapon/stock_parts/capacitor/quadratic + 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" + rating = 4 + m_amt = 50 + g_amt = 50 + +/obj/item/weapon/stock_parts/scanning_module/triphasic + 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" + rating = 4 + m_amt = 50 + g_amt = 20 + +/obj/item/weapon/stock_parts/manipulator/femto + 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" + rating = 4 + m_amt = 30 + +/obj/item/weapon/stock_parts/micro_laser/quadultra + name = "quad-ultra micro-laser" + icon_state = "quadultra_micro_laser" + desc = "A tiny laser used in certain devices." + origin_tech = "magnets=6" + rating = 4 + m_amt = 10 + g_amt = 20 + +/obj/item/weapon/stock_parts/matter_bin/bluespace + name = "bluespace matter bin" + desc = "A container for hold compressed matter awaiting re-construction." + icon_state = "bluespace_matter_bin" + origin_tech = "materials=6" + rating = 4 + m_amt = 80 + // Subspace stock parts /obj/item/weapon/stock_parts/subspace/ansible diff --git a/icons/obj/power.dmi b/icons/obj/power.dmi index 4d6c9a00bbb4f813b9dbcc94be28b7777d655050..f51725357a42a469efdec9ef579dfe278602be7c 100644 GIT binary patch literal 23549 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 literal 23326 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 EUtv8FnE(I) diff --git a/icons/obj/stock_parts.dmi b/icons/obj/stock_parts.dmi index 03e4bae5b5f4955f5a275752a79c99a42f05e031..8b5b5b812e4376f25ea40f1a710fa19f683623e9 100644 GIT binary patch literal 13157 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 U0O?m)h5=Ah(o(FJw|f6S09^Y12mk;8