Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Mutates a specific trait/set of traits.
- /datum/seed/proc/apply_gene(var/datum/plantgene/gene)
- if(!gene || !gene.values || immutable) return
- switch(gene.genetype)
- if("products")
- if(gene.values.len < 6) return
- products = gene.values[1]
- chems = gene.values[2]
- exude_gasses = gene.values[3]
- alter_temp = gene.values[4]
- potency = gene.values[5]
- harvest_repeat = gene.values[6]
- if("consumption")
- if(gene.values.len < 7) return
- consume_gasses = gene.values[1]
- requires_nutrients = gene.values[2]
- nutrient_consumption = gene.values[3]
- requires_water = gene.values[4]
- water_consumption = gene.values[5]
- carnivorous = gene.values[6]
- parasite = gene.values[7]
- if("environment")
- if(gene.values.len < 6) return
- ideal_heat = gene.values[1]
- heat_tolerance = gene.values[2]
- ideal_light = gene.values[3]
- light_tolerance = gene.values[4]
- lowkpa_tolerance = gene.values[5]
- highkpa_tolerance = gene.values[6]
- if("resistance")
- if(gene.values.len < 3) return
- toxins_tolerance = gene.values[1]
- pest_tolerance = gene.values[2]
- weed_tolerance = gene.values[3]
- if("vigour")
- if(gene.values.len < 7) return
- endurance = gene.values[1]
- yield = gene.values[2]
- lifespan = gene.values[3]
- mobile = gene.values[4]
- spread = gene.values[5]
- maturation = gene.values[6]
- production = gene.values[7]
- if("flowers")
- if(gene.values.len < 7) return
- product_icon = gene.values[1]
- product_colour = gene.values[2]
- biolum = gene.values[3]
- biolum_colour = gene.values[4]
- flowers = gene.values[5]
- flower_icon = gene.values[6]
- flower_colour = gene.values[7]
- //Returns a list of the desired trait values.
- /datum/seed/proc/get_gene(var/genetype)
- if(!genetype) return 0
- var/list/traitvalues = list()
- if("products")
- traitvalues = list(
- (products ? products : 0),
- (chems ? chems : 0),
- (exude_gasses ? exude_gasses : 0),
- (alter_temp ? alter_temp : 0),
- (potency ? potency : 0),
- (harvest_repeat ? harvest_repeat : 0)
- )
- if("consumption")
- traitvalues = list(
- (consume_gasses ? consume_gasses : 0),
- (requires_nutrients ? requires_nutrients : 0),
- (nutrient_consumption ? nutrient_consumption : 0),
- (requires_water ? requires_water : 0),
- (water_consumption ? water_consumption : 0),
- (carnivorous ? carnivorous : 0),
- (parasite ? parasite : 0)
- )
- if("environment")
- traitvalues = list(
- (ideal_heat ? ideal_heat : 0),
- (heat_tolerance ? heat_tolerance : 0),
- (ideal_light ? ideal_light : 0),
- (light_tolerance ? light_tolerance : 0),
- (lowkpa_tolerance ? lowkpa_tolerance : 0),
- (highkpa_tolerance ? highkpa_tolerance : 0)
- )
- if("resistance")
- traitvalues = list(
- (toxins_tolerance ? toxins_tolerance : 0),
- (pest_tolerance ? pest_tolerance : 0),
- (weed_tolerance ? weed_tolerance : 0)
- )
- if("vigour")
- traitvalues = list(
- (endurance ? endurance : 0),
- (yield ? yield : 0),
- (lifespan ? lifespan : 0),
- (mobile ? mobile : 0),
- (spread ? spread : 0),
- (maturation ? maturation : 0),
- (production ? production : 0)
- )
- if("flowers")
- traitvalues = list(
- (product_icon ? product_icon : 0),
- (product_colour ? product_colour : 0),
- (biolum ? biolum : 0),
- (biolum_colour ? biolum_colour : 0),
- (flowers ? flowers : 0),
- (flower_icon ? flower_icon : 0),
- (flower_colour ? flower_colour : 0)
- )
- return (traitvalues.len ? traitvalues : 0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement