Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2014
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.42 KB | None | 0 0
  1. //Mutates a specific trait/set of traits.
  2. /datum/seed/proc/apply_gene(var/datum/plantgene/gene)
  3.  
  4. if(!gene || !gene.values || immutable) return
  5.  
  6. switch(gene.genetype)
  7.  
  8. if("products")
  9.  
  10. if(gene.values.len < 6) return
  11.  
  12. products = gene.values[1]
  13. chems = gene.values[2]
  14. exude_gasses = gene.values[3]
  15. alter_temp = gene.values[4]
  16. potency = gene.values[5]
  17. harvest_repeat = gene.values[6]
  18.  
  19. if("consumption")
  20.  
  21. if(gene.values.len < 7) return
  22.  
  23. consume_gasses = gene.values[1]
  24. requires_nutrients = gene.values[2]
  25. nutrient_consumption = gene.values[3]
  26. requires_water = gene.values[4]
  27. water_consumption = gene.values[5]
  28. carnivorous = gene.values[6]
  29. parasite = gene.values[7]
  30.  
  31. if("environment")
  32.  
  33. if(gene.values.len < 6) return
  34.  
  35. ideal_heat = gene.values[1]
  36. heat_tolerance = gene.values[2]
  37. ideal_light = gene.values[3]
  38. light_tolerance = gene.values[4]
  39. lowkpa_tolerance = gene.values[5]
  40. highkpa_tolerance = gene.values[6]
  41.  
  42. if("resistance")
  43.  
  44. if(gene.values.len < 3) return
  45.  
  46. toxins_tolerance = gene.values[1]
  47. pest_tolerance = gene.values[2]
  48. weed_tolerance = gene.values[3]
  49.  
  50. if("vigour")
  51.  
  52. if(gene.values.len < 7) return
  53.  
  54. endurance = gene.values[1]
  55. yield = gene.values[2]
  56. lifespan = gene.values[3]
  57. mobile = gene.values[4]
  58. spread = gene.values[5]
  59. maturation = gene.values[6]
  60. production = gene.values[7]
  61.  
  62. if("flowers")
  63.  
  64. if(gene.values.len < 7) return
  65.  
  66. product_icon = gene.values[1]
  67. product_colour = gene.values[2]
  68. biolum = gene.values[3]
  69. biolum_colour = gene.values[4]
  70. flowers = gene.values[5]
  71. flower_icon = gene.values[6]
  72. flower_colour = gene.values[7]
  73.  
  74. //Returns a list of the desired trait values.
  75. /datum/seed/proc/get_gene(var/genetype)
  76.  
  77. if(!genetype) return 0
  78.  
  79. var/list/traitvalues = list()
  80.  
  81. if("products")
  82. traitvalues = list(
  83. (products ? products : 0),
  84. (chems ? chems : 0),
  85. (exude_gasses ? exude_gasses : 0),
  86. (alter_temp ? alter_temp : 0),
  87. (potency ? potency : 0),
  88. (harvest_repeat ? harvest_repeat : 0)
  89. )
  90.  
  91. if("consumption")
  92. traitvalues = list(
  93. (consume_gasses ? consume_gasses : 0),
  94. (requires_nutrients ? requires_nutrients : 0),
  95. (nutrient_consumption ? nutrient_consumption : 0),
  96. (requires_water ? requires_water : 0),
  97. (water_consumption ? water_consumption : 0),
  98. (carnivorous ? carnivorous : 0),
  99. (parasite ? parasite : 0)
  100. )
  101.  
  102. if("environment")
  103. traitvalues = list(
  104. (ideal_heat ? ideal_heat : 0),
  105. (heat_tolerance ? heat_tolerance : 0),
  106. (ideal_light ? ideal_light : 0),
  107. (light_tolerance ? light_tolerance : 0),
  108. (lowkpa_tolerance ? lowkpa_tolerance : 0),
  109. (highkpa_tolerance ? highkpa_tolerance : 0)
  110. )
  111.  
  112. if("resistance")
  113. traitvalues = list(
  114. (toxins_tolerance ? toxins_tolerance : 0),
  115. (pest_tolerance ? pest_tolerance : 0),
  116. (weed_tolerance ? weed_tolerance : 0)
  117. )
  118.  
  119. if("vigour")
  120. traitvalues = list(
  121. (endurance ? endurance : 0),
  122. (yield ? yield : 0),
  123. (lifespan ? lifespan : 0),
  124. (mobile ? mobile : 0),
  125. (spread ? spread : 0),
  126. (maturation ? maturation : 0),
  127. (production ? production : 0)
  128. )
  129.  
  130. if("flowers")
  131. traitvalues = list(
  132. (product_icon ? product_icon : 0),
  133. (product_colour ? product_colour : 0),
  134. (biolum ? biolum : 0),
  135. (biolum_colour ? biolum_colour : 0),
  136. (flowers ? flowers : 0),
  137. (flower_icon ? flower_icon : 0),
  138. (flower_colour ? flower_colour : 0)
  139. )
  140.  
  141. return (traitvalues.len ? traitvalues : 0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement