From eaaa0c16a62bdf40b39f1082e17f144ff9b7c24b Mon Sep 17 00:00:00 2001 From: DragonTrance Date: Wed, 23 Dec 2020 11:21:20 -0700 Subject: [PATCH] Corpse Flower aka brap farm --- code/__DEFINES/atmospherics.dm | 4 ++++ .../atmospherics/gasmixtures/gas_mixture.dm | 1 + code/modules/hydroponics/grown/misc.dm | 20 +++++++++---------- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/code/__DEFINES/atmospherics.dm b/code/__DEFINES/atmospherics.dm index 458f2a1b..eeb56608 100644 --- a/code/__DEFINES/atmospherics.dm +++ b/code/__DEFINES/atmospherics.dm @@ -255,6 +255,7 @@ T.pixel_y = (PipingLayer - PIPING_LAYER_DEFAULT) * PIPING_LAYER_P_Y; #define THERMAL_ENERGY(gas) (gas.temperature * gas.heat_capacity()) + #define QUANTIZE(variable) (round(variable,0.0000001))/*I feel the need to document what happens here. Basically this is used to catch most rounding errors, however it's previous value made it so that once gases got hot enough, most procedures wouldnt occur due to the fact that the mole counts would get rounded away. Thus, we lowered it a few orders of magnititude */ @@ -296,3 +297,6 @@ GLOBAL_LIST_INIT(pipe_paint_colors, list( "violet" = rgb(64,0,128), "yellow" = rgb(255,198,0) )) + +#define MIASMA_CORPSE_MOLES 0.02 +#define MIASMA_GIBS_MOLES 0.005 \ No newline at end of file diff --git a/code/modules/atmospherics/gasmixtures/gas_mixture.dm b/code/modules/atmospherics/gasmixtures/gas_mixture.dm index 12efa01a..ea5ff2cb 100644 --- a/code/modules/atmospherics/gasmixtures/gas_mixture.dm +++ b/code/modules/atmospherics/gasmixtures/gas_mixture.dm @@ -15,6 +15,7 @@ GLOBAL_LIST_INIT(meta_gas_overlays, meta_gas_overlay_list()) GLOBAL_LIST_INIT(meta_gas_dangers, meta_gas_danger_list()) GLOBAL_LIST_INIT(meta_gas_ids, meta_gas_id_list()) GLOBAL_LIST_INIT(meta_gas_fusions, meta_gas_fusion_list()) + /datum/gas_mixture var/list/gases = list() var/temperature = 0 //kelvins diff --git a/code/modules/hydroponics/grown/misc.dm b/code/modules/hydroponics/grown/misc.dm index 606504e1..89b27cee 100644 --- a/code/modules/hydroponics/grown/misc.dm +++ b/code/modules/hydroponics/grown/misc.dm @@ -15,7 +15,7 @@ grind_results = list(/datum/reagent/mustardgrind = 1) growing_icon = 'icons/obj/hydroponics/growing_flowers.dmi' genes = list(/datum/plant_gene/trait/plant_type/weed_hardy) - mutatelist = list()//add /obj/item/seeds/starthistle/corpse_flower when corpse flowers work. + mutatelist = list(/obj/item/seeds/starthistle/corpse_flower, /obj/item/seeds/galaxythistle) /obj/item/seeds/starthistle/harvest(mob/user) var/obj/machinery/hydroponics/parent = loc @@ -28,7 +28,7 @@ harvestseeds.forceMove(output_loc) parent.update_tray() -/* + // Corpse flower /obj/item/seeds/starthistle/corpse_flower name = "pack of corpse flower seeds" @@ -57,13 +57,13 @@ return var/datum/gas_mixture/stank = new - ADD_GAS(/datum/gas/miasma, stank.gases) - stank.gases[/datum/gas/miasma][MOLES] = (yield + 6)*7*MIASMA_CORPSE_MOLES // this process is only being called about 2/7 as much as corpses so this is 12-32 times a corpses + var/list/cached_gases = stank.gases + + cached_gases[/datum/gas/miasma] += (yield + 5)*7*MIASMA_CORPSE_MOLES // this process is only being called about 2/7 as much as corpses so this is 12-32 times a corpses stank.temperature = T20C // without this the room would eventually freeze and miasma mining would be easier T.assume_air(stank) T.air_update_turf() -*/ -//commented out until it can be fixed. + //Galaxy Thistle /obj/item/seeds/galaxythistle name = "pack of galaxythistle seeds" @@ -81,7 +81,7 @@ growthstages = 3 growing_icon = 'icons/obj/hydroponics/growing_flowers.dmi' genes = list(/datum/plant_gene/trait/plant_type/weed_hardy, /datum/plant_gene/trait/invasive) - mutatelist = list() + mutatelist = list(/obj/item/seeds/starthistle) reagents_add = list(/datum/reagent/consumable/nutriment = 0.05, /datum/reagent/medicine/silibinin = 0.1) /obj/item/seeds/galaxythistle/Initialize(mapload, nogenes = FALSE) @@ -430,7 +430,7 @@ if(user.a_intent == INTENT_HARM && spillable) var/R - M.visible_message("[user] splashes the contents of [src] onto [M]!", \ + M.visible_message("[user] splashes the contents of [src] onto [M]!", "[user] splashes the contents of [src] onto [M]!") if(reagents) for(var/datum/reagent/A in reagents.reagent_list) @@ -444,7 +444,7 @@ reagents.clear_reagents() else if(M != user) - M.visible_message("[user] attempts to feed something to [M].", \ + M.visible_message("[user] attempts to feed something to [M].", "[user] attempts to feed something to you.") if(!do_mob(user, M)) return @@ -454,7 +454,7 @@ log_combat(user, M, "fed", reagents.log_list()) else if(M != user) - M.visible_message("[user] attempts to feed something to [M].", \ + M.visible_message("[user] attempts to feed something to [M].", "[user] attempts to feed something to you.") if(!do_mob(user, M)) return