Remove option SLOW_WAR
authorMarkus Armbruster <armbru@pond.sub.org>
Sun, 9 Jan 2011 18:03:38 +0000 (19:03 +0100)
committerMarkus Armbruster <armbru@pond.sub.org>
Sun, 13 Feb 2011 14:59:49 +0000 (15:59 +0100)
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.

23 files changed:
include/econfig-spec.h
include/nat.h
info/Attacking.t
info/Options.t
info/declare.t
info/fire.t
info/relations.t
info/version.t
src/lib/commands/assa.c
src/lib/commands/bomb.c
src/lib/commands/decl.c
src/lib/commands/laun.c
src/lib/commands/mfir.c
src/lib/commands/vers.c
src/lib/common/nat.c
src/lib/global/constants.c
src/lib/global/options.c
src/lib/global/symbol.c
src/lib/subs/attsub.c
src/lib/subs/lndsub.c
src/lib/subs/mission.c
src/lib/subs/rej.c
src/lib/update/main.c

index 31a9f20650fe457f25283d5cd1f4db6c1aee9004..4e69aecfe3c26e5d2e810269e74106d5e0783ae1 100644 (file)
@@ -181,8 +181,6 @@ EMPCF_OPT("RES_POP", opt_RES_POP,
     "Population is limited by research")
 EMPCF_OPT("SAIL", opt_SAIL,
     "Enable sail command")
-EMPCF_OPT("SLOW_WAR", opt_SLOW_WAR,
-    "Declaring war takes time")
 EMPCF_OPT("SUPER_BARS", opt_SUPER_BARS,
     "Make bars immune to damage")
 EMPCF_OPT("TECH_POP", opt_TECH_POP,
@@ -207,8 +205,6 @@ EMPCFBOTH("at_least_one_100", at_least_one_100, int, NSC_INT, KM_INTERNAL,
     "Initialize new countries with at least one sector with 100 of all resource")
 EMPCFBOTH("start_cash", start_cash, long, NSC_LONG, KM_INTERNAL,
     "Starting cash for new countries")
-EMPCFBOTH("war_cost", War_Cost, int, NSC_INT, 0,
-    "Cost to declare war (if SLOW_WAR is on)")
 
 EMPCF_COMMENT("\n\n### Technology/Research/Education/Happiness")
 EMPCFBOTH("easy_tech", easy_tech, float, NSC_FLOAT, 0,
index 9bdab545be5b413b62d6c42d266dc20be0dc1772..e8c0d736e81270d2767d68229ca3d6f1241bac29 100644 (file)
@@ -120,12 +120,10 @@ struct natstr {
 
        /* nation relation codes */
 #define AT_WAR         0
-#define SITZKRIEG      1
-#define MOBILIZATION   2
-#define HOSTILE                3
-#define NEUTRAL                4
-#define FRIENDLY       5
-#define ALLIED         6
+#define HOSTILE                1
+#define NEUTRAL                2
+#define FRIENDLY       3
+#define ALLIED         4
 
        /* nation reject codes */
 #define REJ_TELE       bit(0)  /* dont allow telegrams to be sent */
index 0034c22a2acf2ba4dd0084da4ded7204392cf65f..7b6f42be5dddc71c4e079694473cbbe8f8f97201 100644 (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.
index 811f121ed477a0e22eaafcb1817efadab18e2ca5..aff702585dfddb2f54afa49138f4ea3cb267c92f 100644 (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.
index 90ae13a38c5d65c816e9b43da5e1dcd4bb791f6c..150073cdfae91b2a60dd118f11173d93383d6db5 100644 (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
index 3c0ab514b08de5c86362c3fb9a16dbbc7530b9b1..1a1e1b3145dba509a451fb6ce71f71d01ca0f20b 100644 (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,
index 9b9a03b9ffd4987ca3dbc3e1d41d33544d4ed4fb..66f880d6bc9d36a03771bd97f4652d24948aabd1 100644 (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"
index 097d2a70ef1ea10c1947825091569dc05330b9be..b7131530f534ff3c56453282072e4de91f1bf4ec 100644 (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.
 
index 3a66ea9fcdd3142ffdae8044c0ba10b82b67a719..9fbd30e2f8ab43600379ec193e9cab797220f7f7 100644 (file)
@@ -173,8 +173,7 @@ assa(void)
                putland(llp->unit.land.lnd_uid, &llp->unit.land);
            } else {
                pr("%s was spotted", prland(&llp->unit.land));
-               if (rel == HOSTILE || rel == AT_WAR || rel == SITZKRIEG ||
-                   rel == MOBILIZATION) {
+               if (rel <= HOSTILE) {
                    wu(0, def->own, "%s spy shot and killed in %s.\n",
                       cname(player->cnum), xyas(def->x, def->y,
                                                 def->own));
index 5fb2bc988869d15bda23ccbb1890dc7e0fd511e0..33cecb2c9e40dbbb6866d4bec1d1f1c44a157919 100644 (file)
@@ -95,8 +95,6 @@ bomb(void)
     char mission;
     struct plist *plp;
     struct emp_qelem *qp, *next;
-    int rel;
-    struct natstr *natp;
     char buf[1024];
 
     if (get_planes(&ni_bomb, &ni_esc, player->argp[1], player->argp[2]) < 0)
@@ -160,20 +158,6 @@ bomb(void)
            }
            break;
        case 's':
-           if (opt_SLOW_WAR) {
-               natp = getnatp(player->cnum);
-               if (target.sct_own) {
-                   rel = getrel(natp, target.sct_own);
-                   if ((rel != AT_WAR) && (player->cnum != target.sct_own)
-                       && (target.sct_own) &&
-                       (target.sct_oldown != player->cnum)) {
-                       pr("You're not at war with them!\n");
-                       pln_put(&bomb_list);
-                       pln_put(&esc_list);
-                       return RET_FAIL;
-                   }
-               }
-           }
            nreport(player->cnum, N_SCT_BOMB, target.sct_own, 1);
            strat_bomb(&bomb_list, &target);
            break;
@@ -197,8 +181,6 @@ pin_bomb(struct emp_qelem *list, struct sctstr *target)
     char *p;
     int nsubs;
     int nunits;
-    struct natstr *natp;
-    int rel;
     char buf[1024];
     int i;
 
@@ -229,18 +211,6 @@ pin_bomb(struct emp_qelem *list, struct sctstr *target)
     }
     switch (*p) {
     case 'l':
-       if (opt_SLOW_WAR) {
-           natp = getnatp(player->cnum);
-           if (target->sct_own) {
-               rel = getrel(natp, target->sct_own);
-               if ((rel != AT_WAR) && (player->cnum != target->sct_own)
-                   && (target->sct_own) &&
-                   (target->sct_oldown != player->cnum)) {
-                   pr("You're not at war with them!\n");
-                   goto retry;
-               }
-           }
-       }
        if (nunits == 0) {
            pr("no units there\n");
            goto retry;
@@ -248,18 +218,6 @@ pin_bomb(struct emp_qelem *list, struct sctstr *target)
        land_bomb(list, target);
        break;
     case 'p':
-       if (opt_SLOW_WAR) {
-           natp = getnatp(player->cnum);
-           if (target->sct_own) {
-               rel = getrel(natp, target->sct_own);
-               if ((rel != AT_WAR) && (player->cnum != target->sct_own)
-                   && (target->sct_own) &&
-                   (target->sct_oldown != player->cnum)) {
-                   pr("You're not at war with them!\n");
-                   goto retry;
-               }
-           }
-       }
        if (nplanes == 0) {
            pr("no planes there\n");
            goto retry;
@@ -281,19 +239,6 @@ pin_bomb(struct emp_qelem *list, struct sctstr *target)
        ship_bomb(list, target);
        break;
     case 'c':
-       if (opt_SLOW_WAR) {
-           natp = getnatp(player->cnum);
-           if (target->sct_own) {
-               rel = getrel(natp, target->sct_own);
-               if ((rel != AT_WAR) && (player->cnum != target->sct_own)
-                   && (target->sct_own) &&
-                   (target->sct_oldown != player->cnum)) {
-                   pr("You're not at war with them!\n");
-                   goto retry;
-               }
-           }
-       }
-
        for (i = 0; i < nbomb; i++) {
            if (!target->sct_item[bombcomm[i]])
                continue;
@@ -307,18 +252,6 @@ pin_bomb(struct emp_qelem *list, struct sctstr *target)
        comm_bomb(list, target);
        break;
     case 'e':
-       if (opt_SLOW_WAR) {
-           natp = getnatp(player->cnum);
-           if (target->sct_own) {
-               rel = getrel(natp, target->sct_own);
-               if ((rel != AT_WAR) && (player->cnum != target->sct_own)
-                   && (target->sct_own) &&
-                   (target->sct_oldown != player->cnum)) {
-                   pr("You're not at war with them!\n");
-                   goto retry;
-               }
-           }
-       }
        eff_bomb(list, target);
        break;
     case 'q':
index ea626cfc6a408b0892f855a653d3b3c8dd9b3f43..40190b2920ee447d43dd9d956c33f5d3d837bd3c 100644 (file)
@@ -64,20 +64,6 @@ decl(void)
     case 'h':
        rel = HOSTILE;
        break;
-    case 'm':
-       if (!opt_SLOW_WAR)
-           return RET_SYN;
-       if (!player->god)
-           return RET_SYN;
-       rel = MOBILIZATION;
-       break;
-    case 's':
-       if (!opt_SLOW_WAR)
-           return RET_SYN;
-       if (!player->god)
-           return RET_SYN;
-       rel = SITZKRIEG;
-       break;
     case 'w':
        rel = AT_WAR;
        break;
index dac323240bc94560bdfc8d25a5f8bb0a9dbaba5f..aac9fa179afe8cf6abf208117aff42452e9a6ea7 100644 (file)
@@ -182,8 +182,6 @@ launch_missile(struct plnstr *pp)
     struct mchrstr *mcp;
     struct shpstr target_ship;
     struct sctstr sect;
-    int rel;
-    struct natstr *natp;
     struct nukstr nuke;
     char buf[1024];
 
@@ -230,18 +228,6 @@ launch_missile(struct plnstr *pp)
        if (msl_equip(pp, 's') < 0)
            return RET_FAIL;
        getsect(sx, sy, &sect);
-       if (opt_SLOW_WAR) {
-           natp = getnatp(player->cnum);
-           rel = getrel(natp, sect.sct_own);
-           if ((rel != AT_WAR) && (sect.sct_own != player->cnum) &&
-               (sect.sct_own) && (sect.sct_oldown != player->cnum)) {
-               pr("You are not at war with the player->owner of the target sector!\n");
-               pr_beep();
-               pr("Kaboom!!!\n");
-               pr("Missile monitoring officer destroys RV before detonation.\n");
-               return RET_OK;
-           }
-       }
        if (msl_launch(pp, EF_SECTOR, "sector", sx, sy, sect.sct_own,
                       &sublaunch) < 0)
            return RET_OK;
index 7d38da78cb59a61c185c2b0008b2f4e99fd2323b..f2e3b7a7115b0181563f2bdfc3f281403ec1e406 100644 (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:
index 5a1cbd009a8cf1eb59e1b66c4ce207b3d39b3815..294e746a352ec487b87d49aac9f24ecb5f23c720 100644 (file)
@@ -101,8 +101,6 @@ vers(void)
     if (rollover_avail_max)
        pr("Up to %d avail can roll over an update.\n",
           rollover_avail_max);
-    if (opt_SLOW_WAR)
-       pr("Declaring war will cost you $%i\n\n", War_Cost);
     pr("Happiness p.e. requires 1 happy stroller per %d civ.\n",
        (int)hap_cons / etu_per_update);
     pr("Education p.e. requires 1 class of graduates per %d civ.\n",
index d0f3463eecc9a2a4e97443e9f8a3e5a9ac06cd7e..e71e1cf81e8a2eb5ad45ae138c00ac4e214bd775 100644 (file)
@@ -42,8 +42,7 @@
 
 char *relates[] = {
     /* must follow nation relation defines in nat.h */
-    "At War", "Sitzkrieg", "Mobilizing", "Hostile", "Neutral", "Friendly",
-    "Allied"
+    "At War", "Hostile", "Neutral", "Friendly", "Allied"
 };
 
 char *
index d95b9e89fa9fc22b692c56856aaef394d37532be..7c455c3eba90c3d35a9dd11f7b6393b2e14c2f71 100644 (file)
@@ -191,9 +191,6 @@ double buil_tower_bt = 100.0;       /* tech level required to build a tower */
 int buil_tower_bh = 400;       /* hcm required to build a bridge tower */
 double buil_tower_bc = 3000.0; /* cash required to build a bridge tower */
 
-/* opt_SLOW_WAR */
-int War_Cost = 1000;           /* Cost to declare war */
-
 float drnuke_const = 0.0;      /* research must be at least drnuke_const*tech */
                                /* in order to build a nuke. For example, if
                                 * drnuke_const is .25, you need a 75 res to
index 1c85d950e822368e7b4e400dfbd2829e728a5eb9..8ad75521a921d0aa84274ec397562e28681f34d1 100644 (file)
@@ -59,7 +59,6 @@ int opt_NO_PLAGUE = 1;
 int opt_RAILWAYS = 1;
 int opt_RES_POP = 0;
 int opt_SAIL = 1;
-int opt_SLOW_WAR = 0;
 int opt_SUPER_BARS = 0;
 int opt_TECH_POP = 0;
 int opt_TRADESHIPS = 0;
index f27312fce746d572202d8c0f2e4d429814609661..835827a353e22d5378b689152f04ecedc648bae7 100644 (file)
@@ -139,8 +139,6 @@ struct symbol nation_rejects[] = {
 struct symbol nation_relations[] = {
     {-1, "unknown"},
     {AT_WAR, "at-war"},
-    {SITZKRIEG, "sitzkrieg"},
-    {MOBILIZATION, "mobilization"},
     {HOSTILE, "hostile"},
     {NEUTRAL, "neutral"},
     {FRIENDLY, "friendly"},
index 0edf5d148354c2749c4f336c7253cd33cfc3d87f..e2651352d467317be78578cd058db97a7e1e6494 100644 (file)
@@ -435,9 +435,6 @@ int
 att_abort(int combat_mode, struct combat *off, struct combat *def)
 {
     struct sctstr sect;
-    int rel;
-    char y_or_n[512];
-    struct natstr *natp;
 
     if (player->aborted)
        return 1;
@@ -513,23 +510,7 @@ att_abort(int combat_mode, struct combat *off, struct combat *def)
        setcont(player->cnum, def->own, FOUND_SPY);
        setcont(def->own, player->cnum, FOUND_SPY);
     }
-    if (opt_SLOW_WAR && def->own != player->cnum) {
-       natp = getnatp(player->cnum);
-       rel = getrel(natp, def->own);
 
-       if (rel == ALLIED) {
-           sprintf(y_or_n, "Sector is owned by %s, your ally, %s [yn]? ",
-                   cname(def->own), att_mode[combat_mode]);
-           if (!confirm(y_or_n))
-               return abort_attack();
-
-       }
-       if ((rel != AT_WAR) && (def->own) &&
-           (sect.sct_oldown != player->cnum)) {
-           pr("You're not at war with them!\n");
-           return abort_attack();
-       }
-    }
     return 0;
 }
 
index d37f3eb9386bb7a7337b809781805d4ba8ccc606..4164f75f7bc823a13ef2802d556b480faf2a15cc 100644 (file)
@@ -1011,8 +1011,7 @@ lnd_mar_one_sector(struct emp_qelem *list, int dir, natid actor,
                       "%s unit spotted in %s\n", cname(player->cnum),
                       xyas(sect.sct_x, sect.sct_y, sect.sct_own));
                    setrel(sect.sct_own, llp->unit.land.lnd_own, HOSTILE);
-               } else if (rel == HOSTILE || rel == AT_WAR ||
-                          rel == SITZKRIEG || rel == MOBILIZATION) {
+               } else if (rel <= HOSTILE) {
                    wu(0, sect.sct_own,
                       "%s spy shot in %s\n", cname(player->cnum),
                       xyas(sect.sct_x, sect.sct_y, sect.sct_own));
index bac815886ed18d36e6728561ccc30fd9b2e5f7fa..23b3b0e9147218cceff8274bc5be6a6318e23e52 100644 (file)
@@ -298,7 +298,6 @@ build_mission_list_type(struct genlist *mi, coord x, coord y, int mission,
     struct empobj *gp;
     union empobj_storage item;
     int relat;
-    struct sctstr sect;
 
     snxtitem_all(&ni, type);
     while (nxtitem(&ni, &item)) {
@@ -329,25 +328,6 @@ build_mission_list_type(struct genlist *mi, coord x, coord y, int mission,
        if (!in_oparea(gp, x, y))
            continue;
 
-       if (opt_SLOW_WAR) {
-           if (mission != MI_AIR_DEFENSE) {
-               getsect(x, y, &sect);
-               if (getrel(getnatp(gp->own), sect.sct_own) > AT_WAR) {
-
-                   /*
-                    * If the owner of the unit isn't at war
-                    * with the victim, and doesn't own the
-                    * sect being acted upon, and isn't the
-                    * old owner of that sect, bounce them.
-                    */
-                   if (sect.sct_type != SCT_WATER &&
-                       sect.sct_own != gp->own &&
-                       sect.sct_oldown != gp->own)
-                       continue;
-               }
-           }
-       }
-
        glp = malloc(sizeof(struct genlist));
        memset(glp, 0, sizeof(struct genlist));
        glp->thing = malloc(sizeof(item));
index c3f2079fab9574bf0d8720cb0eac5fd3c4d3f86b..77faac4b650e282bedf5ab8a08e057539b017c28 100644 (file)
@@ -53,7 +53,6 @@ setrel(natid us, natid them, int rel)
     int n_up = 0;
     int n_down = 0;
     char *addendum = NULL;
-    int theirrel;
 
     if (rel < AT_WAR)
        rel = AT_WAR;
@@ -84,34 +83,6 @@ setrel(natid us, natid them, int rel)
        n_up = N_UP_HOSTILE;
        n_down = N_DOWN_HOSTILE;
     } else if (rel < HOSTILE) {
-       if (opt_SLOW_WAR) {
-           struct natstr *natp2;
-           double cost;
-
-           if (!player->god) {
-               natp2 = themnp;
-               theirrel = getrel(natp2, us);
-               if (theirrel <= MOBILIZATION) {
-                   rel = theirrel;
-                   cost = 0;
-               } else if (us == player->cnum && !update_running) {
-                   if (mynp->nat_money < War_Cost) {
-                       mpr(us, "You don't have the money!\n");
-                       return RET_FAIL;
-                   }
-                   rel = MOBILIZATION;
-                   cost = War_Cost;
-               } else {        /* nreport is forcing us to decl war */
-                   return RET_FAIL;
-               }
-               if (rel >= oldrel) {
-                   if (us == player->cnum && !update_running)
-                       mpr(us, "No change required for that!\n");
-                   return RET_FAIL;
-               }
-               player->dolcost += cost;
-           }
-       }
        addendum = "Declaration made (give 'em hell).";
        n_down = N_DECL_WAR;
     }
index 2084f1505326d340c322864127eca7ebd885dc8c..60547d2a4b246d17219caa9b579f5aa2ac3493a3 100644 (file)
@@ -59,8 +59,7 @@ update_main(void)
     int n;
     int i;
     struct bp *bp;
-    int cn, cn2, rel;
-    struct natstr *cnp;
+    int cn;
     struct natstr *np;
 
     logerror("production update (%d etus)", etu);
@@ -130,26 +129,7 @@ update_main(void)
     prod_nat(etu);
     age_levels(etu);
     free(bp);
-    if (opt_SLOW_WAR) {
-       /* Update war declarations */
-       /* MOBILIZATION->SITZKRIEG->AT_WAR */
-       for (cn = 1; cn < MAXNOC; cn++) {
-           if (!(cnp = getnatp(cn)))
-               break;
-           for (cn2 = 1; cn2 < MAXNOC; cn2++) {
-               if (cn2 == cn)
-                   continue;
-               rel = getrel(cnp, cn2);
-               if (rel == MOBILIZATION) {
-                   rel = SITZKRIEG;
-                   setrel(cn, cn2, rel);
-               } else if (rel == SITZKRIEG) {
-                   rel = AT_WAR;
-                   setrel(cn, cn2, rel);
-               }
-           }
-       }
-    }
+
     /* Only update mobility for non-MOB_ACCESS here, since it doesn't
        get done for MOB_ACCESS anyway during the update */
     if (!opt_MOB_ACCESS) {