(SCT_BLD_WORK, SHP_BLD_WORK, PLN_BLD_WORK, LND_BLD_WORK,

NUK_BLD_WORK): New, to encapsulate the formula in one place.

(SCT_MINEFF): New.  Use it instead of literal 20.

(buil): Use CANT_HAPPEN() for internal error.

(build_ship, build_land, build_bridge, build_nuke, build_plane,
build_tower): Simplify avail calculation.

(lupgr, supgr, pupgr): Charge 15% of total build avail instead of an
undocumented amount computed from build lcm and hcm.

(build_ship, build_land, build_bridge, build_nuke, build_plane,
build_tower, lupgr, supgr, pupgr): Fix reporting of required avail
when there's not enough.  Closes #942823.

(lupgr, supgr, pupgr): Code printed cost rounded down, but required
and charged unrounded cost.  Confusing.  Round cost down, like the
build command.  Closes #942811.

(UPGR_COST, UPGR_EFF, lupgr, supgr, pupgr): New UPGR_COST, UPGR_COST replace
literal values.

(show_bridge, show_tower): Don't claim bridge building requires
`workers' (whatever that is), since it doesn't.
This commit is contained in:
Markus Armbruster 2004-05-15 13:23:39 +00:00
parent 3d5e881ae4
commit 17494e74d1
14 changed files with 128 additions and 155 deletions

View file

@ -179,7 +179,7 @@ prod_plane(int etus, int natnum, int *bp, int buildem)
shp = getshipp(pp->pln_ship);
avail += (etus * shp->shp_item[I_MILIT] / 2);
}
w_p_eff = 20 + (desc->pl_lcm + 2 * desc->pl_hcm);
w_p_eff = PLN_BLD_WORK(desc->pl_lcm, desc->pl_hcm);
delta = roundavg((double)avail / w_p_eff);
if (delta <= 0)
continue;