Merge pull request #10048 from PsiOmegaDelta/dev-freeze

Dev freeze
This commit is contained in:
PsiOmegaDelta
2015-07-08 09:10:42 +02:00
5 changed files with 21 additions and 7 deletions
+2 -2
View File
@@ -49,7 +49,7 @@
var/n = 1
// Figure out power. (power of 2)
while (n < num)
while (n <= num)
power += 4
n *= 16
@@ -60,7 +60,7 @@
power -= 4
// Append zeroes to make sure that hex is atleast digits long.
var/left = length(hex) - digits
var/left = digits - length(hex)
while (left-- > 0)
hex = text("0[]", hex)
+1 -1
View File
@@ -96,7 +96,7 @@
/datum/ai_laws/drone/New()
add_inherent_law("Preserve, repair and improve the station to the best of your abilities.")
add_inherent_law("Cause no harm to the station or anything on it.")
add_inherent_law("Interfere with no being that is not a fellow drone.")
add_inherent_law("Interact with no being that is not a fellow maintenance drone.")
..()
/datum/ai_laws/construction_drone
@@ -58,10 +58,10 @@
var/growth_threshold = 0
var/growth_type = 0
var/max_growth = 0
var/sampled
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 +237,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 +252,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)
+2 -1
View File
@@ -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