mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-21 20:11:04 +01:00
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.
This commit is contained in:
@@ -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])
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user