empserver/tests
Markus Armbruster fdde783278 update: Fix income and level use after revolt or revert to deity
prepare_sects() caches the sector owner's getnatp() across
guerrilla(), do_plague() and populace().  This is wrong, because the
owner may change.  The mistake can be traced back all the way back to
BSD Empire 1.1.

If the sector revolts or reverts to deity, the ex-owner still receives
taxes and bank interest.  The update test demonstrates this bug.

If the sector revolts, we use the ex-owner's instead of the owner's
tech and research for plague, and we use the ex-owners happiness and
required happiness instead of the owner's for loyalty update and civil
unrest.

Change do_plague() and populace() to call getnatp() themselves.  Call
it in prepare_sects() only after we're done messing with the sector
owner.

Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
2017-08-06 19:59:58 +02:00
..
actofgod sect: Keep work percentage without civilians at 100% 2017-08-06 19:59:57 +02:00
bridgefall sect: Keep work percentage without civilians at 100% 2017-08-06 19:59:57 +02:00
build sect: Keep work percentage without civilians at 100% 2017-08-06 19:59:57 +02:00
empdump power: Make item power value configurable 2017-08-06 19:59:45 +02:00
fairland sect: Keep work percentage without civilians at 100% 2017-08-06 19:59:57 +02:00
files sail: Remove option SAIL 2015-02-28 16:11:28 +01:00
fire sect: Keep work percentage without civilians at 100% 2017-08-06 19:59:57 +02:00
info tests/info: New; checks info and code agree on commands 2014-01-06 20:50:06 +01:00
navi-march sect: Fix revert to deity and "no civilians" corner cases 2017-08-06 19:59:57 +02:00
retreat sect: Keep work percentage without civilians at 100% 2017-08-06 19:59:57 +02:00
smoke update: Fix revert to deity and "no civilians" corner cases 2017-08-06 19:59:57 +02:00
torpedo sect: Keep work percentage without civilians at 100% 2017-08-06 19:59:57 +02:00
update update: Fix income and level use after revolt or revert to deity 2017-08-06 19:59:58 +02:00
version nsc: Expose generalized build materials in xdump and conditionals 2017-08-06 19:59:56 +02:00
actofgod-test tests: Define and use some abbreviations 2015-02-01 16:52:59 +01:00
bridgefall-test tests: Define and use some abbreviations 2015-02-01 16:52:59 +01:00
build-test tests: Define and use some abbreviations 2015-02-01 16:52:59 +01:00
empdump-test tests: Rewrite the previous commit's sed_i helper 2015-03-04 08:15:13 +01:00
fairland-test tests/files tests/fairland: Check stderr and exit status 2015-02-01 16:52:59 +01:00
files-test tests/files tests/fairland: Check stderr and exit status 2015-02-01 16:52:59 +01:00
fire-test tests: Define and use some abbreviations 2015-02-01 16:52:59 +01:00
info-test tests: Define and use some abbreviations 2015-02-01 16:52:59 +01:00
navi-march-test navigate: Require all ships to start in the same sector 2015-02-28 16:13:14 +01:00
normalize.pl tests/version: New; exercises config introspection commands 2017-08-06 14:03:55 +02:00
retreat-test tests/retreat: Cover trains 2015-03-02 08:20:48 +01:00
smoke-test tests: Define and use some abbreviations 2015-02-01 16:52:59 +01:00
test-common.sh tests/version: New; exercises config introspection commands 2017-08-06 14:03:55 +02:00
torpedo-test tests/torpedo: New; exercises torpedo command 2015-03-02 08:20:52 +01:00
update-test tests/update: New; exercises the update 2017-08-06 14:04:15 +02:00
version-test tests/version: New; exercises config introspection commands 2017-08-06 14:03:55 +02:00