Removed TRAIT_LIFESPAN.

This commit is contained in:
Zuhayr
2015-01-31 12:47:54 +10:30
parent 8790bfd014
commit 43802dceb7
8 changed files with 63 additions and 103 deletions

View File

@@ -187,8 +187,6 @@
//have a few beneficial effects on nearby plants
if(prob(10))
H.lastcycle -= 5
if(prob(10))
H.seed.set_trait(TRAIT_LIFESPAN,max(H.seed.get_trait(TRAIT_LIFESPAN)*1.5,H.seed.get_trait(TRAIT_LIFESPAN)+1))
if(prob(10))
H.seed.set_trait(TRAIT_ENDURANCE,max(H.seed.get_trait(TRAIT_ENDURANCE)*1.5,H.seed.get_trait(TRAIT_ENDURANCE)+1))
if(H.toxins && prob(10))

View File

@@ -1007,6 +1007,18 @@ var/global/floorIsLava = 0
var/datum/seed/S = seed_types[seedtype]
S.harvest(usr,0,0,1)
/datum/admins/proc/spawn_plant()
set category = "Debug"
set desc = "Spawn a spreading plant effect."
set name = "Spawn Plant"
if(!check_rights(R_SPAWN)) return
var/seedtype = input("Select a seed type", "Spawn Plant") as null|anything in seed_types
if(!seedtype || !seed_types[seedtype])
return
new /obj/effect/plant(get_turf(usr), seed_types[seedtype])
/datum/admins/proc/spawn_atom(var/object as text)
set category = "Debug"
set desc = "(atom path) Spawn an atom"

View File

@@ -108,6 +108,7 @@ var/list/admin_verbs_fun = list(
)
var/list/admin_verbs_spawn = list(
/datum/admins/proc/spawn_fruit,
/datum/admins/proc/spawn_plant,
/datum/admins/proc/spawn_atom, /*allows us to spawn instances*/
/client/proc/respawn_character
)

View File

@@ -38,16 +38,15 @@
#define TRAIT_WEED_TOLERANCE 28
#define TRAIT_ENDURANCE 29
#define TRAIT_YIELD 30
#define TRAIT_LIFESPAN 31
#define TRAIT_SPREAD 32
#define TRAIT_MATURATION 33
#define TRAIT_PRODUCTION 34
#define TRAIT_TELEPORTING 35
#define TRAIT_PLANT_COLOUR 36
#define TRAIT_PRODUCT_COLOUR 37
#define TRAIT_BIOLUM 38
#define TRAIT_BIOLUM_COLOUR 39
#define TRAIT_FLOWERS 40
#define TRAIT_FLOWER_ICON 41
#define TRAIT_FLOWER_COLOUR 42
#define TRAIT_IMMUTABLE 43
#define TRAIT_SPREAD 31
#define TRAIT_MATURATION 32
#define TRAIT_PRODUCTION 33
#define TRAIT_TELEPORTING 34
#define TRAIT_PLANT_COLOUR 35
#define TRAIT_PRODUCT_COLOUR 36
#define TRAIT_BIOLUM 37
#define TRAIT_BIOLUM_COLOUR 38
#define TRAIT_FLOWERS 39
#define TRAIT_FLOWER_ICON 40
#define TRAIT_FLOWER_COLOUR 41
#define TRAIT_IMMUTABLE 42

View File

@@ -55,7 +55,6 @@
dat += "<table>"
dat += "<tr><td><b>Endurance</b></td><td>[grown_seed.get_trait(TRAIT_ENDURANCE)]</td></tr>"
dat += "<tr><td><b>Yield</b></td><td>[grown_seed.get_trait(TRAIT_YIELD)]</td></tr>"
dat += "<tr><td><b>Lifespan</b></td><td>[grown_seed.get_trait(TRAIT_LIFESPAN)]</td></tr>"
dat += "<tr><td><b>Maturation time</b></td><td>[grown_seed.get_trait(TRAIT_MATURATION)]</td></tr>"
dat += "<tr><td><b>Production time</b></td><td>[grown_seed.get_trait(TRAIT_PRODUCTION)]</td></tr>"
dat += "<tr><td><b>Potency</b></td><td>[grown_seed.get_trait(TRAIT_POTENCY)]</td></tr>"

View File

@@ -276,21 +276,12 @@
health -= HYDRO_SPEED_MULTIPLIER
// Handle life and death.
// If the plant is too old, it loses health fast.
if(age > seed.get_trait(TRAIT_LIFESPAN))
health -= rand(3,5) * HYDRO_SPEED_MULTIPLIER
// When the plant dies, weeds thrive and pests die off.
if(health <= 0)
dead = 1
mutation_level = 0
harvest = 0
weedlevel += 1 * HYDRO_SPEED_MULTIPLIER
pestlevel = 0
check_health()
// If enough time (in cycles, not ticks) has passed since the plant was harvested, we're ready to harvest again.
else if(seed.products && seed.products.len && \
(age > seed.get_trait(TRAIT_PRODUCTION)) && \
if(seed.products && seed.products.len && \
(age > seed.get_trait(TRAIT_MATURATION)) && \
((age - lastproduce) > seed.get_trait(TRAIT_PRODUCTION)) && \
(!harvest && !dead))
@@ -304,9 +295,21 @@
if(seed && seed.can_self_harvest && harvest && !closed_system && prob(5))
harvest()
check_health()
return
/obj/machinery/portable_atmospherics/hydroponics/proc/check_health()
if(seed && !dead && health <= 0)
die()
check_level_sanity()
update_icon()
return
/obj/machinery/portable_atmospherics/hydroponics/proc/die()
dead = 1
mutation_level = 0
harvest = 0
weedlevel += 1 * HYDRO_SPEED_MULTIPLIER
pestlevel = 0
//Process reagents being input into the tray.
/obj/machinery/portable_atmospherics/hydroponics/proc/process_reagents()
@@ -357,8 +360,7 @@
toxins -= round(water_added/4)
temp_chem_holder.reagents.clear_reagents()
check_level_sanity()
update_icon()
check_health()
//Harvests the product of a plant.
/obj/machinery/portable_atmospherics/hydroponics/proc/harvest(var/mob/user)
@@ -388,8 +390,7 @@
sampled = 0
mutation_mod = 0
check_level_sanity()
update_icon()
check_health()
return
//Clears out a dead plant.
@@ -408,8 +409,7 @@
mutation_mod = 0
user << "You remove the dead plant."
check_level_sanity()
update_icon()
check_health()
return
//Refreshes the icon and sets the luminosity
@@ -592,7 +592,7 @@
sampled = 1
// Bookkeeping.
check_level_sanity()
check_health()
force_update = 1
process()
@@ -646,8 +646,7 @@
del(O)
check_level_sanity()
update_icon()
check_health()
else
user << "<span class='danger'>\The [src] already has seeds in it!</span>"
@@ -681,9 +680,7 @@
user << "You spray [src] with [O]."
playsound(loc, 'sound/effects/spray3.ogg', 50, 1, -6)
del(O)
check_level_sanity()
update_icon()
check_health()
else if(mechanical && istype(O, /obj/item/weapon/wrench))
@@ -708,6 +705,11 @@
A.icon_state = src.icon_state
A.hydrotray_type = src.type
del(src)
else if(O.force && seed)
user.visible_message("<span class='danger'>\The [src] attacks the [seed.display_name] with \the [O]!</span>")
if(!dead)
health -= O.force
check_health()
return
/obj/machinery/portable_atmospherics/hydroponics/attack_tk(mob/user as mob)
@@ -827,8 +829,7 @@
health = seed.get_trait(TRAIT_ENDURANCE)
lastcycle = world.time
pixel_y = rand(-5,5)
check_level_sanity()
update_icon()
check_health()
/obj/machinery/portable_atmospherics/hydroponics/soil/invisible/remove_dead()
..()

View File

@@ -484,7 +484,6 @@ proc/populate_seed_list()
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_trait(TRAIT_LIFESPAN,get_trait(TRAIT_PRODUCTION)+rand(5,10))
//Returns a key corresponding to an entry in the global seed list.
/datum/seed/proc/get_mutant_variant()
@@ -503,7 +502,6 @@ proc/populate_seed_list()
for(var/i = 0;i<total_mutations;i++)
switch(rand(0,12))
if(0) //Plant cancer!
set_trait(TRAIT_LIFESPAN, get_trait(TRAIT_LIFESPAN)-rand(1,5),null,0)
set_trait(TRAIT_ENDURANCE,get_trait(TRAIT_ENDURANCE)-rand(10,20),null,0)
source_turf.visible_message("<span class='danger'>\The [display_name] withers rapidly!</span>")
if(1)
@@ -533,7 +531,6 @@ proc/populate_seed_list()
if(prob(degree*5))
set_trait(TRAIT_PARASITE,!get_trait(TRAIT_PARASITE))
if(7)
set_trait(TRAIT_LIFESPAN, get_trait(TRAIT_LIFESPAN)+(rand(-2,2)*degree),30,10)
if(get_trait(TRAIT_YIELD) != -1)
set_trait(TRAIT_YIELD, get_trait(TRAIT_YIELD)+(rand(-2,2)*degree),10,0)
if(8)
@@ -580,7 +577,7 @@ proc/populate_seed_list()
// 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.
if(gene.genetype == GENE_PRODUCTS)
for(var/trait in list(TRAIT_YIELD, TRAIT_ENDURANCE, TRAIT_LIFESPAN))
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(!products) products = list()
@@ -642,7 +639,7 @@ proc/populate_seed_list()
if(GENE_RESISTANCE)
traits_to_copy = list(TRAIT_TOXINS_TOLERANCE,TRAIT_PEST_TOLERANCE,TRAIT_WEED_TOLERANCE)
if(GENE_VIGOUR)
traits_to_copy = list(TRAIT_ENDURANCE,TRAIT_YIELD,TRAIT_LIFESPAN,TRAIT_SPREAD,TRAIT_MATURATION,TRAIT_PRODUCTION,TRAIT_TELEPORTING)
traits_to_copy = list(TRAIT_ENDURANCE,TRAIT_YIELD,TRAIT_SPREAD,TRAIT_MATURATION,TRAIT_PRODUCTION,TRAIT_TELEPORTING)
if(GENE_FLOWERS)
traits_to_copy = list(TRAIT_PLANT_COLOUR,TRAIT_PRODUCT_COLOUR,TRAIT_BIOLUM,TRAIT_BIOLUM_COLOUR,TRAIT_FLOWERS,TRAIT_FLOWER_ICON,TRAIT_FLOWER_COLOUR)
@@ -762,7 +759,6 @@ proc/populate_seed_list()
set_trait(TRAIT_PARASITE, 0) // 0 = no, 1 = gain health from weed level.
set_trait(TRAIT_STINGS, 0) // Can cause damage/inject reagents when thrown or handled.
set_trait(TRAIT_YIELD, 0) // Amount of product.
set_trait(TRAIT_LIFESPAN, 0) // Time before the plant dies.
set_trait(TRAIT_SPREAD, 0) // 0 limits plant to tray, 1 = creepers, 2 = vines.
set_trait(TRAIT_MATURATION, 0) // Time taken before the plant is mature.
set_trait(TRAIT_PRODUCTION, 0) // Time before harvesting can be undertaken again.
@@ -811,7 +807,6 @@ proc/populate_seed_list()
/datum/seed/chili/New()
..()
set_trait(TRAIT_HARVEST_REPEAT,1)
set_trait(TRAIT_LIFESPAN,20)
set_trait(TRAIT_MATURATION,5)
set_trait(TRAIT_PRODUCTION,5)
set_trait(TRAIT_YIELD,4)
@@ -847,7 +842,6 @@ proc/populate_seed_list()
..()
set_trait(TRAIT_HARVEST_REPEAT,1)
set_trait(TRAIT_JUICY,1)
set_trait(TRAIT_LIFESPAN,20)
set_trait(TRAIT_MATURATION,5)
set_trait(TRAIT_PRODUCTION,5)
set_trait(TRAIT_YIELD,2)
@@ -869,7 +863,6 @@ proc/populate_seed_list()
set_trait(TRAIT_SPREAD,1)
set_trait(TRAIT_BIOLUM,1)
set_trait(TRAIT_BIOLUM_COLOUR,"#006622")
set_trait(TRAIT_LIFESPAN,30)
set_trait(TRAIT_MATURATION,5)
set_trait(TRAIT_PRODUCTION,5)
set_trait(TRAIT_YIELD,2)
@@ -914,7 +907,6 @@ proc/populate_seed_list()
/datum/seed/nettle/New()
..()
set_trait(TRAIT_HARVEST_REPEAT,1)
set_trait(TRAIT_LIFESPAN,30)
set_trait(TRAIT_MATURATION,6)
set_trait(TRAIT_PRODUCTION,6)
set_trait(TRAIT_YIELD,4)
@@ -952,7 +944,6 @@ proc/populate_seed_list()
..()
set_trait(TRAIT_HARVEST_REPEAT,1)
set_trait(TRAIT_JUICY,1)
set_trait(TRAIT_LIFESPAN,25)
set_trait(TRAIT_MATURATION,8)
set_trait(TRAIT_PRODUCTION,6)
set_trait(TRAIT_YIELD,2)
@@ -1028,7 +1019,6 @@ proc/populate_seed_list()
/datum/seed/eggplant/New()
..()
set_trait(TRAIT_HARVEST_REPEAT,1)
set_trait(TRAIT_LIFESPAN,25)
set_trait(TRAIT_MATURATION,6)
set_trait(TRAIT_PRODUCTION,6)
set_trait(TRAIT_YIELD,2)
@@ -1046,7 +1036,6 @@ proc/populate_seed_list()
/datum/seed/eggplant/eggs/New()
..()
set_trait(TRAIT_LIFESPAN,75)
set_trait(TRAIT_PRODUCTION,12)
set_trait(TRAIT_PRODUCT_COLOUR,"#E7EDD1")
@@ -1062,7 +1051,6 @@ proc/populate_seed_list()
/datum/seed/apple/New()
..()
set_trait(TRAIT_HARVEST_REPEAT,1)
set_trait(TRAIT_LIFESPAN,55)
set_trait(TRAIT_MATURATION,6)
set_trait(TRAIT_PRODUCTION,6)
set_trait(TRAIT_YIELD,5)
@@ -1105,7 +1093,6 @@ proc/populate_seed_list()
/datum/seed/ambrosia/New()
..()
set_trait(TRAIT_HARVEST_REPEAT,1)
set_trait(TRAIT_LIFESPAN,60)
set_trait(TRAIT_MATURATION,6)
set_trait(TRAIT_PRODUCTION,6)
set_trait(TRAIT_YIELD,6)
@@ -1140,7 +1127,6 @@ proc/populate_seed_list()
/datum/seed/mushroom/New()
..()
set_trait(TRAIT_LIFESPAN,35)
set_trait(TRAIT_MATURATION,7)
set_trait(TRAIT_PRODUCTION,1)
set_trait(TRAIT_YIELD,5)
@@ -1160,7 +1146,6 @@ proc/populate_seed_list()
/datum/seed/mushroom/mold/New()
..()
set_trait(TRAIT_SPREAD,1)
set_trait(TRAIT_LIFESPAN,50)
set_trait(TRAIT_MATURATION,10)
set_trait(TRAIT_YIELD,-1)
set_trait(TRAIT_PRODUCT_ICON,"mushroom5")
@@ -1178,7 +1163,6 @@ proc/populate_seed_list()
/datum/seed/mushroom/plump/New()
..()
set_trait(TRAIT_LIFESPAN,25)
set_trait(TRAIT_MATURATION,8)
set_trait(TRAIT_YIELD,4)
set_trait(TRAIT_POTENCY,0)
@@ -1231,7 +1215,6 @@ proc/populate_seed_list()
/datum/seed/mushroom/hallucinogenic/strong/New()
..()
set_trait(TRAIT_LIFESPAN,25)
set_trait(TRAIT_PRODUCTION,1)
set_trait(TRAIT_POTENCY,15)
set_trait(TRAIT_PRODUCT_ICON,"mushroom8")
@@ -1249,7 +1232,6 @@ proc/populate_seed_list()
/datum/seed/mushroom/poison/New()
..()
set_trait(TRAIT_LIFESPAN,50)
set_trait(TRAIT_MATURATION,10)
set_trait(TRAIT_PRODUCTION,5)
set_trait(TRAIT_YIELD,4)
@@ -1286,7 +1268,6 @@ proc/populate_seed_list()
/datum/seed/mushroom/towercap/New()
..()
set_trait(TRAIT_LIFESPAN,80)
set_trait(TRAIT_MATURATION,15)
set_trait(TRAIT_PRODUCT_ICON,"mushroom7")
set_trait(TRAIT_PRODUCT_COLOUR,"#79A36D")
@@ -1304,7 +1285,6 @@ proc/populate_seed_list()
/datum/seed/mushroom/glowshroom/New()
..()
set_trait(TRAIT_SPREAD,1)
set_trait(TRAIT_LIFESPAN,120)
set_trait(TRAIT_MATURATION,15)
set_trait(TRAIT_YIELD,3)
set_trait(TRAIT_EXPLOSIVE,1)
@@ -1326,7 +1306,6 @@ proc/populate_seed_list()
/datum/seed/mushroom/plastic/New()
..()
set_trait(TRAIT_LIFESPAN,15)
set_trait(TRAIT_MATURATION,5)
set_trait(TRAIT_PRODUCTION,6)
set_trait(TRAIT_YIELD,6)
@@ -1346,7 +1325,6 @@ proc/populate_seed_list()
/datum/seed/flower/New()
..()
set_trait(TRAIT_LIFESPAN,100)
set_trait(TRAIT_MATURATION,7)
set_trait(TRAIT_PRODUCTION,1)
set_trait(TRAIT_YIELD,2)
@@ -1364,7 +1342,6 @@ proc/populate_seed_list()
/datum/seed/flower/poppy/New()
..()
set_trait(TRAIT_LIFESPAN,25)
set_trait(TRAIT_POTENCY,20)
set_trait(TRAIT_MATURATION,8)
set_trait(TRAIT_PRODUCTION,6)
@@ -1381,7 +1358,6 @@ proc/populate_seed_list()
/datum/seed/flower/sunflower/New()
..()
set_trait(TRAIT_LIFESPAN,25)
set_trait(TRAIT_MATURATION,6)
set_trait(TRAIT_PRODUCT_ICON,"flower2")
set_trait(TRAIT_PRODUCT_COLOUR,"#FFF700")
@@ -1399,7 +1375,6 @@ proc/populate_seed_list()
/datum/seed/grapes/New()
..()
set_trait(TRAIT_HARVEST_REPEAT,1)
set_trait(TRAIT_LIFESPAN,50)
set_trait(TRAIT_MATURATION,3)
set_trait(TRAIT_PRODUCTION,5)
set_trait(TRAIT_YIELD,4)
@@ -1432,7 +1407,6 @@ proc/populate_seed_list()
/datum/seed/peanuts/New()
..()
set_trait(TRAIT_HARVEST_REPEAT,1)
set_trait(TRAIT_LIFESPAN,55)
set_trait(TRAIT_MATURATION,6)
set_trait(TRAIT_PRODUCTION,6)
set_trait(TRAIT_YIELD,6)
@@ -1451,7 +1425,6 @@ proc/populate_seed_list()
/datum/seed/cabbage/New()
..()
set_trait(TRAIT_HARVEST_REPEAT,1)
set_trait(TRAIT_LIFESPAN,50)
set_trait(TRAIT_MATURATION,3)
set_trait(TRAIT_PRODUCTION,5)
set_trait(TRAIT_YIELD,4)
@@ -1471,7 +1444,6 @@ proc/populate_seed_list()
/datum/seed/banana/New()
..()
set_trait(TRAIT_HARVEST_REPEAT,1)
set_trait(TRAIT_LIFESPAN,50)
set_trait(TRAIT_MATURATION,6)
set_trait(TRAIT_PRODUCTION,6)
set_trait(TRAIT_YIELD,3)
@@ -1489,7 +1461,6 @@ proc/populate_seed_list()
/datum/seed/corn/New()
..()
set_trait(TRAIT_LIFESPAN,25)
set_trait(TRAIT_MATURATION,8)
set_trait(TRAIT_PRODUCTION,6)
set_trait(TRAIT_YIELD,3)
@@ -1509,7 +1480,6 @@ proc/populate_seed_list()
/datum/seed/potato/New()
..()
set_trait(TRAIT_PRODUCES_POWER,1)
set_trait(TRAIT_LIFESPAN,30)
set_trait(TRAIT_MATURATION,10)
set_trait(TRAIT_PRODUCTION,1)
set_trait(TRAIT_YIELD,4)
@@ -1528,7 +1498,6 @@ proc/populate_seed_list()
/datum/seed/soybean/New()
..()
set_trait(TRAIT_HARVEST_REPEAT,1)
set_trait(TRAIT_LIFESPAN,25)
set_trait(TRAIT_MATURATION,4)
set_trait(TRAIT_PRODUCTION,4)
set_trait(TRAIT_YIELD,3)
@@ -1546,7 +1515,6 @@ proc/populate_seed_list()
/datum/seed/wheat/New()
..()
set_trait(TRAIT_LIFESPAN,25)
set_trait(TRAIT_MATURATION,6)
set_trait(TRAIT_PRODUCTION,1)
set_trait(TRAIT_YIELD,4)
@@ -1565,7 +1533,6 @@ proc/populate_seed_list()
/datum/seed/rice/New()
..()
set_trait(TRAIT_LIFESPAN,25)
set_trait(TRAIT_MATURATION,6)
set_trait(TRAIT_PRODUCTION,1)
set_trait(TRAIT_YIELD,4)
@@ -1584,7 +1551,6 @@ proc/populate_seed_list()
/datum/seed/carrots/New()
..()
set_trait(TRAIT_LIFESPAN,25)
set_trait(TRAIT_MATURATION,10)
set_trait(TRAIT_PRODUCTION,1)
set_trait(TRAIT_YIELD,5)
@@ -1600,7 +1566,6 @@ proc/populate_seed_list()
/datum/seed/weeds/New()
..()
set_trait(TRAIT_LIFESPAN,100)
set_trait(TRAIT_MATURATION,5)
set_trait(TRAIT_PRODUCTION,1)
set_trait(TRAIT_YIELD,-1)
@@ -1620,7 +1585,6 @@ proc/populate_seed_list()
/datum/seed/whitebeets/New()
..()
set_trait(TRAIT_LIFESPAN,60)
set_trait(TRAIT_MATURATION,6)
set_trait(TRAIT_PRODUCTION,6)
set_trait(TRAIT_YIELD,6)
@@ -1640,7 +1604,6 @@ proc/populate_seed_list()
/datum/seed/sugarcane/New()
..()
set_trait(TRAIT_HARVEST_REPEAT,1)
set_trait(TRAIT_LIFESPAN,60)
set_trait(TRAIT_MATURATION,3)
set_trait(TRAIT_PRODUCTION,6)
set_trait(TRAIT_YIELD,4)
@@ -1661,7 +1624,6 @@ proc/populate_seed_list()
..()
set_trait(TRAIT_HARVEST_REPEAT,1)
set_trait(TRAIT_JUICY,1)
set_trait(TRAIT_LIFESPAN,50)
set_trait(TRAIT_MATURATION,6)
set_trait(TRAIT_PRODUCTION,6)
set_trait(TRAIT_YIELD,3)
@@ -1681,7 +1643,6 @@ proc/populate_seed_list()
/datum/seed/pumpkin/New()
..()
set_trait(TRAIT_HARVEST_REPEAT,1)
set_trait(TRAIT_LIFESPAN,50)
set_trait(TRAIT_MATURATION,6)
set_trait(TRAIT_PRODUCTION,6)
set_trait(TRAIT_YIELD,3)
@@ -1702,7 +1663,6 @@ proc/populate_seed_list()
..()
set_trait(TRAIT_HARVEST_REPEAT,1)
set_trait(TRAIT_JUICY,1)
set_trait(TRAIT_LIFESPAN,55)
set_trait(TRAIT_MATURATION,6)
set_trait(TRAIT_PRODUCTION,6)
set_trait(TRAIT_YIELD,4)
@@ -1739,7 +1699,6 @@ proc/populate_seed_list()
/datum/seed/grass/New()
..()
set_trait(TRAIT_HARVEST_REPEAT,1)
set_trait(TRAIT_LIFESPAN,60)
set_trait(TRAIT_MATURATION,2)
set_trait(TRAIT_PRODUCTION,5)
set_trait(TRAIT_YIELD,5)
@@ -1758,7 +1717,6 @@ proc/populate_seed_list()
/datum/seed/cocoa/New()
..()
set_trait(TRAIT_HARVEST_REPEAT,1)
set_trait(TRAIT_LIFESPAN,20)
set_trait(TRAIT_MATURATION,5)
set_trait(TRAIT_PRODUCTION,5)
set_trait(TRAIT_YIELD,2)
@@ -1779,7 +1737,6 @@ proc/populate_seed_list()
..()
set_trait(TRAIT_HARVEST_REPEAT,1)
set_trait(TRAIT_JUICY,1)
set_trait(TRAIT_LIFESPAN,35)
set_trait(TRAIT_MATURATION,5)
set_trait(TRAIT_PRODUCTION,5)
set_trait(TRAIT_YIELD,3)
@@ -1797,7 +1754,6 @@ proc/populate_seed_list()
/datum/seed/kudzu/New()
..()
set_trait(TRAIT_LIFESPAN,20)
set_trait(TRAIT_MATURATION,6)
set_trait(TRAIT_PRODUCTION,6)
set_trait(TRAIT_YIELD,4)
@@ -1819,7 +1775,6 @@ proc/populate_seed_list()
/datum/seed/diona/New()
..()
set_trait(TRAIT_IMMUTABLE,1)
set_trait(TRAIT_LIFESPAN,50)
set_trait(TRAIT_ENDURANCE,8)
set_trait(TRAIT_MATURATION,5)
set_trait(TRAIT_PRODUCTION,10)
@@ -1839,7 +1794,6 @@ proc/populate_seed_list()
/datum/seed/shand/New()
..()
set_trait(TRAIT_LIFESPAN,50)
set_trait(TRAIT_MATURATION,3)
set_trait(TRAIT_PRODUCTION,5)
set_trait(TRAIT_YIELD,4)
@@ -1858,7 +1812,6 @@ proc/populate_seed_list()
/datum/seed/mtear/New()
..()
set_trait(TRAIT_LIFESPAN,50)
set_trait(TRAIT_MATURATION,3)
set_trait(TRAIT_PRODUCTION,5)
set_trait(TRAIT_YIELD,4)
@@ -1877,7 +1830,6 @@ proc/populate_seed_list()
/datum/seed/telriis/New()
..()
set_trait(TRAIT_PLANT_ICON,"telriis")
set_trait(TRAIT_LIFESPAN,50)
set_trait(TRAIT_ENDURANCE,50)
set_trait(TRAIT_MATURATION,5)
set_trait(TRAIT_PRODUCTION,5)
@@ -1893,7 +1845,6 @@ proc/populate_seed_list()
/datum/seed/thaadra/New()
..()
set_trait(TRAIT_PLANT_ICON,"thaadra")
set_trait(TRAIT_LIFESPAN,20)
set_trait(TRAIT_ENDURANCE,10)
set_trait(TRAIT_MATURATION,5)
set_trait(TRAIT_PRODUCTION,9)
@@ -1909,7 +1860,6 @@ proc/populate_seed_list()
/datum/seed/jurlmah/New()
..()
set_trait(TRAIT_PLANT_ICON,"jurlmah")
set_trait(TRAIT_LIFESPAN,20)
set_trait(TRAIT_ENDURANCE,12)
set_trait(TRAIT_MATURATION,8)
set_trait(TRAIT_PRODUCTION,9)
@@ -1925,7 +1875,6 @@ proc/populate_seed_list()
/datum/seed/amauri/New()
..()
set_trait(TRAIT_PLANT_ICON,"amauri")
set_trait(TRAIT_LIFESPAN,30)
set_trait(TRAIT_ENDURANCE,10)
set_trait(TRAIT_MATURATION,8)
set_trait(TRAIT_PRODUCTION,9)
@@ -1941,7 +1890,6 @@ proc/populate_seed_list()
/datum/seed/gelthi/New()
..()
set_trait(TRAIT_PLANT_ICON,"gelthi")
set_trait(TRAIT_LIFESPAN,20)
set_trait(TRAIT_ENDURANCE,15)
set_trait(TRAIT_MATURATION,6)
set_trait(TRAIT_PRODUCTION,6)
@@ -1957,7 +1905,6 @@ proc/populate_seed_list()
/datum/seed/vale/New()
..()
set_trait(TRAIT_PLANT_ICON,"vale")
set_trait(TRAIT_LIFESPAN,25)
set_trait(TRAIT_ENDURANCE,15)
set_trait(TRAIT_MATURATION,8)
set_trait(TRAIT_PRODUCTION,10)
@@ -1973,7 +1920,6 @@ proc/populate_seed_list()
/datum/seed/surik/New()
..()
set_trait(TRAIT_PLANT_ICON,"surik")
set_trait(TRAIT_LIFESPAN,30)
set_trait(TRAIT_ENDURANCE,18)
set_trait(TRAIT_MATURATION,7)
set_trait(TRAIT_PRODUCTION,7)

View File

@@ -25,7 +25,6 @@
spread_chance = 0
/obj/effect/plant/New(var/newloc, var/datum/seed/newseed)
..()
if(!istype(newseed))
newseed = seed_types[DEFAULT_SEED]
@@ -34,7 +33,8 @@
del(src)
return
max_health = seed.get_trait(TRAIT_ENDURANCE)
name = seed.display_name
max_health = round(seed.get_trait(TRAIT_ENDURANCE)/2)
health = max_health
set_dir(calc_dir())
@@ -45,7 +45,7 @@
/obj/effect/plant/update_icon()
// TODO: convert this to an icon cache.
icon_state = "[seed.get_trait(TRAIT_PLANT_ICON)]-[rand(1,max(1,round(seed.growth_stages/2)))]"
icon_state = "[seed.get_trait(TRAIT_PLANT_ICON)]-[rand(1,max(1,seed.growth_stages-1))]"
color = seed.get_trait(TRAIT_PLANT_COLOUR)
if(!floor)
// This should make the plant grow flush against the wall it's meant to be growing from.
@@ -75,6 +75,10 @@
/obj/effect/plant/Del()
processing_objects -= src
..()
/obj/effect/plant/examine()
..()
usr << "Max dist from parent is [round(seed.get_trait(TRAIT_POTENCY)/15)]."
usr << "Current dist is [get_dist(get_root(),src)]."
/obj/effect/plant/proc/die_off()
// Kill off any of our children (and add an added bonus, other plants in this area)
@@ -97,7 +101,7 @@
health -= seed.handle_environment(T, T.return_air(),1)
// Hibernating or too far from parent, no chance of spreading.
if(hibernating || (parent && (get_dist(parent,src) > seed.get_trait(TRAIT_POTENCY)/15)))
if(hibernating || (parent && (get_dist(get_root(),src) > round(seed.get_trait(TRAIT_POTENCY)/15))))
return
// Count our neighbors and possible locations for spreading.