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

@ -44,10 +44,6 @@ The "assault" command is the only command which will let you attack
your own sector (you can use this to get mil & assault units on
shore). You should not "attack" unowned land (see info explore).
.s1
If the SLOW_WAR option is enabled, you will not be able to attack
a sector owned by a country you are not AT_WAR with, unless you
are the old owner of the sector.
.s1
.L "(2) Ask the aggressor further details about the offensive force."
.s1
When you board, you are asked for a ship or sector to board from.

View file

@ -11,7 +11,6 @@ The following options were introduced in the Chainsaw server:
EASY_BRIDGES: bridges can be built from any sector
SUPER_BARS: gold bars aren't destroyed by shelling or bombing
ALL_BLEED: you get tech bleed from all countries, not just allies
SLOW_WAR: War declaring takes time. No land attacks unless at war.
NOMOBCOST: ships pay 0 mob to fire. Subs pay 1/2 a sect's movement cost
TRADESHIPS: you can build/nav/scuttle trade ships to make money
RES_POP: Research affects max sector population.

View file

@ -15,31 +15,6 @@ which case you will declare <POSITION> towards all nations.
For a complete list of the meanings of all the different types of
relations, see "info relations".
.s1
GOING TO WAR
.s1
(Note: the following stuff is only in effect if the SLOW_WAR option is selected)
With the SLOW_WAR option in use, you cannot attack the land of someone you are
not at war with. When you declare war on
someone, your relation goes to \*Qmobilizing\*U. You still can't attack them.
After the next update, your relation goes to \*Qsitzkrieg\*U, and you still
can't attack them. After the NEXT update, you're at war with them, and anything
goes.
.s1
If someone is \*Qmobilizing\*U or in \*Qsitzkrieg\*U, or at war with you,
and you
declare war against them, your relation is set to be the same as theirs, so
there is no way to gain any advantage through this stuff. It just means that
you can't sneak-attack people.
.s1
The first person who declares war pays $1000. Return declarations are
free.
.s1
There is an exception to the SLOW_WAR restrictions. If you are listed as
the old owner of a sector, you are still allowed to attack it. This is to
prevent someone from declaring war with you, taking some sectors, then
declaring neutrality before you declare war. (Assuming you didn't notice
their declaration of war)
.s1
The newspaper is very interested in declarations of war or alliance --
don't expect to keep such declarations secret.
.s1

View file

@ -7,9 +7,6 @@ changes. It is still used to shoot up land sectors or ships. However,
you may now use multiple ships, units, sectors to fire from. Return
fire is spread amongst all the firing things.
.s1
If the SLOW_WAR option is in use, you cannot fire on the
land of any nation you are not at war with. (see info relations)
.s1
The general form for shooting at land from a sector is:
.EX fire sect <ASECTS> <VSECT>
Where <VSECT> is the victim sector,

View file

@ -30,8 +30,7 @@ report.
.FI
.s1
Relations are: \*QAllied\*U, \*QFriendly\*U, \*QNeutral\*U,
\*QHostile\*U, \*QMobilizing\*U, \*QSitzkrieg\*U, and \*QAt
War\*U. Each has certain ramifications.
\*QHostile\*U, and \*QAt War\*U. Each has certain ramifications.
.s1
.L Allied
Your ally is someone you trust deeply, and are willing to make
@ -85,19 +84,4 @@ attacks you, you become hostile towards them. If someone you are neutral
to over-flies or attacks you, you become hostile towards them. Neither of
these progressions can lead to war, however, they both stop at hostility.
.s1
The following paragraphs apply only if the SLOW_WAR option is used.
.s1
.L Mobilizing
If you are Mobilizing, it means that you have declared war, and are getting
ready to attack. You cannot attack someone's land until you are actually
\*QAt War\*U. At the next update, you will automatically move to
\*QSitzkrieg\*U. Your interdiction of the enemy will be the same as
if you were hostile towards them.
.s1
.L Sitzkrieg
Sitzkrieg is the same as \*QMobilizing\*U. You still are unable to attack
their land. At the next update, you will automatically move to \*QAt War\*U.
.s1
When you are At War with someone, you may attack them willy-nilly.
.s1
.SA "Diplomacy"

View file

@ -81,8 +81,7 @@ Options enabled in this game:
Options disabled in this game:
AUTO_POWER, GO_RENEW, GUINEA_PIGS, HIDDEN, LOANS, LOSE_CONTACT, MARKET,
MOB_ACCESS, NO_FORT_FIRE, RES_POP, SLOW_WAR, SUPER_BARS, TECH_POP,
TRADESHIPS
MOB_ACCESS, NO_FORT_FIRE, RES_POP, SUPER_BARS, TECH_POP, TRADESHIPS
See "info Options" for a detailed list of options and descriptions.