mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 18:32:03 +00:00
Rework materials system for biogenerator. (#33985)
* Rework materials system for biogenerator. * Added molecule types for prehistoric plants. * Shifted molecule type to be on the seed datum, made it a list, and added genetics capabilities * Change molecule_type field on prehistoric plants to seed datum * Change plant molecule to new gene group
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
|
||||
// Definitions for genes (trait groupings)
|
||||
#define GENE_PHYTOCHEMISTRY "phytochemistry"
|
||||
#define GENE_BIOMOLECULES "biomolecules"
|
||||
#define GENE_MORPHOLOGY "morphology"
|
||||
#define GENE_BIOLUMINESCENCE "bioluminescence"
|
||||
#define GENE_ECOLOGY "ecology"
|
||||
@@ -27,7 +28,10 @@
|
||||
//Xenobotany mutations
|
||||
//Phytochemistry
|
||||
#define PLANT_CHEMICAL (1<<0)
|
||||
#define PLANT_POTENCY (1<<1)
|
||||
#define PLANT_POTENCY (1<<1)
|
||||
|
||||
//Biomolecules
|
||||
#define PLANT_MOLECULE (1<<0)
|
||||
|
||||
//Morphology
|
||||
#define PLANT_PRODUCTS (1<<0)
|
||||
@@ -72,4 +76,4 @@
|
||||
#define PLANT_TELEPORT (1<<0)
|
||||
#define PLANT_ROOMTEMP (1<<1)
|
||||
#define PLANT_GAS (1<<2)
|
||||
#define PLANT_NOREACT (1<<3) //unique to xeno plants, unused
|
||||
#define PLANT_NOREACT (1<<3) //unique to xeno plants, unused
|
||||
|
||||
@@ -571,3 +571,10 @@ var/list/cheartstopper = list(/*"potassium_chloride",*/ CHEESYGLOOP) //this stop
|
||||
#define INCENSE_CRAVE "vales"
|
||||
#define INCENSE_CORNOIL "cornoils"
|
||||
#define INCENSE_MUSTARDPLANT "mustardplant"
|
||||
|
||||
#define GLUCOSE "Glucose"
|
||||
#define CELLULOSE "Cellulose"
|
||||
#define PROTEIN "Protein"
|
||||
#define STARCH "Starch"
|
||||
#define CHITIN "Chitin"
|
||||
#define XENOPHYLL "Xenophyll"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/datum/biogen_recipe
|
||||
var/id=""
|
||||
var/cost=0
|
||||
var/cost=list()
|
||||
var/category=""
|
||||
var/name=""
|
||||
var/amount_per_unit=1
|
||||
@@ -9,7 +9,12 @@
|
||||
var/result=null
|
||||
|
||||
/datum/biogen_recipe/proc/Render(var/context)
|
||||
var/html = "<li><a href='?src=\ref[context];action=create;item=[id];num=1'>[name][(amount_per_unit > 1) ? " [amount_per_unit] units" : ""]</a> <FONT COLOR=blue>([cost])</FONT>"
|
||||
var/html = "<li><a href='?src=\ref[context];action=create;item=[id];num=1'>[name][(amount_per_unit > 1) ? " [amount_per_unit] units" : ""]</a> (<FONT COLOR=blue>"
|
||||
var/cost_list = list()
|
||||
for(var/molecule in cost)
|
||||
cost_list += "[cost[molecule]] [molecule]"
|
||||
html += jointext(cost_list, ", ")
|
||||
html += ")</FONT>"
|
||||
if(other_amounts.len)
|
||||
var/first=1
|
||||
html += " ("
|
||||
@@ -29,35 +34,35 @@
|
||||
id=MILK
|
||||
name=MILK
|
||||
reagent=MILK
|
||||
cost=20
|
||||
cost=list(GLUCOSE = 20)
|
||||
amount_per_unit=10
|
||||
other_amounts=list(5)
|
||||
|
||||
/datum/biogen_recipe/food/cheese
|
||||
id="cheese"
|
||||
name="Cheese Wheel"
|
||||
cost=100 //Making milk and reacting it with enzyme costs 80, so this is 25% more expensive
|
||||
cost=list(GLUCOSE = 100) //Making milk and reacting it with enzyme costs 80, so this is 25% more expensive
|
||||
other_amounts=list(5)
|
||||
result=/obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesewheel
|
||||
|
||||
/datum/biogen_recipe/food/butter
|
||||
id="butter"
|
||||
name="Butter"
|
||||
cost=150 //The 40u milk for 20u cream costs 80, so this is about 87% more expensive
|
||||
cost=list(GLUCOSE = 150) //The 40u milk for 20u cream costs 80, so this is about 87% more expensive
|
||||
other_amounts=list(5)
|
||||
result=/obj/item/weapon/reagent_containers/food/snacks/butter
|
||||
|
||||
/datum/biogen_recipe/food/meat
|
||||
id="meat"
|
||||
name="Slab of meat"
|
||||
cost=50
|
||||
cost=list(PROTEIN = 50)
|
||||
other_amounts=list(5)
|
||||
result=/obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh
|
||||
|
||||
/datum/biogen_recipe/food/monkeycube
|
||||
id="monkeycube"
|
||||
name="Monkey cube"
|
||||
cost=250
|
||||
cost=list(PROTEIN = 250)
|
||||
other_amounts=list(5)
|
||||
result=/obj/item/weapon/reagent_containers/food/snacks/monkeycube
|
||||
|
||||
@@ -68,7 +73,7 @@
|
||||
id="ez"
|
||||
name="E-Z-Nutrient"
|
||||
reagent=EZNUTRIENT
|
||||
cost=10
|
||||
cost=list(STARCH = 5, GLUCOSE = 5)
|
||||
amount_per_unit=10
|
||||
other_amounts=list(5)
|
||||
|
||||
@@ -76,7 +81,7 @@
|
||||
id="l4z"
|
||||
name="Left 4 Zed"
|
||||
reagent=LEFT4ZED
|
||||
cost=20
|
||||
cost=list(CHITIN = 10, GLUCOSE = 10)
|
||||
amount_per_unit=10
|
||||
other_amounts=list(5)
|
||||
|
||||
@@ -84,12 +89,12 @@
|
||||
id="rh"
|
||||
name="Robust Harvest"
|
||||
reagent=ROBUSTHARVEST
|
||||
cost=25
|
||||
cost=list(PROTEIN = 15, GLUCOSE = 10)
|
||||
amount_per_unit=10
|
||||
other_amounts=list(5)
|
||||
|
||||
/datum/biogen_recipe/nutrient/beez
|
||||
cost=40
|
||||
cost=list(PROTEIN = 10, GLUCOSE = 30)
|
||||
id="beez"
|
||||
name="Bottle of BeezEez"
|
||||
other_amounts=list(5)
|
||||
@@ -99,133 +104,134 @@
|
||||
category="Leather"
|
||||
|
||||
/datum/biogen_recipe/leather/bee_net
|
||||
cost = 100
|
||||
cost=list(STARCH = 30, CELLULOSE = 70)
|
||||
id="bee_net"
|
||||
name = "Bee Net"
|
||||
result=/obj/item/weapon/bee_net
|
||||
|
||||
/datum/biogen_recipe/leather/wallet
|
||||
cost=100
|
||||
cost=list(CELLULOSE = 100)
|
||||
id="wallet"
|
||||
name="Wallet"
|
||||
result=/obj/item/weapon/storage/wallet
|
||||
|
||||
/datum/biogen_recipe/leather/gloves
|
||||
cost=250
|
||||
cost=list(CELLULOSE = 200, CHITIN = 50)
|
||||
id="gloves"
|
||||
name="Botanical Gloves"
|
||||
result=/obj/item/clothing/gloves/botanic_leather
|
||||
|
||||
/datum/biogen_recipe/leather/knifeholster
|
||||
cost=250
|
||||
cost=list(CELLULOSE = 150, CHITIN = 100)
|
||||
id="knifeholster"
|
||||
name="Boot Knife Holster"
|
||||
result=/obj/item/clothing/accessory/holster/knife/boot
|
||||
|
||||
/datum/biogen_recipe/leather/ammo_pouch
|
||||
cost = 250
|
||||
cost=list(CELLULOSE = 100, CHITIN = 150)
|
||||
id="ammopouch"
|
||||
name = "Ammo Pouch"
|
||||
result=/obj/item/weapon/storage/bag/ammo_pouch
|
||||
|
||||
/datum/biogen_recipe/leather/moneybag
|
||||
cost=300
|
||||
cost=list(CELLULOSE = 300)
|
||||
id="moneybag"
|
||||
name="Money Bag"
|
||||
result=/obj/item/weapon/storage/bag/money
|
||||
|
||||
/datum/biogen_recipe/leather/belt/slim
|
||||
cost=300
|
||||
cost=list(CELLULOSE = 100, CHITIN = 100, STARCH = 100)
|
||||
id="slim-belt"
|
||||
name="Slim Belt"
|
||||
result=/obj/item/weapon/storage/belt/slim
|
||||
|
||||
/datum/biogen_recipe/leather/belt
|
||||
cost=300
|
||||
cost=list(CELLULOSE = 200, STARCH = 100)
|
||||
id="belt"
|
||||
name="Tool-belt"
|
||||
result=/obj/item/weapon/storage/belt/utility
|
||||
|
||||
//TODO
|
||||
/datum/biogen_recipe/leather/bandolier
|
||||
cost = 300
|
||||
cost=list(CELLULOSE = 100, STARCH = 100, GLUCOSE = 100)
|
||||
id="bandolier"
|
||||
name = "Bandolier"
|
||||
result=/obj/item/clothing/accessory/storage/bandolier
|
||||
|
||||
/datum/biogen_recipe/leather/handgunholster
|
||||
cost=350
|
||||
cost=list(CELLULOSE = 150, STARCH = 150, GLUCOSE = 50)
|
||||
id="handgunholster"
|
||||
name="Handgun Holster"
|
||||
result=/obj/item/clothing/accessory/holster/handgun/biogenerator
|
||||
|
||||
/datum/biogen_recipe/leather/fannypack
|
||||
cost=100
|
||||
cost=list(CELLULOSE = 75, CHITIN = 25)
|
||||
id="fannypack"
|
||||
name="Fanny Pack"
|
||||
result=/obj/item/clothing/accessory/storage/fannypack
|
||||
|
||||
/datum/biogen_recipe/leather/ore
|
||||
cost=350
|
||||
cost=list(CELLULOSE = 100, PROTEIN = 250)
|
||||
id="ore"
|
||||
name="Mining Satchel"
|
||||
result=/obj/item/weapon/storage/bag/ore
|
||||
|
||||
/datum/biogen_recipe/leather/gadget
|
||||
cost=350
|
||||
cost=list(CELLULOSE = 100, CHITIN = 250)
|
||||
id="gadget"
|
||||
name="Gadget Bag"
|
||||
result=/obj/item/weapon/storage/bag/gadgets
|
||||
|
||||
/datum/biogen_recipe/leather/slime
|
||||
cost=350
|
||||
cost=list(STARCH = 100, CHITIN = 250)
|
||||
id="slime"
|
||||
name="Slime Bag"
|
||||
result=/obj/item/weapon/storage/bag/xenobio
|
||||
|
||||
/datum/biogen_recipe/leather/plants
|
||||
cost=350
|
||||
cost=list(CELLULOSE = 200, STARCH = 150)
|
||||
id="plants"
|
||||
name="Plant Bag"
|
||||
result=/obj/item/weapon/storage/bag/plants
|
||||
|
||||
/datum/biogen_recipe/leather/materials
|
||||
cost=500
|
||||
cost=list(CELLULOSE = 100, STARCH = 100, GLUCOSE = 100, CHITIN = 100, PROTEIN = 100)
|
||||
id="materials"
|
||||
name="Materials Bag"
|
||||
result=/obj/item/weapon/storage/bag/materials
|
||||
|
||||
/datum/biogen_recipe/leather/secbelt
|
||||
cost=400
|
||||
cost=list(PROTEIN = 400)
|
||||
id="secbelt"
|
||||
name="Security Belt"
|
||||
result=/obj/item/weapon/storage/belt/security
|
||||
|
||||
/datum/biogen_recipe/leather/minebelt
|
||||
cost=350
|
||||
cost=list(CELLULOSE = 200, PROTEIN = 150)
|
||||
id="minebelt"
|
||||
name="Mining Gear Belt"
|
||||
result=/obj/item/weapon/storage/belt/mining
|
||||
|
||||
/datum/biogen_recipe/leather/janibelt
|
||||
cost=350
|
||||
cost=list(CELLULOSE = 200, STARCH = 100, GLUCOSE=50)
|
||||
id="janibelt"
|
||||
name="Janibelt"
|
||||
result=/obj/item/weapon/storage/belt/janitor
|
||||
|
||||
/datum/biogen_recipe/leather/hydrobelt
|
||||
cost=350
|
||||
cost=list(CELLULOSE = 100, STARCH = 100, GLUCOSE = 100, CHITIN = 50)
|
||||
id="hydrobelt"
|
||||
name="Botany Gear Belt"
|
||||
result=/obj/item/weapon/storage/belt/botanist
|
||||
|
||||
/datum/biogen_recipe/leather/briefcase
|
||||
cost=400
|
||||
cost=list(CELLULOSE = 200, STARCH = 200)
|
||||
id="briefcase"
|
||||
name="Leather Briefcase"
|
||||
result=/obj/item/weapon/storage/briefcase/biogen
|
||||
|
||||
/datum/biogen_recipe/leather/satchel
|
||||
cost=400
|
||||
cost=list(CELLULOSE = 200, STARCH = 200)
|
||||
id="satchel"
|
||||
name="Leather Satchel"
|
||||
result=/obj/item/weapon/storage/backpack/satchel
|
||||
@@ -234,41 +240,41 @@
|
||||
category="Paper"
|
||||
|
||||
/datum/biogen_recipe/paper/papersheet
|
||||
cost=15
|
||||
cost=list(CELLULOSE = 15)
|
||||
id="papersheet"
|
||||
name="Paper Sheet"
|
||||
other_amounts=list(5,10)
|
||||
result=/obj/item/weapon/paper
|
||||
|
||||
/datum/biogen_recipe/paper/cardboard
|
||||
cost=25
|
||||
cost=list(CELLULOSE = 15, STARCH = 10)
|
||||
id="cardboard"
|
||||
name="Cardboard Sheet"
|
||||
other_amounts=list(5,10,50)
|
||||
result=/obj/item/stack/sheet/cardboard
|
||||
|
||||
/datum/biogen_recipe/paper/giftwrap
|
||||
cost=25
|
||||
cost=list(CELLULOSE = 5, STARCH = 20)
|
||||
id="giftwrap"
|
||||
name="Gift Wrap"
|
||||
amount_per_unit = 24
|
||||
result=/obj/item/stack/package_wrap/gift
|
||||
|
||||
/datum/biogen_recipe/paper/packagewrap
|
||||
cost=30
|
||||
cost=list(CELLULOSE = 5, STARCH = 20)
|
||||
id="packagewrap"
|
||||
name="Package Wrap"
|
||||
amount_per_unit = 24
|
||||
result=/obj/item/stack/package_wrap
|
||||
|
||||
/datum/biogen_recipe/paper/clipboard
|
||||
cost=75
|
||||
cost=list(CELLULOSE = 75)
|
||||
id="clipboard"
|
||||
name="Clipboard"
|
||||
result=/obj/item/weapon/storage/bag/clipboard
|
||||
|
||||
/datum/biogen_recipe/paper/paperbin
|
||||
cost=475 //25 from the cardboard, 30*15=450 from the paper
|
||||
cost=list(CELLULOSE = 465, STARCH = 10) //25 from the cardboard, 30*15=450 from the paper
|
||||
id="paperbin"
|
||||
name="Paper Bin (30 sheets)"
|
||||
result=/obj/item/weapon/paper_bin
|
||||
@@ -279,7 +285,7 @@
|
||||
/datum/biogen_recipe/misc/insecticide
|
||||
id = "insecticide"
|
||||
name = "Insecticide"
|
||||
cost=35
|
||||
cost=list(PROTEIN = 10, STARCH = 10, CHITIN = 15)
|
||||
reagent=INSECTICIDE
|
||||
amount_per_unit=10
|
||||
other_amounts=list(5)
|
||||
@@ -288,32 +294,32 @@
|
||||
id="plantbgone"
|
||||
name="Plant-B-Gone"
|
||||
reagent=PLANTBGONE
|
||||
cost=35
|
||||
cost=list(CHITIN = 30, CELLULOSE = 5)
|
||||
amount_per_unit=10
|
||||
other_amounts=list(5)
|
||||
|
||||
/datum/biogen_recipe/misc/candle
|
||||
cost=50
|
||||
cost=list(STARCH = 40, GLUCOSE = 10)
|
||||
id="candle"
|
||||
name="Red Candle"
|
||||
other_amounts=list(5)
|
||||
result=/obj/item/candle
|
||||
|
||||
/datum/biogen_recipe/misc/charcoal
|
||||
cost=100
|
||||
cost=list(CELLULOSE = 100)
|
||||
id="charcoal"
|
||||
name="Charcoal Sheet"
|
||||
other_amounts=list(5,10)
|
||||
result=/obj/item/stack/sheet/charcoal
|
||||
|
||||
/datum/biogen_recipe/misc/soap
|
||||
cost=250
|
||||
cost=list(GLUCOSE = 150, STARCH = 100)
|
||||
id="soap"
|
||||
name="Bar of Soap"
|
||||
result=/obj/item/weapon/soap/nanotrasen
|
||||
|
||||
/datum/biogen_recipe/misc/crayons
|
||||
cost=400
|
||||
cost=list(CELLULOSE = 200, STARCH = 200)
|
||||
id="crayons"
|
||||
name="Box of Crayons"
|
||||
result=/obj/item/weapon/storage/fancy/crayons
|
||||
@@ -321,39 +327,39 @@
|
||||
/datum/biogen_recipe/misc/rice_hat
|
||||
name = "Rice Hat"
|
||||
id = "rice_hat"
|
||||
cost = 300
|
||||
cost=list(STARCH = 300)
|
||||
result = /obj/item/clothing/head/rice_hat
|
||||
|
||||
/datum/biogen_recipe/misc/roningasa
|
||||
name = "Wickerwork Hat"
|
||||
id = "wickerwork_hat"
|
||||
cost = 300
|
||||
cost=list(CELLULOSE = 300)
|
||||
result = /obj/item/clothing/head/rice_hat/ronin
|
||||
|
||||
/datum/biogen_recipe/misc/mino
|
||||
name = "Grass Coat"
|
||||
id = "grass_coat"
|
||||
cost = 500
|
||||
cost=list(CELLULOSE = 300)
|
||||
result = /obj/item/clothing/suit/mino
|
||||
|
||||
/datum/biogen_recipe/misc/rvest
|
||||
name = "Reticulated Vest"
|
||||
id = "rvest"
|
||||
cost = 500
|
||||
cost=list(CELLULOSE = 200, STARCH = 300)
|
||||
result = /obj/item/clothing/suit/reticulatedvest
|
||||
|
||||
/datum/biogen_recipe/flooring
|
||||
category="Flooring"
|
||||
|
||||
/datum/biogen_recipe/flooring/carpet
|
||||
cost=10
|
||||
cost=list(CELLULOSE = 5, STARCH = 5)
|
||||
id="carpet"
|
||||
name="Piece of Carpet"
|
||||
other_amounts=list(5,10,20)
|
||||
result=/obj/item/stack/tile/carpet
|
||||
|
||||
/datum/biogen_recipe/flooring/arcade
|
||||
cost=10
|
||||
cost=list(CELLULOSE = 5, STARCH = 5)
|
||||
id="arcadecarpet"
|
||||
name="Piece of Arcade Carpet"
|
||||
other_amounts=list(5,10,20)
|
||||
@@ -372,7 +378,7 @@
|
||||
var/biomass_coefficient = 9
|
||||
var/tmp/processing = 0
|
||||
var/obj/item/weapon/reagent_containers/glass/beaker = null
|
||||
var/points = 0
|
||||
var/points = list(STARCH = 0, CHITIN = 0, GLUCOSE = 0, PROTEIN = 0, CELLULOSE = 0, XENOPHYLL = 0)
|
||||
var/menustat = "menu"
|
||||
var/tmp/list/recipes[0]
|
||||
var/tmp/list/recipe_categories[0]
|
||||
@@ -562,7 +568,9 @@
|
||||
if (processing)
|
||||
dat += "<FONT COLOR=red>Biogenerator is processing! Please wait...</FONT>"
|
||||
else
|
||||
dat += "Biomass: [points] points.<HR>"
|
||||
for (var/nutrient in points)
|
||||
if (points[nutrient] > 0)
|
||||
dat += "[nutrient]: [points[nutrient]] points.<BR>"
|
||||
switch(menustat)
|
||||
if("menu")
|
||||
if (beaker)
|
||||
@@ -613,10 +621,8 @@
|
||||
var/S = 0
|
||||
for(var/obj/item/weapon/reagent_containers/food/snacks/grown/I in contents)
|
||||
S += 5
|
||||
if(I.reagents.get_reagent_amount(NUTRIMENT) < 0.1)
|
||||
points += 1
|
||||
else
|
||||
points += I.reagents.get_reagent_amount(NUTRIMENT)*biomass_coefficient
|
||||
for (var/molecule in I.seed.molecule_type)
|
||||
points[molecule] += round((min(I.seed.potency, 200)*biomass_coefficient) / I.seed.molecule_type.len)
|
||||
qdel(I)
|
||||
if(S)
|
||||
processing = 1
|
||||
@@ -631,15 +637,16 @@
|
||||
menustat = "void"
|
||||
|
||||
/obj/machinery/biogenerator/proc/check_cost(var/cost)
|
||||
if (cost > points)
|
||||
menustat = "nopoints"
|
||||
return 1
|
||||
else
|
||||
points -= cost
|
||||
processing = 1
|
||||
update_icon()
|
||||
updateUsrDialog()
|
||||
sleep(30)
|
||||
for (var/nutrient in cost)
|
||||
if (cost[nutrient] > points[nutrient])
|
||||
menustat = "nopoints"
|
||||
return 1
|
||||
for (var/nutrient in cost)
|
||||
points[nutrient] -= cost[nutrient]
|
||||
processing = 1
|
||||
update_icon()
|
||||
updateUsrDialog()
|
||||
sleep(30)
|
||||
|
||||
/obj/machinery/biogenerator/proc/create_product(var/item, var/num)
|
||||
var/datum/biogen_recipe/recipe=recipes[item]
|
||||
@@ -649,7 +656,11 @@
|
||||
if(!(num in (recipe.other_amounts + 1)))
|
||||
return 0
|
||||
|
||||
if(check_cost(recipe.cost*num))
|
||||
if(num > 1)
|
||||
for (var/molecule in recipe.cost)
|
||||
recipe.cost[molecule] *= num
|
||||
|
||||
if(check_cost(recipe.cost))
|
||||
return 0
|
||||
|
||||
if(recipe.reagent)
|
||||
|
||||
@@ -77,6 +77,7 @@
|
||||
dat += "<tr><td><b>Maturation time</b></td><td>[round(grown_seed.maturation, 0.01)]</td></tr>"
|
||||
dat += "<tr><td><b>Production time</b></td><td>[round(grown_seed.production, 0.01)]</td></tr>"
|
||||
dat += "<tr><td><b>Potency</b></td><td>[round(grown_seed.potency, 0.01)]</td></tr>"
|
||||
dat += "<tr><td><b>Primary Molecules</b></td><td>[jointext(grown_seed.molecule_type, ", ")]</td></tr>"
|
||||
dat += "</table>"
|
||||
|
||||
if(grown_reagents && grown_reagents.reagent_list && grown_reagents.reagent_list.len)
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
if(age < 3 && length(seed.mutants) && gene)
|
||||
mutate_species()
|
||||
if(!gene)
|
||||
gene = pick(GENE_PHYTOCHEMISTRY, GENE_MORPHOLOGY, GENE_BIOLUMINESCENCE, GENE_ECOLOGY, GENE_ECOPHYSIOLOGY, GENE_METABOLISM, GENE_DEVELOPMENT, GENE_XENOPHYSIOLOGY)
|
||||
gene = pick(GENE_PHYTOCHEMISTRY, GENE_BIOMOLECULES, GENE_MORPHOLOGY, GENE_BIOLUMINESCENCE, GENE_ECOLOGY, GENE_ECOPHYSIOLOGY, GENE_METABOLISM, GENE_DEVELOPMENT, GENE_XENOPHYSIOLOGY)
|
||||
|
||||
check_for_divergence()
|
||||
//The scaling functions modify stats with diminishing returns, approaching the hardcap value
|
||||
@@ -45,6 +45,15 @@
|
||||
if(check_success)
|
||||
visible_message("<span class='notice'>\The [seed.display_name] develops a strange-looking gland.</span>")
|
||||
|
||||
if(GENE_BIOMOLECULES)
|
||||
var/new_molecule = pick(STARCH, CHITIN, PROTEIN, GLUCOSE, CELLULOSE, XENOPHYLL)
|
||||
if (new_molecule in seed.molecule_type)
|
||||
visible_message("<span class='notice'>\The [seed.display_name] has its phloem shrivel up.</span>")
|
||||
seed.molecule_type -= new_molecule
|
||||
else
|
||||
visible_message("<span class='notice'>\The [seed.display_name] seems to have a new substance filling its phloem.</span>")
|
||||
seed.molecule_type += new_molecule
|
||||
|
||||
if(GENE_MORPHOLOGY)
|
||||
var/mutation_type = pick(PLANT_PRODUCTS, PLANT_THORNY, PLANT_JUICY, PLANT_LIGNEOUS, PLANT_STINGING, PLANT_APPEARANCE)
|
||||
switch(mutation_type)
|
||||
@@ -58,7 +67,7 @@
|
||||
else
|
||||
visible_message("<span class='notice'>\The [seed.display_name] sheds its thorns away...</span>")
|
||||
if(PLANT_JUICY)
|
||||
//clever way of going from 0 to 1 to 2.
|
||||
//clever way of going from 0 to 1 to 2.
|
||||
seed.juicy = (seed.juicy + 1) % 3
|
||||
generic_mutation_message("wobbles!")
|
||||
if(PLANT_LIGNEOUS)
|
||||
@@ -111,7 +120,7 @@
|
||||
//lower better
|
||||
var/hardcap = 0.1
|
||||
var/max_change = 0.15 //percent
|
||||
seed.lowkpa_tolerance -= round(min(hardcap - hardcap/2*round(log(10,hardcap/seed.lowkpa_tolerance*100),0.01),max_change*seed.lowkpa_tolerance),0.1)
|
||||
seed.lowkpa_tolerance -= round(min(hardcap - hardcap/2*round(log(10,hardcap/seed.lowkpa_tolerance*100),0.01),max_change*seed.lowkpa_tolerance),0.1)
|
||||
//higher better
|
||||
var/hardcap = 500
|
||||
var/max_change = 0.15 //percent
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
mutants = null
|
||||
harvest_repeat = 1
|
||||
chems = list(DIETHYLAMINE = list(0,10))
|
||||
molecule_type = list(XENOPHYLL)
|
||||
|
||||
lifespan = 60
|
||||
maturation = 6
|
||||
@@ -36,6 +37,7 @@
|
||||
mutants = null
|
||||
harvest_repeat = 1
|
||||
chems = list(FROSTOIL = list(5,30))
|
||||
molecule_type = list(XENOPHYLL)
|
||||
|
||||
lifespan = 50
|
||||
maturation = 3
|
||||
@@ -64,7 +66,7 @@
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/jurlmah)
|
||||
mutants = null
|
||||
chems = list(CLONEXADONE = list(1,10))
|
||||
|
||||
molecule_type = list(XENOPHYLL)
|
||||
lifespan = 25
|
||||
maturation = 6
|
||||
production = 1
|
||||
@@ -95,6 +97,7 @@
|
||||
mutants = null
|
||||
noreact = 1
|
||||
chems = list(POTASSIUM = list(0,10),SUGAR = list(0,10),PHOSPHORUS = list(0,10))
|
||||
molecule_type = list(XENOPHYLL)
|
||||
|
||||
lifespan = 25
|
||||
maturation = 10
|
||||
@@ -127,6 +130,7 @@
|
||||
mutants = null
|
||||
harvest_repeat = 2
|
||||
chems = list(NUTRIMENT = list(1,10))
|
||||
molecule_type = list(XENOPHYLL)
|
||||
|
||||
lifespan = 55
|
||||
maturation = 6
|
||||
@@ -157,6 +161,7 @@
|
||||
mutants = null
|
||||
harvest_repeat = 1
|
||||
chems = list(NUTRIMENT = list(1,10),SPORTDRINK = list(0,2),THYMOL = list(0,5))
|
||||
molecule_type = list(XENOPHYLL)
|
||||
|
||||
lifespan = 100
|
||||
maturation = 6
|
||||
@@ -187,6 +192,7 @@
|
||||
mutants = null
|
||||
harvest_repeat = 1
|
||||
chems = list(KARMOTRINE = list(2,2))
|
||||
molecule_type = list(XENOPHYLL)
|
||||
|
||||
lifespan = 55
|
||||
maturation = 7
|
||||
|
||||
@@ -56,6 +56,7 @@ var/global/list/gene_tag_masks = list() // Gene obfuscation for delicious tria
|
||||
var/teleporting = 0 // If 1, causes teleportation when thrown.
|
||||
var/juicy = 0 // 0 = no, 1 = splatters when thrown, 2 = slips
|
||||
var/noreact = 0 // If 1, chems do not react inside the plant.
|
||||
var/list/molecule_type = list() // Types of organic molecules produced by this plant. Used for biogenerator.
|
||||
|
||||
// Cosmetics.
|
||||
var/plant_dmi = 'icons/obj/hydroponics/apple.dmi'// DMI to use for the plant growing in the tray.
|
||||
@@ -279,6 +280,13 @@ var/global/list/gene_tag_masks = list() // Gene obfuscation for delicious tria
|
||||
if(GENEGUN_MODE_SPLICE)
|
||||
potency = round(mix(gene.values[2], potency, rand(40, 60)/100), 0.1)
|
||||
|
||||
if(GENE_BIOMOLECULES)
|
||||
if (gene.values[1])
|
||||
switch(mode)
|
||||
if(GENEGUN_MODE_PURGE)
|
||||
molecule_type = gene.values[1]
|
||||
if(GENEGUN_MODE_SPLICE)
|
||||
molecule_type += gene.values[1]
|
||||
if(GENE_MORPHOLOGY)
|
||||
if(gene.values[1])
|
||||
if(!products || mode == GENEGUN_MODE_PURGE)
|
||||
@@ -407,7 +415,11 @@ var/global/list/gene_tag_masks = list() // Gene obfuscation for delicious tria
|
||||
if(GENE_PHYTOCHEMISTRY)
|
||||
P.values = list(
|
||||
(chems ? chems : 0),
|
||||
(potency ? potency : 0),
|
||||
(potency ? potency : 0)
|
||||
)
|
||||
if(GENE_BIOMOLECULES)
|
||||
P.values = list(
|
||||
(molecule_type ? molecule_type : 0)
|
||||
)
|
||||
if(GENE_MORPHOLOGY)
|
||||
P.values = list(
|
||||
@@ -655,6 +667,7 @@ var/global/list/gene_tag_masks = list() // Gene obfuscation for delicious tria
|
||||
new_seed.alter_temp = alter_temp
|
||||
new_seed.plant_dmi = plant_dmi
|
||||
new_seed.mutation_log = mutation_log
|
||||
new_seed.molecule_type = molecule_type
|
||||
new_seed.mutation_log += "([timestamp()]) Diverged from seed with uid: [uid]."
|
||||
|
||||
ASSERT(istype(new_seed)) //something happened... oh no...
|
||||
|
||||
@@ -191,6 +191,7 @@
|
||||
var/list/data = list()
|
||||
var/static/list/gene_tag_list = list(
|
||||
list("tag" = GENE_PHYTOCHEMISTRY),
|
||||
list("tag" = GENE_BIOMOLECULES),
|
||||
list("tag" = GENE_MORPHOLOGY),
|
||||
list("tag" = GENE_BIOLUMINESCENCE),
|
||||
list("tag" = GENE_ECOLOGY),
|
||||
|
||||
@@ -520,6 +520,7 @@
|
||||
chems = list(CAPSAICIN = list(3,5), NUTRIMENT = list(1,25))
|
||||
mutants = list("icechili", "ghostpepper")
|
||||
harvest_repeat = 1
|
||||
molecule_type = list(CELLULOSE)
|
||||
|
||||
lifespan = 20
|
||||
maturation = 5
|
||||
@@ -562,6 +563,7 @@
|
||||
mutants = list("glowberries","poisonberries")
|
||||
harvest_repeat = 1
|
||||
chems = list(NUTRIMENT = list(1,10))
|
||||
molecule_type = list(GLUCOSE)
|
||||
|
||||
lifespan = 20
|
||||
maturation = 5
|
||||
@@ -621,6 +623,7 @@
|
||||
mutants = list("deathnettle")
|
||||
harvest_repeat = 1
|
||||
chems = list(NUTRIMENT = list(1,50), FORMIC_ACID = list(0,1))
|
||||
molecule_type = list(CELLULOSE)
|
||||
lifespan = 30
|
||||
maturation = 6
|
||||
production = 6
|
||||
@@ -650,6 +653,7 @@
|
||||
mutants = list("bluetomato","bloodtomato")
|
||||
harvest_repeat = 1
|
||||
chems = list(NUTRIMENT = list(1,10))
|
||||
molecule_type = list(GLUCOSE)
|
||||
|
||||
lifespan = 25
|
||||
maturation = 8
|
||||
@@ -716,6 +720,7 @@
|
||||
mutants = list("realeggplant")
|
||||
harvest_repeat = 1
|
||||
chems = list(NUTRIMENT = list(1,10))
|
||||
molecule_type = list(CELLULOSE)
|
||||
|
||||
lifespan = 25
|
||||
maturation = 6
|
||||
@@ -747,6 +752,7 @@
|
||||
mutants = list("poisonapple","goldapple")
|
||||
harvest_repeat = 1
|
||||
chems = list(NUTRIMENT = list(1,10))
|
||||
molecule_type = list(GLUCOSE)
|
||||
|
||||
lifespan = 55
|
||||
maturation = 6
|
||||
@@ -785,6 +791,7 @@
|
||||
mutants = list("ambrosiadeus")
|
||||
harvest_repeat = 1
|
||||
chems = list(NUTRIMENT = list(1), MESCALINE = list(1,8), TANNIC_ACID = list(1,8,1), OPIUM = list(1,10,1))
|
||||
molecule_type = list(CELLULOSE)
|
||||
|
||||
lifespan = 60
|
||||
maturation = 6
|
||||
@@ -828,6 +835,7 @@
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/chanterelle)
|
||||
mutants = list("reishi","amanita","plumphelmet")
|
||||
chems = list(NUTRIMENT = list(1,25))
|
||||
molecule_type = list(CHITIN)
|
||||
|
||||
lifespan = 35
|
||||
maturation = 7
|
||||
@@ -930,6 +938,7 @@
|
||||
plant_dmi = 'icons/obj/hydroponics/towercap.dmi'
|
||||
mutants = null
|
||||
products = list(/obj/item/weapon/grown/log)
|
||||
molecule_type = list(CELLULOSE)
|
||||
|
||||
lifespan = 80
|
||||
maturation = 15
|
||||
@@ -990,6 +999,7 @@
|
||||
plant_dmi = 'icons/obj/hydroponics/harebell.dmi'
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/harebell)
|
||||
chems = list(NUTRIMENT = list(1,20))
|
||||
molecule_type = list(CELLULOSE)
|
||||
|
||||
lifespan = 100
|
||||
maturation = 7
|
||||
@@ -1096,6 +1106,7 @@
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/grapes)
|
||||
harvest_repeat = 1
|
||||
chems = list(NUTRIMENT = list(1,10), SUGAR = list(1,5))
|
||||
molecule_type = list(GLUCOSE)
|
||||
|
||||
lifespan = 50
|
||||
maturation = 3
|
||||
@@ -1126,6 +1137,7 @@
|
||||
mutants = list("rocknut")
|
||||
harvest_repeat = 1
|
||||
chems = list(NUTRIMENT = list(1,10))
|
||||
molecule_type = list(PROTEIN)
|
||||
|
||||
lifespan = 55
|
||||
maturation = 6
|
||||
@@ -1142,6 +1154,7 @@
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/rocknut)
|
||||
harvest_repeat = 1
|
||||
chems = list(NUTRIMENT = list(1,10),IRON = list(3,5))
|
||||
molecule_type = list(PROTEIN)
|
||||
|
||||
lifespan = 70
|
||||
maturation = 6
|
||||
@@ -1158,6 +1171,7 @@
|
||||
mutants = list("plasmacabbage")
|
||||
harvest_repeat = 1
|
||||
chems = list(NUTRIMENT = list(1,10))
|
||||
molecule_type = list(CELLULOSE)
|
||||
|
||||
lifespan = 50
|
||||
maturation = 3
|
||||
@@ -1177,6 +1191,7 @@
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/plasmacabbage)
|
||||
harvest_repeat = 1
|
||||
chems = list(NUTRIMENT = list(1,10),PLASMA = list(3,5))
|
||||
molecule_type = list(CELLULOSE)
|
||||
|
||||
lifespan = 30
|
||||
maturation = 3
|
||||
@@ -1195,6 +1210,7 @@
|
||||
plant_dmi = 'icons/obj/hydroponics/shand.dmi'
|
||||
products = list(/obj/item/stack/medical/bruise_pack/tajaran)
|
||||
chems = list(OPIUM = list(0,10))
|
||||
molecule_type = list(XENOPHYLL)
|
||||
|
||||
lifespan = 50
|
||||
maturation = 3
|
||||
@@ -1210,6 +1226,7 @@
|
||||
plant_dmi = 'icons/obj/hydroponics/mtear.dmi'
|
||||
products = list(/obj/item/stack/medical/ointment/tajaran)
|
||||
chems = list(HONEY = list(1,10), TANNIC_ACID = list(3,5))
|
||||
molecule_type = list(XENOPHYLL)
|
||||
|
||||
lifespan = 50
|
||||
maturation = 3
|
||||
@@ -1227,6 +1244,7 @@
|
||||
harvest_repeat = 1
|
||||
chems = list(BANANA = list(1,10), POTASSIUMCARBONATE = list(0.1,30))
|
||||
mutants = list("bluespacebanana")
|
||||
molecule_type = list(GLUCOSE)
|
||||
|
||||
lifespan = 50
|
||||
maturation = 6
|
||||
@@ -1252,6 +1270,7 @@
|
||||
plant_dmi = 'icons/obj/hydroponics/corn.dmi'
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/corn)
|
||||
chems = list(NUTRIMENT = list(1,10))
|
||||
molecule_type = list(CELLULOSE)
|
||||
|
||||
lifespan = 25
|
||||
maturation = 8
|
||||
@@ -1271,6 +1290,7 @@
|
||||
plant_dmi = 'icons/obj/hydroponics/potato.dmi'
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/potato)
|
||||
chems = list(NUTRIMENT = list(1,10))
|
||||
molecule_type = list(STARCH)
|
||||
|
||||
lifespan = 30
|
||||
maturation = 10
|
||||
@@ -1289,6 +1309,7 @@
|
||||
mutants = list("koibean")
|
||||
harvest_repeat = 1
|
||||
chems = list(NUTRIMENT = list(1,20))
|
||||
molecule_type = list(PROTEIN)
|
||||
|
||||
lifespan = 25
|
||||
maturation = 4
|
||||
@@ -1304,6 +1325,7 @@
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/koibeans)
|
||||
harvest_repeat = 1
|
||||
chems = list(NUTRIMENT = list(1,10),CARPOTOXIN = list(1,25))
|
||||
molecule_type = list(PROTEIN)
|
||||
|
||||
lifespan = 25
|
||||
maturation = 4
|
||||
@@ -1318,6 +1340,7 @@
|
||||
plant_dmi = 'icons/obj/hydroponics/wheat.dmi'
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/wheat)
|
||||
chems = list(NUTRIMENT = list(1,25))
|
||||
molecule_type = list(STARCH)
|
||||
|
||||
lifespan = 25
|
||||
maturation = 6
|
||||
@@ -1334,6 +1357,7 @@
|
||||
plant_dmi = 'icons/obj/hydroponics/rice.dmi'
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/ricestalk)
|
||||
chems = list(NUTRIMENT = list(1,25))
|
||||
molecule_type = list(STARCH)
|
||||
|
||||
lifespan = 25
|
||||
maturation = 6
|
||||
@@ -1352,6 +1376,7 @@
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/carrot)
|
||||
mutants = list("diamondcarrot")
|
||||
chems = list(NUTRIMENT = list(1,20), ZEAXANTHIN = list(3,5))
|
||||
molecule_type = list(CELLULOSE)
|
||||
|
||||
lifespan = 25
|
||||
maturation = 10
|
||||
@@ -1394,6 +1419,7 @@
|
||||
plant_dmi = 'icons/obj/hydroponics/whitebeet.dmi'
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/whitebeet)
|
||||
chems = list(NUTRIMENT = list(0,20), SUGAR = list(1,5))
|
||||
molecule_type = list(STARCH)
|
||||
|
||||
lifespan = 60
|
||||
maturation = 6
|
||||
@@ -1410,6 +1436,7 @@
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/sugarcane)
|
||||
harvest_repeat = 1
|
||||
chems = list(SUGAR = list(4,5))
|
||||
molecule_type = list(GLUCOSE)
|
||||
|
||||
lifespan = 60
|
||||
maturation = 3
|
||||
@@ -1427,6 +1454,7 @@
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/watermelon)
|
||||
harvest_repeat = 1
|
||||
chems = list(NUTRIMENT = list(1,6))
|
||||
molecule_type = list(GLUCOSE)
|
||||
|
||||
lifespan = 50
|
||||
maturation = 6
|
||||
@@ -1445,6 +1473,7 @@
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/pumpkin)
|
||||
harvest_repeat = 1
|
||||
chems = list(NUTRIMENT = list(1,6))
|
||||
molecule_type = list(STARCH)
|
||||
|
||||
lifespan = 50
|
||||
maturation = 6
|
||||
@@ -1463,6 +1492,7 @@
|
||||
harvest_repeat = 1
|
||||
mutants = list("silicatecitrus")
|
||||
chems = list(NUTRIMENT = list(1,20))
|
||||
molecule_type = list(GLUCOSE)
|
||||
|
||||
lifespan = 55
|
||||
maturation = 6
|
||||
@@ -1481,6 +1511,7 @@
|
||||
harvest_repeat = 1
|
||||
mutants = list("silicatecitrus")
|
||||
chems = list(NUTRIMENT = list(1,20))
|
||||
molecule_type = list(GLUCOSE)
|
||||
|
||||
lifespan = 55
|
||||
maturation = 6
|
||||
@@ -1499,6 +1530,7 @@
|
||||
harvest_repeat = 1
|
||||
mutants = list("silicatecitrus")
|
||||
chems = list(NUTRIMENT = list(1,20))
|
||||
molecule_type = list(GLUCOSE)
|
||||
|
||||
lifespan = 60
|
||||
maturation = 6
|
||||
@@ -1517,6 +1549,7 @@
|
||||
harvest_repeat = 1
|
||||
mutants = list("shardlime")
|
||||
chems = list(SILICATE = list(3,5))
|
||||
molecule_type = list(XENOPHYLL)
|
||||
|
||||
lifespan = 55
|
||||
maturation = 6
|
||||
@@ -1531,6 +1564,7 @@
|
||||
products = list(/obj/item/weapon/shard)
|
||||
mutants = list("purpleshardlime")
|
||||
harvest_repeat = 1
|
||||
molecule_type = list(XENOPHYLL)
|
||||
|
||||
lifespan = 70
|
||||
maturation = 4
|
||||
@@ -1548,6 +1582,7 @@
|
||||
products = list(/obj/item/weapon/shard/plasma)
|
||||
harvest_repeat = 1
|
||||
mutants = null
|
||||
molecule_type = list(XENOPHYLL)
|
||||
|
||||
lifespan = 70
|
||||
maturation = 4
|
||||
@@ -1564,6 +1599,7 @@
|
||||
plant_dmi = 'icons/obj/hydroponics/grass.dmi'
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/grass)
|
||||
harvest_repeat = 1
|
||||
molecule_type = list(CELLULOSE)
|
||||
|
||||
lifespan = 60
|
||||
maturation = 2
|
||||
@@ -1581,6 +1617,7 @@
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/cocoapod)
|
||||
harvest_repeat = 1
|
||||
chems = list(NUTRIMENT = list(1,10), COCO = list(4,5))
|
||||
molecule_type = list(GLUCOSE)
|
||||
|
||||
lifespan = 20
|
||||
maturation = 5
|
||||
@@ -1601,6 +1638,7 @@
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/cherries)
|
||||
harvest_repeat = 1
|
||||
chems = list(NUTRIMENT = list(1,15))
|
||||
molecule_type = list(GLUCOSE)
|
||||
|
||||
lifespan = 35
|
||||
maturation = 5
|
||||
@@ -1618,6 +1656,7 @@
|
||||
plant_dmi = 'icons/obj/hydroponics/cinnamomum.dmi'
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/cinnamon)
|
||||
chems = list(CINNAMON = list(4,3))
|
||||
molecule_type = list(CELLULOSE)
|
||||
|
||||
lifespan = 80
|
||||
maturation = 15
|
||||
@@ -1636,6 +1675,7 @@
|
||||
plant_dmi = 'icons/obj/hydroponics/kudzu.dmi'
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/kudzupod)
|
||||
chems = list(NUTRIMENT = list(1,50), ALLICIN = list(2,10))
|
||||
molecule_type = list(CELLULOSE)
|
||||
|
||||
lifespan = 20
|
||||
maturation = 6
|
||||
@@ -1657,6 +1697,7 @@
|
||||
product_requires_player = 1
|
||||
product_kill_inactive = FALSE
|
||||
immutable = 1
|
||||
molecule_type = list(CELLULOSE)
|
||||
|
||||
lifespan = 50
|
||||
endurance = 35
|
||||
@@ -1673,6 +1714,7 @@
|
||||
plant_dmi = 'icons/obj/hydroponics/replicapod.dmi'
|
||||
products = list(/mob/living/simple_animal/hostile/retaliate/clown)
|
||||
product_requires_player = 1
|
||||
molecule_type = list(XENOPHYLL)
|
||||
|
||||
lifespan = 100
|
||||
endurance = 8
|
||||
@@ -1692,6 +1734,7 @@
|
||||
product_requires_player = TRUE
|
||||
product_kill_inactive = FALSE
|
||||
immutable = TRUE
|
||||
molecule_type = list(XENOPHYLL)
|
||||
|
||||
lifespan = 50
|
||||
endurance = 35
|
||||
@@ -1709,6 +1752,7 @@
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/nofruit)
|
||||
chems = list(NOTHING = list(1,20))
|
||||
immutable = 1
|
||||
molecule_type = list(XENOPHYLL)
|
||||
|
||||
lifespan = 30
|
||||
maturation = 5
|
||||
@@ -1727,6 +1771,7 @@
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/avocado)
|
||||
harvest_repeat = 1
|
||||
chems = list(NUTRIMENT = list(1,20))
|
||||
molecule_type = list(GLUCOSE)
|
||||
|
||||
lifespan = 55
|
||||
maturation = 6
|
||||
@@ -1746,6 +1791,7 @@
|
||||
mutants = list("silverpear")
|
||||
harvest_repeat = 1
|
||||
chems = list(NUTRIMENT = list(1,10))
|
||||
molecule_type = list(GLUCOSE)
|
||||
|
||||
lifespan = 55
|
||||
maturation = 6
|
||||
@@ -1793,6 +1839,7 @@
|
||||
plant_dmi = 'icons/obj/hydroponics/woodapple.dmi'
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/woodapple)
|
||||
chems = list(SUGAR = list(1,10))
|
||||
molecule_type = list(CELLULOSE)
|
||||
|
||||
growth_stages = 3
|
||||
maturation = 4
|
||||
@@ -1808,6 +1855,7 @@
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/breadfruit)
|
||||
harvest_repeat = 1
|
||||
chems = list(FLOUR = list(2,10))
|
||||
molecule_type = list(STARCH)
|
||||
|
||||
potency = 30
|
||||
lifespan = 50
|
||||
@@ -1826,6 +1874,7 @@
|
||||
plant_dmi = 'icons/obj/hydroponics/garlic.dmi'
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/garlic)
|
||||
chems = list(HOLYWATER = list(1,25),NUTRIMENT = list(1,10), ALLICIN = list(5,10))
|
||||
molecule_type = list(CELLULOSE)
|
||||
|
||||
potency = 15
|
||||
lifespan = 200
|
||||
@@ -1843,6 +1892,7 @@
|
||||
plant_dmi = 'icons/obj/hydroponics/pitcher.dmi'
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/pitcher)
|
||||
chems = list(FORMIC_ACID = list(1,25))
|
||||
molecule_type = list(CELLULOSE)
|
||||
|
||||
potency = 10
|
||||
lifespan = 50
|
||||
@@ -1864,6 +1914,7 @@
|
||||
plant_dmi = 'icons/obj/hydroponics/aloe.dmi'
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/aloe)
|
||||
chems = list(KATHALAI = list(1,10)) //Not as good as poppy's opium for speedy heals, but general purpose.
|
||||
molecule_type = list(GLUCOSE)
|
||||
|
||||
lifespan = 30
|
||||
maturation = 6
|
||||
@@ -1881,6 +1932,7 @@
|
||||
plant_dmi = 'icons/obj/hydroponics/vaporsac.dmi'
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/vaporsac)
|
||||
chems = list(VAPORSALT = list(1,2))
|
||||
molecule_type = list(GLUCOSE)
|
||||
|
||||
lifespan = 50
|
||||
maturation = 6
|
||||
@@ -1897,6 +1949,7 @@
|
||||
plant_icon_state = "clover"
|
||||
products = list(/obj/item/weapon/reagent_containers/food/snacks/grown/clover)
|
||||
chems = list(NUTRIMENT = list(1,25))
|
||||
molecule_type = list(CELLULOSE)
|
||||
harvest_repeat = 1
|
||||
lifespan = 60
|
||||
maturation = 2
|
||||
|
||||
@@ -271,7 +271,7 @@
|
||||
H.zombify(user)
|
||||
else
|
||||
success = FALSE
|
||||
|
||||
|
||||
else if(istype(target, /mob/living/simple_animal/hostile/necro/zombie/))
|
||||
success = TRUE
|
||||
var/mob/living/simple_animal/S = target
|
||||
@@ -443,7 +443,7 @@
|
||||
modifystate = "floramut"
|
||||
var/charge_tick = 0
|
||||
var/mode = 1
|
||||
var/list/genes = list(GENE_PHYTOCHEMISTRY, GENE_MORPHOLOGY, GENE_BIOLUMINESCENCE, GENE_ECOLOGY, GENE_ECOPHYSIOLOGY, GENE_METABOLISM, GENE_DEVELOPMENT, GENE_XENOPHYSIOLOGY)
|
||||
var/list/genes = list(GENE_PHYTOCHEMISTRY, GENE_BIOMOLECULES, GENE_MORPHOLOGY, GENE_BIOLUMINESCENCE, GENE_ECOLOGY, GENE_ECOPHYSIOLOGY, GENE_METABOLISM, GENE_DEVELOPMENT, GENE_XENOPHYSIOLOGY)
|
||||
var/emagged = FALSE
|
||||
var/isSomatoraying = FALSE
|
||||
|
||||
@@ -552,7 +552,7 @@
|
||||
playsound(user,'sound/effects/stealthoff.ogg', 50)
|
||||
if((H.species.flags & IS_PLANT) && (H.nutrition < 500))
|
||||
H.nutrition += 30
|
||||
else
|
||||
else
|
||||
H.show_message("<span class='notice'>The radiation beam dissipates harmlessly through your body.</span>")
|
||||
isSomatoraying = FALSE
|
||||
|
||||
|
||||
Reference in New Issue
Block a user