(produce): Randomly flushed level production below 1.0 to zero. Fix.
(produce): Assign rounded level production to *ACTUAL instead of randomly rounded one.
This commit is contained in:
parent
f4667a9457
commit
3e2cc8b746
1 changed files with 4 additions and 3 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue