mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
Merge remote-tracking branch 'upstream/master' into dev-freeze
Conflicts: code/datums/ai_laws.dm code/modules/hydroponics/spreading/spreading.dm
This commit is contained in:
@@ -62,6 +62,7 @@
|
||||
var/list/neighbors = list()
|
||||
var/obj/effect/plant/parent
|
||||
var/datum/seed/seed
|
||||
var/sampled = 0
|
||||
var/floor = 0
|
||||
var/spread_chance = 40
|
||||
var/spread_distance = 3
|
||||
@@ -237,8 +238,14 @@
|
||||
plant_controller.add_plant(src)
|
||||
|
||||
if(istype(W, /obj/item/weapon/wirecutters) || istype(W, /obj/item/weapon/scalpel))
|
||||
if(sampled)
|
||||
user << "<span class='warning'>\The [src] has already been sampled recently.</span>"
|
||||
return
|
||||
if(!is_mature())
|
||||
user << "<span class='warning'>\The [src] is not mature enough to yield a sample yet.</span>"
|
||||
return
|
||||
if(!seed)
|
||||
user << "<span class='danger'>There is nothing to take a sample from.</span>"
|
||||
user << "<span class='warning'>There is nothing to take a sample from.</span>"
|
||||
return
|
||||
if(sampled)
|
||||
user << "<span class='danger'>You cannot take another sample from \the [src].</span>"
|
||||
@@ -246,7 +253,8 @@
|
||||
if(prob(70))
|
||||
sampled = 1
|
||||
seed.harvest(user,0,1)
|
||||
health -= (rand(3,5)*10)
|
||||
health -= (rand(3,5)*5)
|
||||
sampled = 1
|
||||
else
|
||||
..()
|
||||
if(W.force)
|
||||
|
||||
@@ -69,6 +69,12 @@
|
||||
last_tick = world.time
|
||||
update_neighbors()
|
||||
|
||||
if(sampled)
|
||||
//Should be between 2-7 for given the default range of values for TRAIT_PRODUCTION
|
||||
var/chance = max(1, round(30/seed.get_trait(TRAIT_PRODUCTION)))
|
||||
if(prob(chance))
|
||||
sampled = 0
|
||||
|
||||
if(is_mature() && neighbors.len && prob(spread_chance))
|
||||
//spread to 1-3 adjacent turfs depending on yield trait.
|
||||
var/max_spread = between(1, round(seed.get_trait(TRAIT_YIELD)*3/14), 3)
|
||||
|
||||
@@ -260,7 +260,6 @@
|
||||
seed.harvest(user,yield_mod)
|
||||
else
|
||||
seed.harvest(get_turf(src),yield_mod)
|
||||
|
||||
// Reset values.
|
||||
harvest = 0
|
||||
lastproduce = age
|
||||
@@ -292,6 +291,7 @@
|
||||
mutation_mod = 0
|
||||
|
||||
user << "You remove the dead plant."
|
||||
lastproduce = 0
|
||||
check_health()
|
||||
return
|
||||
|
||||
@@ -461,6 +461,7 @@
|
||||
return
|
||||
|
||||
user << "You plant the [S.seed.seed_name] [S.seed.seed_noun]."
|
||||
lastproduce = 0
|
||||
seed = S.seed //Grab the seed datum.
|
||||
dead = 0
|
||||
age = 1
|
||||
|
||||
Reference in New Issue
Block a user