update: Fix ship, plane, land unit repair work use abroad
Ship, plane and land unit repair uses new work, except in sectors owned by countries with a higher country number. This inconsistency is an artifact of how the update is sequenced: we work on countries one after the other. A country's ships, planes and land units get repaired before higher-numbered countries' sectors produce. Any ship, plane and land unit repairs in such sectors use old work instead of new work. Repair work use changed several times during Empire's history. In BSD Empire, repairs use old work, because it updates ships and planes before sectors. Chainsaw added budget priorities and the budget command as option BUDGET. Budget priorities let players choose separately for ships, planes and land units whether to use old or new work for repairs. The option also changed the update to work on countries one after the other, presumably to permit a more efficient implementation of the budget command. Chainsaw also introduced repairs in foreign sectors under option ALLYHARBORWORK. With BUDGET disabled, all repairs still use old work, whether at home or abroad. With BUDGET enabled, work use of repairs at home depends on budget priorities, but work use abroad depend on country numbers. Both options became standard in Empire 2. Since v4.3.6, repairs at home always use new work (commit967299a
and commit520446e
). To make repairs abroad always use new work as well, we need to update all sectors before any ship repair. This is straightforward: split the loop over countries between sectors and unit building. For symmetry, also split it between unit maintenance and sectors. The budget command is differently broken, and will be fixed next. Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
This commit is contained in:
parent
a97ac7a401
commit
459dec0af0
11 changed files with 160 additions and 156 deletions
|
@ -1,5 +1,12 @@
|
|||
budget
|
||||
| Note: f1#100 not actually built (plague kills off mil)
|
||||
| BUG: missing cs#91
|
||||
| BUG: mispredicts f1#75..78
|
||||
| BUG: missing f1#91
|
||||
| BUG: missing f1#92
|
||||
| BUG: f1#100 not actually built
|
||||
| BUG: missing inf#91
|
||||
| BUG: missing inf#92
|
||||
| TODO is it accurate?
|
||||
neweff * ?newd#-
|
||||
production *
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue