multifire() writes back the firing sector after applying damage. When
an artillery unit on a bridge span commits suicide by shelling down
the supporting bridge heads, this writeback puts the bridge span right
back (less the land units and planes on it), triggering a seqno oops.
On the next update of the bridge head, the bridge span falls again.
Broken in commit
fe5b266, v4.3.14.
The problematic write back is superfluous. Remove it along with a few
equally superfluous ones.
Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
pr("Target out of range.\n");
switch (type) {
case EF_SECTOR:
- putsect(&fsect);
break;
case EF_LAND:
fland.lnd_mission = 0;
}
switch (attgp->ef_type) {
case EF_SECTOR:
- putsect(&fsect);
break;
case EF_SHIP:
if ((target == targ_ship) || (target == targ_sub)) {
shp_missdef(&fship, vict);
}
}
- putship(fship.shp_uid, &fship);
break;
default:
CANT_REACH();