Fix navigate and march not to lay mines free of charge
do_unit_move() reads the ships into a list. It re-reads them when it prompts for sub-commands. shp_nav_one_sector() writes them back when it moves ships. Mine-laying (sub-command 'd') updates the minelayer, invalidating the copy in the list. Any movement sub-command before the next prompt for sub-commands wiped out this update, triggering a seno mismatch oops. Happens only if 'd' is used without arguments, because remaining sub-commands are discarded when there are arguments. Broken when mine-laying was added in commits2438fe7c
, v4.3.7. Same for march, commit274c8e42
, v4.3.7. Fix by stopping after 'd' regardless of arguments. (cherry picked from commit28cc236e12
)
This commit is contained in:
parent
8999261119
commit
03a9ab2cf6
1 changed files with 1 additions and 0 deletions
|
@ -253,6 +253,7 @@ do_unit_move(struct emp_qelem *ulist, int *together,
|
|||
mine();
|
||||
else
|
||||
landmine();
|
||||
stopping = 1;
|
||||
skip = 1;
|
||||
player->btused++;
|
||||
continue;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue