Remove option SLOW_WAR

SLOW_WAR has issues:

* The check whether the attacker old-owns the attacked sector is
  broken, because att_abort() uses sect.sct_oldown uninitialized.

  Spotted by the Clang Static Analyzer.

* Its implementation in setrel() is somewhat scary.  It's actually
  okay, because that part of setrel() only runs within decl().  Other
  callers don't reach it: update_main() because player->god != 0
  there, and the rest because they never pass a rel < HOSTILE.

* Documentation is a bit vague.

SLOW_WAR hasn't been used in a public game in years.  Fixing it is not
worth it, so remove it instead.
This commit is contained in:
Markus Armbruster 2011-01-09 19:03:38 +01:00
parent a94ae5f8c1
commit 439f111f98
23 changed files with 11 additions and 274 deletions

View file

@ -82,8 +82,6 @@ multifire(void)
struct shpstr vship;
struct sctstr vsect;
enum targ_type target;
int rel;
struct natstr *natp;
struct nstr_item nbst;
int type;
struct empobj *attgp;
@ -416,17 +414,6 @@ multifire(void)
break;
}
if (opt_SLOW_WAR) {
if (target == targ_land) {
natp = getnatp(player->cnum);
rel = getrel(natp, vict);
if ((rel != AT_WAR) && (player->cnum != vict) &&
(vict) && (vsect.sct_oldown != player->cnum)) {
pr("You're not at war with them!\n");
continue;
}
}
}
nfiring++;
switch (target) {
case targ_sub: