From 8db7995841a8b97d0fa0bf790214aa40e0a11ac6 Mon Sep 17 00:00:00 2001 From: carshalash Date: Sat, 27 Nov 2021 08:22:12 +1000 Subject: [PATCH] Abductor Frankenstein edition: How aliens got a limb grower. (#62841) This PR will completely remove the brain traumas component of being abducted. in its place, there will be a round start limb grower machine to make up for it. All upgrade disks for the machine come in the above locker and I was even nice enough to include 50 units of synthflesh! Wow! --- _maps/map_files/generic/CentCom.dmm | 16 ++-------------- code/game/machinery/limbgrower.dm | 13 +++++++++++++ .../items/circuitboards/machine_circuitboards.dm | 9 +++++++++ .../antagonists/abductor/abductee/abductee.dm | 3 --- .../chemistry/machinery/chem_dispenser.dm | 4 +++- 5 files changed, 27 insertions(+), 18 deletions(-) diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm index 7cf3dc9ff3d..a4abdec4d6a 100644 --- a/_maps/map_files/generic/CentCom.dmm +++ b/_maps/map_files/generic/CentCom.dmm @@ -965,10 +965,6 @@ }, /turf/open/floor/wood/tile, /area/centcom/holding) -"ed" = ( -/obj/structure/chair/stool/directional/north, -/turf/open/floor/wood/parquet, -/area/centcom/holding) "eh" = ( /obj/structure/chair/office, /obj/effect/landmark/ert_spawn, @@ -3215,7 +3211,7 @@ /turf/open/floor/plating/abductor, /area/abductor_ship) "lj" = ( -/obj/structure/closet/abductor, +/obj/machinery/limbgrower/fullupgrade, /turf/open/floor/plating/abductor, /area/abductor_ship) "lk" = ( @@ -14894,6 +14890,7 @@ "RQ" = ( /obj/structure/closet/abductor, /obj/item/storage/box/alienhandcuffs, +/obj/item/reagent_containers/glass/beaker/synthflesh, /turf/open/floor/plating/abductor, /area/abductor_ship) "RU" = ( @@ -15956,15 +15953,6 @@ /obj/machinery/light/directional/south, /turf/open/floor/plating/beach/sand, /area/centcom/holding) -"VX" = ( -/obj/structure/chair/stool/directional/east, -/obj/effect/landmark/start/nukeop, -/obj/effect/turf_decal/tile/bar, -/obj/effect/turf_decal/tile/bar{ - dir = 1 - }, -/turf/open/floor/iron, -/area/syndicate_mothership/control) "VZ" = ( /obj/structure/closet/secure_closet/ert_med, /obj/structure/sign/directions/medical{ diff --git a/code/game/machinery/limbgrower.dm b/code/game/machinery/limbgrower.dm index 9130bf6da9a..56dd12588ff 100644 --- a/code/game/machinery/limbgrower.dm +++ b/code/game/machinery/limbgrower.dm @@ -263,6 +263,19 @@ return FALSE return TRUE +/obj/machinery/limbgrower/fullupgrade //Inherently cheaper organ production. This is to NEVER be inherently emagged, no valids. + desc = "It grows new limbs using Synthflesh. This alien model seems more efficient." + obj_flags = CAN_BE_HIT + flags_1 = NODECONSTRUCT_1 + circuit = /obj/item/circuitboard/machine/limbgrower/fullupgrade + +/obj/machinery/limbgrower/fullupgrade/Initialize(mapload) + . = ..() + for(var/id in SSresearch.techweb_designs) + var/datum/design/found_design = SSresearch.techweb_design_by_id(id) + if((found_design.build_type & LIMBGROWER) && !("emagged" in found_design.category)) + stored_research.add_design(found_design) + /// Emagging a limbgrower allows you to build synthetic armblades. /obj/machinery/limbgrower/emag_act(mob/user) if(obj_flags & EMAGGED) diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index 373d28a506a..4275dbf3936 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -757,6 +757,15 @@ /obj/item/reagent_containers/glass/beaker = 2, /obj/item/stack/sheet/glass = 1) +/obj/item/circuitboard/machine/limbgrower/fullupgrade + name = "Limb Grower (Machine Board)" + greyscale_colors = CIRCUIT_COLOR_MEDICAL + build_path = /obj/machinery/limbgrower + req_components = list( + /obj/item/stock_parts/manipulator/femto = 1, + /obj/item/reagent_containers/glass/beaker/bluespace = 2, + /obj/item/stack/sheet/glass = 1) + /obj/item/circuitboard/machine/protolathe/department/medical name = "Departmental Protolathe (Machine Board) - Medical" greyscale_colors = CIRCUIT_COLOR_MEDICAL diff --git a/code/modules/antagonists/abductor/abductee/abductee.dm b/code/modules/antagonists/abductor/abductee/abductee.dm index 56ef32d7af9..16a4ad091eb 100644 --- a/code/modules/antagonists/abductor/abductee/abductee.dm +++ b/code/modules/antagonists/abductor/abductee/abductee.dm @@ -20,9 +20,6 @@ owner.announce_objectives() /datum/antagonist/abductee/proc/give_objective() - var/mob/living/carbon/human/H = owner.current - if(istype(H)) - H.gain_trauma_type(BRAIN_TRAUMA_MILD, TRAUMA_RESILIENCE_LOBOTOMY) var/objtype = (prob(75) ? /datum/objective/abductee/random : pick(subtypesof(/datum/objective/abductee/) - /datum/objective/abductee/random)) var/datum/objective/abductee/O = new objtype() objectives += O diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index d9b7494c712..e74e097aabd 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -661,5 +661,7 @@ /datum/reagent/drug/space_drugs, /datum/reagent/toxin, /datum/reagent/toxin/plasma, - /datum/reagent/uranium + /datum/reagent/uranium, + /datum/reagent/consumable/liquidelectricity/enriched, + /datum/reagent/medicine/c2/synthflesh )