]> git.pond.sub.org Git - empserver/commit
Disable damage to base when missile explodes on launch
authorMarkus Armbruster <armbru@pond.sub.org>
Tue, 22 May 2012 18:17:16 +0000 (20:17 +0200)
committerMarkus Armbruster <armbru@pond.sub.org>
Tue, 22 May 2012 18:56:47 +0000 (20:56 +0200)
commitea94ec2f183c82a65be76f385e62bfbfe24a3f3c
tree0b35fd2c8a41ec43678a2ccbb6e604d93b5f124e
parent0dd59211aa2c59eb3053c0030947b9b42716bdf4
Disable damage to base when missile explodes on launch

When a missile explodes on launch, it has a 33% chance to damage its
base.

Unfortunately, damaging the base breaks callers that call msl_launch()
for each member of a list of missiles created by msl_sel() or
perform_mission().  Damage to the base can damage other missiles
there.  Any copies of them in the list become stale.  When
msl_launch() modifies and writes back such a stale copy, the damage
gets wiped out, triggering a seqno oops.

Affects missile interdiction and interception using missiles with
non-zero load.  Stock game's ABMs have zero load, so interception is
safe there.  Relatively harmless in practice.  Broken in Empire 2.

Instead of fixing the bug, simply disable damage to the base for now.
src/lib/subs/mslsub.c