From 290032afc7aa9e55bf650f5f024f0740b5da9e96 Mon Sep 17 00:00:00 2001 From: Wildkins Date: Sun, 28 Sep 2025 08:09:49 -0400 Subject: [PATCH] Turn hydroponics get and set_trait into defines (#21404) Hydroponics tray processing is a massive chunk of machinery processing for no good reason, I have a sneaking suspicion that this is due to proc overhead on get_trait, as process can call it upwards of 30 times per tick per tray. Realistically most of the things that are traits should instead be variables, but that's a refactor for someone with more time. --- code/__DEFINES/hydroponics.dm | 5 + code/controllers/subsystems/plants.dm | 12 +- code/game/objects/effects/chem/chemsmoke.dm | 6 +- code/modules/hydroponics/grown.dm | 48 +-- code/modules/hydroponics/grown_inedible.dm | 2 +- code/modules/hydroponics/seed.dm | 364 +++++++++--------- .../hydroponics/seed_datums/adhomai.dm | 138 +++---- .../hydroponics/seed_datums/aquaculture.dm | 42 +- .../hydroponics/seed_datums/flowers.dm | 64 +-- .../modules/hydroponics/seed_datums/fruits.dm | 312 +++++++-------- .../modules/hydroponics/seed_datums/grains.dm | 64 +-- code/modules/hydroponics/seed_datums/herbs.dm | 96 ++--- code/modules/hydroponics/seed_datums/misc.dm | 126 +++--- .../hydroponics/seed_datums/mushrooms.dm | 238 ++++++------ .../hydroponics/seed_datums/nralakk.dm | 148 +++---- .../seed_datums/root_vegetables.dm | 84 ++-- .../hydroponics/seed_datums/smokables.dm | 90 ++--- .../modules/hydroponics/seed_datums/tomato.dm | 42 +- .../modules/hydroponics/seed_datums/unathi.dm | 140 +++---- .../hydroponics/seed_datums/vegetables.dm | 210 +++++----- code/modules/hydroponics/seed_gene_mut.dm | 62 +-- code/modules/hydroponics/seed_machines.dm | 2 +- code/modules/hydroponics/seed_packets.dm | 32 +- code/modules/hydroponics/seed_storage.dm | 64 +-- .../hydroponics/spreading/spreading.dm | 26 +- .../hydroponics/spreading/spreading_growth.dm | 10 +- .../spreading/spreading_response.dm | 8 +- code/modules/hydroponics/trays/tray.dm | 20 +- .../modules/hydroponics/trays/tray_process.dm | 36 +- code/modules/hydroponics/trays/tray_soil.dm | 4 +- code/modules/hydroponics/trays/tray_tools.dm | 86 ++--- .../hydroponics/trays/tray_update_icons.dm | 34 +- code/modules/mapping/planet_types/desert.dm | 12 +- code/modules/mapping/planet_types/grass.dm | 16 +- code/modules/overmap/exoplanets/exoplanet.dm | 12 +- .../overmap/exoplanets/exoplanet_flora.dm | 18 +- code/unit_tests/cooking_tests.dm | 2 +- code/unit_tests/hydroponics_tests.dm | 4 +- html/changelogs/johnwildkins-hydroponics.yml | 13 + 39 files changed, 1349 insertions(+), 1343 deletions(-) create mode 100644 html/changelogs/johnwildkins-hydroponics.yml diff --git a/code/__DEFINES/hydroponics.dm b/code/__DEFINES/hydroponics.dm index 8305e0fff1a..99e7e57e8e2 100644 --- a/code/__DEFINES/hydroponics.dm +++ b/code/__DEFINES/hydroponics.dm @@ -138,3 +138,8 @@ /// The range of lumens from the ideal in which the plant will grow faster than otherwise. /// This does not kill the plant if they go outside it, it only determines growth speed! #define TRAIT_LIGHT_PREFERENCE 45 + +#define GET_SEED_TRAIT(SEED, TRAIT) ##SEED.traits["[TRAIT]"] +#define SET_SEED_TRAIT(SEED, TRAIT, NVAL) ##SEED.traits["[TRAIT]"] = NVAL; +#define SET_SEED_TRAIT_BOUNDED(SEED, TRAIT, NVAL, UBOUND, LBOUND, DEGRADE) \ + if(isnum(NVAL)) { ##SEED.traits["[TRAIT]"] = ((clamp(NVAL * (DEGRADE || 1), (LBOUND || -INFINITY), (UBOUND || INFINITY)))) } else { ##SEED.traits["[TRAIT]"] = NVAL }; diff --git a/code/controllers/subsystems/plants.dm b/code/controllers/subsystems/plants.dm index 818c4fc08ac..26c96b4a3ab 100644 --- a/code/controllers/subsystems/plants.dm +++ b/code/controllers/subsystems/plants.dm @@ -137,12 +137,12 @@ SUBSYSTEM_DEF(plants) if(seed.chems && !isnull(seed.chems[/singleton/reagent/acid/polyacid])) seed.chems[/singleton/reagent/acid/polyacid] = null // Eating through the hull will make these plants completely inviable, albeit very dangerous. seed.chems -= null // Setting to null does not actually remove the entry, which is weird. - seed.set_trait(TRAIT_IDEAL_HEAT,293) - seed.set_trait(TRAIT_HEAT_TOLERANCE,20) - seed.set_trait(TRAIT_IDEAL_LIGHT,8) - seed.set_trait(TRAIT_LIGHT_TOLERANCE,5) - seed.set_trait(TRAIT_LOWKPA_TOLERANCE,25) - seed.set_trait(TRAIT_HIGHKPA_TOLERANCE,200) + SET_SEED_TRAIT(seed, TRAIT_IDEAL_HEAT, 293) + SET_SEED_TRAIT(seed, TRAIT_HEAT_TOLERANCE, 20) + SET_SEED_TRAIT(seed, TRAIT_IDEAL_LIGHT, 8) + SET_SEED_TRAIT(seed, TRAIT_LIGHT_TOLERANCE, 5) + SET_SEED_TRAIT(seed, TRAIT_LOWKPA_TOLERANCE, 25) + SET_SEED_TRAIT(seed, TRAIT_HIGHKPA_TOLERANCE, 200) return seed /// Debug for testing seed genes. diff --git a/code/game/objects/effects/chem/chemsmoke.dm b/code/game/objects/effects/chem/chemsmoke.dm index 6962bb1a1d7..b0034cda7cc 100644 --- a/code/game/objects/effects/chem/chemsmoke.dm +++ b/code/game/objects/effects/chem/chemsmoke.dm @@ -232,7 +232,7 @@ /datum/effect/effect/system/smoke_spread/chem/spores/start() ..() - if(seed && seed.get_trait(TRAIT_SPREAD)) + if(seed && GET_SEED_TRAIT(seed, TRAIT_SPREAD)) var/sporecount = 0 for(var/turf/T in targetTurfs) var/bad_turf = 0 @@ -242,10 +242,10 @@ break if(bad_turf) continue - if(prob(min(seed.get_trait(TRAIT_POTENCY), 50))) + if(prob(min(GET_SEED_TRAIT(seed, TRAIT_POTENCY), 50))) new /obj/machinery/portable_atmospherics/hydroponics/soil/invisible(T,seed) sporecount++ - if(sporecount < max(1, round(seed.get_trait(TRAIT_POTENCY) / 20), 1)) + if(sporecount < max(1, round(GET_SEED_TRAIT(seed, TRAIT_POTENCY) / 20), 1)) break diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index feed1d20dc3..8d3334aa01e 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -39,14 +39,14 @@ return name = "[seed.seed_name]" - trash = seed.get_trash_type() + trash = seed.trash_type update_icon() if(!seed.chems) return - potency = seed.get_trait(TRAIT_POTENCY) + potency = GET_SEED_TRAIT(seed, TRAIT_POTENCY) for(var/rid in seed.chems) var/list/reagent_data = seed.chems[rid] @@ -109,13 +109,13 @@ descriptors |= "slippery" if(reagents.has_reagent(/singleton/reagent/acid/polyacid) || reagents.has_reagent(/singleton/reagent/acid) || reagents.has_reagent(/singleton/reagent/acid/hydrochloric)) descriptors |= "acidic" - if(seed.get_trait(TRAIT_JUICY)) + if(GET_SEED_TRAIT(seed, TRAIT_JUICY)) descriptors |= "juicy" - if(seed.get_trait(TRAIT_STINGS)) + if(GET_SEED_TRAIT(seed, TRAIT_STINGS)) descriptors |= "stinging" - if(seed.get_trait(TRAIT_TELEPORTING)) + if(GET_SEED_TRAIT(seed, TRAIT_TELEPORTING)) descriptors |= "glowing" - if(seed.get_trait(TRAIT_EXPLOSIVE)) + if(GET_SEED_TRAIT(seed, TRAIT_EXPLOSIVE)) descriptors |= "bulbous" var/descriptor_num = rand(2,4) @@ -138,17 +138,17 @@ return ClearOverlays() var/image/plant_icon - var/icon_key = "fruit-[seed.get_trait(TRAIT_PRODUCT_ICON)]-[seed.get_trait(TRAIT_PRODUCT_COLOUR)]-[seed.get_trait(TRAIT_PLANT_COLOUR)]" + var/icon_key = "fruit-[GET_SEED_TRAIT(seed, TRAIT_PRODUCT_ICON)]-[GET_SEED_TRAIT(seed, TRAIT_PRODUCT_COLOUR)]-[GET_SEED_TRAIT(seed, TRAIT_PLANT_COLOUR)]" if(SSplants.plant_icon_cache[icon_key]) plant_icon = SSplants.plant_icon_cache[icon_key] else plant_icon = image('icons/obj/hydroponics_products.dmi',"blank") - var/image/fruit_base = image('icons/obj/hydroponics_products.dmi',"[seed.get_trait(TRAIT_PRODUCT_ICON)]-product") - fruit_base.color = "[seed.get_trait(TRAIT_PRODUCT_COLOUR)]" + var/image/fruit_base = image('icons/obj/hydroponics_products.dmi',"[GET_SEED_TRAIT(seed, TRAIT_PRODUCT_ICON)]-product") + fruit_base.color = "[GET_SEED_TRAIT(seed, TRAIT_PRODUCT_COLOUR)]" plant_icon.overlays |= fruit_base - if("[seed.get_trait(TRAIT_PRODUCT_ICON)]-leaf" in icon_states('icons/obj/hydroponics_products.dmi')) - var/image/fruit_leaves = image('icons/obj/hydroponics_products.dmi',"[seed.get_trait(TRAIT_PRODUCT_ICON)]-leaf") - fruit_leaves.color = "[seed.get_trait(TRAIT_PLANT_COLOUR)]" + if("[GET_SEED_TRAIT(seed, TRAIT_PRODUCT_ICON)]-leaf" in icon_states('icons/obj/hydroponics_products.dmi')) + var/image/fruit_leaves = image('icons/obj/hydroponics_products.dmi',"[GET_SEED_TRAIT(seed, TRAIT_PRODUCT_ICON)]-leaf") + fruit_leaves.color = "[GET_SEED_TRAIT(seed, TRAIT_PLANT_COLOUR)]" plant_icon.overlays |= fruit_leaves SSplants.plant_icon_cache[icon_key] = plant_icon AddOverlays(plant_icon) @@ -156,7 +156,7 @@ /obj/item/reagent_containers/food/snacks/grown/proc/on_entered(datum/source, atom/movable/arrived, atom/old_loc, list/atom/old_locs) SIGNAL_HANDLER - if(seed && seed.get_trait(TRAIT_JUICY) == 2) + if(seed && GET_SEED_TRAIT(seed, TRAIT_JUICY) == 2) if(isliving(arrived)) var/mob/living/M = arrived @@ -200,7 +200,7 @@ return if(seed) - if(seed.get_trait(TRAIT_PRODUCES_POWER) && attacking_item.iscoil()) + if(GET_SEED_TRAIT(seed, TRAIT_PRODUCES_POWER) && attacking_item.iscoil()) var/obj/item/stack/cable_coil/C = attacking_item if(C.use(5)) //TODO: generalize this. @@ -222,8 +222,8 @@ if(istype(attacking_item,/obj/item/material/hatchet) && !isnull(seed.chems[/singleton/reagent/woodpulp])) user.show_message(SPAN_NOTICE("You make planks out of \the [src]!"), 1) playsound(loc, 'sound/effects/woodcutting.ogg', 50, 1) - var/flesh_colour = seed.get_trait(TRAIT_FLESH_COLOUR) - if(!flesh_colour) flesh_colour = seed.get_trait(TRAIT_PRODUCT_COLOUR) + var/flesh_colour = GET_SEED_TRAIT(seed, TRAIT_FLESH_COLOUR) + if(!flesh_colour) flesh_colour = GET_SEED_TRAIT(seed, TRAIT_PRODUCT_COLOUR) for(var/i=0,i<2,i++) var/obj/item/stack/material/wood/NG = new (user.loc) if(flesh_colour) NG.color = flesh_colour @@ -256,7 +256,7 @@ new /obj/item/reagent_containers/food/snacks/soydope(get_turf(src)) qdel(src) return - else if(seed.get_trait(TRAIT_FLESH_COLOUR)) + else if(GET_SEED_TRAIT(seed, TRAIT_FLESH_COLOUR)) if (reagents.total_volume) to_chat(user, "You slice up \the [src].") var/slices = rand(3,5) @@ -273,7 +273,7 @@ /obj/item/reagent_containers/food/snacks/grown/apply_hit_effect(mob/living/target, mob/living/user, var/hit_zone) . = ..() - if(seed && seed.get_trait(TRAIT_STINGS)) + if(seed && GET_SEED_TRAIT(seed, TRAIT_STINGS)) if(!reagents || reagents.total_volume <= 0) return reagents.remove_any(rand(1,3)) @@ -303,8 +303,8 @@ if(seed.kitchen_tag == "grass") user.show_message(SPAN_NOTICE("You make a grass tile out of \the [src]!"), 1) - var/flesh_colour = seed.get_trait(TRAIT_FLESH_COLOUR) - if(!flesh_colour) flesh_colour = seed.get_trait(TRAIT_PRODUCT_COLOUR) + var/flesh_colour = GET_SEED_TRAIT(seed, TRAIT_FLESH_COLOUR) + if(!flesh_colour) flesh_colour = GET_SEED_TRAIT(seed, TRAIT_PRODUCT_COLOUR) for(var/i=0,i<2,i++) var/obj/item/stack/tile/grass/G = new (user.loc) if(flesh_colour) G.color = flesh_colour @@ -319,7 +319,7 @@ qdel(src) return - if(seed.get_trait(TRAIT_SPREAD) > 0) + if(GET_SEED_TRAIT(seed, TRAIT_SPREAD) > 0) to_chat(user, SPAN_NOTICE("You plant the [src.name].")) new /obj/machinery/portable_atmospherics/hydroponics/soil/invisible(get_turf(user),src.seed) qdel(src) @@ -346,7 +346,7 @@ ..() if(!seed) return - if(seed.get_trait(TRAIT_STINGS)) + if(GET_SEED_TRAIT(seed, TRAIT_STINGS)) var/mob/living/carbon/human/H = user if(istype(H) && H.gloves) return @@ -379,8 +379,8 @@ GLOBAL_LIST_EMPTY(fruit_icon_cache) desc = "A slice of \a [S.seed_name]. Tasty, probably." seed = S - var/rind_colour = seed.get_trait(TRAIT_PRODUCT_COLOUR) - var/flesh_colour = seed.get_trait(TRAIT_FLESH_COLOUR) + var/rind_colour = GET_SEED_TRAIT(seed, TRAIT_PRODUCT_COLOUR) + var/flesh_colour = GET_SEED_TRAIT(seed, TRAIT_FLESH_COLOUR) if(!flesh_colour) flesh_colour = rind_colour if(!GLOB.fruit_icon_cache["rind-[rind_colour]"]) var/image/I = image(icon,"fruit_rind") diff --git a/code/modules/hydroponics/grown_inedible.dm b/code/modules/hydroponics/grown_inedible.dm index 9f399ded2e4..7b49a4ea4cc 100644 --- a/code/modules/hydroponics/grown_inedible.dm +++ b/code/modules/hydroponics/grown_inedible.dm @@ -27,7 +27,7 @@ if(!S || !S.chems) return - potency = S.get_trait(TRAIT_POTENCY) + potency = GET_SEED_TRAIT(S, TRAIT_POTENCY) for(var/rid in S.chems) var/list/chem_data = S.chems[rid] diff --git a/code/modules/hydroponics/seed.dm b/code/modules/hydroponics/seed.dm index dd80059cf1f..011a05ea7f0 100644 --- a/code/modules/hydroponics/seed.dm +++ b/code/modules/hydroponics/seed.dm @@ -62,63 +62,51 @@ /datum/seed/proc/setup_traits() /datum/seed/New() - set_trait(TRAIT_SPOROUS, 0) - set_trait(TRAIT_IMMUTABLE, 0) - set_trait(TRAIT_HARVEST_REPEAT, 0) - set_trait(TRAIT_PRODUCES_POWER, 0) - set_trait(TRAIT_JUICY, 0) - set_trait(TRAIT_EXPLOSIVE, 0) - set_trait(TRAIT_CARNIVOROUS, 0) - set_trait(TRAIT_PARASITE, 0) - set_trait(TRAIT_STINGS, 0) - set_trait(TRAIT_YIELD, 0) - set_trait(TRAIT_SPREAD, 0) - set_trait(TRAIT_MATURATION, 0) - set_trait(TRAIT_PRODUCTION, 0) - set_trait(TRAIT_TELEPORTING, 0) - set_trait(TRAIT_BIOLUM, 0) - set_trait(TRAIT_ALTER_TEMP, 0) - set_trait(TRAIT_PRODUCT_ICON, 0) - set_trait(TRAIT_PLANT_ICON, 0) - set_trait(TRAIT_PRODUCT_COLOUR, 0) - set_trait(TRAIT_BIOLUM_COLOUR, 0) - set_trait(TRAIT_BIOLUM_PWR, 1) - set_trait(TRAIT_POTENCY, 1) - set_trait(TRAIT_REQUIRES_NUTRIENTS, 1) - set_trait(TRAIT_REQUIRES_WATER, 1) - set_trait(TRAIT_WATER_CONSUMPTION, 3) - set_trait(TRAIT_LIGHT_TOLERANCE, 2.5) // Plants will begin to die if the light levels are 2.5 or more lumens from their ideal. - set_trait(TRAIT_TOXINS_TOLERANCE, 5) - set_trait(TRAIT_PEST_TOLERANCE, 5) - set_trait(TRAIT_WEED_TOLERANCE, 5) - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_TEMPERATE) - set_trait(TRAIT_HEAT_TOLERANCE, 12) // Plants will begin to die if they're twelve or more degrees from their ideal temperature. - set_trait(TRAIT_LOWKPA_TOLERANCE, 25) // Plants survive all the way down to a quarter of an atmosphere! - set_trait(TRAIT_ENDURANCE, 100) - set_trait(TRAIT_HIGHKPA_TOLERANCE, 200) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_TEMPERATE) - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.25) - set_trait(TRAIT_PLANT_COLOUR, "#46B543") - set_trait(TRAIT_LARGE, 0) - set_trait(TRAIT_HEAT_PREFERENCE, 5) // By default, plants grow faster in a temperature within five degrees of their ideal. - set_trait(TRAIT_LIGHT_PREFERENCE, 1.5) // Similarly, they grow faster under lumens within 1.5 of their ideal. + SET_SEED_TRAIT(src, TRAIT_SPOROUS, 0) + SET_SEED_TRAIT(src, TRAIT_IMMUTABLE, 0) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 0) + SET_SEED_TRAIT(src, TRAIT_PRODUCES_POWER, 0) + SET_SEED_TRAIT(src, TRAIT_JUICY, 0) + SET_SEED_TRAIT(src, TRAIT_EXPLOSIVE, 0) + SET_SEED_TRAIT(src, TRAIT_CARNIVOROUS, 0) + SET_SEED_TRAIT(src, TRAIT_PARASITE, 0) + SET_SEED_TRAIT(src, TRAIT_STINGS, 0) + SET_SEED_TRAIT(src, TRAIT_YIELD, 0) + SET_SEED_TRAIT(src, TRAIT_SPREAD, 0) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 0) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 0) + SET_SEED_TRAIT(src, TRAIT_TELEPORTING, 0) + SET_SEED_TRAIT(src, TRAIT_BIOLUM, 0) + SET_SEED_TRAIT(src, TRAIT_ALTER_TEMP, 0) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, 0) + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, 0) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, 0) + SET_SEED_TRAIT(src, TRAIT_BIOLUM_COLOUR, 0) + SET_SEED_TRAIT(src, TRAIT_BIOLUM_PWR, 1) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 1) + SET_SEED_TRAIT(src, TRAIT_REQUIRES_NUTRIENTS, 1) + SET_SEED_TRAIT(src, TRAIT_REQUIRES_WATER, 1) + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 3) + SET_SEED_TRAIT(src, TRAIT_LIGHT_TOLERANCE, 2.5) // Plants will begin to die if the light levels are 2.5 or more lumens from their ideal. + SET_SEED_TRAIT(src, TRAIT_TOXINS_TOLERANCE, 5) + SET_SEED_TRAIT(src, TRAIT_PEST_TOLERANCE, 5) + SET_SEED_TRAIT(src, TRAIT_WEED_TOLERANCE, 5) + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_TEMPERATE) + SET_SEED_TRAIT(src, TRAIT_HEAT_TOLERANCE, 12) // Plants will begin to die if they're twelve or more degrees from their ideal temperature. + SET_SEED_TRAIT(src, TRAIT_LOWKPA_TOLERANCE, 25) // Plants survive all the way down to a quarter of an atmosphere! + SET_SEED_TRAIT(src, TRAIT_ENDURANCE, 100) + SET_SEED_TRAIT(src, TRAIT_HIGHKPA_TOLERANCE, 200) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_TEMPERATE) + SET_SEED_TRAIT(src, TRAIT_NUTRIENT_CONSUMPTION, 0.25) + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#46B543") + SET_SEED_TRAIT(src, TRAIT_LARGE, 0) + SET_SEED_TRAIT(src, TRAIT_HEAT_PREFERENCE, 5) // By default, plants grow faster in a temperature within five degrees of their ideal. + SET_SEED_TRAIT(src, TRAIT_LIGHT_PREFERENCE, 1.5) // Similarly, they grow faster under lumens within 1.5 of their ideal. setup_traits() update_growth_stages() -/datum/seed/proc/get_trait(var/trait) - return traits["[trait]"] - -/datum/seed/proc/get_trash_type() - return trash_type - -/datum/seed/proc/set_trait(var/trait,var/nval,var/ubound,var/lbound, var/degrade) - if(!isnull(degrade)) nval *= degrade - if(!isnull(ubound)) nval = min(nval,ubound) - if(!isnull(lbound)) nval = max(nval,lbound) - traits["[trait]"] = nval - /datum/seed/proc/create_spores(var/turf/T) if(!T) return @@ -130,18 +118,18 @@ var/datum/reagents/R = new/datum/reagents(100) if(chems.len) for(var/rid in chems) - var/injecting = max(1,get_trait(TRAIT_POTENCY)/5) + var/injecting = max(1,GET_SEED_TRAIT(src, TRAIT_POTENCY)/5) R.add_reagent(rid,injecting) var/datum/effect/effect/system/smoke_spread/chem/spores/S = new(name) S.attach(T) - S.set_up(R, round(get_trait(TRAIT_POTENCY)/4), 0, T, 40) + S.set_up(R, round(GET_SEED_TRAIT(src, TRAIT_POTENCY)/4), 0, T, 40) S.start() /// Does brute damage to a target. /datum/seed/proc/do_thorns(var/mob/living/carbon/human/target, var/obj/item/fruit, var/target_limb) - if(!get_trait(TRAIT_CARNIVOROUS)) + if(!GET_SEED_TRAIT(src, TRAIT_CARNIVOROUS)) return if(!istype(target)) @@ -158,19 +146,19 @@ var/obj/item/organ/external/affecting = target.get_organ(target_limb) var/damage = 0 - if(get_trait(TRAIT_CARNIVOROUS)) - if(get_trait(TRAIT_CARNIVOROUS) == 2) + if(GET_SEED_TRAIT(src, TRAIT_CARNIVOROUS)) + if(GET_SEED_TRAIT(src, TRAIT_CARNIVOROUS) == 2) if(affecting) to_chat(target, SPAN_DANGER("\The [fruit]'s thorns pierce your [affecting.name] greedily!")) else to_chat(target, SPAN_DANGER("\The [fruit]'s thorns pierce your flesh greedily!")) - damage = get_trait(TRAIT_POTENCY)/2 + damage = GET_SEED_TRAIT(src, TRAIT_POTENCY)/2 else if(affecting) to_chat(target, SPAN_DANGER("\The [fruit]'s thorns dig deeply into your [affecting.name]!")) else to_chat(target, SPAN_DANGER("\The [fruit]'s thorns dig deeply into your flesh!")) - damage = get_trait(TRAIT_POTENCY)/5 + damage = GET_SEED_TRAIT(src, TRAIT_POTENCY)/5 else return @@ -184,7 +172,7 @@ /// Adds reagents to a target. /datum/seed/proc/do_sting(var/mob/living/carbon/human/target, var/obj/item/fruit) - if(!get_trait(TRAIT_STINGS)) + if(!GET_SEED_TRAIT(src, TRAIT_STINGS)) return if(chems && chems.len) @@ -200,7 +188,7 @@ to_chat(target, SPAN_DANGER("You are stung by \the [fruit]!")) for(var/rid in chems) - var/injecting = min(5,max(1,get_trait(TRAIT_POTENCY)/5)) + var/injecting = min(5,max(1,GET_SEED_TRAIT(src, TRAIT_POTENCY)/5)) target.reagents.add_reagent(rid,injecting) /// Splatter a turf. @@ -209,27 +197,27 @@ var/obj/effect/plant/splat = new splat_type(T, src) if(!istype(splat)) // Plants handle their own stuff. splat.name = "[thrown.name] [pick("smear","smudge","splatter")]" - if(get_trait(TRAIT_BIOLUM)) + if(GET_SEED_TRAIT(src, TRAIT_BIOLUM)) var/pwr - if(get_trait(TRAIT_BIOLUM_PWR) == 0) - pwr = get_trait(TRAIT_BIOLUM) + if(GET_SEED_TRAIT(src, TRAIT_BIOLUM_PWR) == 0) + pwr = GET_SEED_TRAIT(src, TRAIT_BIOLUM) else - pwr = get_trait(TRAIT_BIOLUM_PWR) + pwr = GET_SEED_TRAIT(src, TRAIT_BIOLUM_PWR) var/clr - if(get_trait(TRAIT_BIOLUM_COLOUR)) - clr = get_trait(TRAIT_BIOLUM_COLOUR) - splat.set_light(get_trait(TRAIT_POTENCY)/10, pwr, clr) + if(GET_SEED_TRAIT(src, TRAIT_BIOLUM_COLOUR)) + clr = GET_SEED_TRAIT(src, TRAIT_BIOLUM_COLOUR) + splat.set_light(GET_SEED_TRAIT(src, TRAIT_POTENCY)/10, pwr, clr) addtimer(CALLBACK(splat, TYPE_PROC_REF(/atom, set_light), 0), rand(3 MINUTES, 5 MINUTES)) - var/flesh_colour = get_trait(TRAIT_FLESH_COLOUR) - if(!flesh_colour) flesh_colour = get_trait(TRAIT_PRODUCT_COLOUR) - if(flesh_colour) splat.color = get_trait(TRAIT_PRODUCT_COLOUR) + var/flesh_colour = GET_SEED_TRAIT(src, TRAIT_FLESH_COLOUR) + if(!flesh_colour) flesh_colour = GET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR) + if(flesh_colour) splat.color = GET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR) if(chems) for(var/mob/living/M in T.contents) if(!M.reagents) continue for(var/chem in chems) - var/injecting = min(5,max(1,get_trait(TRAIT_POTENCY)/3)) + var/injecting = min(5,max(1,GET_SEED_TRAIT(src, TRAIT_POTENCY)/3)) M.reagents.add_reagent(chem,injecting) /// Applies an effect to a target atom. @@ -238,11 +226,11 @@ var/splatted var/turf/origin_turf = get_turf(target) - if(force_explode || get_trait(TRAIT_EXPLOSIVE)) + if(force_explode || GET_SEED_TRAIT(src, TRAIT_EXPLOSIVE)) create_spores(origin_turf) - var/flood_dist = min(10,max(1,get_trait(TRAIT_POTENCY)/15)) + var/flood_dist = min(10,max(1,GET_SEED_TRAIT(src, TRAIT_POTENCY)/15)) var/list/open_turfs = list() var/list/closed_turfs = list() var/list/valid_turfs = list() @@ -293,16 +281,16 @@ for(var/mob/living/M in target.contents) apply_special_effect(M) - if(get_trait(TRAIT_JUICY) && splatted) + if(GET_SEED_TRAIT(src, TRAIT_JUICY) && splatted) splatter(origin_turf,thrown) if(origin_turf) origin_turf.visible_message(SPAN_DANGER("The [thrown.name] splatters against [target]!")) qdel(thrown) - if(get_trait(TRAIT_TELEPORTING)) + if(GET_SEED_TRAIT(src, TRAIT_TELEPORTING)) - var/outer_teleport_radius = get_trait(TRAIT_POTENCY)/5 - var/inner_teleport_radius = get_trait(TRAIT_POTENCY)/15 + var/outer_teleport_radius = GET_SEED_TRAIT(src, TRAIT_POTENCY)/5 + var/inner_teleport_radius = GET_SEED_TRAIT(src, TRAIT_POTENCY)/15 var/list/turfs = list() if(inner_teleport_radius > 0) @@ -335,7 +323,7 @@ // Process it. var/pressure = environment.return_pressure() - if(pressure < get_trait(TRAIT_LOWKPA_TOLERANCE)|| pressure > get_trait(TRAIT_HIGHKPA_TOLERANCE)) + if(pressure < GET_SEED_TRAIT(src, TRAIT_LOWKPA_TOLERANCE)|| pressure > GET_SEED_TRAIT(src, TRAIT_HIGHKPA_TOLERANCE)) health_change += rand(1,3) * HYDRO_SPEED_MULTIPLIER // We take the absolute value of the environment's temperature minus the ideal heat - closer to 0 is better, in this case. @@ -346,7 +334,7 @@ // Handle gas production. if(exude_gasses && exude_gasses.len && !check_only) for(var/gas in exude_gasses) - environment.adjust_gas(gas, max(1,round((exude_gasses[gas]*(get_trait(TRAIT_POTENCY)/5))/exude_gasses.len))) + environment.adjust_gas(gas, max(1,round((exude_gasses[gas]*(GET_SEED_TRAIT(src, TRAIT_POTENCY)/5))/exude_gasses.len))) // Handle light requirements. if(!light_supplied) @@ -363,25 +351,25 @@ /// Returns true if a plant is outside their light tolerances, otherwise false. /datum/seed/proc/check_light_tolerances(var/light_supplied) - if(abs(light_supplied - get_trait(TRAIT_IDEAL_LIGHT)) > get_trait(TRAIT_LIGHT_TOLERANCE)) + if(abs(light_supplied - GET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT)) > GET_SEED_TRAIT(src, TRAIT_LIGHT_TOLERANCE)) return TRUE return FALSE /// Returns true if a plant is outside their heat tolerances, otherwise false. /datum/seed/proc/check_heat_tolerances(var/datum/gas_mixture/environment) - if(abs(environment.temperature - get_trait(TRAIT_IDEAL_HEAT)) > get_trait(TRAIT_HEAT_TOLERANCE)) + if(abs(environment.temperature - GET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT)) > GET_SEED_TRAIT(src, TRAIT_HEAT_TOLERANCE)) return TRUE return FALSE /// Returns true if a plant is in their light preferences, otherwise false. /datum/seed/proc/check_light_preferences(var/light_supplied) - if(abs(light_supplied - get_trait(TRAIT_IDEAL_LIGHT)) < get_trait(TRAIT_LIGHT_PREFERENCE)) + if(abs(light_supplied - GET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT)) < GET_SEED_TRAIT(src, TRAIT_LIGHT_PREFERENCE)) return TRUE return FALSE /// Returns true if a plant is in their heat preferences, otherwise false. /datum/seed/proc/check_heat_preferences(var/datum/gas_mixture/environment) - if(abs(environment.temperature - get_trait(TRAIT_IDEAL_HEAT)) < get_trait(TRAIT_HEAT_PREFERENCE)) + if(abs(environment.temperature - GET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT)) < GET_SEED_TRAIT(src, TRAIT_HEAT_PREFERENCE)) return TRUE return FALSE @@ -462,32 +450,32 @@ seed_noun = pick(SEED_NOUN_SEEDS, SEED_NOUN_PITS, SEED_NOUN_NODES, SEED_NOUN_CUTTINGS) - set_trait(TRAIT_POTENCY,rand(5,30),200,0) - set_trait(TRAIT_PRODUCT_ICON,pick(SSplants.plant_product_sprites)) - set_trait(TRAIT_PLANT_ICON,pick(SSplants.plant_sprites)) - set_trait(TRAIT_PLANT_COLOUR,get_random_colour(0,75,190)) - set_trait(TRAIT_PRODUCT_COLOUR,get_random_colour(0,75,190)) + SET_SEED_TRAIT_BOUNDED(src, TRAIT_POTENCY, rand(5,30), 200, 0, 1) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, pick(SSplants.plant_product_sprites)) + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, pick(SSplants.plant_sprites)) + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, get_random_colour(0,75,190)) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, get_random_colour(0,75,190)) update_growth_stages() if(prob(20)) - set_trait(TRAIT_HARVEST_REPEAT,1) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) if(prob(15)) if(prob(15)) - set_trait(TRAIT_JUICY,2) + SET_SEED_TRAIT(src, TRAIT_JUICY, 2) else - set_trait(TRAIT_JUICY,1) + SET_SEED_TRAIT(src, TRAIT_JUICY, 1) if(prob(5)) - set_trait(TRAIT_STINGS,1) + SET_SEED_TRAIT(src, TRAIT_STINGS, 1) if(prob(5)) - set_trait(TRAIT_PRODUCES_POWER,1) + SET_SEED_TRAIT(src, TRAIT_PRODUCES_POWER, 1) if(prob(1)) - set_trait(TRAIT_EXPLOSIVE,1) + SET_SEED_TRAIT(src, TRAIT_EXPLOSIVE, 1) else if(prob(1)) - set_trait(TRAIT_TELEPORTING,1) + SET_SEED_TRAIT(src, TRAIT_TELEPORTING, 1) if(prob(5)) consume_gasses = list() @@ -554,75 +542,75 @@ chems[new_chem] = list(rand(1,10),rand(10,20)) if(prob(90)) - set_trait(TRAIT_REQUIRES_NUTRIENTS,1) - set_trait(TRAIT_NUTRIENT_CONSUMPTION,rand(25)/25) + SET_SEED_TRAIT(src, TRAIT_REQUIRES_NUTRIENTS, 1) + SET_SEED_TRAIT(src, TRAIT_NUTRIENT_CONSUMPTION, rand(25)/25) else - set_trait(TRAIT_REQUIRES_NUTRIENTS,0) + SET_SEED_TRAIT(src, TRAIT_REQUIRES_NUTRIENTS, 0) if(prob(90)) - set_trait(TRAIT_REQUIRES_WATER,1) - set_trait(TRAIT_WATER_CONSUMPTION,rand(10)) + SET_SEED_TRAIT(src, TRAIT_REQUIRES_WATER, 1) + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, rand(10)) else - set_trait(TRAIT_REQUIRES_WATER,0) + SET_SEED_TRAIT(src, TRAIT_REQUIRES_WATER, 0) - set_trait(TRAIT_IDEAL_HEAT, rand(100,400)) - set_trait(TRAIT_HEAT_TOLERANCE, rand(10,30)) - set_trait(TRAIT_IDEAL_LIGHT, rand(2,10)) - set_trait(TRAIT_LIGHT_TOLERANCE, rand(2,7)) - set_trait(TRAIT_TOXINS_TOLERANCE, rand(2,7)) - set_trait(TRAIT_PEST_TOLERANCE, rand(2,7)) - set_trait(TRAIT_WEED_TOLERANCE, rand(2,7)) - set_trait(TRAIT_LOWKPA_TOLERANCE, rand(10,50)) - set_trait(TRAIT_HIGHKPA_TOLERANCE,rand(100,300)) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, rand(100,400)) + SET_SEED_TRAIT(src, TRAIT_HEAT_TOLERANCE, rand(10,30)) + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, rand(2,10)) + SET_SEED_TRAIT(src, TRAIT_LIGHT_TOLERANCE, rand(2,7)) + SET_SEED_TRAIT(src, TRAIT_TOXINS_TOLERANCE, rand(2,7)) + SET_SEED_TRAIT(src, TRAIT_PEST_TOLERANCE, rand(2,7)) + SET_SEED_TRAIT(src, TRAIT_WEED_TOLERANCE, rand(2,7)) + SET_SEED_TRAIT(src, TRAIT_LOWKPA_TOLERANCE, rand(10,50)) + SET_SEED_TRAIT(src, TRAIT_HIGHKPA_TOLERANCE, rand(100,300)) if(prob(5)) - set_trait(TRAIT_ALTER_TEMP,rand(-5,5)) + SET_SEED_TRAIT(src, TRAIT_ALTER_TEMP, rand(-5,5)) if(prob(1)) - set_trait(TRAIT_IMMUTABLE,-1) + SET_SEED_TRAIT(src, TRAIT_IMMUTABLE, -1) var/carnivore_prob = rand(100) if(carnivore_prob < 5) - set_trait(TRAIT_CARNIVOROUS,2) + SET_SEED_TRAIT(src, TRAIT_CARNIVOROUS, 2) else if(carnivore_prob < 10) - set_trait(TRAIT_CARNIVOROUS,1) + SET_SEED_TRAIT(src, TRAIT_CARNIVOROUS, 1) if(prob(10)) - set_trait(TRAIT_PARASITE,1) + SET_SEED_TRAIT(src, TRAIT_PARASITE, 1) var/vine_prob = rand(100) if(vine_prob < 5) - set_trait(TRAIT_SPREAD,2) + SET_SEED_TRAIT(src, TRAIT_SPREAD, 2) else if(vine_prob < 10) - set_trait(TRAIT_SPREAD,1) + SET_SEED_TRAIT(src, TRAIT_SPREAD, 1) if(prob(5)) - set_trait(TRAIT_BIOLUM,1) - set_trait(TRAIT_BIOLUM_COLOUR,get_random_colour(0,75,190)) + SET_SEED_TRAIT(src, TRAIT_BIOLUM, 1) + SET_SEED_TRAIT(src, TRAIT_BIOLUM_COLOUR, get_random_colour(0,75,190)) if(prob(5)) - set_trait(TRAIT_BIOLUM_PWR,rand(0,-5)-rand()) + SET_SEED_TRAIT(src, TRAIT_BIOLUM_PWR, rand(0,-5)-rand()) else - set_trait(TRAIT_BIOLUM_PWR,rand(0,5)+rand()) + SET_SEED_TRAIT(src, TRAIT_BIOLUM_PWR, rand(0,5)+rand()) if(prob(5)) - set_trait(TRAIT_SPOROUS,1) + SET_SEED_TRAIT(src, TRAIT_SPOROUS, 1) - set_trait(TRAIT_ENDURANCE,rand(60,100)) - set_trait(TRAIT_YIELD,rand(3,15)) - set_trait(TRAIT_MATURATION,rand(5,15)) - set_trait(TRAIT_PRODUCTION,get_trait(TRAIT_MATURATION)+rand(2,5)) + SET_SEED_TRAIT(src, TRAIT_ENDURANCE, rand(60,100)) + SET_SEED_TRAIT(src, TRAIT_YIELD, rand(3,15)) + SET_SEED_TRAIT(src, TRAIT_MATURATION, rand(5,15)) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, GET_SEED_TRAIT(src, TRAIT_MATURATION)+rand(2,5)) generate_name() /// Returns a key corresponding to an entry in the global seed list. /datum/seed/proc/get_mutant_variant() - if(!mutants || !mutants.len || get_trait(TRAIT_IMMUTABLE) > 0) return 0 + if(!mutants || !mutants.len || GET_SEED_TRAIT(src, TRAIT_IMMUTABLE) > 0) return 0 return pick(mutants) /// Mutates the plant overall (randomly). /datum/seed/proc/mutate(var/degree,var/turf/source_turf) - if(!degree || get_trait(TRAIT_IMMUTABLE) > 0) return + if(!degree || GET_SEED_TRAIT(src, TRAIT_IMMUTABLE) > 0) return source_turf.visible_message(SPAN_NOTICE("\The [display_name] quivers!")) @@ -631,76 +619,76 @@ for(var/i = 0;i\The [display_name]'s glow changes colour!") + SET_SEED_TRAIT(src, TRAIT_BIOLUM_COLOUR, get_random_colour(0,75,190)) + source_turf.visible_message("\The [display_name]'s glow changes colour!") else source_turf.visible_message(SPAN_NOTICE("\The [display_name]'s glow dims...")) if(11) - set_trait(TRAIT_TELEPORTING,1) + SET_SEED_TRAIT(src, TRAIT_TELEPORTING, 1) return /// Mutates a specific trait/set of traits. /datum/seed/proc/apply_gene(var/datum/plantgene/gene) - if(!gene || !gene.values || get_trait(TRAIT_IMMUTABLE) > 0) return + if(!gene || !gene.values || GET_SEED_TRAIT(src, TRAIT_IMMUTABLE) > 0) return // Splicing products has some detrimental effects on yield and lifespan. // We handle this before we do the rest of the looping, as normal traits don't really include lists. switch(gene.genetype) if(GENE_BIOCHEMISTRY) for(var/trait in list(TRAIT_YIELD, TRAIT_ENDURANCE)) - if(get_trait(trait) > 0) set_trait(trait,get_trait(trait),null,1,0.85) + if(GET_SEED_TRAIT(src, trait) > 0) SET_SEED_TRAIT_BOUNDED(src, trait, GET_SEED_TRAIT(src, trait), null, 1, 0.85) if(!chems) chems = list() @@ -741,7 +729,7 @@ gene.values["product_type"] = null for(var/trait in gene.values) - set_trait(trait,gene.values["[trait]"]) + SET_SEED_TRAIT(src, trait, gene.values["[trait]"]) update_growth_stages() @@ -786,7 +774,7 @@ traits_to_copy = list(TRAIT_TELEPORTING) for(var/trait in traits_to_copy) - P.values["[trait]"] = get_trait(trait) + P.values["[trait]"] = GET_SEED_TRAIT(src, trait) return (P ? P : 0) /// Place the plant products at the feet of the user. @@ -794,7 +782,7 @@ if(!user) return - if(!force_amount && get_trait(TRAIT_YIELD) == 0 && !harvest_sample) + if(!force_amount && GET_SEED_TRAIT(src, TRAIT_YIELD) == 0 && !harvest_sample) if(istype(user)) to_chat(user, SPAN_DANGER("You fail to harvest anything useful.")) else if(istype(user)) to_chat(user, "You [harvest_sample ? "take a sample" : "harvest"] from the [display_name].") @@ -815,12 +803,12 @@ if(!isnull(force_amount)) total_yield = force_amount else - if(get_trait(TRAIT_YIELD) > -1) + if(GET_SEED_TRAIT(src, TRAIT_YIELD) > -1) if(isnull(yield_mod) || yield_mod < 1) yield_mod = 0 - total_yield = get_trait(TRAIT_YIELD) + total_yield = GET_SEED_TRAIT(src, TRAIT_YIELD) else - total_yield = get_trait(TRAIT_YIELD) + rand(yield_mod) + total_yield = GET_SEED_TRAIT(src, TRAIT_YIELD) + rand(yield_mod) total_yield = max(1,total_yield) // If the plant is stunted, you get half the yield. @@ -838,26 +826,26 @@ if(product_desc_extended) product.desc_extended = product_desc_extended - if(get_trait(TRAIT_PRODUCT_COLOUR)) + if(GET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR)) if(istype(product, /obj/item/reagent_containers/food)) var/obj/item/reagent_containers/food/food = product - food.color = get_trait(TRAIT_PRODUCT_COLOUR) - food.filling_color = get_trait(TRAIT_PRODUCT_COLOUR) + food.color = GET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR) + food.filling_color = GET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR) if(mysterious) product.name += "?" product.desc += " On second thought, something about this one looks strange." - if(get_trait(TRAIT_BIOLUM)) + if(GET_SEED_TRAIT(src, TRAIT_BIOLUM)) var/pwr - if(get_trait(TRAIT_BIOLUM_PWR) == 0) - pwr = get_trait(TRAIT_BIOLUM) + if(GET_SEED_TRAIT(src, TRAIT_BIOLUM_PWR) == 0) + pwr = GET_SEED_TRAIT(src, TRAIT_BIOLUM) else - pwr = get_trait(TRAIT_BIOLUM_PWR) + pwr = GET_SEED_TRAIT(src, TRAIT_BIOLUM_PWR) var/clr - if(get_trait(TRAIT_BIOLUM_COLOUR)) - clr = get_trait(TRAIT_BIOLUM_COLOUR) - product.set_light(get_trait(TRAIT_POTENCY)/10, pwr, clr) + if(GET_SEED_TRAIT(src, TRAIT_BIOLUM_COLOUR)) + clr = GET_SEED_TRAIT(src, TRAIT_BIOLUM_COLOUR) + product.set_light(GET_SEED_TRAIT(src, TRAIT_POTENCY)/10, pwr, clr) addtimer(CALLBACK(product, TYPE_PROC_REF(/atom, set_light), 0), rand(5 MINUTES, 7 MINUTES)) //Handle spawning in living, mobile products (like dionaea). @@ -873,7 +861,7 @@ is set to a new datum copied from the original. This datum won't actually be put into the global datum list until the product is harvested, though. */ /datum/seed/proc/diverge(var/modified) - if(get_trait(TRAIT_IMMUTABLE) > 0) return + if(GET_SEED_TRAIT(src, TRAIT_IMMUTABLE) > 0) return //Set up some basic information. var/datum/seed/new_seed = new @@ -898,8 +886,8 @@ be put into the global datum list until the product is harvested, though. */ return new_seed /datum/seed/proc/update_growth_stages() - if(get_trait(TRAIT_PLANT_ICON)) - growth_stages = SSplants.plant_sprites[get_trait(TRAIT_PLANT_ICON)] + if(GET_SEED_TRAIT(src, TRAIT_PLANT_ICON)) + growth_stages = SSplants.plant_sprites[GET_SEED_TRAIT(src, TRAIT_PLANT_ICON)] else growth_stages = 0 @@ -907,7 +895,7 @@ be put into the global datum list until the product is harvested, though. */ SHOULD_NOT_SLEEP(TRUE) SHOULD_BE_PURE(TRUE) - if(get_trait(TRAIT_SPREAD) == 2) + if(GET_SEED_TRAIT(src, TRAIT_SPREAD) == 2) switch(seed_noun) if(SEED_NOUN_CUTTINGS) return GROWTH_WORMS @@ -942,15 +930,15 @@ GLOBAL_LIST_INIT(seed_icon_cache, list()) /* Setup a bunch of shit that should have been done in a very different way but alas */ //The icon of the plant - var/icon_trait = get_trait(TRAIT_PLANT_ICON) + var/icon_trait = GET_SEED_TRAIT(src, TRAIT_PLANT_ICON) //The type of growth var/growth_type = get_growth_type() //If it's a vine - var/is_vine = (get_trait(TRAIT_SPREAD) == 2) + var/is_vine = (GET_SEED_TRAIT(src, TRAIT_SPREAD) == 2) //If the icon is a large one - var/is_large_icon = get_trait(TRAIT_LARGE) + var/is_large_icon = GET_SEED_TRAIT(src, TRAIT_LARGE) //The color of the leaves, if any - var/leaves_color = get_trait(TRAIT_LEAVES_COLOUR) + var/leaves_color = GET_SEED_TRAIT(src, TRAIT_LEAVES_COLOUR) /* The part where we select what to request */ @@ -967,7 +955,7 @@ GLOBAL_LIST_INIT(seed_icon_cache, list()) var/icon_state_to_request = (is_vine) ? "[growth_type]-[growth_stage]" : "[icon_trait]-[growth_stage]" //Pick the color to assign to the image - var/color_to_request = get_trait(TRAIT_PLANT_COLOUR) + var/color_to_request = GET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR) //The leaves color overlay to request var/leaves_overlay_to_request = (leaves_color) ? "[icon_trait]-[growth_stage]-leaves" : null diff --git a/code/modules/hydroponics/seed_datums/adhomai.dm b/code/modules/hydroponics/seed_datums/adhomai.dm index 5fdd3d3ab19..6d6b09f7344 100644 --- a/code/modules/hydroponics/seed_datums/adhomai.dm +++ b/code/modules/hydroponics/seed_datums/adhomai.dm @@ -12,17 +12,17 @@ /datum/seed/shand/setup_traits() ..() - set_trait(TRAIT_MATURATION, 3) - set_trait(TRAIT_PRODUCTION, 5) - set_trait(TRAIT_YIELD, 4) - set_trait(TRAIT_POTENCY, 10) - set_trait(TRAIT_PRODUCT_ICON,"alien3") - set_trait(TRAIT_PRODUCT_COLOUR,"#378C61") - set_trait(TRAIT_PLANT_COLOUR,"#378C61") - set_trait(TRAIT_PLANT_ICON,"tree5") - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_ADHOMAI) - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_DIM) - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 3) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 5) + SET_SEED_TRAIT(src, TRAIT_YIELD, 4) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "alien3") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#378C61") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#378C61") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "tree5") + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_ADHOMAI) + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_DIM) + SET_SEED_TRAIT(src, TRAIT_NUTRIENT_CONSUMPTION, 0.15) /obj/item/seeds/shandseed seed_type = "shand" @@ -38,17 +38,17 @@ /datum/seed/mtear/setup_traits() ..() - set_trait(TRAIT_MATURATION, 3) - set_trait(TRAIT_PRODUCTION, 5) - set_trait(TRAIT_YIELD, 4) - set_trait(TRAIT_POTENCY, 10) - set_trait(TRAIT_PRODUCT_ICON,"alien4") - set_trait(TRAIT_PRODUCT_COLOUR,"#4CC5C7") - set_trait(TRAIT_PLANT_COLOUR,"#4CC789") - set_trait(TRAIT_PLANT_ICON,"bush7") - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_ADHOMAI) - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_DIM) - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 3) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 5) + SET_SEED_TRAIT(src, TRAIT_YIELD, 4) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "alien4") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#4CC5C7") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#4CC789") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "bush7") + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_ADHOMAI) + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_DIM) + SET_SEED_TRAIT(src, TRAIT_NUTRIENT_CONSUMPTION, 0.15) /obj/item/seeds/mtearseed seed_type = "mtear" @@ -64,17 +64,17 @@ /datum/seed/earthenroot/setup_traits() ..() - set_trait(TRAIT_MATURATION, 7) - set_trait(TRAIT_PRODUCTION, 5) - set_trait(TRAIT_YIELD, 5) - set_trait(TRAIT_POTENCY, 8) - set_trait(TRAIT_PRODUCT_ICON,"carrot2") - set_trait(TRAIT_PRODUCT_COLOUR,"#87CEEB") - set_trait(TRAIT_PLANT_COLOUR,"#4D8F53") - set_trait(TRAIT_PLANT_ICON,"alien2") - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_ADHOMAI) - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_DIM) - set_trait(TRAIT_WATER_CONSUMPTION, 8) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 7) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 5) + SET_SEED_TRAIT(src, TRAIT_YIELD, 5) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 8) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "carrot2") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#87CEEB") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#4D8F53") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "alien2") + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_ADHOMAI) + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_DIM) + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 8) /obj/item/seeds/earthenroot seed_type = "earthenroot" @@ -90,20 +90,20 @@ /datum/seed/dirtberries/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT, 1) - set_trait(TRAIT_JUICY, 1) - set_trait(TRAIT_MATURATION, 5) - set_trait(TRAIT_PRODUCTION, 5) - set_trait(TRAIT_YIELD, 2) - set_trait(TRAIT_POTENCY, 10) - set_trait(TRAIT_PRODUCT_ICON,"bean") - set_trait(TRAIT_PRODUCT_COLOUR,"#C4AE7A") - set_trait(TRAIT_PLANT_COLOUR,"#4D8F53") - set_trait(TRAIT_PLANT_ICON,"bush4") - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_ADHOMAI) - set_trait(TRAIT_WATER_CONSUMPTION, 6) - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_DIM) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_JUICY, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 5) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 5) + SET_SEED_TRAIT(src, TRAIT_YIELD, 2) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "bean") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#C4AE7A") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#4D8F53") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "bush4") + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_ADHOMAI) + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 6) + SET_SEED_TRAIT(src, TRAIT_NUTRIENT_CONSUMPTION, 0.15) + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_DIM) /obj/item/seeds/dirtberries seed_type = "dirtberries" @@ -122,17 +122,17 @@ /datum/seed/mushroom/nfrihi/setup_traits() ..() - set_trait(TRAIT_MATURATION, 6) - set_trait(TRAIT_PRODUCTION, 1) - set_trait(TRAIT_YIELD, 4) - set_trait(TRAIT_POTENCY, 1) - set_trait(TRAIT_PRODUCT_ICON,"nfrihi") - set_trait(TRAIT_PRODUCT_COLOUR,"#DBDA72") - set_trait(TRAIT_PLANT_COLOUR,"#31331c") - set_trait(TRAIT_PLANT_ICON,"nfrihi") - set_trait(TRAIT_WATER_CONSUMPTION, 4) - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_DIM) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_ADHOMAI) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 6) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 1) + SET_SEED_TRAIT(src, TRAIT_YIELD, 4) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 1) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "nfrihi") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#DBDA72") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#31331c") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "nfrihi") + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 4) + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_DIM) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_ADHOMAI) /obj/item/seeds/blizzard seed_type = "nfrihi" @@ -150,17 +150,17 @@ /datum/seed/sugartree/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT, 1) - set_trait(TRAIT_MATURATION, 9) - set_trait(TRAIT_PRODUCTION, 5) - set_trait(TRAIT_YIELD, 2) - set_trait(TRAIT_PRODUCT_ICON,"nmshaan") - set_trait(TRAIT_PRODUCT_COLOUR,"#fffdf7") - set_trait(TRAIT_PLANT_COLOUR,"#31331c") - set_trait(TRAIT_PLANT_ICON,"nmshaan") - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_ADHOMAI) - set_trait(TRAIT_WATER_CONSUMPTION, 4) - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_DIM) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 9) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 5) + SET_SEED_TRAIT(src, TRAIT_YIELD, 2) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "nmshaan") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#fffdf7") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#31331c") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "nmshaan") + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_ADHOMAI) + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 4) + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_DIM) /obj/item/seeds/sugartree seed_type = "sugar tree" diff --git a/code/modules/hydroponics/seed_datums/aquaculture.dm b/code/modules/hydroponics/seed_datums/aquaculture.dm index 8e61cf7d9e0..8c786e361f1 100644 --- a/code/modules/hydroponics/seed_datums/aquaculture.dm +++ b/code/modules/hydroponics/seed_datums/aquaculture.dm @@ -8,17 +8,17 @@ /datum/seed/mollusc/New() ..() - set_trait(TRAIT_MATURATION, 10) - set_trait(TRAIT_PRODUCTION, 1) - set_trait(TRAIT_YIELD, 3) - set_trait(TRAIT_POTENCY, 1) - set_trait(TRAIT_PRODUCT_ICON, "mollusc") - set_trait(TRAIT_PLANT_ICON, "mollusc") - set_trait(TRAIT_WATER_CONSUMPTION, 6) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_COLD) - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_DIM) - set_trait(TRAIT_PRODUCT_COLOUR, "#aaabba") - set_trait(TRAIT_PLANT_COLOUR, "#aaabba") + SET_SEED_TRAIT(src, TRAIT_MATURATION, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 1) + SET_SEED_TRAIT(src, TRAIT_YIELD, 3) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 1) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "mollusc") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "mollusc") + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 6) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_COLD) + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_DIM) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#aaabba") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#aaabba") /obj/item/seeds/mollusc seed_type = "mollusc" @@ -31,8 +31,8 @@ /datum/seed/mollusc/clam/New() ..() - set_trait(TRAIT_PRODUCT_COLOUR, "#9aaca6") - set_trait(TRAIT_PLANT_COLOUR, "#9aaca6") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#9aaca6") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#9aaca6") /obj/item/seeds/clam seed_type = "clam" @@ -45,8 +45,8 @@ /datum/seed/mollusc/barnacle/New() ..() - set_trait(TRAIT_PRODUCT_COLOUR, "#c1c0b6") - set_trait(TRAIT_PLANT_COLOUR, "#c1c0b6") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#c1c0b6") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#c1c0b6") /obj/item/seeds/barnacle seed_type = "barnacle" @@ -59,8 +59,8 @@ /datum/seed/mollusc/clam/rasval/New() ..() - set_trait(TRAIT_PRODUCT_COLOUR, "#9aaca6") - set_trait(TRAIT_PLANT_COLOUR, "#9aaca6") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#9aaca6") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#9aaca6") /obj/item/seeds/clam/rasval seed_type = "rasval clam" @@ -73,10 +73,10 @@ /datum/seed/grass/sea/setup_traits() ..() - set_trait(TRAIT_PRODUCT_COLOUR, "#0F6E56") - set_trait(TRAIT_PLANT_COLOUR, "#0D4836") - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_COLD) - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_DIM) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#0F6E56") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#0D4836") + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_COLD) + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_DIM) /obj/item/seeds/seaweed seed_type = "seaweed" diff --git a/code/modules/hydroponics/seed_datums/flowers.dm b/code/modules/hydroponics/seed_datums/flowers.dm index bee19674009..0bdc6a5ced7 100644 --- a/code/modules/hydroponics/seed_datums/flowers.dm +++ b/code/modules/hydroponics/seed_datums/flowers.dm @@ -10,14 +10,14 @@ /datum/seed/flower/setup_traits() ..() - set_trait(TRAIT_MATURATION,7) - set_trait(TRAIT_PRODUCTION,1) - set_trait(TRAIT_YIELD,2) - set_trait(TRAIT_PRODUCT_ICON,"flower5") - set_trait(TRAIT_PRODUCT_COLOUR,"#C492D6") - set_trait(TRAIT_PLANT_COLOUR,"#6B8C5E") - set_trait(TRAIT_PLANT_ICON,"flower") - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 7) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 1) + SET_SEED_TRAIT(src, TRAIT_YIELD, 2) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "flower5") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#C492D6") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#6B8C5E") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "flower") + SET_SEED_TRAIT(src, TRAIT_NUTRIENT_CONSUMPTION, 0.15) /datum/seed/flower/poppy name = "poppies" @@ -28,15 +28,15 @@ /datum/seed/flower/poppy/setup_traits() ..() - set_trait(TRAIT_POTENCY,20) - set_trait(TRAIT_MATURATION,8) - set_trait(TRAIT_PRODUCTION,6) - set_trait(TRAIT_YIELD,6) - set_trait(TRAIT_PRODUCT_ICON,"flower3") - set_trait(TRAIT_PRODUCT_COLOUR,"#B33715") - set_trait(TRAIT_PLANT_ICON,"flower3") - set_trait(TRAIT_WATER_CONSUMPTION, 0.5) - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 20) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 8) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 6) + SET_SEED_TRAIT(src, TRAIT_YIELD, 6) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "flower3") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#B33715") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "flower3") + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 0.5) + SET_SEED_TRAIT(src, TRAIT_NUTRIENT_CONSUMPTION, 0.15) /obj/item/seeds/poppyseed seed_type = "poppies" @@ -48,13 +48,13 @@ /datum/seed/flower/sunflower/setup_traits() ..() - set_trait(TRAIT_MATURATION,6) - set_trait(TRAIT_PRODUCT_ICON,"flower2") - set_trait(TRAIT_PRODUCT_COLOUR,"#FFF700") - set_trait(TRAIT_PLANT_ICON,"flower2") - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) - set_trait(TRAIT_WATER_CONSUMPTION, 6) - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 6) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "flower2") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#FFF700") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "flower2") + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 6) + SET_SEED_TRAIT(src, TRAIT_NUTRIENT_CONSUMPTION, 0.15) /obj/item/seeds/sunflowerseed seed_type = "sunflowers" @@ -70,12 +70,12 @@ /datum/seed/flower/vanilla/setup_traits() ..() - set_trait(TRAIT_MATURATION,7) - set_trait(TRAIT_PRODUCTION,1) - set_trait(TRAIT_YIELD,2) - set_trait(TRAIT_PRODUCT_ICON,"flower5") - set_trait(TRAIT_PRODUCT_COLOUR,"#e8efe5") - set_trait(TRAIT_PLANT_COLOUR,"#6B8C5E") - set_trait(TRAIT_PLANT_ICON,"flower") - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 7) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 1) + SET_SEED_TRAIT(src, TRAIT_YIELD, 2) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "flower5") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#e8efe5") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#6B8C5E") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "flower") + SET_SEED_TRAIT(src, TRAIT_NUTRIENT_CONSUMPTION, 0.15) diff --git a/code/modules/hydroponics/seed_datums/fruits.dm b/code/modules/hydroponics/seed_datums/fruits.dm index ad634e3226c..5decc034850 100644 --- a/code/modules/hydroponics/seed_datums/fruits.dm +++ b/code/modules/hydroponics/seed_datums/fruits.dm @@ -10,18 +10,18 @@ /datum/seed/citrus/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_JUICY,1) - set_trait(TRAIT_MATURATION,6) - set_trait(TRAIT_PRODUCTION,6) - set_trait(TRAIT_YIELD,4) - set_trait(TRAIT_POTENCY,15) - set_trait(TRAIT_PRODUCT_ICON,"treefruit") - set_trait(TRAIT_PRODUCT_COLOUR,"#3AF026") - set_trait(TRAIT_PLANT_ICON,"tree") - set_trait(TRAIT_FLESH_COLOUR,"#3AF026") - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_JUICY, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 6) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 6) + SET_SEED_TRAIT(src, TRAIT_YIELD, 4) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 15) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "treefruit") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#3AF026") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "tree") + SET_SEED_TRAIT(src, TRAIT_FLESH_COLOUR, "#3AF026") + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) /obj/item/seeds/limeseed seed_type = "lime" @@ -35,9 +35,9 @@ /datum/seed/citrus/lemon/setup_traits() ..() - set_trait(TRAIT_PRODUCES_POWER,1) - set_trait(TRAIT_PRODUCT_COLOUR,"#F0E226") - set_trait(TRAIT_FLESH_COLOUR,"#F0E226") + SET_SEED_TRAIT(src, TRAIT_PRODUCES_POWER, 1) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#F0E226") + SET_SEED_TRAIT(src, TRAIT_FLESH_COLOUR, "#F0E226") /obj/item/seeds/lemonseed seed_type = "lemon" @@ -51,8 +51,8 @@ /datum/seed/citrus/orange/setup_traits() ..() - set_trait(TRAIT_PRODUCT_COLOUR,"#FFC20A") - set_trait(TRAIT_FLESH_COLOUR,"#FFC20A") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#FFC20A") + SET_SEED_TRAIT(src, TRAIT_FLESH_COLOUR, "#FFC20A") /obj/item/seeds/orangeseed seed_type = "orange" @@ -69,18 +69,18 @@ /datum/seed/grapes/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_MATURATION,3) - set_trait(TRAIT_PRODUCTION,5) - set_trait(TRAIT_YIELD,4) - set_trait(TRAIT_POTENCY,10) - set_trait(TRAIT_PRODUCT_ICON,"grapes") - set_trait(TRAIT_PRODUCT_COLOUR,"#BB6AC4") - set_trait(TRAIT_PLANT_COLOUR,"#378F2E") - set_trait(TRAIT_PLANT_ICON,"vine") - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 3) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 5) + SET_SEED_TRAIT(src, TRAIT_YIELD, 4) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "grapes") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#BB6AC4") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#378F2E") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "vine") + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) + SET_SEED_TRAIT(src, TRAIT_NUTRIENT_CONSUMPTION, 0.15) /obj/item/seeds/grapeseed seed_type = "grapes" @@ -94,7 +94,7 @@ /datum/seed/grapes/green/setup_traits() ..() - set_trait(TRAIT_PRODUCT_COLOUR,"#42ED2F") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#42ED2F") /obj/item/seeds/greengrapeseed seed_type = "greengrapes" @@ -112,17 +112,17 @@ /datum/seed/berry/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_JUICY,1) - set_trait(TRAIT_MATURATION,5) - set_trait(TRAIT_PRODUCTION,5) - set_trait(TRAIT_YIELD,2) - set_trait(TRAIT_POTENCY,10) - set_trait(TRAIT_PRODUCT_ICON,"berry") - set_trait(TRAIT_PRODUCT_COLOUR,"#FA1616") - set_trait(TRAIT_PLANT_ICON,"bush") - set_trait(TRAIT_WATER_CONSUMPTION, 6) - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_JUICY, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 5) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 5) + SET_SEED_TRAIT(src, TRAIT_YIELD, 2) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "berry") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#FA1616") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "bush") + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 6) + SET_SEED_TRAIT(src, TRAIT_NUTRIENT_CONSUMPTION, 0.15) /obj/item/seeds/berryseed seed_type = "berries" @@ -137,9 +137,9 @@ /datum/seed/berry/blue/setup_traits() ..() - set_trait(TRAIT_PRODUCT_COLOUR,"#1C225C") - set_trait(TRAIT_WATER_CONSUMPTION, 5) - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.2) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#1C225C") + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 5) + SET_SEED_TRAIT(src, TRAIT_NUTRIENT_CONSUMPTION, 0.2) /obj/item/seeds/blueberryseed seed_type = "blueberries" @@ -153,16 +153,16 @@ /datum/seed/berry/glow/setup_traits() ..() - set_trait(TRAIT_SPREAD,1) - set_trait(TRAIT_BIOLUM,1) - set_trait(TRAIT_BIOLUM_COLOUR,"#006622") - set_trait(TRAIT_MATURATION,5) - set_trait(TRAIT_PRODUCTION,5) - set_trait(TRAIT_YIELD,2) - set_trait(TRAIT_POTENCY,10) - set_trait(TRAIT_PRODUCT_COLOUR,"#c9fa16") - set_trait(TRAIT_WATER_CONSUMPTION, 3) - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.25) + SET_SEED_TRAIT(src, TRAIT_SPREAD, 1) + SET_SEED_TRAIT(src, TRAIT_BIOLUM, 1) + SET_SEED_TRAIT(src, TRAIT_BIOLUM_COLOUR, "#006622") + SET_SEED_TRAIT(src, TRAIT_MATURATION, 5) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 5) + SET_SEED_TRAIT(src, TRAIT_YIELD, 2) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#c9fa16") + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 3) + SET_SEED_TRAIT(src, TRAIT_NUTRIENT_CONSUMPTION, 0.25) /obj/item/seeds/glowberryseed seed_type = "glowberries" @@ -176,9 +176,9 @@ /datum/seed/berry/poison/setup_traits() ..() - set_trait(TRAIT_PRODUCT_COLOUR,"#6DC961") - set_trait(TRAIT_WATER_CONSUMPTION, 3) - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.25) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#6DC961") + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 3) + SET_SEED_TRAIT(src, TRAIT_NUTRIENT_CONSUMPTION, 0.25) /obj/item/seeds/poisonberryseed seed_type = "poisonberries" @@ -192,10 +192,10 @@ /datum/seed/berry/poison/death/setup_traits() ..() - set_trait(TRAIT_YIELD,3) - set_trait(TRAIT_POTENCY,50) - set_trait(TRAIT_PRODUCT_COLOUR,"#7A5454") - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.35) + SET_SEED_TRAIT(src, TRAIT_YIELD, 3) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 50) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#7A5454") + SET_SEED_TRAIT(src, TRAIT_NUTRIENT_CONSUMPTION, 0.35) /obj/item/seeds/deathberryseed seed_type = "deathberries" @@ -209,7 +209,7 @@ /datum/seed/berry/raspberry/setup_traits() ..() - set_trait(TRAIT_PRODUCT_COLOUR,"#ff0000") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#ff0000") /obj/item/seeds/raspberryseed seed_type = "raspberries" @@ -224,7 +224,7 @@ /datum/seed/berry/raspberry/blue/setup_traits() ..() - set_trait(TRAIT_PRODUCT_COLOUR,"#030145") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#030145") /obj/item/seeds/blueraspberryseed seed_type = "blue raspberries" @@ -238,7 +238,7 @@ /datum/seed/berry/raspberry/black/setup_traits() ..() - set_trait(TRAIT_PRODUCT_COLOUR,"#1a063f") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#1a063f") /obj/item/seeds/blackraspberryseed seed_type = "blackberries" @@ -253,7 +253,7 @@ /datum/seed/berry/strawberry/setup_traits() ..() - set_trait(TRAIT_PRODUCT_COLOUR,"#bb0202") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#bb0202") /obj/item/seeds/strawberryseed seed_type = "strawberries" @@ -268,7 +268,7 @@ /datum/seed/berry/cranberry/setup_traits() ..() - set_trait(TRAIT_PRODUCT_COLOUR,"#bb0202") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#bb0202") /obj/item/seeds/cranberryseed seed_type = "cranberries" @@ -286,15 +286,15 @@ /datum/seed/apple/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_MATURATION,6) - set_trait(TRAIT_PRODUCTION,6) - set_trait(TRAIT_YIELD,5) - set_trait(TRAIT_POTENCY,10) - set_trait(TRAIT_PRODUCT_ICON,"apple") - set_trait(TRAIT_PRODUCT_COLOUR,"#FF540A") - set_trait(TRAIT_PLANT_ICON,"tree2") - set_trait(TRAIT_FLESH_COLOUR,"#E8E39B") + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 6) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 6) + SET_SEED_TRAIT(src, TRAIT_YIELD, 5) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "apple") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#FF540A") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "tree2") + SET_SEED_TRAIT(src, TRAIT_FLESH_COLOUR, "#E8E39B") /obj/item/seeds/appleseed seed_type = "apple" @@ -317,11 +317,11 @@ /datum/seed/apple/gold/setup_traits() ..() - set_trait(TRAIT_MATURATION,10) - set_trait(TRAIT_PRODUCTION,10) - set_trait(TRAIT_YIELD,3) - set_trait(TRAIT_PRODUCT_COLOUR,"#FFDD00") - set_trait(TRAIT_PLANT_COLOUR,"#D6B44D") + SET_SEED_TRAIT(src, TRAIT_MATURATION, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 10) + SET_SEED_TRAIT(src, TRAIT_YIELD, 3) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#FFDD00") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#D6B44D") /obj/item/seeds/goldappleseed seed_type = "goldapple" @@ -340,17 +340,17 @@ /datum/seed/cocoa/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_MATURATION,5) - set_trait(TRAIT_PRODUCTION,5) - set_trait(TRAIT_YIELD,2) - set_trait(TRAIT_POTENCY,10) - set_trait(TRAIT_PRODUCT_ICON,"treefruit") - set_trait(TRAIT_PRODUCT_COLOUR,"#CCA935") - set_trait(TRAIT_PLANT_ICON,"tree2") - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) - set_trait(TRAIT_WATER_CONSUMPTION, 6) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 5) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 5) + SET_SEED_TRAIT(src, TRAIT_YIELD, 2) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "treefruit") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#CCA935") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "tree2") + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 6) /datum/seed/banana name = "banana" @@ -362,17 +362,17 @@ /datum/seed/banana/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_MATURATION,6) - set_trait(TRAIT_PRODUCTION,6) - set_trait(TRAIT_YIELD,3) - set_trait(TRAIT_PRODUCT_ICON,"bananas") - set_trait(TRAIT_PRODUCT_COLOUR,"#FFEC1F") - set_trait(TRAIT_PLANT_COLOUR,"#69AD50") - set_trait(TRAIT_PLANT_ICON,"tree4") - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) - set_trait(TRAIT_WATER_CONSUMPTION, 6) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 6) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 6) + SET_SEED_TRAIT(src, TRAIT_YIELD, 3) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "bananas") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#FFEC1F") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#69AD50") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "tree4") + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 6) /obj/item/seeds/bananaseed seed_type = "banana" @@ -387,16 +387,16 @@ /datum/seed/cherries/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_JUICY,1) - set_trait(TRAIT_MATURATION,5) - set_trait(TRAIT_PRODUCTION,5) - set_trait(TRAIT_YIELD,3) - set_trait(TRAIT_POTENCY,10) - set_trait(TRAIT_PRODUCT_ICON,"cherry") - set_trait(TRAIT_PRODUCT_COLOUR,"#A80000") - set_trait(TRAIT_PLANT_ICON,"tree2") - set_trait(TRAIT_PLANT_COLOUR,"#2F7D2D") + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_JUICY, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 5) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 5) + SET_SEED_TRAIT(src, TRAIT_YIELD, 3) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "cherry") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#A80000") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "tree2") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#2F7D2D") /obj/item/seeds/cherryseed seed_type = "cherry" @@ -410,20 +410,20 @@ /datum/seed/watermelon/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_JUICY,1) - set_trait(TRAIT_MATURATION,6) - set_trait(TRAIT_PRODUCTION,6) - set_trait(TRAIT_YIELD,3) - set_trait(TRAIT_POTENCY,1) - set_trait(TRAIT_PRODUCT_ICON,"vine") - set_trait(TRAIT_PRODUCT_COLOUR,"#5eca5a") - set_trait(TRAIT_PLANT_COLOUR,"#49be45") - set_trait(TRAIT_PLANT_ICON,"vine2") - set_trait(TRAIT_FLESH_COLOUR,"#ff5858") - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) - set_trait(TRAIT_WATER_CONSUMPTION, 6) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_JUICY, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 6) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 6) + SET_SEED_TRAIT(src, TRAIT_YIELD, 3) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 1) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "vine") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#5eca5a") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#49be45") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "vine2") + SET_SEED_TRAIT(src, TRAIT_FLESH_COLOUR, "#ff5858") + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 6) /obj/item/seeds/watermelonseed seed_type = "watermelon" @@ -437,16 +437,16 @@ /datum/seed/pumpkin/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_MATURATION,6) - set_trait(TRAIT_PRODUCTION,6) - set_trait(TRAIT_YIELD,3) - set_trait(TRAIT_POTENCY,10) - set_trait(TRAIT_PRODUCT_ICON,"vine2") - set_trait(TRAIT_PRODUCT_COLOUR,"#F9AB28") - set_trait(TRAIT_PLANT_COLOUR,"#BAE8C1") - set_trait(TRAIT_PLANT_ICON,"vine2") - set_trait(TRAIT_WATER_CONSUMPTION, 6) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 6) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 6) + SET_SEED_TRAIT(src, TRAIT_YIELD, 3) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "vine2") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#F9AB28") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#BAE8C1") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "vine2") + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 6) /obj/item/seeds/pumpkinseed seed_type = "pumpkin" @@ -462,16 +462,16 @@ /datum/seed/coffee/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_MATURATION,3) - set_trait(TRAIT_PRODUCTION,3) - set_trait(TRAIT_YIELD,4) - set_trait(TRAIT_POTENCY,2) - set_trait(TRAIT_PRODUCT_ICON,"bean2") - set_trait(TRAIT_PRODUCT_COLOUR,"#be9109") - set_trait(TRAIT_PLANT_ICON,"bush2") - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 3) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 3) + SET_SEED_TRAIT(src, TRAIT_YIELD, 4) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 2) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "bean2") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#be9109") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "bush2") + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) /obj/item/seeds/coffeeseed seed_type = "coffee" @@ -485,16 +485,16 @@ /datum/seed/richcoffee/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_MATURATION,3) - set_trait(TRAIT_PRODUCTION,3) - set_trait(TRAIT_YIELD,4) - set_trait(TRAIT_POTENCY,2) - set_trait(TRAIT_PRODUCT_ICON,"bean2") - set_trait(TRAIT_PRODUCT_COLOUR,"#be9109") - set_trait(TRAIT_PLANT_ICON,"bush2") - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 3) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 3) + SET_SEED_TRAIT(src, TRAIT_YIELD, 4) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 2) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "bean2") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#be9109") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "bush2") + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) /obj/item/seeds/richcoffeeseed seed_type = "richcoffee" diff --git a/code/modules/hydroponics/seed_datums/grains.dm b/code/modules/hydroponics/seed_datums/grains.dm index 762384694c2..cb9723dce84 100644 --- a/code/modules/hydroponics/seed_datums/grains.dm +++ b/code/modules/hydroponics/seed_datums/grains.dm @@ -7,15 +7,15 @@ /datum/seed/wheat/setup_traits() ..() - set_trait(TRAIT_MATURATION,6) - set_trait(TRAIT_PRODUCTION,1) - set_trait(TRAIT_YIELD,4) - set_trait(TRAIT_POTENCY,5) - set_trait(TRAIT_PRODUCT_ICON,"wheat") - set_trait(TRAIT_PRODUCT_COLOUR,"#DBD37D") - set_trait(TRAIT_PLANT_COLOUR,"#BFAF82") - set_trait(TRAIT_PLANT_ICON,"stalk2") - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 6) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 1) + SET_SEED_TRAIT(src, TRAIT_YIELD, 4) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 5) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "wheat") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#DBD37D") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#BFAF82") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "stalk2") + SET_SEED_TRAIT(src, TRAIT_NUTRIENT_CONSUMPTION, 0.15) /obj/item/seeds/wheatseed seed_type = "wheat" @@ -30,17 +30,17 @@ /datum/seed/corn/setup_traits() ..() - set_trait(TRAIT_MATURATION,8) - set_trait(TRAIT_PRODUCTION,6) - set_trait(TRAIT_YIELD,3) - set_trait(TRAIT_POTENCY,20) - set_trait(TRAIT_PRODUCT_ICON,"corn") - set_trait(TRAIT_PRODUCT_COLOUR,"#FFF23B") - set_trait(TRAIT_PLANT_COLOUR,"#87C969") - set_trait(TRAIT_PLANT_ICON,"corn") - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) - set_trait(TRAIT_WATER_CONSUMPTION, 6) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 8) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 6) + SET_SEED_TRAIT(src, TRAIT_YIELD, 3) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 20) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "corn") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#FFF23B") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#87C969") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "corn") + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 6) /obj/item/seeds/cornseed seed_type = "corn" @@ -54,18 +54,18 @@ /datum/seed/rice/setup_traits() ..() - set_trait(TRAIT_MATURATION,6) - set_trait(TRAIT_PRODUCTION,1) - set_trait(TRAIT_YIELD,4) - set_trait(TRAIT_POTENCY,5) - set_trait(TRAIT_PRODUCT_ICON,"rice") - set_trait(TRAIT_PRODUCT_COLOUR,"#D5E6D1") - set_trait(TRAIT_PLANT_COLOUR,"#8ED17D") - set_trait(TRAIT_PLANT_ICON,"stalk2") - set_trait(TRAIT_WATER_CONSUMPTION, 6) - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 6) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 1) + SET_SEED_TRAIT(src, TRAIT_YIELD, 4) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 5) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "rice") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#D5E6D1") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#8ED17D") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "stalk2") + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 6) + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) + SET_SEED_TRAIT(src, TRAIT_NUTRIENT_CONSUMPTION, 0.15) /obj/item/seeds/riceseed seed_type = "rice" diff --git a/code/modules/hydroponics/seed_datums/herbs.dm b/code/modules/hydroponics/seed_datums/herbs.dm index 4806e89f6b8..cf74abaa29f 100644 --- a/code/modules/hydroponics/seed_datums/herbs.dm +++ b/code/modules/hydroponics/seed_datums/herbs.dm @@ -9,14 +9,14 @@ /datum/seed/mint/setup_traits() ..() - set_trait(TRAIT_MATURATION,3) - set_trait(TRAIT_PRODUCTION,3) - set_trait(TRAIT_YIELD,3) - set_trait(TRAIT_POTENCY,2) - set_trait(TRAIT_PRODUCT_ICON,"herb") - set_trait(TRAIT_PRODUCT_COLOUR,"#4dd298") - set_trait(TRAIT_PLANT_ICON,"herb") - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 3) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 3) + SET_SEED_TRAIT(src, TRAIT_YIELD, 3) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 2) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "herb") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#4dd298") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "herb") + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) /obj/item/seeds/mintseed seed_type = "mint" @@ -30,14 +30,14 @@ /datum/seed/tea/setup_traits() ..() - set_trait(TRAIT_MATURATION,3) - set_trait(TRAIT_PRODUCTION,3) - set_trait(TRAIT_YIELD,3) - set_trait(TRAIT_POTENCY,2) - set_trait(TRAIT_PRODUCT_ICON,"herb") - set_trait(TRAIT_PRODUCT_COLOUR,"#4fd24d") - set_trait(TRAIT_PLANT_ICON,"herb") - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 3) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 3) + SET_SEED_TRAIT(src, TRAIT_YIELD, 3) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 2) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "herb") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#4fd24d") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "herb") + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) /obj/item/seeds/teaseed seed_type = "tea" @@ -50,14 +50,14 @@ /datum/seed/sencha/setup_traits() ..() - set_trait(TRAIT_MATURATION,3) - set_trait(TRAIT_PRODUCTION,3) - set_trait(TRAIT_YIELD,3) - set_trait(TRAIT_POTENCY,2) - set_trait(TRAIT_PRODUCT_ICON,"herb") - set_trait(TRAIT_PRODUCT_COLOUR,"#0E1F0E") - set_trait(TRAIT_PLANT_ICON,"herb") - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 3) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 3) + SET_SEED_TRAIT(src, TRAIT_YIELD, 3) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 2) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "herb") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#0E1F0E") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "herb") + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) /obj/item/seeds/sencha seed_type = "sencha" @@ -70,14 +70,14 @@ /datum/seed/tieguanyin/setup_traits() ..() - set_trait(TRAIT_MATURATION,3) - set_trait(TRAIT_PRODUCTION,3) - set_trait(TRAIT_YIELD,3) - set_trait(TRAIT_POTENCY,2) - set_trait(TRAIT_PRODUCT_ICON,"herb") - set_trait(TRAIT_PRODUCT_COLOUR,"#5C6447") - set_trait(TRAIT_PLANT_ICON,"herb") - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 3) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 3) + SET_SEED_TRAIT(src, TRAIT_YIELD, 3) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 2) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "herb") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#5C6447") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "herb") + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) /obj/item/seeds/tieguanyin seed_type = "tieguanyin" @@ -90,14 +90,14 @@ /datum/seed/jaekseol/setup_traits() ..() - set_trait(TRAIT_MATURATION,3) - set_trait(TRAIT_PRODUCTION,3) - set_trait(TRAIT_YIELD, 2) - set_trait(TRAIT_POTENCY,2) - set_trait(TRAIT_PRODUCT_ICON,"herb") - set_trait(TRAIT_PRODUCT_COLOUR,"#534337") - set_trait(TRAIT_PLANT_ICON,"herb") - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 3) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 3) + SET_SEED_TRAIT(src, TRAIT_YIELD, 2) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 2) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "herb") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#534337") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "herb") + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) /obj/item/seeds/jaekseol seed_type = "jaekseol" @@ -111,14 +111,14 @@ /datum/seed/coca/setup_traits() ..() - set_trait(TRAIT_MATURATION, 3) - set_trait(TRAIT_PRODUCTION, 3) - set_trait(TRAIT_YIELD, 3) - set_trait(TRAIT_POTENCY, 2) - set_trait(TRAIT_PRODUCT_ICON, "herb") - set_trait(TRAIT_PRODUCT_COLOUR, "#056608") - set_trait(TRAIT_PLANT_ICON, "herb") - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 3) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 3) + SET_SEED_TRAIT(src, TRAIT_YIELD, 3) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 2) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "herb") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#056608") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "herb") + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) /obj/item/seeds/cocaseed seed_type = "coca" diff --git a/code/modules/hydroponics/seed_datums/misc.dm b/code/modules/hydroponics/seed_datums/misc.dm index 1f4cbe0d53e..8a607af0181 100644 --- a/code/modules/hydroponics/seed_datums/misc.dm +++ b/code/modules/hydroponics/seed_datums/misc.dm @@ -5,15 +5,15 @@ /datum/seed/weeds/setup_traits() ..() - set_trait(TRAIT_MATURATION,5) - set_trait(TRAIT_PRODUCTION,1) - set_trait(TRAIT_YIELD,-1) - set_trait(TRAIT_POTENCY,-1) - set_trait(TRAIT_IMMUTABLE,-1) - set_trait(TRAIT_PRODUCT_ICON,"flower4") - set_trait(TRAIT_PRODUCT_COLOUR,"#FCEB2B") - set_trait(TRAIT_PLANT_COLOUR,"#59945A") - set_trait(TRAIT_PLANT_ICON,"bush6") + SET_SEED_TRAIT(src, TRAIT_MATURATION, 5) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 1) + SET_SEED_TRAIT(src, TRAIT_YIELD, -1) + SET_SEED_TRAIT(src, TRAIT_POTENCY, -1) + SET_SEED_TRAIT(src, TRAIT_IMMUTABLE, -1) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "flower4") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#FCEB2B") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#59945A") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "bush6") /obj/item/seeds/weeds seed_type = "weeds" @@ -26,17 +26,17 @@ /datum/seed/sugarcane/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_MATURATION,3) - set_trait(TRAIT_PRODUCTION,6) - set_trait(TRAIT_YIELD,4) - set_trait(TRAIT_POTENCY,10) - set_trait(TRAIT_PRODUCT_ICON,"stalk") - set_trait(TRAIT_PRODUCT_COLOUR,"#B4D6BD") - set_trait(TRAIT_PLANT_COLOUR,"#6BBD68") - set_trait(TRAIT_PLANT_ICON,"stalk3") - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 3) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 6) + SET_SEED_TRAIT(src, TRAIT_YIELD, 4) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "stalk") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#B4D6BD") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#6BBD68") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "stalk3") + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) /obj/item/seeds/sugarcaneseed seed_type = "sugarcane" @@ -51,16 +51,16 @@ /datum/seed/grass/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_MATURATION,2) - set_trait(TRAIT_PRODUCTION,5) - set_trait(TRAIT_YIELD,5) - set_trait(TRAIT_PRODUCT_ICON,"grass") - set_trait(TRAIT_PRODUCT_COLOUR,"#09FF00") - set_trait(TRAIT_PLANT_COLOUR,"#07D900") - set_trait(TRAIT_PLANT_ICON,"grass") - set_trait(TRAIT_WATER_CONSUMPTION, 0.5) - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 2) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 5) + SET_SEED_TRAIT(src, TRAIT_YIELD, 5) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "grass") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#09FF00") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#07D900") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "grass") + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 0.5) + SET_SEED_TRAIT(src, TRAIT_NUTRIENT_CONSUMPTION, 0.15) /obj/item/seeds/grassseed seed_type = "grass" @@ -73,9 +73,9 @@ /datum/seed/grass/moss/setup_traits() ..() - set_trait(TRAIT_PRODUCT_ICON,"moss") - set_trait(TRAIT_PRODUCT_COLOUR, "#83D27F") - set_trait(TRAIT_PLANT_COLOUR, "#589755") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "moss") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#83D27F") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#589755") /obj/item/seeds/mossseed seed_type = "moss" @@ -88,16 +88,16 @@ /datum/seed/peppercorn/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_MATURATION,4) - set_trait(TRAIT_PRODUCTION,4) - set_trait(TRAIT_YIELD,3) - set_trait(TRAIT_POTENCY,5) - set_trait(TRAIT_PRODUCT_ICON,"nuts") - set_trait(TRAIT_PRODUCT_COLOUR,"#4d4d4d") - set_trait(TRAIT_PLANT_ICON,"vine2") - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 4) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 4) + SET_SEED_TRAIT(src, TRAIT_YIELD, 3) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 5) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "nuts") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#4d4d4d") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "vine2") + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) /obj/item/seeds/peppercornseed seed_type = "peppercorn" @@ -110,16 +110,16 @@ /datum/seed/kudzu/setup_traits() ..() - set_trait(TRAIT_MATURATION,6) - set_trait(TRAIT_PRODUCTION,6) - set_trait(TRAIT_YIELD,4) - set_trait(TRAIT_POTENCY,10) - set_trait(TRAIT_SPREAD,2) - set_trait(TRAIT_PRODUCT_ICON,"treefruit") - set_trait(TRAIT_PRODUCT_COLOUR,"#96D278") - set_trait(TRAIT_PLANT_COLOUR,"#6F7A63") - set_trait(TRAIT_PLANT_ICON,"vine2") - set_trait(TRAIT_WATER_CONSUMPTION, 0.5) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 6) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 6) + SET_SEED_TRAIT(src, TRAIT_YIELD, 4) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 10) + SET_SEED_TRAIT(src, TRAIT_SPREAD, 2) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "treefruit") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#96D278") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#6F7A63") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "vine2") + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 0.5) /obj/item/seeds/kudzuseed seed_type = "kudzu" @@ -134,16 +134,16 @@ /datum/seed/diona/setup_traits() ..() - set_trait(TRAIT_IMMUTABLE,1) - set_trait(TRAIT_ENDURANCE,8) - set_trait(TRAIT_MATURATION,5) - set_trait(TRAIT_PRODUCTION,10) - set_trait(TRAIT_YIELD,1) - set_trait(TRAIT_POTENCY,30) - set_trait(TRAIT_PRODUCT_ICON,"diona") - set_trait(TRAIT_PRODUCT_COLOUR,"#799957") - set_trait(TRAIT_PLANT_COLOUR,"#66804B") - set_trait(TRAIT_PLANT_ICON,"alien4") + SET_SEED_TRAIT(src, TRAIT_IMMUTABLE, 1) + SET_SEED_TRAIT(src, TRAIT_ENDURANCE, 8) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 5) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 10) + SET_SEED_TRAIT(src, TRAIT_YIELD, 1) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 30) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "diona") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#799957") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#66804B") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "alien4") /obj/item/seeds/replicapod seed_type = "diona" diff --git a/code/modules/hydroponics/seed_datums/mushrooms.dm b/code/modules/hydroponics/seed_datums/mushrooms.dm index 8199677183e..97e00d58431 100644 --- a/code/modules/hydroponics/seed_datums/mushrooms.dm +++ b/code/modules/hydroponics/seed_datums/mushrooms.dm @@ -16,16 +16,16 @@ /datum/seed/mushroom/setup_traits() ..() - set_trait(TRAIT_MATURATION,7) - set_trait(TRAIT_PRODUCTION,1) - set_trait(TRAIT_YIELD,5) - set_trait(TRAIT_POTENCY,1) - set_trait(TRAIT_PRODUCT_ICON,"mushroom4") - set_trait(TRAIT_PRODUCT_COLOUR,"#DBDA72") - set_trait(TRAIT_PLANT_COLOUR,"#D9C94E") - set_trait(TRAIT_PLANT_ICON,"mushroom") - set_trait(TRAIT_WATER_CONSUMPTION, 6) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_COLD) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 7) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 1) + SET_SEED_TRAIT(src, TRAIT_YIELD, 5) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 1) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "mushroom4") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#DBDA72") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#D9C94E") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "mushroom") + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 6) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_COLD) /datum/seed/koisspore name = "koisspore" @@ -41,22 +41,22 @@ /datum/seed/koisspore/setup_traits() ..() - set_trait(TRAIT_SPREAD,1) - set_trait(TRAIT_SPOROUS,1) - set_trait(TRAIT_MATURATION,5) - set_trait(TRAIT_PRODUCTION,1) - set_trait(TRAIT_YIELD,3) - set_trait(TRAIT_POTENCY,60) - set_trait(TRAIT_BIOLUM,1) - set_trait(TRAIT_REQUIRES_NUTRIENTS,0) - set_trait(TRAIT_REQUIRES_WATER,0) - set_trait(TRAIT_LIGHT_TOLERANCE,10) - set_trait(TRAIT_ENDURANCE,50) - set_trait(TRAIT_BIOLUM_COLOUR,"#E6E600") - set_trait(TRAIT_PRODUCT_ICON,"alien3") - set_trait(TRAIT_PRODUCT_COLOUR,"#E6E600") - set_trait(TRAIT_PLANT_COLOUR,"#E6E600") - set_trait(TRAIT_PLANT_ICON,"mushroom6") + SET_SEED_TRAIT(src, TRAIT_SPREAD, 1) + SET_SEED_TRAIT(src, TRAIT_SPOROUS, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 5) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 1) + SET_SEED_TRAIT(src, TRAIT_YIELD, 3) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 60) + SET_SEED_TRAIT(src, TRAIT_BIOLUM, 1) + SET_SEED_TRAIT(src, TRAIT_REQUIRES_NUTRIENTS, 0) + SET_SEED_TRAIT(src, TRAIT_REQUIRES_WATER, 0) + SET_SEED_TRAIT(src, TRAIT_LIGHT_TOLERANCE, 10) + SET_SEED_TRAIT(src, TRAIT_ENDURANCE, 50) + SET_SEED_TRAIT(src, TRAIT_BIOLUM_COLOUR, "#E6E600") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "alien3") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#E6E600") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#E6E600") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "mushroom6") /obj/item/seeds/koisspore seed_type = "koisspore" @@ -70,12 +70,12 @@ /datum/seed/koisspore/black/setup_traits() ..() - set_trait(TRAIT_BIOLUM_PWR,-1.5) - set_trait(TRAIT_POTENCY,80) - set_trait(TRAIT_ENDURANCE,75) - set_trait(TRAIT_BIOLUM_COLOUR,"#FFFFFF") - set_trait(TRAIT_PRODUCT_COLOUR,"#31004A") - set_trait(TRAIT_PLANT_COLOUR,"#31004A") + SET_SEED_TRAIT(src, TRAIT_BIOLUM_PWR, -1.5) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 80) + SET_SEED_TRAIT(src, TRAIT_ENDURANCE, 75) + SET_SEED_TRAIT(src, TRAIT_BIOLUM_COLOUR, "#FFFFFF") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#31004A") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#31004A") /obj/item/seeds/blackkois seed_type = "blackkois" @@ -88,13 +88,13 @@ /datum/seed/mushroom/mold/setup_traits() ..() - set_trait(TRAIT_SPREAD,1) - set_trait(TRAIT_MATURATION,10) - set_trait(TRAIT_YIELD,-1) - set_trait(TRAIT_PRODUCT_ICON,"mushroom5") - set_trait(TRAIT_PRODUCT_COLOUR,"#7A5F20") - set_trait(TRAIT_PLANT_COLOUR,"#7A5F20") - set_trait(TRAIT_PLANT_ICON,"mushroom9") + SET_SEED_TRAIT(src, TRAIT_SPREAD, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 10) + SET_SEED_TRAIT(src, TRAIT_YIELD, -1) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "mushroom5") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#7A5F20") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#7A5F20") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "mushroom9") /obj/item/seeds/brownmold seed_type = "mold" @@ -109,13 +109,13 @@ /datum/seed/mushroom/plump/setup_traits() ..() - set_trait(TRAIT_MATURATION,8) - set_trait(TRAIT_YIELD,4) - set_trait(TRAIT_POTENCY,0) - set_trait(TRAIT_PRODUCT_ICON,"mushroom10") - set_trait(TRAIT_PRODUCT_COLOUR,"#B57BB0") - set_trait(TRAIT_PLANT_COLOUR,"#9E4F9D") - set_trait(TRAIT_PLANT_ICON,"mushroom2") + SET_SEED_TRAIT(src, TRAIT_MATURATION, 8) + SET_SEED_TRAIT(src, TRAIT_YIELD, 4) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 0) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "mushroom10") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#B57BB0") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#9E4F9D") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "mushroom2") /obj/item/seeds/plumpmycelium seed_type = "plumphelmet" @@ -130,10 +130,10 @@ /datum/seed/mushroom/plump/walking/setup_traits() ..() - set_trait(TRAIT_MATURATION,5) - set_trait(TRAIT_YIELD,1) - set_trait(TRAIT_PRODUCT_COLOUR,"#FAC0F2") - set_trait(TRAIT_PLANT_COLOUR,"#C4B1C2") + SET_SEED_TRAIT(src, TRAIT_MATURATION, 5) + SET_SEED_TRAIT(src, TRAIT_YIELD, 1) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#FAC0F2") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#C4B1C2") /obj/item/seeds/walkingmushroommycelium seed_type = "walkingmushroom" @@ -147,14 +147,14 @@ /datum/seed/mushroom/hallucinogenic/setup_traits() ..() - set_trait(TRAIT_MATURATION,10) - set_trait(TRAIT_PRODUCTION,5) - set_trait(TRAIT_YIELD,4) - set_trait(TRAIT_POTENCY,15) - set_trait(TRAIT_PRODUCT_ICON,"mushroom11") - set_trait(TRAIT_PRODUCT_COLOUR,"#FFB70F") - set_trait(TRAIT_PLANT_COLOUR,"#F58A18") - set_trait(TRAIT_PLANT_ICON,"mushroom6") + SET_SEED_TRAIT(src, TRAIT_MATURATION, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 5) + SET_SEED_TRAIT(src, TRAIT_YIELD, 4) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 15) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "mushroom11") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#FFB70F") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#F58A18") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "mushroom6") /obj/item/seeds/reishimycelium seed_type = "reishi" @@ -168,12 +168,12 @@ /datum/seed/mushroom/hallucinogenic/strong/setup_traits() ..() - set_trait(TRAIT_PRODUCTION,1) - set_trait(TRAIT_POTENCY,15) - set_trait(TRAIT_PRODUCT_ICON,"mushroom8") - set_trait(TRAIT_PRODUCT_COLOUR,"#F2E550") - set_trait(TRAIT_PLANT_COLOUR,"#D1CA82") - set_trait(TRAIT_PLANT_ICON,"mushroom3") + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 1) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 15) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "mushroom8") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#F2E550") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#D1CA82") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "mushroom3") /obj/item/seeds/libertymycelium seed_type = "libertycap" @@ -187,14 +187,14 @@ /datum/seed/mushroom/poison/setup_traits() ..() - set_trait(TRAIT_MATURATION,10) - set_trait(TRAIT_PRODUCTION,5) - set_trait(TRAIT_YIELD,4) - set_trait(TRAIT_POTENCY,10) - set_trait(TRAIT_PRODUCT_ICON,"mushroom") - set_trait(TRAIT_PRODUCT_COLOUR,"#FF4545") - set_trait(TRAIT_PLANT_COLOUR,"#E0DDBA") - set_trait(TRAIT_PLANT_ICON,"mushroom4") + SET_SEED_TRAIT(src, TRAIT_MATURATION, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 5) + SET_SEED_TRAIT(src, TRAIT_YIELD, 4) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "mushroom") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#FF4545") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#E0DDBA") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "mushroom4") /obj/item/seeds/amanitamycelium seed_type = "amanita" @@ -208,13 +208,13 @@ /datum/seed/mushroom/poison/death/setup_traits() ..() - set_trait(TRAIT_MATURATION,12) - set_trait(TRAIT_YIELD,2) - set_trait(TRAIT_POTENCY,35) - set_trait(TRAIT_PRODUCT_ICON,"mushroom3") - set_trait(TRAIT_PRODUCT_COLOUR,"#EDE8EA") - set_trait(TRAIT_PLANT_COLOUR,"#E6D8DD") - set_trait(TRAIT_PLANT_ICON,"mushroom5") + SET_SEED_TRAIT(src, TRAIT_MATURATION, 12) + SET_SEED_TRAIT(src, TRAIT_YIELD, 2) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 35) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "mushroom3") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#EDE8EA") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#E6D8DD") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "mushroom5") /obj/item/seeds/angelmycelium seed_type = "destroyingangel" @@ -228,13 +228,13 @@ /datum/seed/mushroom/poison/panocelium/setup_traits() ..() - set_trait(TRAIT_MATURATION,12) - set_trait(TRAIT_YIELD,4) - set_trait(TRAIT_POTENCY,20) - set_trait(TRAIT_PRODUCT_ICON,"mushroom6") - set_trait(TRAIT_PRODUCT_COLOUR,"#88FFFF") - set_trait(TRAIT_PLANT_COLOUR,"#88FFFF") - set_trait(TRAIT_PLANT_ICON,"mushroom6") + SET_SEED_TRAIT(src, TRAIT_MATURATION, 12) + SET_SEED_TRAIT(src, TRAIT_YIELD, 4) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 20) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "mushroom6") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#88FFFF") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#88FFFF") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "mushroom6") /obj/item/seeds/panocelium seed_type = "panocelium" @@ -248,11 +248,11 @@ /datum/seed/mushroom/towercap/setup_traits() ..() - set_trait(TRAIT_MATURATION,15) - set_trait(TRAIT_PRODUCT_ICON,"mushroom7") - set_trait(TRAIT_PRODUCT_COLOUR,"#79A36D") - set_trait(TRAIT_PLANT_COLOUR,"#857F41") - set_trait(TRAIT_PLANT_ICON,"mushroom8") + SET_SEED_TRAIT(src, TRAIT_MATURATION, 15) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "mushroom7") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#79A36D") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#857F41") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "mushroom8") /obj/item/seeds/towermycelium seed_type = "towercap" @@ -266,16 +266,16 @@ /datum/seed/mushroom/glowshroom/setup_traits() ..() - set_trait(TRAIT_SPREAD,1) - set_trait(TRAIT_MATURATION,15) - set_trait(TRAIT_YIELD,3) - set_trait(TRAIT_POTENCY,30) - set_trait(TRAIT_BIOLUM,1) - set_trait(TRAIT_BIOLUM_COLOUR,"#006622") - set_trait(TRAIT_PRODUCT_ICON,"mushroom2") - set_trait(TRAIT_PRODUCT_COLOUR,"#DDFAB6") - set_trait(TRAIT_PLANT_COLOUR,"#EFFF8A") - set_trait(TRAIT_PLANT_ICON,"mushroom7") + SET_SEED_TRAIT(src, TRAIT_SPREAD, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 15) + SET_SEED_TRAIT(src, TRAIT_YIELD, 3) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 30) + SET_SEED_TRAIT(src, TRAIT_BIOLUM, 1) + SET_SEED_TRAIT(src, TRAIT_BIOLUM_COLOUR, "#006622") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "mushroom2") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#DDFAB6") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#EFFF8A") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "mushroom7") /obj/item/seeds/glowshroom seed_type = "glowshroom" @@ -289,14 +289,14 @@ /datum/seed/mushroom/plastic/setup_traits() ..() - set_trait(TRAIT_MATURATION,5) - set_trait(TRAIT_PRODUCTION,6) - set_trait(TRAIT_YIELD,6) - set_trait(TRAIT_POTENCY,20) - set_trait(TRAIT_PRODUCT_ICON,"mushroom6") - set_trait(TRAIT_PRODUCT_COLOUR,"#E6E6E6") - set_trait(TRAIT_PLANT_COLOUR,"#E6E6E6") - set_trait(TRAIT_PLANT_ICON,"mushroom10") + SET_SEED_TRAIT(src, TRAIT_MATURATION, 5) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 6) + SET_SEED_TRAIT(src, TRAIT_YIELD, 6) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 20) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "mushroom6") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#E6E6E6") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#E6E6E6") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "mushroom10") /obj/item/seeds/plastiseed seed_type = "plastic" @@ -310,16 +310,16 @@ /datum/seed/mushroom/ghost/setup_traits() ..() - set_trait(TRAIT_MATURATION,5) - set_trait(TRAIT_PRODUCTION,4) - set_trait(TRAIT_YIELD,2) - set_trait(TRAIT_POTENCY,8) - set_trait(TRAIT_BIOLUM,1) - set_trait(TRAIT_BIOLUM_COLOUR,"#64B8C9") - set_trait(TRAIT_PRODUCT_ICON,"mushroom8") - set_trait(TRAIT_PRODUCT_COLOUR,"#64B8C9") - set_trait(TRAIT_PLANT_COLOUR,"#64B8C9") - set_trait(TRAIT_PLANT_ICON,"mushroom3") + SET_SEED_TRAIT(src, TRAIT_MATURATION, 5) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 4) + SET_SEED_TRAIT(src, TRAIT_YIELD, 2) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 8) + SET_SEED_TRAIT(src, TRAIT_BIOLUM, 1) + SET_SEED_TRAIT(src, TRAIT_BIOLUM_COLOUR, "#64B8C9") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "mushroom8") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#64B8C9") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#64B8C9") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "mushroom3") /obj/item/seeds/ghostmushroomseed seed_type = "ghostmushroom" diff --git a/code/modules/hydroponics/seed_datums/nralakk.dm b/code/modules/hydroponics/seed_datums/nralakk.dm index 0578fe95b38..b04f2ca4848 100644 --- a/code/modules/hydroponics/seed_datums/nralakk.dm +++ b/code/modules/hydroponics/seed_datums/nralakk.dm @@ -10,14 +10,14 @@ /datum/seed/dyn/setup_traits() ..() - set_trait(TRAIT_MATURATION, 10) - set_trait(TRAIT_PRODUCTION, 10) - set_trait(TRAIT_YIELD, 3) - set_trait(TRAIT_POTENCY, 10) - set_trait(TRAIT_PRODUCT_ICON,"leaves") - set_trait(TRAIT_PRODUCT_COLOUR,"#00e0e0") - set_trait(TRAIT_PLANT_ICON,"bush8") - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 10) + SET_SEED_TRAIT(src, TRAIT_YIELD, 3) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "leaves") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#00e0e0") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "bush8") + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) /obj/item/seeds/dynseed seed_type = "dyn" @@ -31,15 +31,15 @@ /datum/seed/wulumunusha/setup_traits() ..() - set_trait(TRAIT_MATURATION, 8) - set_trait(TRAIT_PRODUCTION, 3) - set_trait(TRAIT_YIELD, 3) - set_trait(TRAIT_POTENCY, 5) - set_trait(TRAIT_PRODUCT_ICON,"wumpafruit") - set_trait(TRAIT_PRODUCT_COLOUR,"#61E2EC") - set_trait(TRAIT_PLANT_ICON,"wumpavines") - set_trait(TRAIT_WATER_CONSUMPTION, 10) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 8) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 3) + SET_SEED_TRAIT(src, TRAIT_YIELD, 3) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 5) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "wumpafruit") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#61E2EC") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "wumpavines") + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 10) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) /obj/item/seeds/wulumunushaseed seed_type = "wulumunusha" @@ -54,16 +54,16 @@ /datum/seed/qlort/setup_traits() ..() - set_trait(TRAIT_MATURATION, 10) - set_trait(TRAIT_PRODUCTION, 1) - set_trait(TRAIT_YIELD, 5) - set_trait(TRAIT_POTENCY, 10) - set_trait(TRAIT_PRODUCT_ICON,"mushroom9") - set_trait(TRAIT_PRODUCT_COLOUR,"#B1E4BE") - set_trait(TRAIT_FLESH_COLOUR, "#9FE4B0") - set_trait(TRAIT_PLANT_ICON,"mushroom9") - set_trait(TRAIT_WATER_CONSUMPTION, 6) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 1) + SET_SEED_TRAIT(src, TRAIT_YIELD, 5) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "mushroom9") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#B1E4BE") + SET_SEED_TRAIT(src, TRAIT_FLESH_COLOUR, "#9FE4B0") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "mushroom9") + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 6) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) /obj/item/seeds/qlortseed seed_type = "qlort" @@ -78,18 +78,18 @@ /datum/seed/guami/setup_traits() ..() - set_trait(TRAIT_MATURATION, 15) - set_trait(TRAIT_YIELD, 3) - set_trait(TRAIT_POTENCY, 30) - set_trait(TRAIT_BIOLUM, 1) - set_trait(TRAIT_BIOLUM_COLOUR,"#1F8DBA") - set_trait(TRAIT_FLESH_COLOUR, "#1F8DBA") - set_trait(TRAIT_PRODUCT_ICON,"alien") - set_trait(TRAIT_PRODUCT_COLOUR,"#E8F1Fa") - set_trait(TRAIT_PLANT_COLOUR,"#4790DA") - set_trait(TRAIT_PLANT_ICON,"alien1") - set_trait(TRAIT_WATER_CONSUMPTION, 10) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 15) + SET_SEED_TRAIT(src, TRAIT_YIELD, 3) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 30) + SET_SEED_TRAIT(src, TRAIT_BIOLUM, 1) + SET_SEED_TRAIT(src, TRAIT_BIOLUM_COLOUR, "#1F8DBA") + SET_SEED_TRAIT(src, TRAIT_FLESH_COLOUR, "#1F8DBA") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "alien") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#E8F1Fa") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#4790DA") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "alien1") + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 10) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) /obj/item/seeds/guamiseed seed_type = "guami" @@ -104,16 +104,16 @@ /datum/seed/mushroom/eki/setup_traits() ..() - set_trait(TRAIT_SPREAD, 1) - set_trait(TRAIT_MATURATION, 10) - set_trait(TRAIT_PRODUCTION, 5) - set_trait(TRAIT_YIELD, 4) - set_trait(TRAIT_POTENCY, 15) - set_trait(TRAIT_PRODUCT_ICON,"mushroom11") - set_trait(TRAIT_BIOLUM_COLOUR,"#F0EEE9") - set_trait(TRAIT_PRODUCT_COLOUR,"#F1EAD9") - set_trait(TRAIT_PLANT_COLOUR,"#F1EAD9") - set_trait(TRAIT_PLANT_ICON,"mushroom6") + SET_SEED_TRAIT(src, TRAIT_SPREAD, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 5) + SET_SEED_TRAIT(src, TRAIT_YIELD, 4) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 15) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "mushroom11") + SET_SEED_TRAIT(src, TRAIT_BIOLUM_COLOUR, "#F0EEE9") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#F1EAD9") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#F1EAD9") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "mushroom6") /obj/item/seeds/eki seed_type = "eki" @@ -128,18 +128,18 @@ /datum/seed/ylpha/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT, 1) - set_trait(TRAIT_JUICY, 1) - set_trait(TRAIT_MATURATION, 5) - set_trait(TRAIT_PRODUCTION, 5) - set_trait(TRAIT_YIELD, 2) - set_trait(TRAIT_POTENCY, 10) - set_trait(TRAIT_PRODUCT_ICON,"berry") - set_trait(TRAIT_PRODUCT_COLOUR,"#d46423") - set_trait(TRAIT_PLANT_ICON,"bush") - set_trait(TRAIT_WATER_CONSUMPTION, 10) - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_JUICY, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 5) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 5) + SET_SEED_TRAIT(src, TRAIT_YIELD, 2) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "berry") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#d46423") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "bush") + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 10) + SET_SEED_TRAIT(src, TRAIT_NUTRIENT_CONSUMPTION, 0.15) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) /obj/item/seeds/ylpha seed_type = "ylpha" @@ -154,19 +154,19 @@ /datum/seed/fjylozyn/setup_traits() ..() - set_trait(TRAIT_MATURATION, 8) - set_trait(TRAIT_PRODUCTION, 3) - set_trait(TRAIT_POTENCY, 5) - set_trait(TRAIT_PRODUCT_ICON,"fjylozyn") - set_trait(TRAIT_PRODUCT_COLOUR,"#990000") - set_trait(TRAIT_PLANT_COLOUR,"#993333") - set_trait(TRAIT_PLANT_ICON,"vine2") - set_trait(TRAIT_YIELD, 6) - set_trait(TRAIT_BIOLUM,1) - set_trait(TRAIT_BIOLUM_COLOUR,"#990033") - set_trait(TRAIT_SPREAD,1) - set_trait(TRAIT_WATER_CONSUMPTION, 10) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 8) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 3) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 5) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "fjylozyn") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#990000") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#993333") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "vine2") + SET_SEED_TRAIT(src, TRAIT_YIELD, 6) + SET_SEED_TRAIT(src, TRAIT_BIOLUM, 1) + SET_SEED_TRAIT(src, TRAIT_BIOLUM_COLOUR, "#990033") + SET_SEED_TRAIT(src, TRAIT_SPREAD, 1) + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 10) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) /obj/item/seeds/fjylozyn seed_type = "fjylozyn" diff --git a/code/modules/hydroponics/seed_datums/root_vegetables.dm b/code/modules/hydroponics/seed_datums/root_vegetables.dm index b1743d29cf5..294750315f9 100644 --- a/code/modules/hydroponics/seed_datums/root_vegetables.dm +++ b/code/modules/hydroponics/seed_datums/root_vegetables.dm @@ -7,14 +7,14 @@ /datum/seed/carrots/setup_traits() ..() - set_trait(TRAIT_MATURATION,10) - set_trait(TRAIT_PRODUCTION,1) - set_trait(TRAIT_YIELD,5) - set_trait(TRAIT_POTENCY,10) - set_trait(TRAIT_PRODUCT_ICON,"carrot") - set_trait(TRAIT_PRODUCT_COLOUR,"#FFDB4A") - set_trait(TRAIT_PLANT_ICON,"carrot") - set_trait(TRAIT_WATER_CONSUMPTION, 6) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 1) + SET_SEED_TRAIT(src, TRAIT_YIELD, 5) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "carrot") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#FFDB4A") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "carrot") + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 6) /obj/item/seeds/carrotseed seed_type = "carrot" @@ -28,14 +28,14 @@ /datum/seed/garlic/setup_traits() ..() - set_trait(TRAIT_MATURATION,10) - set_trait(TRAIT_PRODUCTION,1) - set_trait(TRAIT_YIELD,5) - set_trait(TRAIT_POTENCY,12) - set_trait(TRAIT_PRODUCT_ICON,"bulb") - set_trait(TRAIT_PRODUCT_COLOUR,"#fff8dd") - set_trait(TRAIT_PLANT_ICON,"stalk") - set_trait(TRAIT_WATER_CONSUMPTION, 7) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 1) + SET_SEED_TRAIT(src, TRAIT_YIELD, 5) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 12) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "bulb") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#fff8dd") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "stalk") + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 7) /obj/item/seeds/garlicseed seed_type = "garlic" @@ -49,14 +49,14 @@ /datum/seed/onion/setup_traits() ..() - set_trait(TRAIT_MATURATION,10) - set_trait(TRAIT_PRODUCTION,1) - set_trait(TRAIT_YIELD,4) - set_trait(TRAIT_POTENCY,10) - set_trait(TRAIT_PRODUCT_ICON,"bulb") - set_trait(TRAIT_PRODUCT_COLOUR,"#ffeedd") - set_trait(TRAIT_PLANT_ICON,"stalk") - set_trait(TRAIT_WATER_CONSUMPTION, 5) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 1) + SET_SEED_TRAIT(src, TRAIT_YIELD, 4) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "bulb") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#ffeedd") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "stalk") + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 5) /obj/item/seeds/onionseed seed_type = "onion" @@ -70,15 +70,15 @@ /datum/seed/potato/setup_traits() ..() - set_trait(TRAIT_PRODUCES_POWER,1) - set_trait(TRAIT_MATURATION,10) - set_trait(TRAIT_PRODUCTION,1) - set_trait(TRAIT_YIELD,4) - set_trait(TRAIT_POTENCY,10) - set_trait(TRAIT_PRODUCT_ICON,"potato") - set_trait(TRAIT_PRODUCT_COLOUR,"#D4CAB4") - set_trait(TRAIT_PLANT_ICON,"bush2") - set_trait(TRAIT_WATER_CONSUMPTION, 6) + SET_SEED_TRAIT(src, TRAIT_PRODUCES_POWER, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 1) + SET_SEED_TRAIT(src, TRAIT_YIELD, 4) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "potato") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#D4CAB4") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "bush2") + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 6) /obj/item/seeds/potatoseed seed_type = "potato" @@ -92,15 +92,15 @@ /datum/seed/whitebeets/setup_traits() ..() - set_trait(TRAIT_MATURATION,6) - set_trait(TRAIT_PRODUCTION,6) - set_trait(TRAIT_YIELD,6) - set_trait(TRAIT_POTENCY,10) - set_trait(TRAIT_PRODUCT_ICON,"carrot2") - set_trait(TRAIT_PRODUCT_COLOUR,"#EEF5B0") - set_trait(TRAIT_PLANT_COLOUR,"#4D8F53") - set_trait(TRAIT_PLANT_ICON,"carrot2") - set_trait(TRAIT_WATER_CONSUMPTION, 6) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 6) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 6) + SET_SEED_TRAIT(src, TRAIT_YIELD, 6) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "carrot2") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#EEF5B0") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#4D8F53") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "carrot2") + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 6) /obj/item/seeds/whitebeetseed seed_type = "whitebeet" diff --git a/code/modules/hydroponics/seed_datums/smokables.dm b/code/modules/hydroponics/seed_datums/smokables.dm index 79d28374359..c31cda8970d 100644 --- a/code/modules/hydroponics/seed_datums/smokables.dm +++ b/code/modules/hydroponics/seed_datums/smokables.dm @@ -10,17 +10,17 @@ /datum/seed/tobacco/setup_traits() ..() - set_trait(TRAIT_MATURATION,6) - set_trait(TRAIT_PRODUCTION,6) - set_trait(TRAIT_YIELD,5) - set_trait(TRAIT_PRODUCT_ICON,"tobacco") - set_trait(TRAIT_PRODUCT_COLOUR,"#749733") - set_trait(TRAIT_PLANT_COLOUR,"#749733") - set_trait(TRAIT_PLANT_ICON,"vine2") - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) - set_trait(TRAIT_WATER_CONSUMPTION, 6) - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 6) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 6) + SET_SEED_TRAIT(src, TRAIT_YIELD, 5) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "tobacco") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#749733") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#749733") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "vine2") + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 6) + SET_SEED_TRAIT(src, TRAIT_NUTRIENT_CONSUMPTION, 0.15) /obj/item/seeds/tobaccoseed seed_type = "tobacco" @@ -33,10 +33,10 @@ /datum/seed/tobacco/finetobacco/setup_traits() ..() - set_trait(TRAIT_YIELD,4) - set_trait(TRAIT_PRODUCT_COLOUR,"#33571b") - set_trait(TRAIT_PLANT_COLOUR,"#33571b") - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.20) + SET_SEED_TRAIT(src, TRAIT_YIELD, 4) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#33571b") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#33571b") + SET_SEED_TRAIT(src, TRAIT_NUTRIENT_CONSUMPTION, 0.20) /obj/item/seeds/finetobacco seed_type = "finetobacco" @@ -49,11 +49,11 @@ /datum/seed/tobacco/puretobacco/setup_traits() ..() - set_trait(TRAIT_YIELD,3) - set_trait(TRAIT_JUICY,1) - set_trait(TRAIT_PRODUCT_COLOUR,"#b7c61a") - set_trait(TRAIT_PLANT_COLOUR,"#b7c61a") - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.30) + SET_SEED_TRAIT(src, TRAIT_YIELD, 3) + SET_SEED_TRAIT(src, TRAIT_JUICY, 1) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#b7c61a") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#b7c61a") + SET_SEED_TRAIT(src, TRAIT_NUTRIENT_CONSUMPTION, 0.30) /datum/seed/tobacco/bad name = "badtobacco" @@ -75,16 +75,16 @@ /datum/seed/ambrosia/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_MATURATION,6) - set_trait(TRAIT_PRODUCTION,6) - set_trait(TRAIT_YIELD,6) - set_trait(TRAIT_POTENCY,5) - set_trait(TRAIT_PRODUCT_ICON,"ambrosia") - set_trait(TRAIT_PRODUCT_COLOUR,"#9FAD55") - set_trait(TRAIT_PLANT_ICON,"ambrosia") - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 6) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 6) + SET_SEED_TRAIT(src, TRAIT_YIELD, 6) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 5) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "ambrosia") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#9FAD55") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "ambrosia") + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) /obj/item/seeds/ambrosiavulgarisseed seed_type = "ambrosia" @@ -99,8 +99,8 @@ /datum/seed/ambrosia/deus/setup_traits() ..() - set_trait(TRAIT_PRODUCT_COLOUR,"#A3F0AD") - set_trait(TRAIT_PLANT_COLOUR,"#2A9C61") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#A3F0AD") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#2A9C61") /obj/item/seeds/ambrosiadeusseed seed_type = "ambrosiadeus" @@ -117,17 +117,17 @@ /datum/seed/oracle/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT, 1) - set_trait(TRAIT_MATURATION, 6) - set_trait(TRAIT_PRODUCTION, 6) - set_trait(TRAIT_YIELD, 6) - set_trait(TRAIT_POTENCY, 5) - set_trait(TRAIT_PRODUCT_ICON, "tobacco") - set_trait(TRAIT_PRODUCT_COLOUR, "#ad5555") - set_trait(TRAIT_PLANT_COLOUR, "#ffa2a2") - set_trait(TRAIT_PLANT_ICON, "flower") - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 6) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 6) + SET_SEED_TRAIT(src, TRAIT_YIELD, 6) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 5) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "tobacco") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#ad5555") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#ffa2a2") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "flower") + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) /obj/item/seeds/oracleseed seed_type = "oracle" @@ -141,8 +141,8 @@ /datum/seed/oracle/vedamor/setup_traits() ..() - set_trait(TRAIT_PRODUCT_COLOUR,"#ed1c1c") - set_trait(TRAIT_PLANT_COLOUR,"#ad5555") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#ed1c1c") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#ad5555") /obj/item/seeds/vedamororacleseed seed_type = "vedamororacle" diff --git a/code/modules/hydroponics/seed_datums/tomato.dm b/code/modules/hydroponics/seed_datums/tomato.dm index e5cf087e6c6..006ae323cb3 100644 --- a/code/modules/hydroponics/seed_datums/tomato.dm +++ b/code/modules/hydroponics/seed_datums/tomato.dm @@ -11,17 +11,17 @@ /datum/seed/tomato/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_JUICY,1) - set_trait(TRAIT_MATURATION,8) - set_trait(TRAIT_PRODUCTION,6) - set_trait(TRAIT_YIELD,2) - set_trait(TRAIT_POTENCY,10) - set_trait(TRAIT_PRODUCT_ICON,"tomato") - set_trait(TRAIT_PRODUCT_COLOUR,"#D10000") - set_trait(TRAIT_PLANT_ICON,"bush3") - set_trait(TRAIT_WATER_CONSUMPTION, 6) - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.25) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_JUICY, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 8) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 6) + SET_SEED_TRAIT(src, TRAIT_YIELD, 2) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "tomato") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#D10000") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "bush3") + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 6) + SET_SEED_TRAIT(src, TRAIT_NUTRIENT_CONSUMPTION, 0.25) /obj/item/seeds/tomatoseed seed_type = "tomato" @@ -36,8 +36,8 @@ /datum/seed/tomato/blood/setup_traits() ..() - set_trait(TRAIT_YIELD,3) - set_trait(TRAIT_PRODUCT_COLOUR,"#FF0000") + SET_SEED_TRAIT(src, TRAIT_YIELD, 3) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#FF0000") /obj/item/seeds/bloodtomatoseed seed_type = "bloodtomato" @@ -52,8 +52,8 @@ /datum/seed/tomato/killer/setup_traits() ..() - set_trait(TRAIT_YIELD,2) - set_trait(TRAIT_PRODUCT_COLOUR,"#A86747") + SET_SEED_TRAIT(src, TRAIT_YIELD, 2) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#A86747") /obj/item/seeds/killertomatoseed seed_type = "killertomato" @@ -68,8 +68,8 @@ /datum/seed/tomato/blue/setup_traits() ..() - set_trait(TRAIT_PRODUCT_COLOUR,"#4D86E8") - set_trait(TRAIT_PLANT_COLOUR,"#070AAD") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#4D86E8") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#070AAD") /obj/item/seeds/bluetomatoseed seed_type = "bluetomato" @@ -83,10 +83,10 @@ /datum/seed/tomato/blue/teleport/setup_traits() ..() - set_trait(TRAIT_TELEPORTING,1) - set_trait(TRAIT_PRODUCT_COLOUR,"#00E5FF") - set_trait(TRAIT_BIOLUM,1) - set_trait(TRAIT_BIOLUM_COLOUR,"#4DA4A8") + SET_SEED_TRAIT(src, TRAIT_TELEPORTING, 1) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#00E5FF") + SET_SEED_TRAIT(src, TRAIT_BIOLUM, 1) + SET_SEED_TRAIT(src, TRAIT_BIOLUM_COLOUR, "#4DA4A8") /obj/item/seeds/bluespacetomatoseed seed_type = "bluespacetomato" diff --git a/code/modules/hydroponics/seed_datums/unathi.dm b/code/modules/hydroponics/seed_datums/unathi.dm index cfe40d18856..297ef768f95 100644 --- a/code/modules/hydroponics/seed_datums/unathi.dm +++ b/code/modules/hydroponics/seed_datums/unathi.dm @@ -10,17 +10,17 @@ /datum/seed/xuizi/setup_traits() ..() - set_trait(TRAIT_MATURATION,6) - set_trait(TRAIT_PRODUCTION,6) - set_trait(TRAIT_YIELD,6) - set_trait(TRAIT_POTENCY,10) - set_trait(TRAIT_PRODUCT_ICON,"stalk") - set_trait(TRAIT_PRODUCT_COLOUR,"#b7f0b1") - set_trait(TRAIT_PLANT_COLOUR,"#4D8F53") - set_trait(TRAIT_PLANT_ICON,"tree3") - set_trait(TRAIT_WATER_CONSUMPTION, 6) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_MOGHES) - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 6) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 6) + SET_SEED_TRAIT(src, TRAIT_YIELD, 6) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "stalk") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#b7f0b1") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#4D8F53") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "tree3") + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 6) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_MOGHES) + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) /obj/item/seeds/xuiziseed seed_type = "xuizi" @@ -35,19 +35,19 @@ /datum/seed/sarezhi/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_JUICY,1) - set_trait(TRAIT_MATURATION,5) - set_trait(TRAIT_PRODUCTION,5) - set_trait(TRAIT_YIELD,2) - set_trait(TRAIT_POTENCY,10) - set_trait(TRAIT_PRODUCT_ICON,"berry") - set_trait(TRAIT_PRODUCT_COLOUR,"#bf8fbc") - set_trait(TRAIT_PLANT_ICON,"bush") - set_trait(TRAIT_WATER_CONSUMPTION, 6) - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_MOGHES) - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_JUICY, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 5) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 5) + SET_SEED_TRAIT(src, TRAIT_YIELD, 2) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "berry") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#bf8fbc") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "bush") + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 6) + SET_SEED_TRAIT(src, TRAIT_NUTRIENT_CONSUMPTION, 0.15) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_MOGHES) + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) /obj/item/seeds/sarezhiseed seed_type = "sarezhi" @@ -62,20 +62,20 @@ /datum/seed/gukhe/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_JUICY,1) - set_trait(TRAIT_MATURATION,3) - set_trait(TRAIT_PRODUCTION,5) - set_trait(TRAIT_YIELD,4) - set_trait(TRAIT_POTENCY,10) - set_trait(TRAIT_PRODUCT_ICON,"algae") - set_trait(TRAIT_PRODUCT_COLOUR,"#e93e1c") - set_trait(TRAIT_PLANT_COLOUR,"#6d9c6b") - set_trait(TRAIT_PLANT_ICON,"algae") - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_MOGHES) - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) - set_trait(TRAIT_WATER_CONSUMPTION, 6) - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_JUICY, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 3) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 5) + SET_SEED_TRAIT(src, TRAIT_YIELD, 4) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "algae") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#e93e1c") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#6d9c6b") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "algae") + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_MOGHES) + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 6) + SET_SEED_TRAIT(src, TRAIT_NUTRIENT_CONSUMPTION, 0.15) /obj/item/seeds/gukheseed seed_type = "gukhe" @@ -89,16 +89,16 @@ /datum/seed/aghrassh/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_MATURATION,6) - set_trait(TRAIT_PRODUCTION,6) - set_trait(TRAIT_YIELD,4) - set_trait(TRAIT_POTENCY,15) - set_trait(TRAIT_PRODUCT_ICON,"nuts") - set_trait(TRAIT_PRODUCT_COLOUR,"#866523") - set_trait(TRAIT_PLANT_ICON,"tree") - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_MOGHES) - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 6) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 6) + SET_SEED_TRAIT(src, TRAIT_YIELD, 4) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 15) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "nuts") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#866523") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "tree") + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_MOGHES) + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) /obj/item/seeds/aghrasshseed seed_type = "aghrassh" @@ -112,19 +112,19 @@ /datum/seed/sthberry/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_JUICY,1) - set_trait(TRAIT_MATURATION,5) - set_trait(TRAIT_PRODUCTION,5) - set_trait(TRAIT_YIELD,2) - set_trait(TRAIT_POTENCY,10) - set_trait(TRAIT_PRODUCT_ICON,"berry") - set_trait(TRAIT_PRODUCT_COLOUR,"#d40606") - set_trait(TRAIT_PLANT_ICON,"bush") - set_trait(TRAIT_WATER_CONSUMPTION, 6) - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_MOGHES) - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_JUICY, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 5) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 5) + SET_SEED_TRAIT(src, TRAIT_YIELD, 2) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "berry") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#d40606") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "bush") + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 6) + SET_SEED_TRAIT(src, TRAIT_NUTRIENT_CONSUMPTION, 0.15) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_MOGHES) + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) /obj/item/seeds/sthberryseed seed_type = "sthberry" @@ -136,15 +136,15 @@ /datum/seed/flower/serkiflower/setup_traits() ..() - set_trait(TRAIT_MATURATION,6) - set_trait(TRAIT_PRODUCT_ICON,"flower3") - set_trait(TRAIT_PRODUCT_COLOUR,"[pick("#ffbc05", "#7400a6")]") - set_trait(TRAIT_PLANT_ICON,"flower3") - set_trait(TRAIT_IDEAL_LIGHT, 7) - set_trait(TRAIT_WATER_CONSUMPTION, 6) - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_MOGHES) - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 6) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "flower3") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "[pick("#ffbc05", "#7400a6")]") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "flower3") + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, 7) + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 6) + SET_SEED_TRAIT(src, TRAIT_NUTRIENT_CONSUMPTION, 0.15) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_MOGHES) + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) /obj/item/seeds/serkiflowerseed seed_type = "serkiflower" diff --git a/code/modules/hydroponics/seed_datums/vegetables.dm b/code/modules/hydroponics/seed_datums/vegetables.dm index 6fdfcc10bab..bf06e48dd63 100644 --- a/code/modules/hydroponics/seed_datums/vegetables.dm +++ b/code/modules/hydroponics/seed_datums/vegetables.dm @@ -11,16 +11,16 @@ /datum/seed/chili/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_MATURATION,5) - set_trait(TRAIT_PRODUCTION,5) - set_trait(TRAIT_YIELD,4) - set_trait(TRAIT_POTENCY,20) - set_trait(TRAIT_PRODUCT_ICON,"chili") - set_trait(TRAIT_PRODUCT_COLOUR,"#ED3300") - set_trait(TRAIT_PLANT_ICON,"bush2") - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 5) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 5) + SET_SEED_TRAIT(src, TRAIT_YIELD, 4) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 20) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "chili") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#ED3300") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "bush2") + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) /obj/item/seeds/chiliseed seed_type = "chili" @@ -35,9 +35,9 @@ /datum/seed/chili/ice/setup_traits() ..() - set_trait(TRAIT_MATURATION,4) - set_trait(TRAIT_PRODUCTION,4) - set_trait(TRAIT_PRODUCT_COLOUR,"#00EDC6") + SET_SEED_TRAIT(src, TRAIT_MATURATION, 4) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 4) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#00EDC6") /obj/item/seeds/icepepperseed seed_type = "icechili" @@ -52,18 +52,18 @@ /datum/seed/bellpepper/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_MATURATION,4) - set_trait(TRAIT_PRODUCTION,5) - set_trait(TRAIT_YIELD,4) - set_trait(TRAIT_POTENCY,5) - set_trait(TRAIT_PRODUCT_ICON,"pepper") - set_trait(TRAIT_PRODUCT_COLOUR,"#ff922d") - set_trait(TRAIT_PLANT_COLOUR,"#35d65d") - set_trait(TRAIT_PLANT_ICON,"bush2") - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) - set_trait(TRAIT_WATER_CONSUMPTION, 5) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 4) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 5) + SET_SEED_TRAIT(src, TRAIT_YIELD, 4) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 5) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "pepper") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#ff922d") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#35d65d") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "bush2") + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 5) /obj/item/seeds/bellpepperseed seed_type = "bellpepper" @@ -81,15 +81,15 @@ /datum/seed/nettle/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_MATURATION,6) - set_trait(TRAIT_PRODUCTION,6) - set_trait(TRAIT_YIELD,4) - set_trait(TRAIT_POTENCY,10) - set_trait(TRAIT_STINGS,1) - set_trait(TRAIT_PLANT_ICON,"bush5") - set_trait(TRAIT_PRODUCT_ICON,"nettles") - set_trait(TRAIT_PRODUCT_COLOUR,"#728A54") + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 6) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 6) + SET_SEED_TRAIT(src, TRAIT_YIELD, 4) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 10) + SET_SEED_TRAIT(src, TRAIT_STINGS, 1) + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "bush5") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "nettles") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#728A54") /obj/item/seeds/nettleseed seed_type = "nettle" @@ -104,10 +104,10 @@ /datum/seed/nettle/death/setup_traits() ..() - set_trait(TRAIT_MATURATION,8) - set_trait(TRAIT_YIELD,2) - set_trait(TRAIT_PRODUCT_COLOUR,"#8C5030") - set_trait(TRAIT_PLANT_COLOUR,"#634941") + SET_SEED_TRAIT(src, TRAIT_MATURATION, 8) + SET_SEED_TRAIT(src, TRAIT_YIELD, 2) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#8C5030") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#634941") /obj/item/seeds/deathnettleseed seed_type = "deathnettle" @@ -125,16 +125,16 @@ /datum/seed/eggplant/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_MATURATION,6) - set_trait(TRAIT_PRODUCTION,6) - set_trait(TRAIT_YIELD,2) - set_trait(TRAIT_POTENCY,20) - set_trait(TRAIT_PRODUCT_ICON,"eggplant") - set_trait(TRAIT_PRODUCT_COLOUR,"#892694") - set_trait(TRAIT_PLANT_ICON,"bush4") - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 6) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 6) + SET_SEED_TRAIT(src, TRAIT_YIELD, 2) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 20) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "eggplant") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#892694") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "bush4") + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) /obj/item/seeds/eggplantseed seed_type = "eggplant" @@ -148,16 +148,16 @@ /datum/seed/realeggplant/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_MATURATION,4) - set_trait(TRAIT_PRODUCTION,5) - set_trait(TRAIT_YIELD,1) - set_trait(TRAIT_POTENCY,40) - set_trait(TRAIT_PRODUCT_ICON,"eggplant") - set_trait(TRAIT_PRODUCT_COLOUR,"#892694") - set_trait(TRAIT_PLANT_ICON,"bush4") - set_trait(TRAIT_IDEAL_HEAT, 298) - set_trait(TRAIT_IDEAL_LIGHT, 7) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 4) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 5) + SET_SEED_TRAIT(src, TRAIT_YIELD, 1) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 40) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "eggplant") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#892694") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "bush4") + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, 298) + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, 7) /////////////// // Legumes // @@ -171,16 +171,16 @@ /datum/seed/peanuts/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_MATURATION,6) - set_trait(TRAIT_PRODUCTION,6) - set_trait(TRAIT_YIELD,6) - set_trait(TRAIT_POTENCY,10) - set_trait(TRAIT_PRODUCT_ICON,"nuts") - set_trait(TRAIT_PRODUCT_COLOUR,"#F2B369") - set_trait(TRAIT_PLANT_ICON,"bush2") - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 6) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 6) + SET_SEED_TRAIT(src, TRAIT_YIELD, 6) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "nuts") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#F2B369") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "bush2") + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) /obj/item/seeds/peanutseed seed_type = "peanut" @@ -194,16 +194,16 @@ /datum/seed/soybean/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_MATURATION,4) - set_trait(TRAIT_PRODUCTION,4) - set_trait(TRAIT_YIELD,3) - set_trait(TRAIT_POTENCY,5) - set_trait(TRAIT_PRODUCT_ICON,"bean") - set_trait(TRAIT_PRODUCT_COLOUR,"#EBE7C0") - set_trait(TRAIT_PLANT_ICON,"stalk") - set_trait(TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) - set_trait(TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 4) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 4) + SET_SEED_TRAIT(src, TRAIT_YIELD, 3) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 5) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "bean") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#EBE7C0") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "stalk") + SET_SEED_TRAIT(src, TRAIT_IDEAL_LIGHT, IDEAL_LIGHT_HIGH) + SET_SEED_TRAIT(src, TRAIT_IDEAL_HEAT, IDEAL_HEAT_TROPICAL) /obj/item/seeds/soyaseed seed_type = "soybean" @@ -218,14 +218,14 @@ /datum/seed/chickpea/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_MATURATION, 4) - set_trait(TRAIT_PRODUCTION, 4) - set_trait(TRAIT_YIELD, 3) - set_trait(TRAIT_POTENCY, 5) - set_trait(TRAIT_PRODUCT_ICON, "bean") - set_trait(TRAIT_PRODUCT_COLOUR, "#e0ce25") - set_trait(TRAIT_PLANT_ICON, "bush2") + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 4) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 4) + SET_SEED_TRAIT(src, TRAIT_YIELD, 3) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 5) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "bean") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#e0ce25") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "bush2") /obj/item/seeds/chickpeas seed_type = "chickpea" @@ -240,14 +240,14 @@ /datum/seed/peas/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_MATURATION, 3) - set_trait(TRAIT_PRODUCTION, 3) - set_trait(TRAIT_YIELD, 3) - set_trait(TRAIT_POTENCY, 5) - set_trait(TRAIT_PRODUCT_ICON, "bean") - set_trait(TRAIT_PRODUCT_COLOUR, "#70b74a") - set_trait(TRAIT_PLANT_ICON, "bush2") + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 3) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 3) + SET_SEED_TRAIT(src, TRAIT_YIELD, 3) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 5) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "bean") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#70b74a") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "bush2") /obj/item/seeds/peaseed seed_type = "peas" @@ -265,17 +265,17 @@ /datum/seed/cabbage/setup_traits() ..() - set_trait(TRAIT_HARVEST_REPEAT,1) - set_trait(TRAIT_MATURATION,3) - set_trait(TRAIT_PRODUCTION,5) - set_trait(TRAIT_YIELD,4) - set_trait(TRAIT_POTENCY,10) - set_trait(TRAIT_PRODUCT_ICON,"cabbage") - set_trait(TRAIT_PRODUCT_COLOUR,"#84BD82") - set_trait(TRAIT_PLANT_COLOUR,"#6D9C6B") - set_trait(TRAIT_PLANT_ICON,"vine2") - set_trait(TRAIT_WATER_CONSUMPTION, 6) - set_trait(TRAIT_NUTRIENT_CONSUMPTION, 0.15) + SET_SEED_TRAIT(src, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(src, TRAIT_MATURATION, 3) + SET_SEED_TRAIT(src, TRAIT_PRODUCTION, 5) + SET_SEED_TRAIT(src, TRAIT_YIELD, 4) + SET_SEED_TRAIT(src, TRAIT_POTENCY, 10) + SET_SEED_TRAIT(src, TRAIT_PRODUCT_ICON, "cabbage") + SET_SEED_TRAIT(src, TRAIT_PRODUCT_COLOUR, "#84BD82") + SET_SEED_TRAIT(src, TRAIT_PLANT_COLOUR, "#6D9C6B") + SET_SEED_TRAIT(src, TRAIT_PLANT_ICON, "vine2") + SET_SEED_TRAIT(src, TRAIT_WATER_CONSUMPTION, 6) + SET_SEED_TRAIT(src, TRAIT_NUTRIENT_CONSUMPTION, 0.15) /obj/item/seeds/cabbageseed seed_type = "cabbage" diff --git a/code/modules/hydroponics/seed_gene_mut.dm b/code/modules/hydroponics/seed_gene_mut.dm index 06344fe28c6..72f4756d9ac 100644 --- a/code/modules/hydroponics/seed_gene_mut.dm +++ b/code/modules/hydroponics/seed_gene_mut.dm @@ -53,84 +53,84 @@ return /singleton/plantgene/biochem/mutate(var/datum/seed/S) - S.set_trait(TRAIT_POTENCY, S.get_trait(TRAIT_POTENCY)+rand(-20,20),200, 0) + SET_SEED_TRAIT_BOUNDED(S, TRAIT_POTENCY, GET_SEED_TRAIT(S, TRAIT_POTENCY)+rand(-20,20), 200, 0, null) /singleton/plantgene/hardiness/mutate(var/datum/seed/S) if(prob(60)) - S.set_trait(TRAIT_TOXINS_TOLERANCE, S.get_trait(TRAIT_TOXINS_TOLERANCE)+rand(-2,2),10,0) + SET_SEED_TRAIT_BOUNDED(S, TRAIT_TOXINS_TOLERANCE, GET_SEED_TRAIT(S, TRAIT_TOXINS_TOLERANCE)+rand(-2,2), 10, 0, null) if(prob(60)) - S.set_trait(TRAIT_PEST_TOLERANCE, S.get_trait(TRAIT_PEST_TOLERANCE)+rand(-2,2),10,0) + SET_SEED_TRAIT_BOUNDED(S, TRAIT_PEST_TOLERANCE, GET_SEED_TRAIT(S, TRAIT_PEST_TOLERANCE)+rand(-2,2), 10, 0, null) if(prob(60)) - S.set_trait(TRAIT_WEED_TOLERANCE, S.get_trait(TRAIT_WEED_TOLERANCE)+rand(-2,2),10,0) + SET_SEED_TRAIT_BOUNDED(S, TRAIT_WEED_TOLERANCE, GET_SEED_TRAIT(S, TRAIT_WEED_TOLERANCE)+rand(-2,2), 10, 0, null) if(prob(60)) - S.set_trait(TRAIT_ENDURANCE, S.get_trait(TRAIT_ENDURANCE)+rand(-5,5),100,0) + SET_SEED_TRAIT_BOUNDED(S, TRAIT_ENDURANCE, GET_SEED_TRAIT(S, TRAIT_ENDURANCE)+rand(-5,5), 100, 0, null) /singleton/plantgene/environment/mutate(var/datum/seed/S) if(prob(60)) - S.set_trait(TRAIT_IDEAL_HEAT, S.get_trait(TRAIT_IDEAL_HEAT)+rand(-2,2),10,0) + SET_SEED_TRAIT_BOUNDED(S, TRAIT_IDEAL_HEAT, GET_SEED_TRAIT(S, TRAIT_IDEAL_HEAT)+rand(-2,2), 10, 0, null) if(prob(60)) - S.set_trait(TRAIT_IDEAL_LIGHT, S.get_trait(TRAIT_IDEAL_LIGHT)+rand(-2,2),10,0) + SET_SEED_TRAIT_BOUNDED(S, TRAIT_IDEAL_LIGHT, GET_SEED_TRAIT(S, TRAIT_IDEAL_LIGHT)+rand(-2,2), 10, 0, null) if(prob(60)) - S.set_trait(TRAIT_LIGHT_TOLERANCE, S.get_trait(TRAIT_LIGHT_TOLERANCE)+rand(-5,5),100,0) + SET_SEED_TRAIT_BOUNDED(S, TRAIT_LIGHT_TOLERANCE, GET_SEED_TRAIT(S, TRAIT_LIGHT_TOLERANCE)+rand(-5,5), 100, 0, null) /singleton/plantgene/metabolism/mutate(var/datum/seed/S) if(prob(65)) - S.set_trait(TRAIT_REQUIRES_NUTRIENTS, S.get_trait(TRAIT_REQUIRES_NUTRIENTS)+rand(-2,2),10,0) + SET_SEED_TRAIT_BOUNDED(S, TRAIT_REQUIRES_NUTRIENTS, GET_SEED_TRAIT(S, TRAIT_REQUIRES_NUTRIENTS)+rand(-2,2), 10, 0, null) if(prob(65)) - S.set_trait(TRAIT_REQUIRES_WATER, S.get_trait(TRAIT_REQUIRES_WATER)+rand(-2,2),10,0) + SET_SEED_TRAIT_BOUNDED(S, TRAIT_REQUIRES_WATER, GET_SEED_TRAIT(S, TRAIT_REQUIRES_WATER)+rand(-2,2), 10, 0, null) if(prob(40)) - S.set_trait(TRAIT_ALTER_TEMP, S.get_trait(TRAIT_ALTER_TEMP)+rand(-5,5),100,0) + SET_SEED_TRAIT_BOUNDED(S, TRAIT_ALTER_TEMP, GET_SEED_TRAIT(S, TRAIT_ALTER_TEMP)+rand(-5,5), 100, 0, null) /singleton/plantgene/diet/mutate(var/datum/seed/S) if(prob(60)) - S.set_trait(TRAIT_CARNIVOROUS, S.get_trait(TRAIT_CARNIVOROUS)+rand(-1,1),2,0) + SET_SEED_TRAIT_BOUNDED(S, TRAIT_CARNIVOROUS, GET_SEED_TRAIT(S, TRAIT_CARNIVOROUS)+rand(-1,1), 2, 0, null) if(prob(60)) - S.set_trait(TRAIT_PARASITE, !S.get_trait(TRAIT_PARASITE)) + SET_SEED_TRAIT(S, TRAIT_PARASITE, !GET_SEED_TRAIT(S, TRAIT_PARASITE)) if(prob(65)) - S.set_trait(TRAIT_NUTRIENT_CONSUMPTION, S.get_trait(TRAIT_NUTRIENT_CONSUMPTION)+rand(-0.1,0.1),5,0) + SET_SEED_TRAIT_BOUNDED(S, TRAIT_NUTRIENT_CONSUMPTION, GET_SEED_TRAIT(S, TRAIT_NUTRIENT_CONSUMPTION)+rand(-0.1,0.1), 5, 0, null) if(prob(65)) - S.set_trait(TRAIT_WATER_CONSUMPTION, S.get_trait(TRAIT_WATER_CONSUMPTION)+rand(-1,1),50,0) + SET_SEED_TRAIT_BOUNDED(S, TRAIT_WATER_CONSUMPTION, GET_SEED_TRAIT(S, TRAIT_WATER_CONSUMPTION)+rand(-1,1), 50, 0, null) /singleton/plantgene/output/mutate(var/datum/seed/S, var/turf/T) if(prob(50)) - S.set_trait(TRAIT_BIOLUM, !S.get_trait(TRAIT_BIOLUM)) - if(S.get_trait(TRAIT_BIOLUM)) + SET_SEED_TRAIT(S, TRAIT_BIOLUM, !GET_SEED_TRAIT(S, TRAIT_BIOLUM)) + if(GET_SEED_TRAIT(S, TRAIT_BIOLUM)) T.visible_message(SPAN_NOTICE("\The [S.display_name] begins to glow!")) if(prob(50)) - S.set_trait(TRAIT_BIOLUM_COLOUR,get_random_colour(0,75,190)) - T.visible_message("\The [S.display_name]'s glow changes colour!") + SET_SEED_TRAIT(S, TRAIT_BIOLUM_COLOUR, get_random_colour(0,75,190)) + T.visible_message("\The [S.display_name]'s glow changes colour!") else T.visible_message(SPAN_NOTICE("\The [S.display_name]'s glow dims...")) if(prob(60)) - S.set_trait(TRAIT_PRODUCES_POWER, !S.get_trait(TRAIT_PRODUCES_POWER)) + SET_SEED_TRAIT(S, TRAIT_PRODUCES_POWER, !GET_SEED_TRAIT(S, TRAIT_PRODUCES_POWER)) /singleton/plantgene/atmosphere/mutate(var/datum/seed/S) if(prob(60)) - S.set_trait(TRAIT_TOXINS_TOLERANCE, S.get_trait(TRAIT_TOXINS_TOLERANCE)+rand(-2,2),10,0) + SET_SEED_TRAIT_BOUNDED(S, TRAIT_TOXINS_TOLERANCE, GET_SEED_TRAIT(S, TRAIT_TOXINS_TOLERANCE)+rand(-2,2), 10, 0, null) if(prob(60)) - S.set_trait(TRAIT_PEST_TOLERANCE, S.get_trait(TRAIT_PEST_TOLERANCE)+rand(-2,2),10,0) + SET_SEED_TRAIT_BOUNDED(S, TRAIT_PEST_TOLERANCE, GET_SEED_TRAIT(S, TRAIT_PEST_TOLERANCE)+rand(-2,2), 10, 0, null) if(prob(60)) - S.set_trait(TRAIT_WEED_TOLERANCE, S.get_trait(TRAIT_WEED_TOLERANCE)+rand(-2,2),10,0) + SET_SEED_TRAIT_BOUNDED(S, TRAIT_WEED_TOLERANCE, GET_SEED_TRAIT(S, TRAIT_WEED_TOLERANCE)+rand(-2,2), 10, 0, null) if(prob(60)) - S.set_trait(TRAIT_ENDURANCE, S.get_trait(TRAIT_ENDURANCE)+rand(-5,5),100,0) + SET_SEED_TRAIT_BOUNDED(S, TRAIT_ENDURANCE, GET_SEED_TRAIT(S, TRAIT_ENDURANCE)+rand(-5,5), 100, 0, null) /singleton/plantgene/vigour/mutate(var/datum/seed/S, var/turf/T) if(prob(65)) - S.set_trait(TRAIT_PRODUCTION, S.get_trait(TRAIT_PRODUCTION)+rand(-1,1),10,0) + SET_SEED_TRAIT_BOUNDED(S, TRAIT_PRODUCTION, GET_SEED_TRAIT(S, TRAIT_PRODUCTION)+rand(-1,1), 10, 0, null) if(prob(65)) - S.set_trait(TRAIT_MATURATION, S.get_trait(TRAIT_MATURATION)+rand(-1,1),30,0) + SET_SEED_TRAIT_BOUNDED(S, TRAIT_MATURATION, GET_SEED_TRAIT(S, TRAIT_MATURATION)+rand(-1,1), 30, 0, null) if(prob(55)) - S.set_trait(TRAIT_SPREAD, S.get_trait(TRAIT_SPREAD)+rand(-1,1),2,0) + SET_SEED_TRAIT_BOUNDED(S, TRAIT_SPREAD, GET_SEED_TRAIT(S, TRAIT_SPREAD)+rand(-1,1), 2, 0, null) T.visible_message(SPAN_NOTICE("\The [S.display_name] spasms visibly, shifting in the tray.")) /singleton/plantgene/fruit/mutate(var/datum/seed/S) if(prob(65)) - S.set_trait(TRAIT_STINGS, !S.get_trait(TRAIT_STINGS)) + SET_SEED_TRAIT(S, TRAIT_STINGS, !GET_SEED_TRAIT(S, TRAIT_STINGS)) if(prob(65)) - S.set_trait(TRAIT_EXPLOSIVE, !S.get_trait(TRAIT_EXPLOSIVE)) + SET_SEED_TRAIT(S, TRAIT_EXPLOSIVE, !GET_SEED_TRAIT(S, TRAIT_EXPLOSIVE)) if(prob(65)) - S.set_trait(TRAIT_JUICY, !S.get_trait(TRAIT_JUICY)) + SET_SEED_TRAIT(S, TRAIT_JUICY, !GET_SEED_TRAIT(S, TRAIT_JUICY)) /singleton/plantgene/special/mutate(var/datum/seed/S) if(prob(65)) - S.set_trait(TRAIT_TELEPORTING, !S.get_trait(TRAIT_TELEPORTING)) + SET_SEED_TRAIT(S, TRAIT_TELEPORTING, !GET_SEED_TRAIT(S, TRAIT_TELEPORTING)) diff --git a/code/modules/hydroponics/seed_machines.dm b/code/modules/hydroponics/seed_machines.dm index 6ea4321d1d7..66c1f7953aa 100644 --- a/code/modules/hydroponics/seed_machines.dm +++ b/code/modules/hydroponics/seed_machines.dm @@ -86,7 +86,7 @@ to_chat(user, "There is already a seed loaded.") return var/obj/item/seeds/S = attacking_item - if(S.seed && S.seed.get_trait(TRAIT_IMMUTABLE) > 0) + if(S.seed && S.GET_SEED_TRAIT(seed, TRAIT_IMMUTABLE) > 0) to_chat(user, "That seed is not compatible with our genetics technology.") else user.drop_from_inventory(attacking_item,src) diff --git a/code/modules/hydroponics/seed_packets.dm b/code/modules/hydroponics/seed_packets.dm index f21241946ba..eab27051fa3 100644 --- a/code/modules/hydroponics/seed_packets.dm +++ b/code/modules/hydroponics/seed_packets.dm @@ -35,22 +35,22 @@ GLOBAL_LIST_EMPTY(plant_seed_sprites) ClearOverlays() var/is_seeds = ((seed.seed_noun in list(SEED_NOUN_SEEDS, SEED_NOUN_PITS, SEED_NOUN_NODES)) ? 1 : 0) var/image/seed_mask - var/seed_base_key = "base-[is_seeds ? seed.get_trait(TRAIT_PLANT_COLOUR) : SEED_NOUN_SPORES]" + var/seed_base_key = "base-[is_seeds ? GET_SEED_TRAIT(seed, TRAIT_PLANT_COLOUR) : SEED_NOUN_SPORES]" if(GLOB.plant_seed_sprites[seed_base_key]) seed_mask = GLOB.plant_seed_sprites[seed_base_key] else seed_mask = image('icons/obj/seeds.dmi',"[is_seeds ? "seed" : "spore"]-mask") if(is_seeds) // Spore glass bits aren't coloured. - seed_mask.color = seed.get_trait(TRAIT_PLANT_COLOUR) + seed_mask.color = GET_SEED_TRAIT(seed, TRAIT_PLANT_COLOUR) GLOB.plant_seed_sprites[seed_base_key] = seed_mask var/image/seed_overlay - var/seed_overlay_key = "[seed.get_trait(TRAIT_PRODUCT_ICON)]-[seed.get_trait(TRAIT_PRODUCT_COLOUR)]" + var/seed_overlay_key = "[GET_SEED_TRAIT(seed, TRAIT_PRODUCT_ICON)]-[GET_SEED_TRAIT(seed, TRAIT_PRODUCT_COLOUR)]" if(GLOB.plant_seed_sprites[seed_overlay_key]) seed_overlay = GLOB.plant_seed_sprites[seed_overlay_key] else - seed_overlay = image('icons/obj/seeds.dmi',"[seed.get_trait(TRAIT_PRODUCT_ICON)]") - seed_overlay.color = seed.get_trait(TRAIT_PRODUCT_COLOUR) + seed_overlay = image('icons/obj/seeds.dmi',"[GET_SEED_TRAIT(seed, TRAIT_PRODUCT_ICON)]") + seed_overlay.color = GET_SEED_TRAIT(seed, TRAIT_PRODUCT_COLOUR) GLOB.plant_seed_sprites[seed_overlay_key] = seed_overlay AddOverlays(seed_mask) @@ -65,11 +65,11 @@ GLOBAL_LIST_EMPTY(plant_seed_sprites) if(ret_image) var/icon/sm = icon('icons/obj/seeds.dmi', "[is_seeds ? "seed" : "spore"]-mask") - var/icon/so = icon('icons/obj/seeds.dmi', "[seed.get_trait(TRAIT_PRODUCT_ICON)]") - var/p_color = seed.get_trait(TRAIT_PRODUCT_COLOUR) + var/icon/so = icon('icons/obj/seeds.dmi', "[GET_SEED_TRAIT(seed, TRAIT_PRODUCT_ICON)]") + var/p_color = GET_SEED_TRAIT(seed, TRAIT_PRODUCT_COLOUR) so *= p_color if(is_seeds) - var/s_color = seed.get_trait(TRAIT_PLANT_COLOUR) + var/s_color = GET_SEED_TRAIT(seed, TRAIT_PLANT_COLOUR) sm *= s_color sm.Blend(so, ICON_OVERLAY) return sm @@ -86,15 +86,15 @@ GLOBAL_LIST_EMPTY(plant_seed_sprites) if(seed && !seed.roundstart) . += "It's tagged as variety #[seed.uid]." - var/lower_heat_preference = seed.get_trait(TRAIT_IDEAL_HEAT) - seed.get_trait(TRAIT_HEAT_PREFERENCE) - var/higher_heat_preference = seed.get_trait(TRAIT_IDEAL_HEAT) + seed.get_trait(TRAIT_HEAT_PREFERENCE) - var/lower_light_preference = seed.get_trait(TRAIT_IDEAL_LIGHT) - seed.get_trait(TRAIT_LIGHT_PREFERENCE) - var/higher_light_preference = seed.get_trait(TRAIT_IDEAL_LIGHT) + seed.get_trait(TRAIT_LIGHT_PREFERENCE) + var/lower_heat_preference = GET_SEED_TRAIT(seed, TRAIT_IDEAL_HEAT) - GET_SEED_TRAIT(seed, TRAIT_HEAT_PREFERENCE) + var/higher_heat_preference = GET_SEED_TRAIT(seed, TRAIT_IDEAL_HEAT) + GET_SEED_TRAIT(seed, TRAIT_HEAT_PREFERENCE) + var/lower_light_preference = GET_SEED_TRAIT(seed, TRAIT_IDEAL_LIGHT) - GET_SEED_TRAIT(seed, TRAIT_LIGHT_PREFERENCE) + var/higher_light_preference = GET_SEED_TRAIT(seed, TRAIT_IDEAL_LIGHT) + GET_SEED_TRAIT(seed, TRAIT_LIGHT_PREFERENCE) - var/lower_heat_tolerance = seed.get_trait(TRAIT_IDEAL_HEAT) - seed.get_trait(TRAIT_HEAT_TOLERANCE) - var/higher_heat_tolerance = seed.get_trait(TRAIT_IDEAL_HEAT) + seed.get_trait(TRAIT_HEAT_TOLERANCE) - var/lower_light_tolerance = seed.get_trait(TRAIT_IDEAL_LIGHT) - seed.get_trait(TRAIT_LIGHT_TOLERANCE) - var/higher_light_tolerance = seed.get_trait(TRAIT_IDEAL_LIGHT) + seed.get_trait(TRAIT_LIGHT_TOLERANCE) + var/lower_heat_tolerance = GET_SEED_TRAIT(seed, TRAIT_IDEAL_HEAT) - GET_SEED_TRAIT(seed, TRAIT_HEAT_TOLERANCE) + var/higher_heat_tolerance = GET_SEED_TRAIT(seed, TRAIT_IDEAL_HEAT) + GET_SEED_TRAIT(seed, TRAIT_HEAT_TOLERANCE) + var/lower_light_tolerance = GET_SEED_TRAIT(seed, TRAIT_IDEAL_LIGHT) - GET_SEED_TRAIT(seed, TRAIT_LIGHT_TOLERANCE) + var/higher_light_tolerance = GET_SEED_TRAIT(seed, TRAIT_IDEAL_LIGHT) + GET_SEED_TRAIT(seed, TRAIT_LIGHT_TOLERANCE) . += SPAN_NOTICE("This grows optimally between [lower_heat_preference] and [higher_heat_preference] kelvin, and between [lower_light_preference] and [higher_light_preference] lumens. It is capable of any growth at all between [lower_heat_tolerance] and [higher_heat_tolerance] kelvin, and between [lower_light_tolerance] and [higher_light_tolerance] lumens.") diff --git a/code/modules/hydroponics/seed_storage.dm b/code/modules/hydroponics/seed_storage.dm index d6b72688ca8..28908866fe0 100644 --- a/code/modules/hydroponics/seed_storage.dm +++ b/code/modules/hydroponics/seed_storage.dm @@ -78,101 +78,101 @@ if("stats" in scanner) data["scan_stats"] = TRUE - seed_type["endurance"] = seed.get_trait(TRAIT_ENDURANCE) - seed_type["yield"] = seed.get_trait(TRAIT_YIELD) - seed_type["maturation"] = seed.get_trait(TRAIT_MATURATION) - seed_type["production"] = seed.get_trait(TRAIT_PRODUCTION) - seed_type["potency"] = seed.get_trait(TRAIT_POTENCY) - if(seed.get_trait(TRAIT_HARVEST_REPEAT)) + seed_type["endurance"] = GET_SEED_TRAIT(seed, TRAIT_ENDURANCE) + seed_type["yield"] = GET_SEED_TRAIT(seed, TRAIT_YIELD) + seed_type["maturation"] = GET_SEED_TRAIT(seed, TRAIT_MATURATION) + seed_type["production"] = GET_SEED_TRAIT(seed, TRAIT_PRODUCTION) + seed_type["potency"] = GET_SEED_TRAIT(seed, TRAIT_POTENCY) + if(GET_SEED_TRAIT(seed, TRAIT_HARVEST_REPEAT)) seed_type["harvest"] = "multiple" else seed_type["harvest"] = "single" if("temperature" in scanner) data["scan_temperature"] = TRUE - seed_type["ideal_heat"] = "[seed.get_trait(TRAIT_IDEAL_HEAT)] K" + seed_type["ideal_heat"] = "[GET_SEED_TRAIT(seed, TRAIT_IDEAL_HEAT)] K" if("light" in scanner) data["scan_light"] = TRUE - seed_type["ideal_light"] = "[seed.get_trait(TRAIT_IDEAL_LIGHT)] L" + seed_type["ideal_light"] = "[GET_SEED_TRAIT(seed, TRAIT_IDEAL_LIGHT)] L" if("soil" in scanner) data["scan_soil"] = TRUE - if(seed.get_trait(TRAIT_REQUIRES_NUTRIENTS)) - if(seed.get_trait(TRAIT_NUTRIENT_CONSUMPTION) < 0.05) + if(GET_SEED_TRAIT(seed, TRAIT_REQUIRES_NUTRIENTS)) + if(GET_SEED_TRAIT(seed, TRAIT_NUTRIENT_CONSUMPTION) < 0.05) seed_type["nutrient_consumption"] = "Low" - else if(seed.get_trait(TRAIT_NUTRIENT_CONSUMPTION) > 0.2) + else if(GET_SEED_TRAIT(seed, TRAIT_NUTRIENT_CONSUMPTION) > 0.2) seed_type["nutrient_consumption"] = "High" else seed_type["nutrient_consumption"] = "Average" else seed_type["nutrient_consumption"] = "No" - if(seed.get_trait(TRAIT_REQUIRES_WATER)) - if(seed.get_trait(TRAIT_WATER_CONSUMPTION) < 1) + if(GET_SEED_TRAIT(seed, TRAIT_REQUIRES_WATER)) + if(GET_SEED_TRAIT(seed, TRAIT_WATER_CONSUMPTION) < 1) seed_type["water_consumption"] = "Low" - else if(seed.get_trait(TRAIT_WATER_CONSUMPTION) > 5) + else if(GET_SEED_TRAIT(seed, TRAIT_WATER_CONSUMPTION) > 5) seed_type["water_consumption"] = "High" else seed_type["water_consumption"] = "Average" else seed_type["water_consumption"] = "No" - switch(seed.get_trait(TRAIT_CARNIVOROUS)) + switch(GET_SEED_TRAIT(seed, TRAIT_CARNIVOROUS)) if(1) traits += "CARN" if(2) traits += "CARN (!)" - switch(seed.get_trait(TRAIT_SPREAD)) + switch(GET_SEED_TRAIT(seed, TRAIT_SPREAD)) if(1) traits += "VINE" if(2) traits += "VINE (!)" if ("pressure" in scanner) - if(seed.get_trait(TRAIT_LOWKPA_TOLERANCE) < 20) + if(GET_SEED_TRAIT(seed, TRAIT_LOWKPA_TOLERANCE) < 20) traits += "LP" - if(seed.get_trait(TRAIT_HIGHKPA_TOLERANCE) > 220) + if(GET_SEED_TRAIT(seed, TRAIT_HIGHKPA_TOLERANCE) > 220) traits += "HP" if ("temperature" in scanner) - if(seed.get_trait(TRAIT_HEAT_TOLERANCE) > 30) + if(GET_SEED_TRAIT(seed, TRAIT_HEAT_TOLERANCE) > 30) traits += "TEMRES" - else if(seed.get_trait(TRAIT_HEAT_TOLERANCE) < 10) + else if(GET_SEED_TRAIT(seed, TRAIT_HEAT_TOLERANCE) < 10) traits += "TEMSEN" if ("light" in scanner) - if(seed.get_trait(TRAIT_LIGHT_TOLERANCE) > 10) + if(GET_SEED_TRAIT(seed, TRAIT_LIGHT_TOLERANCE) > 10) traits += "LIGRES" - else if(seed.get_trait(TRAIT_LIGHT_TOLERANCE) < 3) + else if(GET_SEED_TRAIT(seed, TRAIT_LIGHT_TOLERANCE) < 3) traits += "LIGSEN" - if(seed.get_trait(TRAIT_TOXINS_TOLERANCE) < 3) + if(GET_SEED_TRAIT(seed, TRAIT_TOXINS_TOLERANCE) < 3) traits += "TOXSEN" - else if(seed.get_trait(TRAIT_TOXINS_TOLERANCE) > 6) + else if(GET_SEED_TRAIT(seed, TRAIT_TOXINS_TOLERANCE) > 6) traits += "TOXRES" - if(seed.get_trait(TRAIT_PEST_TOLERANCE) < 3) + if(GET_SEED_TRAIT(seed, TRAIT_PEST_TOLERANCE) < 3) traits += "PESTSEN" - else if(seed.get_trait(TRAIT_PEST_TOLERANCE) > 6) + else if(GET_SEED_TRAIT(seed, TRAIT_PEST_TOLERANCE) > 6) traits += "PESTRES" - if(seed.get_trait(TRAIT_WEED_TOLERANCE) < 3) + if(GET_SEED_TRAIT(seed, TRAIT_WEED_TOLERANCE) < 3) traits += "WEEDSEN" - else if(seed.get_trait(TRAIT_WEED_TOLERANCE) > 6) + else if(GET_SEED_TRAIT(seed, TRAIT_WEED_TOLERANCE) > 6) traits += "WEEDRES" - if(seed.get_trait(TRAIT_PARASITE)) + if(GET_SEED_TRAIT(seed, TRAIT_PARASITE)) traits += "PAR" if("temperature" in scanner) - if(seed.get_trait(TRAIT_ALTER_TEMP) > 0) + if(GET_SEED_TRAIT(seed, TRAIT_ALTER_TEMP) > 0) traits += "TEMP+" - if(seed.get_trait(TRAIT_ALTER_TEMP) < 0) + if(GET_SEED_TRAIT(seed, TRAIT_ALTER_TEMP) < 0) traits += "TEMP-" - if(seed.get_trait(TRAIT_BIOLUM)) + if(GET_SEED_TRAIT(seed, TRAIT_BIOLUM)) traits += "LUM" seed_type["amount"] = S.amount diff --git a/code/modules/hydroponics/spreading/spreading.dm b/code/modules/hydroponics/spreading/spreading.dm index 310d72df82d..f9a0d652dc5 100644 --- a/code/modules/hydroponics/spreading/spreading.dm +++ b/code/modules/hydroponics/spreading/spreading.dm @@ -24,10 +24,10 @@ var/turf/T = pick_subarea_turf(pick(areaList), list(/proc/is_station_turf, /proc/not_turf_contains_dense_objects)) if(T) var/datum/seed/seed = SSplants.create_random_seed(TRUE, SEED_NOUN_PITS) - seed.set_trait(TRAIT_SPREAD,2) // So it will function properly as vines. + SET_SEED_TRAIT(seed, TRAIT_SPREAD, 2) // So it will function properly as vines. seed.growth_stages = VINE_GROWTH_STAGES - seed.set_trait(TRAIT_POTENCY,rand(potency_min, potency_max)) // 85-100 potency will help guarantee a wide spread and powerful effects. - seed.set_trait(TRAIT_MATURATION,rand(maturation_min, maturation_max)) + SET_SEED_TRAIT(seed, TRAIT_POTENCY, rand(potency_min, potency_max)) // 85-100 potency will help guarantee a wide spread and powerful effects. + SET_SEED_TRAIT(seed, TRAIT_MATURATION, rand(maturation_min, maturation_max)) //make vine zero start off fully matured var/obj/effect/plant/vine = new(T,seed) @@ -119,8 +119,8 @@ return name = seed.display_name - max_health = round(seed.get_trait(TRAIT_ENDURANCE)/2) - if(seed.get_trait(TRAIT_SPREAD) == 2) + max_health = round(GET_SEED_TRAIT(seed, TRAIT_ENDURANCE)/2) + if(GET_SEED_TRAIT(seed, TRAIT_SPREAD) == 2) mouse_opacity = 2 max_growth = VINE_GROWTH_STAGES growth_threshold = max_health/VINE_GROWTH_STAGES @@ -134,8 +134,8 @@ can_buckle = list(/mob/living) - mature_time = world.time + seed.get_trait(TRAIT_MATURATION) + 15 //prevent vines from maturing until at least a few seconds after they've been created. - spread_chance = seed.get_trait(TRAIT_POTENCY) + mature_time = world.time + GET_SEED_TRAIT(seed, TRAIT_MATURATION) + 15 //prevent vines from maturing until at least a few seconds after they've been created. + spread_chance = GET_SEED_TRAIT(seed, TRAIT_POTENCY) spread_distance = (growth_type ? round(spread_chance * 0.6) : round(spread_chance * 0.3)) update_icon() return INITIALIZE_HINT_LATELOAD @@ -167,15 +167,15 @@ if(EAST) M.Turn(270) src.transform = M - var/icon_colour = seed.get_trait(TRAIT_PLANT_COLOUR) + var/icon_colour = GET_SEED_TRAIT(seed, TRAIT_PLANT_COLOUR) if(icon_colour) color = icon_colour // Apply colour and light from seed datum. - if(seed.get_trait(TRAIT_BIOLUM)) + if(GET_SEED_TRAIT(seed, TRAIT_BIOLUM)) var/clr - if(seed.get_trait(TRAIT_BIOLUM_COLOUR)) - clr = seed.get_trait(TRAIT_BIOLUM_COLOUR) - var/val = 1+round(seed.get_trait(TRAIT_POTENCY)/20) + if(GET_SEED_TRAIT(seed, TRAIT_BIOLUM_COLOUR)) + clr = GET_SEED_TRAIT(seed, TRAIT_BIOLUM_COLOUR) + var/val = 1+round(GET_SEED_TRAIT(seed, TRAIT_POTENCY)/20) if (val != last_biolum) last_biolum = val set_light(val, l_color = clr) @@ -213,7 +213,7 @@ if(islist(seed.chems) && !isnull(seed.chems[/singleton/reagent/woodpulp])) opacity = 1 density = 1 - if(seed.get_trait(TRAIT_LARGE)) + if(GET_SEED_TRAIT(seed, TRAIT_LARGE)) density = 1 opacity = 1 else diff --git a/code/modules/hydroponics/spreading/spreading_growth.dm b/code/modules/hydroponics/spreading/spreading_growth.dm index 17112f953a9..d57d3f0e4a7 100644 --- a/code/modules/hydroponics/spreading/spreading_growth.dm +++ b/code/modules/hydroponics/spreading/spreading_growth.dm @@ -56,7 +56,7 @@ plant = new(T,seed) plant.dir = src.dir plant.transform = src.transform - plant.age = seed.get_trait(TRAIT_MATURATION)-1 + plant.age = GET_SEED_TRAIT(seed, TRAIT_MATURATION)-1 plant.update_icon() if(growth_type==0) //Vines do not become invisible. set_invisibility(INVISIBILITY_MAXIMUM) @@ -65,7 +65,7 @@ if(buckled) seed.do_sting(buckled,src) - if(seed.get_trait(TRAIT_CARNIVOROUS)) + if(GET_SEED_TRAIT(seed, TRAIT_CARNIVOROUS)) seed.do_thorns(buckled,src) if(world.time >= last_tick+NEIGHBOR_REFRESH_TIME) @@ -75,16 +75,16 @@ if(sampled) //Should be between 2-7 for given the default range of values for TRAIT_PRODUCTION var/chance - if(!seed.get_trait(TRAIT_PRODUCTION)) + if(!GET_SEED_TRAIT(seed, TRAIT_PRODUCTION)) chance = 1 else - chance = max(1, round(30/seed.get_trait(TRAIT_PRODUCTION))) + chance = max(1, round(30/GET_SEED_TRAIT(seed, TRAIT_PRODUCTION))) if(prob(chance)) sampled = 0 if(is_mature() && neighbors.len && prob(spread_chance)) //spread to 1-3 adjacent turfs depending on yield trait. - var/max_spread = between(1, round(seed.get_trait(TRAIT_YIELD)*3/14), 3) + var/max_spread = between(1, round(GET_SEED_TRAIT(seed, TRAIT_YIELD)*3/14), 3) do_spread(spread_chance, max_spread) diff --git a/code/modules/hydroponics/spreading/spreading_response.dm b/code/modules/hydroponics/spreading/spreading_response.dm index b10e930defb..c1bd8a0d722 100644 --- a/code/modules/hydroponics/spreading/spreading_response.dm +++ b/code/modules/hydroponics/spreading/spreading_response.dm @@ -1,17 +1,17 @@ /obj/effect/plant/HasProximity(var/atom/movable/AM) - if(!is_mature() || (seed.get_trait(TRAIT_SPREAD) != 2 && seed.get_trait(TRAIT_CARNIVOROUS) == 0)) + if(!is_mature() || (GET_SEED_TRAIT(seed, TRAIT_SPREAD) != 2 && GET_SEED_TRAIT(seed, TRAIT_CARNIVOROUS) == 0)) return var/mob/living/M = AM if(!istype(M)) return - if(!issmall(M) && seed.get_trait(TRAIT_SPREAD) != 2 && seed.get_trait(TRAIT_CARNIVOROUS) != 2) + if(!issmall(M) && GET_SEED_TRAIT(seed, TRAIT_SPREAD) != 2 && GET_SEED_TRAIT(seed, TRAIT_CARNIVOROUS) != 2) // let TRAIT_CARNIVOROUS = 1 plants eat small creatures without murdering every hydroponicist return - if(!buckled && !M.buckled_to && !M.anchored && (issmall(M) || prob(round(seed.get_trait(TRAIT_POTENCY)/6)))) + if(!buckled && !M.buckled_to && !M.anchored && (issmall(M) || prob(round(GET_SEED_TRAIT(seed, TRAIT_POTENCY)/6)))) //wait a tick for the Entered() proc that called HasProximity() to finish (and thus the moving animation), //so we don't appear to teleport from two tiles away when moving into a turf adjacent to vines. addtimer(CALLBACK(src, PROC_REF(entangle), M), 1) @@ -40,7 +40,7 @@ /obj/effect/plant/proc/manual_unbuckle(mob/user as mob) if(buckled) - if(prob(seed ? min(max(0,100 - seed.get_trait(TRAIT_POTENCY)/2),100) : 50)) + if(prob(seed ? min(max(0,100 - GET_SEED_TRAIT(seed, TRAIT_POTENCY)/2),100) : 50)) if(buckled.buckled_to == src) if(buckled != user) buckled.visible_message(\ diff --git a/code/modules/hydroponics/trays/tray.dm b/code/modules/hydroponics/trays/tray.dm index 3f35892a496..c922521af1b 100644 --- a/code/modules/hydroponics/trays/tray.dm +++ b/code/modules/hydroponics/trays/tray.dm @@ -259,7 +259,7 @@ /obj/machinery/portable_atmospherics/hydroponics/bullet_act(obj/projectile/hitting_projectile, def_zone, piercing_hit) //Don't act on seeds like dionaea that shouldn't change. - if(seed && seed.get_trait(TRAIT_IMMUTABLE) > 0) + if(seed && GET_SEED_TRAIT(seed, TRAIT_IMMUTABLE) > 0) return BULLET_ACT_HIT //Override for somatoray projectiles. @@ -304,8 +304,8 @@ harvest = FALSE weedlevel += 1 * HYDRO_SPEED_MULTIPLIER pestlevel = 0 - if(prob(min(25,max(1,seed.get_trait(TRAIT_POTENCY/2))))) - if(seed.get_trait(TRAIT_SPOROUS) && !closed_system) + if(prob(min(25,max(1,GET_SEED_TRAIT(seed, TRAIT_POTENCY)/2)))) + if(GET_SEED_TRAIT(seed, TRAIT_SPOROUS) && !closed_system) seed.create_spores(get_turf(src)) visible_message(SPAN_DANGER("\The [src] releases its spores!")) @@ -374,14 +374,14 @@ else seed.harvest(get_turf(src),yield_mod, stunted_status = stunted) // Reset values. - if(seed.get_trait(TRAIT_SPOROUS)) + if(GET_SEED_TRAIT(seed, TRAIT_SPOROUS)) seed.create_spores(get_turf(src)) visible_message(SPAN_DANGER("\The [src] releases its spores!")) harvest = FALSE stunted = FALSE lastproduce = age - if(!seed.get_trait(TRAIT_HARVEST_REPEAT)) + if(!GET_SEED_TRAIT(seed, TRAIT_HARVEST_REPEAT)) yield_mod = 0 seed = null dead = 0 @@ -422,7 +422,7 @@ dead = FALSE age = 0 - health = seed.get_trait(TRAIT_ENDURANCE) + health = GET_SEED_TRAIT(seed, TRAIT_ENDURANCE) lastcycle = world.time stunted = FALSE harvest = FALSE @@ -478,7 +478,7 @@ /// Verifies that all values are what they should be. /obj/machinery/portable_atmospherics/hydroponics/proc/check_level_sanity() if(seed) - health = max(0,min(seed.get_trait(TRAIT_ENDURANCE),health)) + health = max(0,min(GET_SEED_TRAIT(seed, TRAIT_ENDURANCE),health)) else health = 0 dead = FALSE @@ -501,7 +501,7 @@ dead = FALSE mutate(1) age = 0 - health = seed.get_trait(TRAIT_ENDURANCE) + health = GET_SEED_TRAIT(seed, TRAIT_ENDURANCE) lastcycle = world.time harvest = FALSE weedlevel = 0 @@ -601,7 +601,7 @@ dead = 0 age = 1 //Snowflakey, maybe move this to the seed datum - health = (istype(S, /obj/item/seeds/cutting) ? round(seed.get_trait(TRAIT_ENDURANCE)/rand(2,5)) : seed.get_trait(TRAIT_ENDURANCE)) + health = (istype(S, /obj/item/seeds/cutting) ? round(GET_SEED_TRAIT(seed, TRAIT_ENDURANCE)/rand(2,5)) : GET_SEED_TRAIT(seed, TRAIT_ENDURANCE)) lastcycle = world.time qdel(attacking_item) @@ -795,7 +795,7 @@ if(seed) if(dead) . += SPAN_DANGER("The plant is dead.") - else if(health <= (seed.get_trait(TRAIT_ENDURANCE)/ 2)) + else if(health <= (GET_SEED_TRAIT(seed, TRAIT_ENDURANCE)/ 2)) . += SPAN_BAD("The plant looks unhealthy.") if(stunted) . += SPAN_BAD("This harvest is stunted due to improper growing conditions, reducing yield.") diff --git a/code/modules/hydroponics/trays/tray_process.dm b/code/modules/hydroponics/trays/tray_process.dm index 956754b91c8..76e9236d09c 100644 --- a/code/modules/hydroponics/trays/tray_process.dm +++ b/code/modules/hydroponics/trays/tray_process.dm @@ -36,7 +36,7 @@ // There's a chance for a weed explosion to happen if the weeds take over. // Plants that are themselves weeds (weed_tolerance > 10) are unaffected. if (weedlevel >= 10 && prob(10)) - if(!seed || weedlevel >= seed.get_trait(TRAIT_WEED_TOLERANCE)) + if(!seed || weedlevel >= GET_SEED_TRAIT(seed, TRAIT_WEED_TOLERANCE)) weed_invasion() // If there is no seed data (and hence nothing planted), @@ -46,28 +46,28 @@ return //Highly mutable plants have a chance of mutating every tick. - if(seed.get_trait(TRAIT_IMMUTABLE) == -1) + if(GET_SEED_TRAIT(seed, TRAIT_IMMUTABLE) == -1) var/mut_prob = rand(1,100) if(mut_prob <= 5) mutate(mut_prob == 1 ? 2 : 1) // Other plants also mutate if enough mutagenic compounds have been added. - if(!seed.get_trait(TRAIT_IMMUTABLE)) + if(!GET_SEED_TRAIT(seed, TRAIT_IMMUTABLE)) if(prob(min(mutation_level,100))) mutate((rand(100) < 15) ? 2 : 1) mutation_level = 0 // Maintain tray nutrient and water levels. - if(seed.get_trait(TRAIT_NUTRIENT_CONSUMPTION) > 0 && nutrilevel > 0 && prob(25)) - nutrilevel -= max(0,seed.get_trait(TRAIT_NUTRIENT_CONSUMPTION) * HYDRO_SPEED_MULTIPLIER) - if(seed.get_trait(TRAIT_WATER_CONSUMPTION) > 0 && waterlevel > 0 && prob(25)) - waterlevel -= max(0,seed.get_trait(TRAIT_WATER_CONSUMPTION) * HYDRO_SPEED_MULTIPLIER) + if(GET_SEED_TRAIT(seed, TRAIT_NUTRIENT_CONSUMPTION) > 0 && nutrilevel > 0 && prob(25)) + nutrilevel -= max(0,GET_SEED_TRAIT(seed, TRAIT_NUTRIENT_CONSUMPTION) * HYDRO_SPEED_MULTIPLIER) + if(GET_SEED_TRAIT(seed, TRAIT_WATER_CONSUMPTION) > 0 && waterlevel > 0 && prob(25)) + waterlevel -= max(0,GET_SEED_TRAIT(seed, TRAIT_WATER_CONSUMPTION) * HYDRO_SPEED_MULTIPLIER) // Make sure the plant is not starving or thirsty. Adequate // water and nutrients will cause a plant to become healthier. var/healthmod = rand(1,3) * HYDRO_SPEED_MULTIPLIER - if(seed.get_trait(TRAIT_REQUIRES_NUTRIENTS) && prob(35)) + if(GET_SEED_TRAIT(seed, TRAIT_REQUIRES_NUTRIENTS) && prob(35)) health += (nutrilevel < 2 ? -healthmod : healthmod) - if(seed.get_trait(TRAIT_REQUIRES_WATER) && prob(35)) + if(GET_SEED_TRAIT(seed, TRAIT_REQUIRES_WATER) && prob(35)) health += (waterlevel < 10 ? -healthmod : healthmod) // Check that pressure, heat and light are all within bounds. @@ -120,25 +120,25 @@ // toxins are sucked up each tick and slowly reduce over time. if(toxins > 0) var/toxin_uptake = max(1,round(toxins/10)) - if(toxins > seed.get_trait(TRAIT_TOXINS_TOLERANCE)) + if(toxins > GET_SEED_TRAIT(seed, TRAIT_TOXINS_TOLERANCE)) health -= toxin_uptake toxins -= toxin_uptake // Check for pests and weeds. // Some carnivorous plants happily eat pests. if(pestlevel > 0) - if(seed.get_trait(TRAIT_CARNIVOROUS)) + if(GET_SEED_TRAIT(seed, TRAIT_CARNIVOROUS)) health += HYDRO_SPEED_MULTIPLIER pestlevel -= HYDRO_SPEED_MULTIPLIER - else if (pestlevel >= seed.get_trait(TRAIT_PEST_TOLERANCE)) + else if (pestlevel >= GET_SEED_TRAIT(seed, TRAIT_PEST_TOLERANCE)) health -= HYDRO_SPEED_MULTIPLIER // Some plants thrive and live off of weeds. if(weedlevel > 0) - if(seed.get_trait(TRAIT_PARASITE)) + if(GET_SEED_TRAIT(seed, TRAIT_PARASITE)) health += HYDRO_SPEED_MULTIPLIER weedlevel -= HYDRO_SPEED_MULTIPLIER - else if (weedlevel >= seed.get_trait(TRAIT_WEED_TOLERANCE)) + else if (weedlevel >= GET_SEED_TRAIT(seed, TRAIT_WEED_TOLERANCE)) health -= HYDRO_SPEED_MULTIPLIER // Handle life and death. @@ -146,7 +146,7 @@ check_health() // If enough time (in cycles, not ticks) has passed since the plant was harvested, we're ready to harvest again. - if((age > seed.get_trait(TRAIT_MATURATION)) && ((age - lastproduce) > seed.get_trait(TRAIT_PRODUCTION)) && (!harvest && !dead)) + if((age > GET_SEED_TRAIT(seed, TRAIT_MATURATION)) && ((age - lastproduce) > GET_SEED_TRAIT(seed, TRAIT_PRODUCTION)) && (!harvest && !dead)) // If the plant matures while not at either its light or heat preference, it becomes stunted, reducing its yield on harvest. // Better grow your plants better next time. if(!seed.check_light_preferences(light_supplied) || !seed.check_heat_preferences(environment)) @@ -154,13 +154,13 @@ harvest = TRUE lastproduce = age - if(seed.get_trait(TRAIT_SPOROUS) && !closed_system) + if(GET_SEED_TRAIT(seed, TRAIT_SPOROUS) && !closed_system) seed.create_spores(get_turf(src)) visible_message(SPAN_DANGER("\The [src] releases its spores!")) // If we're a vine which is not in a closed tray and is at least half mature, and there's no vine currently on our turf: make one (maybe) - if(!closed_system && seed.get_trait(TRAIT_SPREAD) == 2 && 2 * age >= seed.get_trait(TRAIT_MATURATION) && !(locate(/obj/effect/plant) in get_turf(src)) && \ - prob(2 * seed.get_trait(TRAIT_POTENCY))) + if(!closed_system && GET_SEED_TRAIT(seed, TRAIT_SPREAD) == 2 && 2 * age >= GET_SEED_TRAIT(seed, TRAIT_MATURATION) && !(locate(/obj/effect/plant) in get_turf(src)) && \ + prob(2 * GET_SEED_TRAIT(seed, TRAIT_POTENCY))) new /obj/effect/plant(get_turf(src), seed) diff --git a/code/modules/hydroponics/trays/tray_soil.dm b/code/modules/hydroponics/trays/tray_soil.dm index 69fb6eb22c7..052e98e8543 100644 --- a/code/modules/hydroponics/trays/tray_soil.dm +++ b/code/modules/hydroponics/trays/tray_soil.dm @@ -54,8 +54,8 @@ Hence using a blank icon. */ . = ..() seed = newseed dead = 0 - age = start_mature ? seed.get_trait(TRAIT_MATURATION) : 1 - health = seed.get_trait(TRAIT_ENDURANCE) + age = start_mature ? GET_SEED_TRAIT(seed, TRAIT_MATURATION) : 1 + health = GET_SEED_TRAIT(seed, TRAIT_ENDURANCE) lastcycle = world.time pixel_y = rand(-5,5) waterlevel = 100 diff --git a/code/modules/hydroponics/trays/tray_tools.dm b/code/modules/hydroponics/trays/tray_tools.dm index ee0963a2a2f..ee8c44c58dd 100644 --- a/code/modules/hydroponics/trays/tray_tools.dm +++ b/code/modules/hydroponics/trays/tray_tools.dm @@ -104,11 +104,11 @@ dat += "

General Data

" dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" + dat += "" + dat += "" + dat += "" + dat += "" + dat += "" dat += "
Endurance[grown_seed.get_trait(TRAIT_ENDURANCE)]
Yield[grown_seed.get_trait(TRAIT_YIELD)]
Maturation time[grown_seed.get_trait(TRAIT_MATURATION)]
Production time[grown_seed.get_trait(TRAIT_PRODUCTION)]
Potency[grown_seed.get_trait(TRAIT_POTENCY)]
Endurance[GET_SEED_TRAIT(grown_seed, TRAIT_ENDURANCE)]
Yield[GET_SEED_TRAIT(grown_seed, TRAIT_YIELD)]
Maturation time[GET_SEED_TRAIT(grown_seed, TRAIT_MATURATION)]
Production time[GET_SEED_TRAIT(grown_seed, TRAIT_PRODUCTION)]
Potency[GET_SEED_TRAIT(grown_seed, TRAIT_POTENCY)]
" if(LAZYLEN(grown_reagents?.reagent_volumes)) @@ -121,26 +121,26 @@ dat += "

Other Data

" - if(grown_seed.get_trait(TRAIT_HARVEST_REPEAT)) + if(GET_SEED_TRAIT(grown_seed, TRAIT_HARVEST_REPEAT)) dat += "This plant can be harvested repeatedly.
" - if(grown_seed.get_trait(TRAIT_IMMUTABLE) == -1) + if(GET_SEED_TRAIT(grown_seed, TRAIT_IMMUTABLE) == -1) dat += "This plant is highly mutable.
" - else if(grown_seed.get_trait(TRAIT_IMMUTABLE) > 0) + else if(GET_SEED_TRAIT(grown_seed, TRAIT_IMMUTABLE) > 0) dat += "This plant does not possess genetics that are alterable.
" - if(grown_seed.get_trait(TRAIT_REQUIRES_NUTRIENTS)) - if(grown_seed.get_trait(TRAIT_NUTRIENT_CONSUMPTION) < 0.05) + if(GET_SEED_TRAIT(grown_seed, TRAIT_REQUIRES_NUTRIENTS)) + if(GET_SEED_TRAIT(grown_seed, TRAIT_NUTRIENT_CONSUMPTION) < 0.05) dat += "It consumes a small amount of nutrient fluid.
" - else if(grown_seed.get_trait(TRAIT_NUTRIENT_CONSUMPTION) > 0.2) + else if(GET_SEED_TRAIT(grown_seed, TRAIT_NUTRIENT_CONSUMPTION) > 0.2) dat += "It requires a heavy supply of nutrient fluid.
" else dat += "It requires a supply of nutrient fluid.
" - if(grown_seed.get_trait(TRAIT_REQUIRES_WATER)) - if(grown_seed.get_trait(TRAIT_WATER_CONSUMPTION) < 1) + if(GET_SEED_TRAIT(grown_seed, TRAIT_REQUIRES_WATER)) + if(GET_SEED_TRAIT(grown_seed, TRAIT_WATER_CONSUMPTION) < 1) dat += "It requires very little water.
" - else if(grown_seed.get_trait(TRAIT_WATER_CONSUMPTION) > 5) + else if(GET_SEED_TRAIT(grown_seed, TRAIT_WATER_CONSUMPTION) > 5) dat += "It requires a large amount of water.
" else dat += "It requires a stable supply of water.
" @@ -148,81 +148,81 @@ if(grown_seed.mutants && grown_seed.mutants.len) dat += "It exhibits a high degree of potential subspecies shift.
" - dat += "It thrives in a temperature of [grown_seed.get_trait(TRAIT_IDEAL_HEAT)] Kelvin." + dat += "It thrives in a temperature of [GET_SEED_TRAIT(grown_seed, TRAIT_IDEAL_HEAT)] Kelvin." - if(grown_seed.get_trait(TRAIT_LOWKPA_TOLERANCE) < 20) + if(GET_SEED_TRAIT(grown_seed, TRAIT_LOWKPA_TOLERANCE) < 20) dat += "
It is well adapted to low pressure levels." - if(grown_seed.get_trait(TRAIT_HIGHKPA_TOLERANCE) > 220) + if(GET_SEED_TRAIT(grown_seed, TRAIT_HIGHKPA_TOLERANCE) > 220) dat += "
It is well adapted to high pressure levels." - if(grown_seed.get_trait(TRAIT_HEAT_TOLERANCE) > 30) + if(GET_SEED_TRAIT(grown_seed, TRAIT_HEAT_TOLERANCE) > 30) dat += "
It is well adapted to a range of temperatures." - else if(grown_seed.get_trait(TRAIT_HEAT_TOLERANCE) < 10) + else if(GET_SEED_TRAIT(grown_seed, TRAIT_HEAT_TOLERANCE) < 10) dat += "
It is very sensitive to temperature shifts." - dat += "
It thrives in a light level of [grown_seed.get_trait(TRAIT_IDEAL_LIGHT)] lumen\s." + dat += "
It thrives in a light level of [GET_SEED_TRAIT(grown_seed, TRAIT_IDEAL_LIGHT)] lumen\s." - if(grown_seed.get_trait(TRAIT_LIGHT_TOLERANCE) > 10) + if(GET_SEED_TRAIT(grown_seed, TRAIT_LIGHT_TOLERANCE) > 10) dat += "
It is well adapted to a range of light levels." - else if(grown_seed.get_trait(TRAIT_LIGHT_TOLERANCE) < 3) + else if(GET_SEED_TRAIT(grown_seed, TRAIT_LIGHT_TOLERANCE) < 3) dat += "
It is very sensitive to light level shifts." - if(grown_seed.get_trait(TRAIT_TOXINS_TOLERANCE) < 3) + if(GET_SEED_TRAIT(grown_seed, TRAIT_TOXINS_TOLERANCE) < 3) dat += "
It is highly sensitive to toxins." - else if(grown_seed.get_trait(TRAIT_TOXINS_TOLERANCE) > 6) + else if(GET_SEED_TRAIT(grown_seed, TRAIT_TOXINS_TOLERANCE) > 6) dat += "
It is remarkably resistant to toxins." - if(grown_seed.get_trait(TRAIT_PEST_TOLERANCE) < 3) + if(GET_SEED_TRAIT(grown_seed, TRAIT_PEST_TOLERANCE) < 3) dat += "
It is highly sensitive to pests." - else if(grown_seed.get_trait(TRAIT_PEST_TOLERANCE) > 6) + else if(GET_SEED_TRAIT(grown_seed, TRAIT_PEST_TOLERANCE) > 6) dat += "
It is remarkably resistant to pests." - if(grown_seed.get_trait(TRAIT_WEED_TOLERANCE) < 3) + if(GET_SEED_TRAIT(grown_seed, TRAIT_WEED_TOLERANCE) < 3) dat += "
It is highly sensitive to weeds." - else if(grown_seed.get_trait(TRAIT_WEED_TOLERANCE) > 6) + else if(GET_SEED_TRAIT(grown_seed, TRAIT_WEED_TOLERANCE) > 6) dat += "
It is remarkably resistant to weeds." - switch(grown_seed.get_trait(TRAIT_SPREAD)) + switch(GET_SEED_TRAIT(grown_seed, TRAIT_SPREAD)) if(1) dat += "
It is able to be planted outside of a tray." if(2) dat += "
It is a robust and vigorous vine that will spread rapidly." - switch(grown_seed.get_trait(TRAIT_CARNIVOROUS)) + switch(GET_SEED_TRAIT(grown_seed, TRAIT_CARNIVOROUS)) if(1) dat += "
It is carnivorous and will eat tray pests for sustenance." if(2) dat += "
It is carnivorous and poses a significant threat to living things around it." - if(grown_seed.get_trait(TRAIT_PARASITE)) + if(GET_SEED_TRAIT(grown_seed, TRAIT_PARASITE)) dat += "
It is capable of parisitizing and gaining sustenance from tray weeds." - if(grown_seed.get_trait(TRAIT_ALTER_TEMP)) - dat += "
It will periodically alter the local temperature by [grown_seed.get_trait(TRAIT_ALTER_TEMP)] degrees Kelvin." + if(GET_SEED_TRAIT(grown_seed, TRAIT_ALTER_TEMP)) + dat += "
It will periodically alter the local temperature by [GET_SEED_TRAIT(grown_seed, TRAIT_ALTER_TEMP)] degrees Kelvin." - if(grown_seed.get_trait(TRAIT_BIOLUM)) - dat += "
It is [grown_seed.get_trait(TRAIT_BIOLUM_COLOUR) ? "bio-luminescent" : "bio-luminescent"]." + if(GET_SEED_TRAIT(grown_seed, TRAIT_BIOLUM)) + dat += "
It is [GET_SEED_TRAIT(grown_seed, TRAIT_BIOLUM_COLOUR) ? "bio-luminescent" : "bio-luminescent"]." - if(grown_seed.get_trait(TRAIT_PRODUCES_POWER)) + if(GET_SEED_TRAIT(grown_seed, TRAIT_PRODUCES_POWER)) dat += "
The fruit will function as a battery if prepared appropriately." - if(grown_seed.get_trait(TRAIT_STINGS)) + if(GET_SEED_TRAIT(grown_seed, TRAIT_STINGS)) dat += "
The fruit is covered in stinging spines." - if(grown_seed.get_trait(TRAIT_JUICY) == 1) + if(GET_SEED_TRAIT(grown_seed, TRAIT_JUICY) == 1) dat += "
The fruit is soft-skinned and juicy." - else if(grown_seed.get_trait(TRAIT_JUICY) == 2) + else if(GET_SEED_TRAIT(grown_seed, TRAIT_JUICY) == 2) dat += "
The fruit is excessively juicy." - if(grown_seed.get_trait(TRAIT_EXPLOSIVE)) + if(GET_SEED_TRAIT(grown_seed, TRAIT_EXPLOSIVE)) dat += "
The fruit is internally unstable." - if(grown_seed.get_trait(TRAIT_TELEPORTING)) + if(GET_SEED_TRAIT(grown_seed, TRAIT_TELEPORTING)) dat += "
The fruit is temporal/spatially unstable." - if(grown_seed.get_trait(TRAIT_EXUDE_GASSES)) + if(GET_SEED_TRAIT(grown_seed, TRAIT_EXUDE_GASSES)) dat += "
It will release gas into the environment." - if(grown_seed.get_trait(TRAIT_CONSUME_GASSES)) + if(GET_SEED_TRAIT(grown_seed, TRAIT_CONSUME_GASSES)) dat += "
It will remove gas from the environment." if(dat) diff --git a/code/modules/hydroponics/trays/tray_update_icons.dm b/code/modules/hydroponics/trays/tray_update_icons.dm index 0283889defc..95ddf8f8e55 100644 --- a/code/modules/hydroponics/trays/tray_update_icons.dm +++ b/code/modules/hydroponics/trays/tray_update_icons.dm @@ -16,11 +16,11 @@ // Updates the plant overlay. if(!isnull(seed)) - if(mechanical && health <= (seed.get_trait(TRAIT_ENDURANCE) / 2)) + if(mechanical && health <= (GET_SEED_TRAIT(seed, TRAIT_ENDURANCE) / 2)) AddOverlays("over_lowhealth3") if(dead) - var/ikey = "[seed.get_trait(TRAIT_PLANT_ICON)]-dead" + var/ikey = "[GET_SEED_TRAIT(seed, TRAIT_PLANT_ICON)]-dead" var/image/dead_overlay = SSplants.plant_icon_cache["[ikey]"] if(!dead_overlay) dead_overlay = image('icons/obj/hydroponics_growing.dmi', "[ikey]") @@ -30,13 +30,13 @@ if(!seed.growth_stages) seed.update_growth_stages() if(!seed.growth_stages) - to_world(SPAN_DANGER("Seed type [seed.get_trait(TRAIT_PLANT_ICON)] cannot find a growth stage value.")) + to_world(SPAN_DANGER("Seed type [GET_SEED_TRAIT(seed, TRAIT_PLANT_ICON)] cannot find a growth stage value.")) return var/overlay_stage = 1 - if(age >= seed.get_trait(TRAIT_MATURATION)) + if(age >= GET_SEED_TRAIT(seed, TRAIT_MATURATION)) overlay_stage = seed.growth_stages else - var/maturation = seed.get_trait(TRAIT_MATURATION)/seed.growth_stages + var/maturation = GET_SEED_TRAIT(seed, TRAIT_MATURATION)/seed.growth_stages if(maturation < 1) maturation = 1 overlay_stage = maturation ? max(1,round(age/maturation)) : 1 @@ -44,12 +44,12 @@ AddOverlays(plant_overlay) if(harvest && overlay_stage == seed.growth_stages) - var/ikey = "[seed.get_trait(TRAIT_PRODUCT_ICON)]" - var/image/harvest_overlay = SSplants.plant_icon_cache["product-[ikey]-[seed.get_trait(TRAIT_PLANT_COLOUR)]"] + var/ikey = "[GET_SEED_TRAIT(seed, TRAIT_PRODUCT_ICON)]" + var/image/harvest_overlay = SSplants.plant_icon_cache["product-[ikey]-[GET_SEED_TRAIT(seed, TRAIT_PLANT_COLOUR)]"] if(!harvest_overlay) harvest_overlay = image('icons/obj/hydroponics_products.dmi', "[ikey]") - harvest_overlay.color = seed.get_trait(TRAIT_PRODUCT_COLOUR) - SSplants.plant_icon_cache["product-[ikey]-[seed.get_trait(TRAIT_PRODUCT_COLOUR)]"] = harvest_overlay + harvest_overlay.color = GET_SEED_TRAIT(seed, TRAIT_PRODUCT_COLOUR) + SSplants.plant_icon_cache["product-[ikey]-[GET_SEED_TRAIT(seed, TRAIT_PRODUCT_COLOUR)]"] = harvest_overlay AddOverlays(harvest_overlay) //Draw the cover. @@ -70,7 +70,7 @@ AddOverlays("stasis") // Apply density and opacity if a large plant is growing in the plot. Exempt mechanical trays from density alterations, since they're always dense. - if(seed && seed.get_trait(TRAIT_LARGE)) + if(seed && GET_SEED_TRAIT(seed, TRAIT_LARGE)) if(!mechanical) density = TRUE opacity = TRUE @@ -80,16 +80,16 @@ opacity = FALSE // Update bioluminescence. - if(seed && seed.get_trait(TRAIT_BIOLUM)) + if(seed && GET_SEED_TRAIT(seed, TRAIT_BIOLUM)) var/pwr - if(seed.get_trait(TRAIT_BIOLUM_PWR) == 0) - pwr = seed.get_trait(TRAIT_BIOLUM) + if(GET_SEED_TRAIT(seed, TRAIT_BIOLUM_PWR) == 0) + pwr = GET_SEED_TRAIT(seed, TRAIT_BIOLUM) else - pwr = seed.get_trait(TRAIT_BIOLUM_PWR) + pwr = GET_SEED_TRAIT(seed, TRAIT_BIOLUM_PWR) var/clr - if(seed.get_trait(TRAIT_BIOLUM_COLOUR)) - clr = seed.get_trait(TRAIT_BIOLUM_COLOUR) - set_light(seed.get_trait(TRAIT_POTENCY)/10, pwr, clr) + if(GET_SEED_TRAIT(seed, TRAIT_BIOLUM_COLOUR)) + clr = GET_SEED_TRAIT(seed, TRAIT_BIOLUM_COLOUR) + set_light(GET_SEED_TRAIT(seed, TRAIT_POTENCY)/10, pwr, clr) return if (last_biolum) diff --git a/code/modules/mapping/planet_types/desert.dm b/code/modules/mapping/planet_types/desert.dm index e637bcb75c0..5f8208380f8 100644 --- a/code/modules/mapping/planet_types/desert.dm +++ b/code/modules/mapping/planet_types/desert.dm @@ -81,15 +81,15 @@ /obj/effect/overmap/visitable/sector/exoplanet/desert/adapt_seed(var/datum/seed/S) ..() if(prob(90)) - S.set_trait(TRAIT_REQUIRES_WATER,0) + SET_SEED_TRAIT(S, TRAIT_REQUIRES_WATER, 0) else - S.set_trait(TRAIT_REQUIRES_WATER,1) - S.set_trait(TRAIT_WATER_CONSUMPTION,1) + SET_SEED_TRAIT(S, TRAIT_REQUIRES_WATER, 1) + SET_SEED_TRAIT(S, TRAIT_WATER_CONSUMPTION, 1) if(prob(75)) - S.set_trait(TRAIT_STINGS,1) + SET_SEED_TRAIT(S, TRAIT_STINGS, 1) if(prob(75)) - S.set_trait(TRAIT_CARNIVOROUS,2) - S.set_trait(TRAIT_SPREAD,0) + SET_SEED_TRAIT(S, TRAIT_CARNIVOROUS, 2) + SET_SEED_TRAIT(S, TRAIT_SPREAD, 0) /obj/structure/quicksand name = "sand" diff --git a/code/modules/mapping/planet_types/grass.dm b/code/modules/mapping/planet_types/grass.dm index 3739c44e50a..bd191157082 100644 --- a/code/modules/mapping/planet_types/grass.dm +++ b/code/modules/mapping/planet_types/grass.dm @@ -81,19 +81,19 @@ ..() var/carnivore_prob = rand(100) if(carnivore_prob < 30) - S.set_trait(TRAIT_CARNIVOROUS,2) + SET_SEED_TRAIT(S, TRAIT_CARNIVOROUS, 2) if(prob(75)) - S.get_trait(TRAIT_STINGS, 1) + SET_SEED_TRAIT(S, TRAIT_STINGS, 1) else if(carnivore_prob < 60) - S.set_trait(TRAIT_CARNIVOROUS,1) + SET_SEED_TRAIT(S, TRAIT_CARNIVOROUS, 1) if(prob(50)) - S.get_trait(TRAIT_STINGS) - if(prob(15) || (S.get_trait(TRAIT_CARNIVOROUS) && prob(40))) - S.set_trait(TRAIT_BIOLUM,1) - S.set_trait(TRAIT_BIOLUM_COLOUR,get_random_colour(0,75,190)) + SET_SEED_TRAIT(S, TRAIT_STINGS, 1) + if(prob(15) || (GET_SEED_TRAIT(S, TRAIT_CARNIVOROUS) && prob(40))) + SET_SEED_TRAIT(S, TRAIT_BIOLUM, 1) + SET_SEED_TRAIT(S, TRAIT_BIOLUM_COLOUR, get_random_colour(0,75,190)) if(prob(30)) - S.set_trait(TRAIT_PARASITE,1) + SET_SEED_TRAIT(S, TRAIT_PARASITE, 1) /obj/effect/overmap/visitable/sector/exoplanet/grass/marsh name = "marsh exoplanet" diff --git a/code/modules/overmap/exoplanets/exoplanet.dm b/code/modules/overmap/exoplanets/exoplanet.dm index d858ffe7a08..7d91d275c00 100644 --- a/code/modules/overmap/exoplanets/exoplanet.dm +++ b/code/modules/overmap/exoplanets/exoplanet.dm @@ -328,11 +328,11 @@ adapt_animal(A) /obj/effect/overmap/visitable/sector/exoplanet/proc/adapt_seed(var/datum/seed/S) - S.set_trait(TRAIT_IDEAL_HEAT, atmosphere.temperature + rand(-5,5),800,70) - S.set_trait(TRAIT_HEAT_TOLERANCE, S.get_trait(TRAIT_HEAT_TOLERANCE) + rand(-5,5),800,70) - S.set_trait(TRAIT_LOWKPA_TOLERANCE, atmosphere.return_pressure() + rand(-5,-50),80,0) - S.set_trait(TRAIT_HIGHKPA_TOLERANCE, atmosphere.return_pressure() + rand(5,50),500,110) - S.set_trait(TRAIT_SPREAD,0) + SET_SEED_TRAIT_BOUNDED(S, TRAIT_IDEAL_HEAT, atmosphere.temperature + rand(-5,5), 800, 70, null) + SET_SEED_TRAIT_BOUNDED(S, TRAIT_HEAT_TOLERANCE, GET_SEED_TRAIT(S, TRAIT_HEAT_TOLERANCE) + rand(-5,5), 800, 70, null) + SET_SEED_TRAIT_BOUNDED(S, TRAIT_LOWKPA_TOLERANCE, atmosphere.return_pressure() + rand(-5,-50), 80, 0, null) + SET_SEED_TRAIT_BOUNDED(S, TRAIT_HIGHKPA_TOLERANCE, atmosphere.return_pressure() + rand(5,50), 500, 110, null) + SET_SEED_TRAIT(S, TRAIT_SPREAD, 0) if(S.exude_gasses) S.exude_gasses -= badgas if(atmosphere) @@ -340,7 +340,7 @@ S.consume_gasses = list(pick(atmosphere.gas)) // ensure that if the plant consumes a gas, the atmosphere will have it for(var/g in atmosphere.gas) if(gas_data.flags[g] & XGM_GAS_CONTAMINANT) - S.set_trait(TRAIT_TOXINS_TOLERANCE, rand(10,15)) + SET_SEED_TRAIT(S, TRAIT_TOXINS_TOLERANCE, rand(10,15)) /obj/effect/overmap/visitable/sector/exoplanet/proc/adapt_animal(var/mob/living/simple_animal/A) if(species[A.type]) diff --git a/code/modules/overmap/exoplanets/exoplanet_flora.dm b/code/modules/overmap/exoplanets/exoplanet_flora.dm index 4c179f979bb..5b9ab6d103c 100644 --- a/code/modules/overmap/exoplanets/exoplanet_flora.dm +++ b/code/modules/overmap/exoplanets/exoplanet_flora.dm @@ -21,12 +21,12 @@ else S.randomize() var/plant_icon = "alien[rand(1,7)]" - S.set_trait(TRAIT_PRODUCT_ICON,plant_icon) - S.set_trait(TRAIT_PLANT_ICON, plant_icon) + SET_SEED_TRAIT(S, TRAIT_PRODUCT_ICON, plant_icon) + SET_SEED_TRAIT(S, TRAIT_PLANT_ICON, plant_icon) var/color = pick(plant_colors) if(color == "RANDOM") color = get_random_colour(0,75,190) - S.set_trait(TRAIT_PLANT_COLOUR,color) + SET_SEED_TRAIT(S, TRAIT_PLANT_COLOUR, color) adapt_seed(S) S.update_growth_stages() small_flora_seeds += S @@ -36,15 +36,15 @@ for(var/i = 1 to tree_diversity) var/datum/seed/S = new() S.randomize() - S.set_trait(TRAIT_PRODUCT_ICON,"alien[rand(1,5)]") - S.set_trait(TRAIT_PLANT_ICON,"tree") - S.set_trait(TRAIT_SPREAD,0) - S.set_trait(TRAIT_HARVEST_REPEAT,1) - S.set_trait(TRAIT_LARGE,1) + SET_SEED_TRAIT(S, TRAIT_PRODUCT_ICON, "alien[rand(1,5)]") + SET_SEED_TRAIT(S, TRAIT_PLANT_ICON, "tree") + SET_SEED_TRAIT(S, TRAIT_SPREAD, 0) + SET_SEED_TRAIT(S, TRAIT_HARVEST_REPEAT, 1) + SET_SEED_TRAIT(S, TRAIT_LARGE, 1) var/color = pick(plant_colors) if (color == "RANDOM") color = get_random_colour(0,75,190) - S.set_trait(TRAIT_LEAVES_COLOUR,color) + SET_SEED_TRAIT(S, TRAIT_LEAVES_COLOUR, color) S.chems[/singleton/reagent/woodpulp] = list(1) adapt_seed(S) S.update_growth_stages() diff --git a/code/unit_tests/cooking_tests.dm b/code/unit_tests/cooking_tests.dm index 4866fd1d49c..6794761d333 100644 --- a/code/unit_tests/cooking_tests.dm +++ b/code/unit_tests/cooking_tests.dm @@ -33,7 +33,7 @@ // Fuck you asfaghewqWAFAWE // See /singleton/recipe/proc/check_fruit(...) in recipe.dm for why - if(S.get_trait(TRAIT_FLESH_COLOUR)) + if(GET_SEED_TRAIT(S, TRAIT_FLESH_COLOUR)) tags += "[ktag] slice" tags += "dried [ktag] slice" tags += "dried [ktag]" diff --git a/code/unit_tests/hydroponics_tests.dm b/code/unit_tests/hydroponics_tests.dm index c2f84db3ddb..c8911dcd400 100644 --- a/code/unit_tests/hydroponics_tests.dm +++ b/code/unit_tests/hydroponics_tests.dm @@ -15,10 +15,10 @@ while simultaneously growing faster from being within its preferences. for(var/seed_name in SSplants.seeds) var/datum/seed/S = SSplants.seeds[seed_name] - if(S.get_trait(TRAIT_LIGHT_TOLERANCE) < S.get_trait(TRAIT_LIGHT_PREFERENCE)) + if(GET_SEED_TRAIT(S, TRAIT_LIGHT_TOLERANCE) < GET_SEED_TRAIT(S, TRAIT_LIGHT_PREFERENCE)) TEST_FAIL("Seed [S] has a light preference value set higher than its light tolerance.") - if(S.get_trait(TRAIT_HEAT_TOLERANCE) < S.get_trait(TRAIT_HEAT_PREFERENCE)) + if(GET_SEED_TRAIT(S, TRAIT_HEAT_TOLERANCE) < GET_SEED_TRAIT(S, TRAIT_HEAT_PREFERENCE)) TEST_FAIL("Seed [S] has a heat preference value set higher than its heat tolerance.") if(!reported) diff --git a/html/changelogs/johnwildkins-hydroponics.yml b/html/changelogs/johnwildkins-hydroponics.yml new file mode 100644 index 00000000000..acac1e906f4 --- /dev/null +++ b/html/changelogs/johnwildkins-hydroponics.yml @@ -0,0 +1,13 @@ +# Your name. +author: JohnWildkins + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - refactor: "Changes plant traits to use defines over procs for performance during machinery processing."