From 3e2cc8b74628d7b3b1d8107a0ff2bea1e0a5119c Mon Sep 17 00:00:00 2001 From: Ron Koenderink Date: Tue, 26 Dec 2006 19:15:41 +0000 Subject: [PATCH] (produce): Randomly flushed level production below 1.0 to zero. Fix. (produce): Assign rounded level production to *ACTUAL instead of randomly rounded one. --- src/lib/update/produce.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/lib/update/produce.c b/src/lib/update/produce.c index 6b00403f..4cc465d7 100644 --- a/src/lib/update/produce.c +++ b/src/lib/update/produce.c @@ -103,16 +103,17 @@ produce(struct natstr *np, struct sctstr *sp, short *vec, int work, * Adjust produced amount by commodity production ratio */ output = material_consume * prodeff; - actual = roundavg(output); - if (actual <= 0) - return 0; if (item == I_NONE) { + actual = ldround(output, 1); if (!player->simulation) { levels[sp->sct_own][product->p_level] += output; wu((natid)0, sp->sct_own, "%s (%.2f) produced in %s\n", product->p_name, output, ownxy(sp)); } } else { + actual = roundavg(output); + if (actual <= 0) + return 0; if (product->p_nrdep != 0) { if (*resource * 100 < product->p_nrdep * actual) actual = *resource * 100 / product->p_nrdep;