diff --git a/src/common/kernel/alchemy.c b/src/common/kernel/alchemy.c index 960a03368..7df7d05a5 100644 --- a/src/common/kernel/alchemy.c +++ b/src/common/kernel/alchemy.c @@ -197,7 +197,7 @@ a_readeffect(attrib *a, FILE *f) fscanf(f, "%s %d", zText, &power); ptype = pt_find(zText); } - if (ptype==NULL || power==0) return AT_READ_FAIL; + if (ptype==NULL || power<=0) return AT_READ_FAIL; edata->type = ptype; edata->value = power; return AT_READ_OK; diff --git a/src/common/kernel/build.c b/src/common/kernel/build.c index 62073b534..1a0d62b73 100644 --- a/src/common/kernel/build.c +++ b/src/common/kernel/build.c @@ -546,8 +546,9 @@ build_road(region * r, unit * u, int size, direction_t d) int dm = get_effect(u, oldpotiontype[P_DOMORE]); if (dm != 0) { int sk = eff_skill(u, SK_ROAD_BUILDING, r); - dm = (left - n + sk - 1) / sk; - dm = min(dm, u->number); + int todo = (left - n + sk - 1) / sk; + todo = min(todo, u->number); + dm = min(dm, todo); change_effect(u, oldpotiontype[P_DOMORE], -dm); n += dm * sk; } /* Auswirkung Schaffenstrunk */