update/revolt: Fix guerrilla liberating old-owned sector
Guerrilla are created loyal to the old owner. When the sector converts, they switch their allegiance to POGO. This is a bit of a hack. When guerrilla win their fight for freedom in an old-owned sector, the old-owner duly changes to POGO. However, the owner doesn't. Broken in 4.2.6. The "Sector X,Y has been retaken!" message is still sent to the "new" sector owner. Simply restoring the owner change lost back then would restore a bug that goes back to 2.3.7: takeover() doesn't run when an old-owned sector is liberated. So fix the bug by making that unconditional. Land units reported captured are actually destroyed, because POGO can't own any. Oh well. Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
This commit is contained in:
parent
025e9cc258
commit
2315b50e52
4 changed files with 30 additions and 30 deletions
|
@ -304,11 +304,9 @@ guerrilla(struct sctstr *sp)
|
|||
/* che won, and sector converts. */
|
||||
if (sp->sct_own == sp->sct_oldown)
|
||||
sp->sct_oldown = 0;
|
||||
else {
|
||||
lost_and_found(EF_SECTOR, sp->sct_own, sp->sct_oldown,
|
||||
0, sp->sct_x, sp->sct_y);
|
||||
takeover(sp, sp->sct_oldown);
|
||||
}
|
||||
lost_and_found(EF_SECTOR, sp->sct_own, sp->sct_oldown,
|
||||
0, sp->sct_x, sp->sct_y);
|
||||
takeover(sp, sp->sct_oldown);
|
||||
sp->sct_mobil = oldmob;
|
||||
civ += uw;
|
||||
uw = 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue