From 6ccaaee4eaf05d0d1e2365334719b88f5633f8f5 Mon Sep 17 00:00:00 2001 From: Enno Rehling Date: Wed, 29 Jul 2020 19:00:52 +0200 Subject: [PATCH] report 2682: simplify tree growth each spring, 2/3 of all saplings become trees over a 6 week period (1/9 per week). --- src/laws.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/laws.c b/src/laws.c index 1d91add39..9a4cdae71 100644 --- a/src/laws.c +++ b/src/laws.c @@ -681,8 +681,8 @@ growing_trees(region * r, const season_t current_season, const season_t last_wee a = a_find(r->attribs, &at_germs); if (!a) { a = a_add(&r->attribs, a_new(&at_germs)); - a->data.sa[0] = (short)cap_int(rtrees(r, 0), 0, SHRT_MAX); - a->data.sa[1] = (short)cap_int(rtrees(r, 1), 0, SHRT_MAX); + a->data.sa[0] = (short)cap_int(rtrees(r, 0) / 9, 0, SHRT_MAX); + a->data.sa[1] = (short)cap_int(rtrees(r, 1) / 9, 0, SHRT_MAX); } else if (a->data.sa[0] < 0 || a->data.sa[1] < 0) { a->data.sa[0] = (short)cap_int(a->data.sa[0], 0, SHRT_MAX); @@ -692,9 +692,7 @@ growing_trees(region * r, const season_t current_season, const season_t last_wee /* Baumwachstum */ sprout = rtrees(r, 1); if (sprout > a->data.sa[1]) sprout = a->data.sa[1]; - grownup_trees = sprout / 6; - /* aus dem Sproesslingepool dieses Jahres abziehen */ - a->data.sa[1] = (short)(sprout - grownup_trees); + grownup_trees = sprout; /* aus dem gesamt Sproesslingepool abziehen */ rsettrees(r, 1, rtrees(r, 1) - grownup_trees); /* zu den Baeumen hinzufuegen */ @@ -703,13 +701,10 @@ growing_trees(region * r, const season_t current_season, const season_t last_wee /* Samenwachstum */ seeds = rtrees(r, 0); if (seeds > a->data.sa[0]) seeds = a->data.sa[0]; - sprout = seeds / 6; - /* aus dem Samenpool dieses Jahres abziehen */ - a->data.sa[0] = (short)(seeds - sprout); /* aus dem gesamt Samenpool abziehen */ - rsettrees(r, 0, rtrees(r, 0) - sprout); + rsettrees(r, 0, rtrees(r, 0) - seeds); /* zu den Sproesslinge hinzufuegen */ - rsettrees(r, 1, rtrees(r, 1) + sprout); + rsettrees(r, 1, rtrees(r, 1) + seeds); } }