mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-01-02 21:44:17 +00:00
Removed TRAIT_LIFESPAN.
This commit is contained in:
@@ -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))
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
)
|
||||
|
||||
@@ -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
|
||||
@@ -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>"
|
||||
|
||||
@@ -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()
|
||||
..()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user