diff --git a/include/prototypes.h b/include/prototypes.h index 47385c0b..c07b7cc9 100644 --- a/include/prototypes.h +++ b/include/prototypes.h @@ -689,12 +689,12 @@ extern void prod_nat(int); /* nxtitemp.c */ /* in nsc.h */ /* plague.c */ -extern void do_plague(struct sctstr *, struct natstr *, int); +extern void do_plague(struct sctstr *, int); extern int plague_people(struct natstr *, short *, int *, int *, int); /* plane.c */ extern int prod_plane(int, int, struct bp *, int); /* populace.c */ -extern void populace(struct natstr *, struct sctstr *, int); +extern void populace(struct sctstr *, int); extern int total_work(int, int, int, int, int, int); /* prepare.c */ extern void tax(struct sctstr *, int, int *, int *, int *, int *); diff --git a/src/lib/update/plague.c b/src/lib/update/plague.c index ac526750..9a272cfa 100644 --- a/src/lib/update/plague.c +++ b/src/lib/update/plague.c @@ -43,8 +43,9 @@ static int infect_people(struct natstr *, struct sctstr *); void -do_plague(struct sctstr *sp, struct natstr *np, int etu) +do_plague(struct sctstr *sp, int etu) { + struct natstr *np = getnatp(sp->sct_own); int pstage, ptime; int n; diff --git a/src/lib/update/populace.c b/src/lib/update/populace.c index a3b02d3f..441f0340 100644 --- a/src/lib/update/populace.c +++ b/src/lib/update/populace.c @@ -38,8 +38,9 @@ #include "update.h" void -populace(struct natstr *np, struct sctstr *sp, int etu) +populace(struct sctstr *sp, int etu) { + struct natstr *np = getnatp(sp->sct_own); double hap, pct; int n; int civ = sp->sct_item[I_CIVIL]; diff --git a/src/lib/update/prepare.c b/src/lib/update/prepare.c index 9252dbd8..1826575d 100644 --- a/src/lib/update/prepare.c +++ b/src/lib/update/prepare.c @@ -30,6 +30,7 @@ * Dave Pare, 1986 * Thomas Ruschak, 1992 * Steve McClure, 1997 + * Markus Armbruster, 2016 */ #include @@ -76,6 +77,8 @@ prepare_sects(int etu, struct bp *bp) if (sp->sct_type == SCT_WATER) continue; + if (getnatp(sp->sct_own)->nat_stat == STAT_SANCT) + continue; /* * When running the test suite, reseed PRNG for each sector @@ -86,17 +89,14 @@ prepare_sects(int etu, struct bp *bp) seed_prng(sp->sct_uid); bp_set_from_sect(bp, sp); + guerrilla(sp); + do_plague(sp, etu); + populace(sp, etu); np = getnatp(sp->sct_own); - - if (np->nat_stat != STAT_SANCT) { - guerrilla(sp); - do_plague(sp, np, etu); - populace(np, sp, etu); - tax(sp, etu, &pops[sp->sct_own], &civ_tax, &uw_tax, &mil_pay); - np->nat_money += civ_tax + uw_tax + mil_pay; - if (sp->sct_type == SCT_BANK) - np->nat_money += bank_income(sp, etu); - } + tax(sp, etu, &pops[sp->sct_own], &civ_tax, &uw_tax, &mil_pay); + np->nat_money += civ_tax + uw_tax + mil_pay; + if (sp->sct_type == SCT_BANK) + np->nat_money += bank_income(sp, etu); } for (n = 0; NULL != (np = getnatp(n)); n++) { np->nat_money += upd_slmilcosts(np->nat_cnum, etu); diff --git a/tests/update/99-POGO b/tests/update/99-POGO index ddcd1186..de4c37a2 100644 --- a/tests/update/99-POGO +++ b/tests/update/99-POGO @@ -152,7 +152,6 @@ land 0:31,0:15 | starvation 0:15,0 | #30 lost 12% to lack of maintenance | #31 lost 1% -| BUG: income from sectors lost to che not lost | BUG: no sector maintenance | sector building | -16:-12,0 no money @@ -209,7 +208,6 @@ plane -32:-1,-16:-1 land -32:-1,-16:-1 || country#5 | che retake -16:-14,-8 -| BUG: no income from liberated sectors read 5 nation 5 || country#6 diff --git a/tests/update/final.xdump b/tests/update/final.xdump index abccd0d8..fc102edb 100644 --- a/tests/update/final.xdump +++ b/tests/update/final.xdump @@ -414,8 +414,8 @@ cnum stat flags cname passwd ip hostname userid xcap ycap xorg yorg update tgms 1 active (flash beep coastwatch sonar techlists) "1" "1" "127.0.0.1" "" "tester" 0 0 0 0 0 1 0 255 640 0 0 12949 0 0 0 0 102.787 3.37264 21.0875 12.3287 neutral neutral neutral neutral neutral neutral allied friendly neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () 2 active (flash beep coastwatch sonar techlists) "2" "2" "127.0.0.1" "" "tester" -2 0 0 0 0 1 0 255 193 0 975 -5912 0 0 0 0 101.081 1.68632 15.2381 2.74222 neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () 3 active (flash beep coastwatch sonar techlists) "3" "3" "127.0.0.1" "" "tester" 1 -1 0 0 0 1 0 255 640 0 0 4337 0 0 0 0 101.081 1.68632 15.2381 4.44444 neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () -4 active (flash beep coastwatch sonar techlists) "4" "4" "127.0.0.1" "" "tester" -1 -1 0 0 0 1 0 255 640 0 0 20251 0 0 0 0 31.5183 1.68632 3.04762 4.44444 neutral allied neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () -5 active (flash beep coastwatch sonar techlists) "5" "5" "127.0.0.1" "" "tester" -16 -8 0 0 0 1 0 255 99 0 0 25000 0 0 0 0 101.081 1.68632 15.2381 4.44444 neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () +4 active (flash beep coastwatch sonar techlists) "4" "4" "127.0.0.1" "" "tester" -1 -1 0 0 0 1 0 255 640 0 0 18752 0 0 0 0 31.5183 1.68632 3.04762 4.44444 neutral allied neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () +5 active (flash beep coastwatch sonar techlists) "5" "5" "127.0.0.1" "" "tester" -16 -8 0 0 0 1 0 255 99 0 0 26499 0 0 0 0 101.081 1.68632 15.2381 4.44444 neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () 6 active (flash beep coastwatch sonar techlists) "6" "6" "127.0.0.1" "" "tester" 0 8 0 0 0 1 0 255 640 0 0 24812 0 0 0 0 101.081 1.68632 15.2381 4.44444 allied allied allied allied allied allied neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () 7 active (flash beep coastwatch sonar techlists) "7" "7" "127.0.0.1" "" "tester" -2 8 0 0 0 1 0 255 640 0 0 25828 0 0 0 0 101.081 1.68632 15.2381 4.44444 friendly friendly friendly friendly friendly friendly friendly neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () /config diff --git a/tests/update/journal.log b/tests/update/journal.log index 9c5f2ab6..093d04e1 100644 --- a/tests/update/journal.log +++ b/tests/update/journal.log @@ -1394,7 +1394,7 @@ Play#0 output Play#0 1 total pop was 24000, yielding 0.00 hap, 0.00 edu Play#0 output Play#0 1 1.7165 technology (0.0000 + 1.7165), 1.6969 research (0.0000 + 1.6969) produced Play#0 output Play#0 1 Army delta $-600, Navy delta $-300, Air force delta $0 - Play#0 output Play#0 1 money delta was $-4749 for this update + Play#0 output Play#0 1 money delta was $-6248 for this update Play#0 output Play#0 6 0 640 Play#0 input nation 4 Play#0 command nation @@ -1402,7 +1402,7 @@ Play#0 output Play#0 1 (#4) 4 Nation Report Thu Jan 1 00:00:00 1970 Play#0 output Play#0 1 Nation status is ACTIVE Bureaucratic Time Units: 640 Play#0 output Play#0 1 100% eff capital at -1,-1 has 130 civilians & 0 military - Play#0 output Play#0 1 The treasury has $20251.00 Military reserves: 0 + Play#0 output Play#0 1 The treasury has $18752.00 Military reserves: 0 Play#0 output Play#0 1 Education.......... 3.05 Happiness....... 4.44 Play#0 output Play#0 1 Technology......... 31.52 Research........ 1.69 Play#0 output Play#0 1 Technology factor : 35.21% Plague factor : 1.29% @@ -1670,7 +1670,7 @@ Play#0 output Play#0 1 0 happiness, 0 education produced Play#0 output Play#0 1 total pop was 190, yielding 0.00 hap, 0.00 edu Play#0 output Play#0 1 1.7165 technology (0.0000 + 1.7165), 1.6969 research (0.0000 + 1.6969) produced - Play#0 output Play#0 1 money delta was $0 for this update + Play#0 output Play#0 1 money delta was $1499 for this update Play#0 output Play#0 6 0 640 Play#0 input nation 5 Play#0 command nation @@ -1678,7 +1678,7 @@ Play#0 output Play#0 1 (#5) 5 Nation Report Thu Jan 1 00:00:00 1970 Play#0 output Play#0 1 Nation status is ACTIVE Bureaucratic Time Units: 99 Play#0 output Play#0 1 No capital (was at -16,-8). - Play#0 output Play#0 1 The treasury has $25000.00 Military reserves: 0 + Play#0 output Play#0 1 The treasury has $26499.00 Military reserves: 0 Play#0 output Play#0 1 Education.......... 15.24 Happiness....... 4.44 Play#0 output Play#0 1 Technology.........101.08 Research........ 1.69 Play#0 output Play#0 1 Technology factor : 50.18% Plague factor : 1.98%