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
|
@ -25,13 +25,13 @@ This document gives a rough order of events during the update.
|
|||
a) pay military on board
|
||||
e) pay for military reserves.
|
||||
|
||||
2) Produce, in order of country #
|
||||
a) ship maintenance
|
||||
2) Produce
|
||||
a) ship maintenance, in order of country number
|
||||
pay maintenance, then feed and plague people on board
|
||||
b) plane maintenance
|
||||
c) land unit maintenance
|
||||
b) plane maintenance, in order of country number
|
||||
c) land unit maintenance, in order of country number
|
||||
pay maintenance, then feed and plague people on board
|
||||
d) produce for all sectors
|
||||
g) sectors, in order of country number
|
||||
a) people in non-sanctuary sectors eat
|
||||
If not enough is available, the excess people will
|
||||
starve off. No more than 50% of the people
|
||||
|
@ -45,12 +45,12 @@ This document gives a rough order of events during the update.
|
|||
e) sectors that are stopped are skipped (see info stop)
|
||||
f) first increase eff
|
||||
g) then make things
|
||||
e) ship building
|
||||
d) ship building, in order of country number
|
||||
first increase efficiency, then produce
|
||||
stopped ships are started, but not built (see info stop)
|
||||
f) plane building
|
||||
e) plane building, in order of country number
|
||||
stopped planes are started, but not built (see info stop)
|
||||
g) land unit building
|
||||
f) land unit building, in order of country number
|
||||
stopped land units are started, but not built (see info stop)
|
||||
|
||||
3) Then, do deliveries for all sectors in the world, row by row, going from
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue