diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index a943830f3c701..52bdbd213b756 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -48,10 +48,12 @@ return // If we have repair capabilities, repair any damage. - if(weld_rate && occupant.getBruteLoss()) + //if(weld_rate && occupant.getBruteLoss()) //SIERRA-REMOVE + if(weld_rate) //SIERRA-ADD var/repair = weld_rate - use_power_oneoff(weld_power_use * weld_rate, LOCAL) / weld_power_use occupant.adjustBruteLoss(-repair) - if(wire_rate && occupant.getFireLoss()) + //if(wire_rate && occupant.getFireLoss()) //SIERRA-REMOVE + if(wire_rate) //SIERRA-ADD var/repair = wire_rate - use_power_oneoff(wire_power_use * wire_rate, LOCAL) / wire_power_use occupant.adjustFireLoss(-repair) diff --git a/code/modules/detectivework/microscope/dnascanner.dm b/code/modules/detectivework/microscope/dnascanner.dm index 2a366a87e302b..91bc8be7b5492 100644 --- a/code/modules/detectivework/microscope/dnascanner.dm +++ b/code/modules/detectivework/microscope/dnascanner.dm @@ -1,5 +1,6 @@ //DNA machine -/obj/machinery/dnaforensics +//[SIERRA-EDIT] - Complete path refactoring /obj/machinery/dnaforensics originally +/obj/machinery/computer/dnaforensics name = "DNA analyzer" desc = "A high tech machine that is designed to read DNA samples properly." icon = 'icons/obj/machines/forensics/dna_scanner.dmi' @@ -15,7 +16,7 @@ var/last_process_worldtime = 0 var/report_num = 0 -/obj/machinery/dnaforensics/use_tool(obj/item/W, mob/living/user, list/click_params) +/obj/machinery/computer/dnaforensics/use_tool(obj/item/W, mob/living/user, list/click_params) if(!istype(W, /obj/item/forensics/swab)) return .. () @@ -38,7 +39,7 @@ to_chat(user, SPAN_WARNING("\The [src] only accepts used swabs.")) return TRUE -/obj/machinery/dnaforensics/ui_interact(mob/user, ui_key = "main",datum/nanoui/ui = null) +/obj/machinery/computer/dnaforensics/ui_interact(mob/user, ui_key = "main",datum/nanoui/ui = null) if(!is_powered()) return if(user.stat || user.restrained()) return var/list/data = list() @@ -55,7 +56,7 @@ ui.open() ui.set_auto_update(1) -/obj/machinery/dnaforensics/Topic(href, href_list) +/obj/machinery/computer/dnaforensics/Topic(href, href_list) if(..()) return 1 @@ -87,7 +88,7 @@ return 1 -/obj/machinery/dnaforensics/Process() +/obj/machinery/computer/dnaforensics/Process() if(scanning) if(!bloodsamp || bloodsamp.loc != src) bloodsamp = null @@ -101,7 +102,7 @@ scanner_progress = min(100, scanner_progress + scanner_rate * deltaT) last_process_worldtime = world.time -/obj/machinery/dnaforensics/proc/complete_scan() +/obj/machinery/computer/dnaforensics/proc/complete_scan() src.visible_message(SPAN_NOTICE("[icon2html(src, viewers(get_turf(src)))] makes an insistent chime."), 2) update_icon() if(bloodsamp) @@ -125,11 +126,11 @@ update_icon() return -/obj/machinery/dnaforensics/interface_interact(mob/user) +/obj/machinery/computer/dnaforensics/interface_interact(mob/user) ui_interact(user) return TRUE -/obj/machinery/dnaforensics/verb/toggle_lid() +/obj/machinery/computer/dnaforensics/verb/toggle_lid() set category = "Object" set name = "Toggle Lid" set src in oview(1) @@ -144,7 +145,7 @@ closed = !closed src.update_icon() -/obj/machinery/dnaforensics/on_update_icon() +/obj/machinery/computer/dnaforensics/on_update_icon() ClearOverlays() if(panel_open) AddOverlays("[icon_state]_panel") diff --git a/code/modules/detectivework/microscope/microscope.dm b/code/modules/detectivework/microscope/microscope.dm index 878cffa32579f..b8e42648dc6fe 100644 --- a/code/modules/detectivework/microscope/microscope.dm +++ b/code/modules/detectivework/microscope/microscope.dm @@ -1,5 +1,6 @@ //microscope code itself -/obj/machinery/microscope +//[SIERRA-EDIT] - Complete path refactoring /obj/machinery/microscope originally +/obj/machinery/computer/microscope name = "high powered electron microscope" desc = "A highly advanced microscope capable of zooming up to 3000x." icon = 'icons/obj/machines/forensics/microscope.dmi' @@ -10,12 +11,17 @@ var/obj/item/sample = null var/report_num = 0 -/obj/machinery/microscope/Destroy() +/obj/machinery/computer/microscope/Destroy() if(sample) sample.dropInto(loc) ..() -/obj/machinery/microscope/use_tool(obj/item/W, mob/living/user, list/click_params) +/obj/machinery/computer/microscope/use_tool(obj/item/W, mob/living/user, list/click_params) + if(isScrewdriver(W) || isCrowbar(W)) + var/choice = alert("Do you want to use \the [W] on \the [src]?", "Use Tool ", "Yes", "No") + if(choice == "Yes") + return .=..() + if(sample) if (istype(W, /obj/item/evidencebag)) var/obj/item/evidencebag/bag = W @@ -61,7 +67,7 @@ update_icon() return TRUE -/obj/machinery/microscope/physical_attack_hand(mob/user) +/obj/machinery/computer/microscope/physical_attack_hand(mob/user) . = TRUE if(!sample) to_chat(user, SPAN_WARNING("The microscope has no sample to examine.")) @@ -141,7 +147,7 @@ to_chat(user, report.info) return -/obj/machinery/microscope/proc/remove_sample(mob/living/remover) +/obj/machinery/computer/microscope/proc/remove_sample(mob/living/remover) if(!istype(remover) || remover.incapacitated() || !Adjacent(remover)) return if(!sample) @@ -152,17 +158,17 @@ sample = null update_icon() -/obj/machinery/microscope/AltClick() +/obj/machinery/computer/microscope/AltClick() remove_sample(usr) return TRUE -/obj/machinery/microscope/MouseDrop(atom/other) +/obj/machinery/computer/microscope/MouseDrop(atom/other) if(usr == other) remove_sample(usr) else return ..() -/obj/machinery/microscope/on_update_icon() +/obj/machinery/computer/microscope/on_update_icon() ClearOverlays() if(panel_open) AddOverlays("[icon_state]_panel") diff --git a/code/modules/item_worth/worths_list.dm b/code/modules/item_worth/worths_list.dm index 3cab508c47044..490f448e5c6ed 100644 --- a/code/modules/item_worth/worths_list.dm +++ b/code/modules/item_worth/worths_list.dm @@ -708,8 +708,8 @@ var/global/list/worths = list( /obj/machinery/telecomms/broadcaster = -10000, /obj/machinery/telecomms = -7000, /obj/machinery/acting/changer = -3000, - /obj/machinery/dnaforensics = -1200, - /obj/machinery/microscope = -550, + /obj/machinery/computer/dnaforensics = -1200, //[SIERRA-EDIT] /obj/machinery/microscope, + /obj/machinery/computer/microscope = -550,//[SIERRA-EDIT] /obj/machinery/microscope, /obj/machinery/computer/account_database = -3000, /obj/machinery/atm = -4500, /obj/machinery/readybutton = -0, diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index 99306a92752fa..4c1f18ac7f496 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -325,8 +325,13 @@ In most cases it makes more sense to use apply_damage() instead! And make sure t var/brute_was = picked.brute_dam var/burn_was = picked.burn_dam - - picked.heal_damage(brute,burn) +//[SIERRA-ADD] to heal damaged robotic organs + var/organ_type = 0 + if(picked.status & ORGAN_ROBOTIC) + organ_type = 1 +//[/SIERRA-ADD] + //picked.heal_damage(brute,burn)//[/SIERRA-REMOVE] + picked.heal_damage(brute,burn,0, organ_type)//[/SIERRA-ADD] brute -= (brute_was-picked.brute_dam) burn -= (burn_was-picked.burn_dam) diff --git a/code/modules/research/designs/designs_tool.dm b/code/modules/research/designs/designs_tool.dm index a27d22cca88dd..1f7694532dd5f 100644 --- a/code/modules/research/designs/designs_tool.dm +++ b/code/modules/research/designs/designs_tool.dm @@ -87,7 +87,7 @@ id = "oxycandle" req_tech = list(TECH_ENGINEERING = 2) materials = list(MATERIAL_STEEL = 3000) - chemicals = list(/datum/reagent/sodiumchloride = 20, /datum/reagent/acetone = 20) + //chemicals = list(/datum/reagent/sodiumchloride = 20, /datum/reagent/acetone = 20) [SIERRA-REMOVE] build_path = /obj/item/device/oxycandle sort_string = "VAGAJ" diff --git a/code/modules/research/designs/designs_weapon.dm b/code/modules/research/designs/designs_weapon.dm index 3dd7f4c5df13d..7473aa1fcff98 100644 --- a/code/modules/research/designs/designs_weapon.dm +++ b/code/modules/research/designs/designs_weapon.dm @@ -115,7 +115,7 @@ id = "decloner" req_tech = list(TECH_COMBAT = 8, TECH_MATERIAL = 7, TECH_BIO = 5, TECH_POWER = 6) materials = list(MATERIAL_GOLD = 5000,MATERIAL_URANIUM = 10000) - chemicals = list(/datum/reagent/mutagen = 40) + //chemicals = list(/datum/reagent/mutagen = 40) [SIERRA-REMOVE] build_path = /obj/item/gun/energy/decloner sort_string = "TAJAB" diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm index 14041e37bc0a1..08d2e30dc44ea 100644 --- a/code/modules/research/protolathe.dm +++ b/code/modules/research/protolathe.dm @@ -100,7 +100,7 @@ T = clamp(total_component_rating_of_type(/obj/item/stock_parts/manipulator), 0, 6) mat_efficiency = 1 - (T - 2) / 8 - speed = T / 2 + speed = T ..() /obj/machinery/r_n_d/protolathe/proc/queue_design(datum/design/D, amount = 1) diff --git a/maps/away/meatstation/meatstation.dmm b/maps/away/meatstation/meatstation.dmm index 6be63fef8d302..457cf79464fa9 100644 --- a/maps/away/meatstation/meatstation.dmm +++ b/maps/away/meatstation/meatstation.dmm @@ -1995,7 +1995,7 @@ /area/meatstation/medical) "eG" = ( /obj/structure/table/glass, -/obj/machinery/microscope, +/obj/machinery/computer/microscope, /obj/floor_decal/corner/red/border{ dir = 4 }, @@ -5951,7 +5951,7 @@ "oz" = ( /obj/structure/table/glass, /obj/decal/cleanable/blood/drip, -/obj/machinery/dnaforensics, +/obj/machinery/computer/dnaforensics, /turf/simulated/floor/tiled/white, /area/meatstation/lab) "oA" = ( diff --git a/maps/random_ruins/exoplanet_ruins/oldlab2/oldlab2.dmm b/maps/random_ruins/exoplanet_ruins/oldlab2/oldlab2.dmm index f2e3c07198efb..cdaf110f4fb05 100644 --- a/maps/random_ruins/exoplanet_ruins/oldlab2/oldlab2.dmm +++ b/maps/random_ruins/exoplanet_ruins/oldlab2/oldlab2.dmm @@ -136,7 +136,7 @@ dir = 4 }, /obj/structure/table/standard, -/obj/machinery/microscope{ +/obj/machinery/computer/microscope{ pixel_x = -8 }, /turf/simulated/floor/tiled/white, @@ -8345,7 +8345,7 @@ /turf/simulated/floor/tiled/dark, /area/map_template/oldlab2/recandlockers) "Sg" = ( -/obj/machinery/dnaforensics, +/obj/machinery/computer/dnaforensics, /obj/structure/table/steel_reinforced, /turf/simulated/floor/tiled/dark, /area/map_template/oldlab2/lab) @@ -9401,7 +9401,7 @@ /obj/floor_decal/industrial/warning{ dir = 4 }, -/obj/machinery/microscope, +/obj/machinery/computer/microscope, /obj/structure/table/steel_reinforced, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled/dark, diff --git a/maps/sierra/_references/z1-3_sierra.dmm b/maps/sierra/_references/z1-3_sierra.dmm index 6d73ea3980e09..31b4a599395b9 100644 --- a/maps/sierra/_references/z1-3_sierra.dmm +++ b/maps/sierra/_references/z1-3_sierra.dmm @@ -16242,7 +16242,7 @@ /area/crew_quarters/heads/office/cmo) "dAo" = ( /obj/structure/table/glass, -/obj/machinery/microscope, +/obj/machinery/computer/microscope, /obj/item/device/radio/intercom{ pixel_y = 26 }, @@ -22595,7 +22595,7 @@ }, /turf/simulated/floor/tiled/dark) "eTl" = ( -/obj/machinery/dnaforensics, +/obj/machinery/computer/dnaforensics, /obj/machinery/light{ dir = 1 }, diff --git a/maps/sierra/z1-z5_sierra.dmm b/maps/sierra/z1-z5_sierra.dmm index 9b74116b91153..f6a09b9f6952e 100644 --- a/maps/sierra/z1-z5_sierra.dmm +++ b/maps/sierra/z1-z5_sierra.dmm @@ -21853,7 +21853,7 @@ /area/crew_quarters/heads/office/ce/cobed) "diN" = ( /obj/structure/table/glass, -/obj/machinery/microscope, +/obj/machinery/computer/microscope, /obj/floor_decal/borderfloorwhite{ dir = 1 }, @@ -128293,7 +128293,7 @@ /area/crew_quarters/sleep/cryo/south) "sOJ" = ( /obj/structure/table/glass, -/obj/machinery/dnaforensics, +/obj/machinery/computer/dnaforensics, /obj/machinery/recharger/wallcharger{ dir = 4; pixel_x = -22 diff --git a/maps/torch/torch5_deck1.dmm b/maps/torch/torch5_deck1.dmm index 140bc9048936c..df7d072e5b5e8 100644 --- a/maps/torch/torch5_deck1.dmm +++ b/maps/torch/torch5_deck1.dmm @@ -5703,7 +5703,7 @@ /turf/simulated/floor/tiled/dark, /area/security/evidence) "alX" = ( -/obj/machinery/dnaforensics, +/obj/machinery/computer/dnaforensics, /obj/structure/table/glass, /turf/simulated/floor/tiled/white, /area/security/detectives_office) @@ -21639,7 +21639,7 @@ /obj/machinery/light{ dir = 1 }, -/obj/machinery/microscope, +/obj/machinery/computer/microscope, /turf/simulated/floor/tiled/white, /area/security/detectives_office) "lAb" = ( diff --git a/mods/RnD/code/design.dm b/mods/RnD/code/design.dm index 00ab8ebdf85ed..e20f452f3e60b 100644 --- a/mods/RnD/code/design.dm +++ b/mods/RnD/code/design.dm @@ -75,3 +75,31 @@ req_tech = list(TECH_DATA = 2) build_path = /obj/item/stock_parts/circuitboard/area_atmos sort_string = "KCAAR" + + +/datum/design/circuit/dnaforensics + + name = "DNA analyzer" + desc = "A high tech machine that is designed to read DNA samples properly." + id = "dnaforensics" + req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 4) + build_path = /obj/item/stock_parts/circuitboard/dnaforensics + sort_string = "VBGAM" + +/obj/item/stock_parts/circuitboard/dnaforensics + name = "circuit board (DNA analyzer)" + build_path = /obj/machinery/computer/dnaforensics + origin_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 4) + +/datum/design/circuit/microscope + name = "high powered electron microscope" + desc = "A highly advanced microscope capable of zooming up to 3000x." + id = "microscope" + req_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 4) + build_path = /obj/item/stock_parts/circuitboard/microscope + sort_string = "VBGAN" + +/obj/item/stock_parts/circuitboard/microscope + name = "circuit board (microscope)" + build_path = /obj/machinery/computer/microscope + origin_tech = list(TECH_ENGINEERING = 4, TECH_MATERIAL = 4) diff --git a/mods/RnD/code/experiment.dm b/mods/RnD/code/experiment.dm index 8e4f5cd713a74..9a9d1943656d0 100644 --- a/mods/RnD/code/experiment.dm +++ b/mods/RnD/code/experiment.dm @@ -137,12 +137,12 @@ var/global/list/rnd_server_list = list() for(var/effect in I.scanned_plants) var/list/effects = list( - "It is well adapted to low pressure levels." = 1500, - "It is well adapted to high pressure levels." = 1500, - "It is well adapted to a range of temperatures." = 1500, - "It is very sensitive to temperature shifts." = 1500, - "It is well adapted to a range of light levels." = 1500, - "It is very sensitive to light level shifts." = 1500, + "It is well adapted to low pressure levels." = 1000, + "It is well adapted to high pressure levels." = 1000, + "It is well adapted to a range of temperatures." = 1000, + "It is very sensitive to temperature shifts." = 1000, + "It is well adapted to a range of light levels." = 1000, + "It is very sensitive to light level shifts." = 1000, "It is highly sensitive to toxins." = 1000, "It is remarkably resistant to toxins." = 1000, "It is highly sensitive to pests." = 1000, @@ -150,27 +150,27 @@ var/global/list/rnd_server_list = list() "It is highly sensitive to weeds." = 1000, "It is remarkably resistant to weeds." = 1000, "It is able to be planted outside of a tray." = 1000, - "It is a robust and vigorous vine that will spread rapidly." = 2000, + "It is a robust and vigorous vine that will spread rapidly." = 1500, "It is carnivorous and will eat tray pests for sustenance." = 1000, - "It is carnivorous and poses a significant threat to living things around it." = 2000, + "It is carnivorous and poses a significant threat to living things around it." = 1500, "It is capable of parisitizing and gaining sustenance from tray weeds." = 1000, - "It will periodically alter the local temperature by " = 2000, - "bio-luminescent" = 2000, - "The fruit will function as a battery if prepared appropriately." = 2000, - "The fruit is covered in stinging spines." = 2000, + "It will periodically alter the local temperature by " = 1500, + "bio-luminescent" = 1500, + "The fruit will function as a battery if prepared appropriately." = 1500, + "The fruit is covered in stinging spines." = 1500, "The fruit is soft-skinned and juicy." = 1000, - "The fruit is excessively juicy." = 2000, - "The fruit is internally unstable." = 3000, - "The fruit is temporal/spatially unstable." = 3000, - "It will release gas into the environment." = 3000, - "It will remove gas from the environment." = 3000 + "The fruit is excessively juicy." = 1500, + "The fruit is internally unstable." = 2000, + "The fruit is temporal/spatially unstable." = 2000, + "It will release gas into the environment." = 2000, + "It will remove gas from the environment." = 2000 ) for(var/l in effects) if(findtext(effect, l)) if(!(l in saved_plants)) points += effects[l] saved_plants += l - points = I.potency/20 * points + points *= I.potency/40 for(var/s in I.scanned_spectrometers) if(s in saved_spectrometers) diff --git a/mods/RnD/code/tech_biotech.dm b/mods/RnD/code/tech_biotech.dm index c5fc3b1332591..f7c533a654ca8 100644 --- a/mods/RnD/code/tech_biotech.dm +++ b/mods/RnD/code/tech_biotech.dm @@ -102,7 +102,7 @@ required_tech_levels = list() cost = 1500 - unlocks_designs = list("cryo_cell", "sleeper", "bodyscanner", "bodyscannerconsole", "bodyscannerdisplay","reagent_grinder","chemheater", "reagsubl","noreactsyringe") + unlocks_designs = list("cryo_cell", "sleeper", "bodyscanner", "bodyscannerconsole", "bodyscannerdisplay","reagent_grinder","chemheater", "reagsubl","noreactsyringe","microscope", "dnaforensics") /datum/technology/bio/add_med_tools name = "Additional Medical Tools" diff --git a/mods/RnD/code/tech_engineering.dm b/mods/RnD/code/tech_engineering.dm index 6794bea60229f..7af8fa51840f2 100644 --- a/mods/RnD/code/tech_engineering.dm +++ b/mods/RnD/code/tech_engineering.dm @@ -258,7 +258,7 @@ required_tech_levels = list() cost = 2000 - unlocks_designs = list("arc_welder", "power_drill", "jaws_of_life", "experimental_welder", "price_scanner","hand_rcd") + unlocks_designs = list("arc_welder", "power_drill", "jaws_of_life", "experimental_welder", "price_scanner","hand_rcd","multimeter") /datum/technology/engineering/crusher name = "Crusher" diff --git a/mods/RnD/code/tech_power.dm b/mods/RnD/code/tech_power.dm index 230bf3dfb0122..a688af167dc41 100644 --- a/mods/RnD/code/tech_power.dm +++ b/mods/RnD/code/tech_power.dm @@ -147,4 +147,4 @@ required_tech_levels = list() cost = 2500 - unlocks_designs = list("fusion_core_control", "fusion_fuel_compressor", "fusion_fuel_control", "gyrotron_control", "fusion_core", "fusion_injector", "fusion_kinetic_harvester") + unlocks_designs = list("fusion_core_control", "fusion_fuel_compressor", "fusion_fuel_control", "gyrotron_control", "gyrotron", "fusion_core", "fusion_injector", "fusion_kinetic_harvester")