From 6d20cad7f91dd56268e47cf517830623dd3f5d7b Mon Sep 17 00:00:00 2001 From: Joker66613 Date: Thu, 29 Feb 2024 16:08:17 +0100 Subject: [PATCH] Separated Chemicals --- aquila/code/modules/hydroponics/plant_genes.dm | 11 +++++++++++ code/modules/hydroponics/grown.dm | 14 +++++++++----- code/modules/hydroponics/grown/berries.dm | 2 +- 3 files changed, 21 insertions(+), 6 deletions(-) create mode 100644 aquila/code/modules/hydroponics/plant_genes.dm diff --git a/aquila/code/modules/hydroponics/plant_genes.dm b/aquila/code/modules/hydroponics/plant_genes.dm new file mode 100644 index 00000000000..79d1df0c15a --- /dev/null +++ b/aquila/code/modules/hydroponics/plant_genes.dm @@ -0,0 +1,11 @@ +/datum/plant_gene/trait/noreact + // Makes plant reagents not react until squashed. + name = "Separated Chemicals" + +/datum/plant_gene/trait/noreact/on_new(obj/item/reagent_containers/food/snacks/grown/G, newloc) + ..() + ENABLE_BITFIELD(G.reagents.flags, NO_REACT) + +/datum/plant_gene/trait/noreact/on_squashreact(obj/item/reagent_containers/food/snacks/grown/G, atom/target) + DISABLE_BITFIELD(G.reagents.flags, NO_REACT) + G.reagents.handle_reactions() diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index a9bdcac1b45..f5c8bedf93f 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -104,7 +104,7 @@ if(seed.get_gene(/datum/plant_gene/trait/squash)) squash(hit_atom) -/obj/item/reagent_containers/food/snacks/grown/proc/squash(atom/target) +/obj/item/reagent_containers/food/snacks/grown/proc/squash(atom/target)//AQ EDIT przywraca sep chems var/turf/T = get_turf(target) forceMove(T) if(ispath(splat_type, /obj/effect/decal/cleanable/food/plant_smudge)) @@ -122,10 +122,14 @@ if(seed) for(var/datum/plant_gene/trait/trait in seed.genes) trait.on_squash(src, target) - reagents.reaction(T) - for(var/A in T) - reagents.reaction(A) - qdel(src) + if(!seed.get_gene(/datum/plant_gene/trait/noreact)) + reagents.reaction(T) + for(var/A in T) + reagents.reaction(A) + qdel(src) + if(seed.get_gene(/datum/plant_gene/trait/noreact)) + visible_message("[src] crumples, and bubbles ominously as its contents mix.") + addtimer(CALLBACK(src, .proc/squashreact), 20) /obj/item/reagent_containers/food/snacks/grown/proc/squashreact() for(var/datum/plant_gene/trait/trait in seed.genes) diff --git a/code/modules/hydroponics/grown/berries.dm b/code/modules/hydroponics/grown/berries.dm index d08c83c3352..601b8a686de 100644 --- a/code/modules/hydroponics/grown/berries.dm +++ b/code/modules/hydroponics/grown/berries.dm @@ -92,7 +92,7 @@ lifespan = 30 endurance = 25 mutatelist = list() - genes = list(/datum/plant_gene/trait/glow/white, /datum/plant_gene/trait/repeated_harvest) + genes = list(/datum/plant_gene/trait/glow/white, /datum/plant_gene/trait/noreact, /datum/plant_gene/trait/repeated_harvest)//AQ EDIT reagents_add = list(/datum/reagent/uranium = 0.25, /datum/reagent/iodine = 0.2, /datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1) rarity = 20