]> git.pond.sub.org Git - empserver/commitdiff
Remove option TREATIES
authorMarkus Armbruster <armbru@pond.sub.org>
Sat, 11 Jan 2014 17:02:53 +0000 (18:02 +0100)
committerMarkus Armbruster <armbru@pond.sub.org>
Sun, 16 Feb 2014 10:44:14 +0000 (11:44 +0100)
TREATIES has issues:

* Treaties can cover attack, assault, paradrop, board, lboard, fire,
  build (s|p|l|n) and enlist, but not bomb, launch, torpedo and
  enlistment centers.

* Usability is very poor.  While a treaty is in effect, every player
  action that violates a treaty condition triggers a prompt like this:

    This action is in contravention of  treaty #0 (with Curmudgeon)
    Do you wish to go ahead anyway? [yn]

  If you decline, the action is not executed.  If you accept, it is.
  In both cases, your decision is reported in the news.

  You cannot get rid of these prompts until the treaty expires.

* Virtually nobody uses them.

* Virtually unused code is buggy code.  There is at least one race
  condition: multifire() reads the firing sector, ship or land unit
  before the treaty prompt, and writes it back after, triggering a
  generation oops.  Any updates made by other threads while trechk()
  waits for input are wiped out, triggering a seqno mismatch oops.

* The treaty prompts could confuse smart clients that aren't prepared
  for them.  WinACE isn't, but is reported to work anyway at least
  common usage.  Ron Koenderink (the WinACE maintainer) suspects there
  could be a few situations where it will fail.

This feature is not earning its keep.  Remove it.  Drop command
treaty, consider treaty, offer treaty, xdump treaty, reject treaties.
Output of accept changed, obviously.

Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
60 files changed:
doc/xdump
include/combat.h
include/econfig-spec.h
include/empobj.h
include/file.h
include/nat.h
include/news.h
include/nsc.h
include/treaty.h [deleted file]
info/Novice.t
info/Options.t
info/Selector.t
info/accept.t
info/consider.t
info/newspaper.t
info/offer.t
info/power.t
info/reject.t
info/telegram.t
info/treaty.t [deleted file]
info/version.t
src/lib/commands/acce.c
src/lib/commands/assa.c
src/lib/commands/atta.c
src/lib/commands/boar.c
src/lib/commands/buil.c
src/lib/commands/cons.c
src/lib/commands/enli.c
src/lib/commands/lboard.c
src/lib/commands/mfir.c
src/lib/commands/offe.c
src/lib/commands/para.c
src/lib/commands/reje.c
src/lib/commands/trea.c [deleted file]
src/lib/commands/xdump.c
src/lib/common/empobj.c
src/lib/common/filetable.c
src/lib/common/nsc.c
src/lib/common/xdump.c
src/lib/global/news.c
src/lib/global/options.c
src/lib/global/symbol.c
src/lib/player/empmod.c
src/lib/subs/attsub.c
src/lib/subs/disloan.c
src/lib/subs/distrea.c [deleted file]
src/lib/subs/fileinit.c
src/lib/subs/trechk.c [deleted file]
src/lib/update/sect.c
tests/actofgod/final.xdump
tests/fairland/final.xdump
tests/files/final.xdump
tests/fire/final.xdump
tests/smoke/00/00-POGO
tests/smoke/00/02-2
tests/smoke/99/00-POGO
tests/smoke/99/01-1
tests/smoke/fairland.xdump
tests/smoke/final.xdump
tests/smoke/journal.log

index a17a7803c103e53690f17ce1060cc829bc6e8d51..8a5a1977d0588bbc7b46b058499625e586a5691e 100644 (file)
--- a/doc/xdump
+++ b/doc/xdump
@@ -310,13 +310,13 @@ Let's explore how to dump a game.  To make sense of a table, we need
 its meta-data, and to make sense of that table, we need meta-meta
 data.  So we start with that:
 
-    [14:640] Command : xdump meta meta
-    XDUMP meta meta 1303706667
+    [3:640] Command : xdump meta meta
+    XDUMP meta meta 1391339695
     "name" 3 4 0 -1
-    "type" 4 4 0 34
-    "flags" 5 12 0 33
+    "type" 8 4 0 33
+    "flags" 8 12 0 32
     "len" 7 4 0 -1
-    "table" 8 4 0 27
+    "table" 8 4 0 26
     /5
 
 To interpret this table, we have to know the field names and their
@@ -339,9 +339,9 @@ type only for tables we don't know, and there's one more table we do
 know, namely the table of tables.  Let's dump that next, starting with
 its meta-data:
 
-    [31:640] Command : xdump meta table
-    XDUMP meta table 1303706678
-    "uid" 8 0 0 27
+    [3:640] Command : xdump meta table
+    XDUMP meta table 1391339775
+    "uid" 8 0 0 26
     "name" 3 4 0 -1
     /2
 
@@ -351,33 +351,33 @@ leftmost field's meta-data field table must be the table ID of xdump
 table itself.  Indeed, its value matches the one we got in xdump meta
 meta.  Let's try to dump the table:
 
-    [30:640] Command : xdump 27 *
-    XDUMP table 1303706692
+    [5:640] Command : xdump 26 *
+    XDUMP table 1391339794
     0 "sect"
     1 "ship"
 [...]
-    9 "nat"
+    8 "nat"
 [...]
-    19 "sect-chr"
-    20 "ship-chr"
+    18 "sect-chr"
+    19 "ship-chr"
 [...]
-    27 "table"
+    26 "table"
 [...]
-    /49
+    /47
 
 It worked!
 
 Now dump the two symbol tables we postponed.  Because xdump accepts
 table IDs as well as names, we don't have to know their names:
 
-    [14:640] Command : xdump meta 34
-    XDUMP meta meta-type 1303706718
+    [5:640] Command : xdump meta 33
+    XDUMP meta meta-type 1391339879
     "value" 8 4 0 -1
     "name" 3 4 0 -1
     /2
 
-    [15:640] Command : xdump 34 *
-    XDUMP meta-type 1303706737
+    [6:640] Command : xdump 33 *
+    XDUMP meta-type 1391339892
     1 "d"
     2 "g"
     3 "s"
@@ -394,14 +394,14 @@ table IDs as well as names, we don't have to know their names:
     14 "c"
     /14
 
-    [15:640] Command : xdump meta 33
-    XDUMP meta meta-flags 1303706753
+    [7:640] Command : xdump meta 32
+    XDUMP meta meta-flags 1391339904
     "value" 8 4 0 -1
     "name" 3 4 0 -1
     /2
 
-    [24:640] Command : xdump 33 *
-    XDUMP meta-flags 1303706765
+    [7:640] Command : xdump 32 *
+    XDUMP meta-flags 1391339919
     1 "deity"
     2 "extra"
     4 "const"
@@ -421,12 +421,12 @@ We now have complete meta-meta information:
 Dumping the remaining tables is easy: just walk the table of tables.
 Here's the first one:
 
-    [36:640] Command : xdump meta 0
-    XDUMP meta sect 1303706822
-    "owner" 5 0 0 9
+    [7:640] Command : xdump meta 0
+    XDUMP meta sect 1391339937
+    "owner" 5 0 0 8
     "xloc" 9 4 0 -1
     "yloc" 10 4 0 -1
-    "des" 4 0 0 19
+    "des" 4 0 0 18
 [...]
     /78
 
index d8b4da0bba42d9dabcce2748a7b8a084884c5dea..d268479dc5c934ebb499c78580975eda322debf3 100644 (file)
@@ -75,7 +75,7 @@ extern int att_combat_init(struct combat *, int);
 extern int att_get_combat(struct combat *, int);
 extern int att_abort(int, struct combat *, struct combat *);
 extern int att_approach(struct combat *, struct combat *);
-extern int att_show(struct combat *);
+extern void att_show(struct combat *);
 extern int att_ask_support(int, int *, int *, int *, int *);
 extern int att_ask_offense(int, struct combat *, struct combat *,
                           struct emp_qelem *, int *, int *);
index 62e00cc5e56cbaac47639d9921d032fef818d5a9..94f8d91532fe9e84c08efa0e4043aec67f2b67ce 100644 (file)
@@ -195,8 +195,6 @@ EMPCF_OPT("SUPER_BARS", opt_SUPER_BARS,
     "Make bars immune to damage")
 EMPCF_OPT("TECH_POP", opt_TECH_POP,
     "Technology costs more as population rises")
-EMPCF_OPT("TREATIES", opt_TREATIES,
-    "Allow treaties")
 
 EMPCF_COMMENT("\n\n### Countries")
 EMPCFBOTH("btu_build_rate", btu_build_rate, float, NSC_FLOAT, 0,
index f005e73979881619c6df2a7350f56262ed99fcbc..30462698cb35126ac232b696f7aad6a0100596db 100644 (file)
@@ -45,7 +45,6 @@
 #include "sect.h"
 #include "ship.h"
 #include "trade.h"
-#include "treaty.h"
 #include "types.h"
 
 struct empobj {
@@ -89,7 +88,6 @@ union empobj_storage {
     struct sctstr sect;
     struct shpstr ship;
     struct trdstr trade;
-    struct trtstr treaty;
 };
 
 struct empobj_chr;
index 044418958fc954214924383eccd99ce8016624f9..73be69bd908a3412b96fb016845cd8e0d4c49c8c 100644 (file)
@@ -38,7 +38,7 @@
 struct empfile {
     /* Members with immutable values */
     int uid;                   /* Table ID */
-    char *name;                        /* Empire name (e.g., "treaty") */
+    char *name;                        /* Empire name (e.g., "land") */
     char *pretty_name;         /* prettier name, e.g. "land unit" */
     char *file;                        /* file name, relative to gamedir for
                                   game state, to builtindir for config */
@@ -146,7 +146,6 @@ enum {
     EF_LAND,
     EF_NUKE,
     EF_NEWS,
-    EF_TREATY,
     EF_TRADE,
     EF_POWER,
     EF_NATION,
@@ -194,7 +193,6 @@ enum {
     EF_RETREAT_FLAGS,
     EF_SECTOR_NAVIGATION,
     EF_SHIP_CHR_FLAGS,
-    EF_TREATY_FLAGS,
     /* Views */
     EF_COUNTRY,
     /* Number of types: */
index 3614e55ff595657066f0977342981677c99d811a..15c4ecd95fccd9c5cc80a948b2f46fef7613426a 100644 (file)
@@ -126,9 +126,8 @@ struct natstr {
 
        /* nation reject codes */
 #define REJ_TELE       bit(0)  /* dont allow telegrams to be sent */
-#define REJ_TREA       bit(1)  /* dont allow treaties to be offered */
-#define REJ_ANNO       bit(2)  /* don't receive announcements */
-#define REJ_LOAN       bit(3)  /* don't allow loans to be offered */
+#define REJ_ANNO       bit(1)  /* don't receive announcements */
+#define REJ_LOAN       bit(2)  /* don't allow loans to be offered */
 
 #define NAT_TLEV       0
 #define NAT_RLEV       1
index f90e4e5f7c79d63e73924f20a6dc24fa01aacf74..5909e4d279a7bae188eb45567bd2eb5103979b3d 100644 (file)
@@ -66,7 +66,7 @@ struct rptstr {
 #define N_SCT_LOSE     2
 #define N_SPY_SHOT     3
 #define N_SENT_TEL     4
-#define N_SIGN_TRE     5
+/* unused              5 */
 #define N_MAKE_LOAN    6
 #define N_REPAY_LOAN   7
 #define N_MAKE_SALE    8
@@ -83,8 +83,8 @@ struct rptstr {
 #define N_SHP_LOSE     19
 /* unused              20 */
 #define N_SEIZE_SECT   21
-#define N_HONOR_TRE    22
-#define N_VIOL_TRE     23
+/* unused              22 */
+/* unused              23 */
 /* unused              24 */
 #define N_HIT_MINE     25
 #define N_DECL_ALLY    26
index 5cc2831d4f4589ae9de1e39217ca84926ccf33ff..3a6bb1470c738e7a29b39aeef75cf0eb7f18268d 100644 (file)
@@ -246,7 +246,6 @@ extern struct castr land_ca[];
 extern struct castr lchr_ca[];
 extern struct castr nuke_ca[];
 extern struct castr nchr_ca[];
-extern struct castr treaty_ca[];
 extern struct castr loan_ca[];
 extern struct castr news_ca[];
 extern struct castr lost_ca[];
@@ -265,7 +264,6 @@ extern struct symbol ship_chr_flags[];
 extern struct symbol plane_chr_flags[];
 extern struct symbol land_chr_flags[];
 extern struct symbol nuke_chr_flags[];
-extern struct symbol treaty_flags[];
 extern struct castr mdchr_ca[];
 extern struct symbol meta_type[];
 extern struct symbol meta_flags[];
diff --git a/include/treaty.h b/include/treaty.h
deleted file mode 100644 (file)
index 35f9f37..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- *  Empire - A multi-player, client/server Internet based war game.
- *  Copyright (C) 1986-2014, Dave Pare, Jeff Bailey, Thomas Ruschak,
- *                Ken Stevens, Steve McClure, Markus Armbruster
- *
- *  Empire is free software: you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation, either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- *
- *  ---
- *
- *  See files README, COPYING and CREDITS in the root of the source
- *  tree for related information and legal notices.  It is expected
- *  that future projects/authors will amend these files as needed.
- *
- *  ---
- *
- *  treaty.h: Definitions for treaties
- *
- *  Known contributors to this file:
- *     Steve McClure, 1998
- */
-
-#ifndef TREATY_H
-#define TREATY_H
-
-#include <time.h>
-#include "types.h"
-
-struct trtstr {
-    /* initial part must match struct empobj */
-    signed ef_type: 8;
-    unsigned trt_seqno: 12;
-    unsigned trt_generation: 12;
-    int trt_uid;
-    time_t trt_timestamp;
-    /* end of part matching struct empobj */
-    natid trt_cna;             /* proposer */
-    natid trt_cnb;             /* acceptor */
-    signed char trt_status;    /* treaty status */
-    char trt_fill;
-    short trt_acond;           /* conditions for proposer */
-    short trt_bcond;           /* conditions for accepter */
-    time_t trt_exp;            /* expiration date */
-};
-
-#define TS_FREE                AGREE_FREE
-#define TS_PROPOSED    AGREE_PROPOSED
-#define TS_SIGNED      AGREE_SIGNED
-
-       /* treaty clauses */
-#define LNDATT bit(0)          /* no attacks on land units */
-#define SEAATT bit(1)          /* no attacks on ships */
-#define SEAFIR bit(2)          /* no shelling ships */
-#define LANATT bit(3)          /* no attacks on sectors */
-#define LANFIR bit(4)          /* no shelling sectors */
-#define NEWSHP bit(5)          /* no new ships */
-#define NEWNUK bit(6)          /* no new nuclear weapons */
-#define NEWPLN bit(7)          /* no new planes */
-#define NEWLND bit(8)          /* no new land units */
-#define TRTENL bit(9)          /* no enlistment */
-#define SUBFIR bit(10)         /* no depth-charging submarines */
-
-#define gettre(n, p) ef_read(EF_TREATY, (n), (p))
-#define puttre(n, p) ef_write(EF_TREATY, (n), (p))
-#define gettrep(n) ((struct trtstr *)ef_ptr(EF_TREATY, (n)))
-
-#endif
index 3833653d8da20900c78c6122a458e9c70ef8d189..370f399c20e15ee0dd1792acc48fbbae1b473009 100644 (file)
@@ -528,10 +528,6 @@ I was talking to Lewis from Cornell College
 and his comment was the best I'd heard in a while:
 \*QNever ally with someone that doesn't have a definite
 interest in seeing you survive.\*U
-Don't be deceived by the treaty command;
-treaty violations will show up in the news,
-but that is not going to stop the aggressor from wiping you out,
-no matter how bad it looks in the news.
 .s1
 Nuclear attacks can cause a lot of damage,
 but no one has ever been taken out of the game by a nuclear attack.
index 1f1a1bfcbeb1adeb7ca49d03513dd25fc55ccd21..3efe41eae5e37498fabf98985929add0adee9670 100644 (file)
@@ -40,8 +40,6 @@ NO_FORT_FIRE:   Forts cannot fire.
 RAILWAYS       Highways double as rail
 TECH_POP:       Technology costs more to make as your civilian population
                  grows past 50,000 civilians.
-TREATIES:       Sign treaties with your friends and enemies, and breaking of
-                 them is reported in the news.
 .fi
 
 .SA "Hidden, Server, version"
index b83308bc26246a8b6e4bacd1a0df7b2738f2ff7f..eb6e0e2abc0a15bb1ba0e94d0f11c5720a451eb9 100644 (file)
@@ -231,16 +231,6 @@ Deity:
 .L mines
 .in
 .s1
-Treaty:
-.in +\w'nchoppers\0\0'u
-.L cna
-.L cnb
-.L status
-.L acond
-.L bcond
-.L exp
-.in
-.s1
 Loan:
 .in +\w'nchoppers\0\0'u
 .L loaner
index 3c9c0f2080c6a21473d1a588c9b49e19dab6c80e..4f261452636acd565f238019d0cba2e4b98cc834 100644 (file)
@@ -8,16 +8,16 @@ it prints the acceptance status of the specified country.
 .s1
 .EX "accept 7"
 .nf
-Temekula Acceptance Status Report       Sun Feb 21 20:53:51 1993
+    Temekula Acceptance Status Report   Sat Jan 11 17:02:53 2014
 
-Acceptance status            his                theirs
-                     tel trty anno loan   tel trty anno loan
-1) Gobu              YES  YES  YES  YES   YES  YES  YES  YES
-2) Spectre           YES  YES  YES  YES   YES  YES  YES  YES
-3) Rohan             YES  YES  YES  YES   YES  YES  YES  YES
-4) Sioux             YES  YES  YES  YES   YES  YES  YES  YES
-5) Tom_Servo         YES  YES  YES  YES   YES  YES  YES  YES
-6) Horgoth           YES  YES  YES  YES   YES  YES  YES  YES
+  Acceptance status        his            theirs
+                       tel anno loan   tel anno loan
+  1) Gobu              YES  YES  YES   YES  YES  YES
+  2) Spectre           YES  YES  YES   YES  YES  YES
+  3) Rohan             YES  YES  YES   YES  YES  YES
+  4) Sioux             YES  YES  YES   YES  YES  YES
+  5) Tom_Servo         YES  YES  YES   YES  YES  YES
+  6) Horgoth           YES  YES  YES   YES  YES  YES
 .fi
 .s1
 .SA "telegram, announce, read, wire, reject, Diplomacy, Communication"
index cf50c8544960995afd0e2720e0a5ad269092bb3e..83b26f71214dfecc25077d48cc4d8ba8a007721b 100644 (file)
@@ -1,12 +1,11 @@
 .TH Command CONSIDER
-.NA consider "Accept, decline or postpone consideration of a loan or treaty"
+.NA consider "Accept, decline or postpone consideration of a loan"
 .LV Expert
 .SY "consider loan <loan #> accept|decline|postpone"
-.SY "consider treaty <treaty #> accept|decline|postpone"
-This command allows you to consider accepting a loan or treaty
+This command allows you to consider accepting a loan
 offered by another country.
 .s1
-The program will list the various terms of the loan or treaty
+The program will list the various terms of the loan
 under consideration and ask for your decision
 as to whether to accept the terms, decline them,
 or postpone making a decision.
@@ -18,20 +17,13 @@ If at the time of your acceptance,
 the lender does not have sufficient funds the size of the loan
 will be diminished to fit the lender's cash on hand.
 .s1
-If you accept a treaty,
-it goes into effect immediately but the time period of the treaty
-is calculated based on the offer date
-rather than the acceptance date.
-.s1
 Loan offers are withdrawn if not accepted within a number
 of days equal to the proposed loan's duration.
 .s1
-Treaty offers expire at the time the proposed treaty would expire.
-.s1
 Warning: When the terms of a loan are printed out,
 take note of the due date;
 if you do not pay by the due date the interest will double
 and you will be subject to \*Qcollection\*U,
 (see \*Qinfo collect\*U).
 .s1
-.SA "collect, ledger, offer, treaty, Loans"
+.SA "collect, ledger, offer, Loans"
index 58f2ab1378beb7f7029a4ec481c999382da4b4c7..018550c34bad98ba16978ac2999c5a8f7615f765 100644 (file)
@@ -28,7 +28,6 @@ and what news to see with the ?action selector.  Actions are:
      2)  Unsuccessful attack
      3)  Spy shot
      4)  Telegram sent
-     5)  Treaty signing
      6)  Loan made
      7)  Loan repaid
      8)  Goods sold
@@ -44,8 +43,6 @@ and what news to see with the ?action selector.  Actions are:
      18) Successful boarding actions
      19) Unsuccessful boarding actions
      21) Collecting on loans
-     22) Considering treaty violation
-     23) Actual treaty violation
      25) Ships hitting mines
      26) Alliance declaration
      28) War declarations
index 49f8b0aef0379bce136ff6f6f80eadb3329d4bbc..9bcff487cb0eb6acb4d22c033e397bf97229ea4d 100644 (file)
@@ -1,14 +1,10 @@
 .TH Command OFFER
-.NA offer "Offer a loan or treaty to another country"
+.NA offer "Offer a loan to another country"
 .LV Expert
 .SY "offer loan <CNUM/CNAME> <AMOUNT> <DURATION> <RATE>"
-.SY "offer treaty <CNUM/CNAME>"
-The offer command is used to offer either a loan or a treaty
+The offer command is used to offer a loan
 to another country.
 .s1
-In the case of a loan:
-.in +4
-.s1
 <CNUM/CNAME> is the number or name of the country to whom
 you are offering the loan,
 .s1
@@ -31,44 +27,4 @@ and you will be notified that the loan duration has started.
 Note that the dependence of rate on the duration makes a 30 day loan
 at 10% a worse deal than a 60 day loan at 15%.
 .s1
-.in -4
-In the case of a treaty:
-.s1
-.in +4
-<CNUM/CNAME> is the name or number of the country to whom
-you wish to offer the treaty.
-.s1
-You will be asked to set both the conditions for yourself
-and for the other country.
-.s1
-The conditions from which you may choose are:
-.s1
-.NF
-Condition                 Command(s) affected
-no attacks on land units  lboard
-no attacks on ships       board
-no sector attacks         assault, attack, paradrop
-no shelling ships         fire
-no depth-charging subs    fire
-no shelling land          fire
-no enlistments            enlist
-no building               build
-.FI
-.s1
-Note that the first six terms apply to interactions
-between the two parties to the treaty while the last two apply
-to ANY actions of the specified type.
-.s1
-Once you have offered the treaty,
-a telegram will be sent to the other country indicating the offer.
-If the other country accepts the treaty,
-(using the \*Qconsider\*U command),
-you will be notified that it has gone into effect.
-.s1
-Once signed, the treaty is not binding!
-However, any violation of the treaty will be pointed out
-to the violator in time for him/her to reconsider the action and will
-find its way into the news.
-.in -4
-.s1
-.SA "collect, consider, ledger, repay, treaty, Loans"
+.SA "collect, consider, ledger, repay, Loans"
index 9ec6dfadd0ee2588a3894f3906c43eb2e98b38f0..d147f9f018fb056f17034952eda76821339cb298 100644 (file)
@@ -3,8 +3,7 @@
 .LV Basic
 .SY "power [new|update] [<NUM>|country <NATS>]"
 The power report provides one view of national strengths.
-It can be particularly helpful in planning defense strategies
-and treaty voting.
+It can be particularly helpful in planning defense strategies.
 .s1
 Normally, the last saved power report is shown.
 The optional arguments \*Qnew\*U and \*Qupdate\*U request a new power
index 425b3aa67628c721d3b711a6087b5c9829b374ee..af31ec26794c27c226e5e523d74f2463fb34b2f4 100644 (file)
@@ -1,21 +1,21 @@
 .TH Command REJECT
 .NA reject "Stop/start listening to other countries"
 .LV Expert
-.SY "reject <reject|accept> <announcements|mail|treaties|loans> <NAT>"
+.SY "reject <reject|accept> <announcements|mail|loans> <NAT>"
 The reject command allows you to either accept or reject announcements,
-mail, treaties, or loans from a country.
+mail, or loans from a country.
 .s1
 .EX "reject"
 .nf
 reject or accept? reject
-mail, treaties, loans, or announcements? anno
+mail, loans, or announcements? anno
 nat(s)? 0
 Rejecting annos from The_Scum
 .fi
 .EX "reject"
 .nf
 reject or accept? accept
-mail, treaties, loans, or announcements? anno
+mail, loans, or announcements? anno
 nat(s)? 0
 Accepting annos from The_Scum
 .fi
index 6d6b292d0564c6b2f7b9c52b13f12e567a4757c9..57707b11da05d1a0b594e447c654184a683912cd 100644 (file)
@@ -2,7 +2,7 @@
 .NA telegram "Send \*Qdiplomatic\*U communique to another country"
 .LV Basic
 .SY "telegram <CNUM/CNAME>..."
-The telegram command allows non-treaty communication
+The telegram command allows communication
 to take place between representatives.  Currently you
 are given only 1024 characters per telegram.
 .s1
diff --git a/info/treaty.t b/info/treaty.t
deleted file mode 100644 (file)
index cad63e9..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-.TH Command TREATY
-.NA treaty "Listing of all current and pending treaties"
-.LV Expert
-.SY "treaty <TREATIES>"
-The treaty command will report on all outstanding treaties and all
-pending treaties. The conditions and durations are displayed.
-.s1
-A typical treaty report might be:
-.s1
-.NF
-  *** Empire Treaty #7 ***
-(proposed)
-between Curmudgeon and Urp  expires Mon May  4 00:42:04 1981
-   Curmudgeon terms   Urp terms
-no attacks on ships   no attacks on ships
-                      no shelling ships
-no sector attacks     no sector attacks
-                      no shelling land
-no enlistments
-no new land units     no new land units
-
-  *** Empire Treaty #2 ***
-between Curmudgeon and East Eden  expires Mon May  4 00:42:59 1981
-   Curmudgeon terms   East Eden terms
-no attacks on ships   no attacks on ships
-no shelling ships     no shelling ships
-no sector attacks     no sector attacks
-no shelling land      no shelling land
-no new land units     no new land units
-.FI
-.s1
-.SA "consider, offer, Diplomacy"
index a29a3be542ae05770f93f95b61ef1e90253d98c0..3f3b0127708a4ca92b934ef9dcdf7b1b5b063053 100644 (file)
@@ -78,7 +78,7 @@ Visitors are disconnected after 5 minutes of idle time.
 
 Options enabled in this game:
        ALL_BLEED, BLITZ, EASY_BRIDGES, FALLOUT, GODNEWS, INTERDICT_ATT,
-       NOFOOD, NOMOBCOST, NO_PLAGUE, RAILWAYS, SAIL, TREATIES
+       NOFOOD, NOMOBCOST, NO_PLAGUE, RAILWAYS, SAIL
 
 Options disabled in this game:
        AUTO_POWER, BRIDGETOWERS, GO_RENEW, GUINEA_PIGS, HIDDEN, LOANS,
index 9612ab8d11857eabd811f29667508c10ef6fbf36..cd25081919f2e987e2e1766f66083295803c9560 100644 (file)
@@ -24,7 +24,7 @@
  *
  *  ---
  *
- *  acce.c: Report rejection status of telegrams/treaties/annos/loans
+ *  acce.c: Report rejection status of telegrams/annos/loans
  *
  *  Known contributors to this file:
  *
@@ -35,7 +35,7 @@
 #include "commands.h"
 
 /*
- * report rejection status of telegrams and treaties.
+ * report rejection status
  * Optional argument reports staus from the
  * viewpoint of another country
  */
@@ -44,22 +44,14 @@ acce(void)
 {
     static char *rejects[] = {
        /* must follow reject flags defined in nat.h */
-       "  YES  YES  YES  YES",
-       "  NO   YES  YES  YES",
-       "  YES  NO   YES  YES",
-       "  NO   NO   YES  YES",
-       "  YES  YES  NO   YES",
-       "  NO   YES  NO   YES",
-       "  YES  NO   NO   YES",
-       "  NO   NO   NO   YES",
-       "  YES  YES  YES  NO ",
-       "  NO   YES  YES  NO ",
-       "  YES  NO   YES  NO ",
-       "  NO   NO   YES  NO ",
-       "  YES  YES  NO   NO ",
-       "  NO   YES  NO   NO ",
-       "  YES  NO   NO   NO ",
-       "  NO   NO   NO   NO "
+       "  YES  YES  YES",
+       "  NO   YES  YES",
+       "  YES  NO   YES",
+       "  NO   NO   YES",
+       "  YES  YES  NO ",
+       "  NO   YES  NO ",
+       "  YES  NO   NO ",
+       "  NO   NO   NO ",
     };
     struct natstr *natp;
     struct natstr *np;
@@ -75,9 +67,9 @@ acce(void)
     as = natp->nat_cnum;
     pr("\t%s Acceptance Status Report\t", cname(as));
     prdate();
-    pr("\n  Acceptance status          %5s                theirs\n",
-       player->cnum == as ? "yours" : " his");
-    pr("                       tel trty anno loan   tel trty anno loan\n");
+    pr("\n  Acceptance status       %s           theirs\n",
+       player->cnum == as ? "yours" : " his ");
+    pr("                       tel anno loan   tel anno loan\n");
     for (cn = 0; cn < MAXNOC; cn++) {
        if (cn == as)
            continue;
index 27cc5299055bd7ab056f7f6511d733ec36f480f5..7c4aa1526e0ac45aacacef808df1214e1d190f5a 100644 (file)
@@ -89,10 +89,8 @@ assa(void)
        return RET_OK;
     }
 
-    /* Show what we're assaulting, and check treaties */
-
-    if (att_show(def))
-       return RET_FAIL;
+    /* Show what we're assaulting */
+    att_show(def);
 
     /* Ask about offensive support */
 
index 9e9e93bf57a02cf16ecee3000e9af6fc63da2ac0..4b935ad35b00d9a78644dcca096e15b7502c53b2 100644 (file)
@@ -72,10 +72,8 @@ atta(void)
     if (att_abort(A_ATTACK, NULL, def))
        return RET_FAIL;
 
-    /* Show what we're attacking, and check treaties */
-
-    if (att_show(def))
-       return RET_FAIL;
+    /* Show what we're attacking */
+    att_show(def);
 
     /* Ask about offensive support */
 
index 1e9ddc929fd7907481876990c0786fd46f932b3b..0b40c1b4e2008dccf969aec89b77fe6931374091 100644 (file)
@@ -122,10 +122,8 @@ boar(void)
        return RET_OK;
     }
 
-    /* Show what we're boarding, and check treaties */
-
-    if (att_show(def))
-       return RET_FAIL;
+    /* Show what we're boarding */
+    att_show(def);
 
     /* Ask the player what he wants to board with */
 
index 1c93ef8205d3c9ccb853e585550a84389899d3b4..45d5680aaefc2bd352e3a923bb30ddc596d96664 100644 (file)
@@ -46,7 +46,6 @@
 #include "plague.h"
 #include "plane.h"
 #include "ship.h"
-#include "treaty.h"
 #include "unit.h"
 
 static int build_ship(struct sctstr *sp, int type, int tlev);
@@ -240,10 +239,6 @@ build_ship(struct sctstr *sp, int type, int tlev)
     cost = mp->m_cost * SHIP_MINEFF / 100.0;
     if (!build_can_afford(cost, mp->m_name))
        return 0;
-    if (!trechk(player->cnum, 0, NEWSHP))
-       return 0;
-    if (!check_sect_ok(sp))
-       return 0;
     sp->sct_avail -= avail;
     player->dolcost += cost;
     ef_blank(EF_SHIP, pick_unused_unit_uid(EF_SHIP), &ship);
@@ -331,10 +326,6 @@ build_land(struct sctstr *sp, int type, int tlev)
        return 0;
     }
 #endif
-    if (!trechk(player->cnum, 0, NEWLND))
-       return 0;
-    if (!check_sect_ok(sp))
-       return 0;
     avail = (LND_BLD_WORK(lp->l_lcm, lp->l_hcm) * LAND_MINEFF + 99) / 100;
     if (sp->sct_avail < avail) {
        pr("Not enough available work in %s to build a %s\n",
@@ -421,10 +412,6 @@ build_nuke(struct sctstr *sp, int type, int tlev)
        pr(" (%d available work required)\n", avail);
        return 0;
     }
-    if (!trechk(player->cnum, 0, NEWNUK))
-       return 0;
-    if (!check_sect_ok(sp))
-       return 0;
     sp->sct_avail -= avail;
     player->dolcost += np->n_cost;
     ef_blank(EF_NUKE, pick_unused_unit_uid(EF_NUKE), &nuke);
@@ -494,10 +481,6 @@ build_plane(struct sctstr *sp, int type, int tlev)
           xyas(sp->sct_x, sp->sct_y, player->cnum));
        return 0;
     }
-    if (!trechk(player->cnum, 0, NEWPLN))
-       return 0;
-    if (!check_sect_ok(sp))
-       return 0;
     sp->sct_avail -= avail;
     player->dolcost += cost;
     ef_blank(EF_PLANE, pick_unused_unit_uid(EF_PLANE), &plane);
index 3f1cf4aad0f78eb88d8aff9525416f48cc0f8cf7..5997940493703fe79052473f537bfd28bc25d32c 100644 (file)
@@ -24,7 +24,7 @@
  *
  *  ---
  *
- *  cons.c: Consider a loan or treaty
+ *  cons.c: Consider a loan
  *
  *  Known contributors to this file:
  *     Markus Armbruster, 2004-2014
 #include "loan.h"
 #include "news.h"
 #include "optlist.h"
-#include "treaty.h"
 
-/*
- * Things common to a loan or treaty.
- */
 struct ltcomstr {
-    int type;                  /* EF_LOAN or EF_TREATY */
+    int type;                  /* currently always EF_LOAN */
     int num;                   /* number */
-    char *name;                        /* "loan" or "treaty" */
-    char *Name;                        /* "Loan" or "Treaty" */
+    char *name;                        /* "loan" */
+    char *Name;                        /* "Loan" */
     natid proposer;            /* country offering */
     natid proposee;            /* country offered to */
     natid mailee;              /* who gets mail about it */
     char op;                   /* 'a', 'd', or 'p' */
     union {
        struct lonstr l;        /* the loan */
-       struct trtstr t;        /* the treaty */
     } u;
 };
 
@@ -61,8 +56,6 @@ static int cons_display(struct ltcomstr *ltcp);
 static int cons_accept(struct ltcomstr *ltcp);
 static int cons_decline(struct ltcomstr *ltcp);
 static int cons_postpone(struct ltcomstr *ltcp);
-static int treaty_accept(struct ltcomstr *ltcp);
-static int treaty_decline(struct ltcomstr *ltcp);
 static int loan_accept(struct ltcomstr *ltcp);
 static int loan_decline(struct ltcomstr *ltcp);
 static void accpt(struct ltcomstr *ltcp);
@@ -95,32 +88,22 @@ cons(void)
 
 /*
  * Choose whether we want to accept, decline, or postpone a
- * loan or treaty.  Put all the goodies in ltcp, and return
+ * loan.  Put all the goodies in ltcp, and return
  * RET_OK if all goes well, and anything else on error.
  */
 static int
 cons_choose(struct ltcomstr *ltcp)
 {
-    static int lon_or_trt[] = { EF_LOAN, EF_TREATY, EF_BAD };
+    static int lon_or_trt[] = { EF_LOAN, EF_BAD };
     char *p;
     struct lonstr *lp;
-    struct trtstr *tp;
     char prompt[128];
     char buf[1024];
 
     memset(ltcp, 0, sizeof(*ltcp));
-    if (!getstarg(player->argp[1], "loan or treaty? ", buf))
-       return RET_SYN;
-    ltcp->type = ef_byname_from(buf, lon_or_trt);
+    p = player->argp[1] ? player->argp[1] : "loan";
+    ltcp->type = ef_byname_from(p, lon_or_trt);
     switch (ltcp->type) {
-    case EF_TREATY:
-       if (!opt_TREATIES) {
-           pr("Treaties are not enabled.\n");
-           return RET_FAIL;
-       }
-       ltcp->name = "treaty";
-       ltcp->Name = "Treaty";
-       break;
     case EF_LOAN:
        if (!opt_LOANS) {
            pr("Loans are not enabled.\n");
@@ -130,7 +113,7 @@ cons_choose(struct ltcomstr *ltcp)
        ltcp->Name = "Loan";
        break;
     default:
-       pr("You must specify \"loan\" or \"treaty\".\n");
+       pr("You must specify \"loan\".\n");
        return RET_SYN;
     }
     sprintf(prompt, "%s number? ", ltcp->Name);
@@ -150,15 +133,6 @@ cons_choose(struct ltcomstr *ltcp)
        ltcp->proposer = lp->l_loner;
        ltcp->proposee = lp->l_lonee;
        break;
-    case EF_TREATY:
-       tp = &ltcp->u.t;
-       if (tp->trt_status == TS_SIGNED) {
-           pr("That treaty has already been accepted!\n");
-           return RET_FAIL;
-       }
-       ltcp->proposer = tp->trt_cna;
-       ltcp->proposee = tp->trt_cnb;
-       break;
     }
     ltcp->mailee = (ltcp->proposer == player->cnum)
        ? ltcp->proposee : ltcp->proposer;
@@ -175,8 +149,6 @@ cons_display(struct ltcomstr *ltcp)
     switch (ltcp->type) {
     case EF_LOAN:
        return disloan(ltcp->num, &ltcp->u.l);
-    case EF_TREATY:
-       return distrea(ltcp->num, &ltcp->u.t);
     default:
        CANT_REACH();
        return 0;
@@ -189,8 +161,6 @@ cons_accept(struct ltcomstr *ltcp)
     switch (ltcp->type) {
     case EF_LOAN:
        return loan_accept(ltcp);
-    case EF_TREATY:
-       return treaty_accept(ltcp);
     default:
        CANT_REACH();
        return RET_FAIL;
@@ -203,17 +173,12 @@ cons_decline(struct ltcomstr *ltcp)
     switch (ltcp->type) {
     case EF_LOAN:
        return loan_decline(ltcp);
-    case EF_TREATY:
-       return treaty_decline(ltcp);
     default:
        CANT_REACH();
        return RET_FAIL;
     }
 }
 
-/*
- * Postpone a treaty; always succeeds.
- */
 static int
 cons_postpone(struct ltcomstr *ltcp)
 {
@@ -318,74 +283,8 @@ loan_decline(struct ltcomstr *ltcp)
 }
 
 /*
- * Accept a treaty.  Return RET_OK on success, anything else on error.
- */
-static int
-treaty_accept(struct ltcomstr *ltcp)
-{
-    struct trtstr *tp;
-
-    tp = &ltcp->u.t;
-    if (ltcp->proposee != player->cnum) {
-       pr("%s %d is still pending.\n", ltcp->Name, ltcp->num);
-       return RET_OK;
-    }
-    if (!gettre(ltcp->num, tp)) {
-       pr("treaty_accept: can't read treaty");
-       pr("can't read treaty; get help!\n");
-       return RET_FAIL;
-    }
-    if (tp->trt_status == TS_FREE) {   /* treaty offer withdrawn */
-       late(ltcp);
-       return RET_OK;
-    }
-    if (tp->trt_status == TS_SIGNED) { /* somehow got accepted */
-       prev_signed(ltcp);
-       return RET_OK;
-    }
-    tp->trt_status = TS_SIGNED;
-    if (!puttre(ltcp->num, tp)) {
-       pr("treaty_accept: can't write treaty");
-       pr("Problem saving treaty; get help!\n");
-       return RET_FAIL;
-    }
-    accpt(ltcp);
-    pr("Treaty in effect until %s", ctime(&tp->trt_exp));
-    return RET_OK;
-}
-
-/*
- * Decline a treaty.  Return RET_OK on success, anything else on error.
- */
-static int
-treaty_decline(struct ltcomstr *ltcp)
-{
-    struct trtstr *tp;
-
-    tp = &ltcp->u.t;
-    if (!gettre(ltcp->num, tp)) {
-       logerror("treaty_decline: can't read treaty");
-       pr("can't read treaty; get help!\n");
-       return RET_FAIL;
-    }
-    /* treaty got signed somehow between now and last time we read it */
-    if (tp->trt_status == TS_SIGNED) {
-       late(ltcp);
-       return RET_OK;
-    }
-    tp->trt_status = TS_FREE;
-    if (!puttre(ltcp->num, tp)) {
-       logerror("treaty_decline: can't write treaty");
-       pr("Problem saving treaty; get help!\n");
-       return RET_FAIL;
-    }
-    decline(ltcp);
-    return RET_OK;
-}
-
-/*
- * Somebody tried to accept a loan/treaty that was retracted,
- * or to decline a loan/treaty they already signed.
+ * Somebody tried to accept a loan that was retracted,
+ * or to decline a loan they already signed.
  */
 static void
 late(struct ltcomstr *ltcp)
@@ -396,7 +295,7 @@ late(struct ltcomstr *ltcp)
 }
 
 /*
- * Loan or treaty was previously signed.
+ * Loan was previously signed.
  */
 static void
 prev_signed(struct ltcomstr *ltcp)
@@ -405,7 +304,7 @@ prev_signed(struct ltcomstr *ltcp)
 }
 
 /*
- * Post-processing after successful declination of loan or treaty.
+ * Post-processing after successful declination of loan.
  * Notify the folks involved.
  */
 static void
@@ -424,7 +323,7 @@ decline(struct ltcomstr *ltcp)
 }
 
 /*
- * Post-processing after successful acceptance of loan or treaty.
+ * Post-processing after successful acceptance of loan.
  * Notify the press, and the folks involved.
  * (Weird spelling is to avoid accept(2)).
  */
@@ -435,9 +334,6 @@ accpt(struct ltcomstr *ltcp)
     case EF_LOAN:
        nreport(ltcp->proposer, N_MAKE_LOAN, player->cnum, 1);
        break;
-    case EF_TREATY:
-       nreport(player->cnum, N_SIGN_TRE, ltcp->mailee, 1);
-       break;
     default:
        CANT_REACH();
     }
index 4cb744195c94327fe09035bae8390152b240ef3b..a5d29e6c954c3b0542abd0a370c0f846816dfa6a 100644 (file)
@@ -34,7 +34,6 @@
 
 #include "chance.h"
 #include "commands.h"
-#include "treaty.h"
 
 int
 enli(void)
@@ -55,8 +54,6 @@ enli(void)
 
     if (!snxtsct(&nstr, player->argp[1]))
        return RET_SYN;
-    if (!trechk(player->cnum, 0, TRTENL))
-       return RET_FAIL;
     natp = getnatp(player->cnum);
     newmil = 500;
     sprintf(prompt, "Number to enlist (max %d) : ", newmil);
index fe15539205da6c9d1c5e5ccb764f90291e04a4fd..1195c48060af224da529d93a5760560b72921f97 100644 (file)
@@ -94,9 +94,7 @@ lboa(void)
     }
 
     /* Show what we're boarding */
-
-    if (att_show(def))
-       return RET_FAIL;
+    att_show(def);
 
     /* Ask the player what he wants to board with */
 
index 5339108ea99d9e7fe41f7ef2ac349889936e264d..87b308aa875564f4845a608667afb6b43c4d1dee 100644 (file)
@@ -367,22 +367,6 @@ multifire(void)
            }
            continue;
        }
-       switch (target) {
-       case targ_ship:
-           if (!trechk(player->cnum, vict, SEAFIR))
-               continue;
-           break;
-       case targ_sub:
-           if (!trechk(player->cnum, vict, SUBFIR))
-               continue;
-           break;
-       case targ_land:
-           if (!trechk(player->cnum, vict, LANFIR))
-               continue;
-           break;
-       default:
-           break;
-       }
 
        nfiring++;
        switch (target) {
index e59187f0528c2acc464fcaedd4824e7d9bae4824..231e3b871c87385aca753275de3e7aee868b1465 100644 (file)
@@ -24,7 +24,7 @@
  *
  *  ---
  *
- *  offe.c: Offer a loan or treaty
+ *  offe.c: Offer a loan
  *
  *  Known contributors to this file:
  *     Pat Loney, 1992
 #include "commands.h"
 #include "loan.h"
 #include "optlist.h"
-#include "treaty.h"
 
-static int do_treaty(void);
 static int do_loan(void);
 
 int
 offe(void)
 {
     char *cp;
-    char buf[1024];
-
-    cp = getstarg(player->argp[1], "loan or treaty? ", buf);
-    if (!cp || !*cp)
-       return RET_SYN;
 
+    cp = player->argp[1] ? player->argp[1] : "loan";
     switch (*cp) {
     case 'l':
        if (!opt_LOANS) {
@@ -58,100 +52,12 @@ offe(void)
            return RET_FAIL;
        }
        return do_loan();
-    case 't':
-       if (!opt_TREATIES) {
-           pr("Treaties are not enabled.\n");
-           return RET_FAIL;
-       }
-       return do_treaty();
     default:
-       pr("You must specify \"loan\" as there are no treaties.\n");
+       pr("You must specify \"loan\".\n");
        return RET_SYN;
     }
 }
 
-static int
-do_treaty(void)
-{
-    char *cp;
-    int ourcond, theircond;
-    struct symbol *tfp;
-    struct trtstr trty;
-    struct nstr_item nstr;
-    natid recipient;
-    time_t now;
-    int j, n;
-    struct natstr *natp;
-    char prompt[128];
-    char buf[1024];
-
-    if ((n = natarg(player->argp[2], "Treaty offered to? ")) < 0)
-       return RET_SYN;
-    recipient = n;
-    if (recipient == player->cnum) {
-       pr("You can't sign a treaty with yourself!\n");
-       return RET_FAIL;
-    }
-    natp = getnatp(recipient);
-    if (player->cnum && (getrejects(player->cnum, natp) & REJ_TREA)) {
-       pr("%s is rejecting your treaties.\n", cname(recipient));
-       return RET_SYN;
-    }
-    pr("Terms for %s:\n", cname(recipient));
-    theircond = 0;
-    for (tfp = treaty_flags; tfp && tfp->name; tfp++) {
-       sprintf(prompt, "%s? ", tfp->name);
-       if (!(cp = getstring(prompt, buf)))
-           return RET_FAIL;
-       if (*cp == 'y')
-           theircond |= tfp->value;
-    }
-    pr("Terms for you:\n");
-    ourcond = 0;
-    for (tfp = treaty_flags; tfp && tfp->name; tfp++) {
-       sprintf(prompt, "%s? ", tfp->name);
-       if (!(cp = getstring(prompt, buf)))
-           return RET_FAIL;
-       if (*cp == 'y')
-           ourcond |= tfp->value;
-    }
-    if (ourcond == 0 && theircond == 0) {
-       pr("Treaties with no clauses aren't very useful, boss!\n");
-       return RET_SYN;
-    }
-    cp = getstring("Proposed treaty duration? (days) ", buf);
-    if (!cp)
-       return RET_FAIL;
-    j = atoi(cp);
-    if (j <= 0) {
-       pr("Bad treaty duration.\n");
-       return RET_SYN;
-    }
-    (void)time(&now);
-    snxtitem_all(&nstr, EF_TREATY);
-    while (nxtitem(&nstr, &trty)) {
-       if (trty.trt_status == TS_FREE) {
-           break;
-       }
-    }
-    ef_blank(EF_TREATY, nstr.cur, &trty);
-    trty.trt_acond = ourcond;
-    trty.trt_bcond = theircond;
-    trty.trt_status = TS_PROPOSED;
-    trty.trt_cna = player->cnum;
-    trty.trt_cnb = recipient;
-    trty.trt_exp = j * SECS_PER_DAY + now;
-    if (!puttre(nstr.cur, &trty)) {
-       logerror("do_treaty: can't write treaty");
-       pr("Couldn't save treaty; get help.\n");
-       return RET_FAIL;
-    }
-    wu(0, recipient, "Treaty #%d proposed to you by %s\n",
-       nstr.cur, cname(player->cnum));
-    pr("You have proposed treaty #%d\n", nstr.cur);
-    return RET_OK;
-}
-
 static int
 do_loan(void)
 {
index 2ae78754311310030becbb8c24f5976b2d8e049c..24f81f5b489e229522bcab42cfde0b1989250dfe 100644 (file)
@@ -130,10 +130,8 @@ paradrop(struct emp_qelem *list, coord x, coord y)
     if (att_abort(A_PARA, NULL, def))
        return RET_FAIL;
 
-    /* Show what we're air-assaulting, and check treaties */
-
-    if (att_show(def))
-       return RET_FAIL;
+    /* Show what we're air-assaulting */
+    att_show(def);
 
     /* set what we're air-assaulting with */
 
index f266231dcf4262eba4f0059a58b99d8a2a5564e2..684ed615fe893e92aa46beae11187d59cea6640a 100644 (file)
@@ -24,7 +24,7 @@
  *
  *  ---
  *
- *  reje.c: Refuse telegrams/annos/treaties/loans from countries
+ *  reje.c: Refuse telegrams/annos/loans from countries
  *
  *  Known contributors to this file:
  *
@@ -58,7 +58,7 @@ reje(void)
        return RET_SYN;
     }
     p = getstarg(player->argp[2],
-                "mail, treaties, loans, or announcements? ", buf);
+                "mail, loans, or announcements? ", buf);
     if (!p)
        return RET_SYN;
     switch (*p) {
@@ -71,9 +71,6 @@ reje(void)
     case 'm':
        rel = REJ_TELE;
        break;
-    case 't':
-       rel = REJ_TREA;
-       break;
     default:
        pr("That's not one of the choices!\n");
        return RET_SYN;
@@ -102,10 +99,6 @@ reje(void)
            pr("%s teles from %s\n",
               (do_undo == 1 ? "Rejecting" : "Accepting"), nat.nat_cnam);
            break;
-       case REJ_TREA:
-           pr("%s treaties from %s\n",
-              (do_undo == 1 ? "Rejecting" : "Accepting"), nat.nat_cnam);
-           break;
        }
        setrej(player->cnum, (natid)ni.cur, do_undo, rel);
     }
diff --git a/src/lib/commands/trea.c b/src/lib/commands/trea.c
deleted file mode 100644 (file)
index 687d3b2..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- *  Empire - A multi-player, client/server Internet based war game.
- *  Copyright (C) 1986-2014, Dave Pare, Jeff Bailey, Thomas Ruschak,
- *                Ken Stevens, Steve McClure, Markus Armbruster
- *
- *  Empire is free software: you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation, either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- *
- *  ---
- *
- *  See files README, COPYING and CREDITS in the root of the source
- *  tree for related information and legal notices.  It is expected
- *  that future projects/authors will amend these files as needed.
- *
- *  ---
- *
- *  trea.c: Look at current treaties.
- *
- *  Known contributors to this file:
- *
- */
-
-#include <config.h>
-
-#include "commands.h"
-#include "treaty.h"
-
-int
-trea(void)
-{
-    struct trtstr treaty;
-    struct nstr_item nstr;
-    int ntreaty;
-
-    if (!snxtitem(&nstr, EF_TREATY, player->argp[1], NULL))
-       return RET_SYN;
-    pr("\t... %s Treaty Report ...\n", cname(player->cnum));
-    ntreaty = 0;
-    while (nxtitem(&nstr, &treaty)) {
-       if (distrea(nstr.cur, &treaty) > 0)
-           ntreaty++;
-    }
-    if (!ntreaty)
-       pr("No treaties found.\n");
-    else
-       pr("%d treat%s\n", ntreaty, iesplur(ntreaty));
-    return RET_OK;
-}
index 65390e356811f3f04e3be7920089c92049296b5c..3b245b66773979915865e24a3dc0259d3b47aec0 100644 (file)
@@ -46,7 +46,6 @@ static int
 xdvisible(int type, void *p)
 {
     struct empobj *gp = p;
-    struct trtstr *tp = p;
     struct lonstr *lp = p;
     struct natstr *natp;
     int tlev;
@@ -67,10 +66,6 @@ xdvisible(int type, void *p)
        return gp->own == player->cnum;
     case EF_NEWS:
        return !opt_HIDDEN || player->god; /* FIXME */
-    case EF_TREATY:
-       return tp->trt_cna == player->cnum
-           || tp->trt_cnb == player->cnum
-           || player->god;
     case EF_LOAN:
        if (lp->l_status == LS_SIGNED)
            return 1;
index d7ae015f95fa592d5182efae018f3011caedc6dd..61b2ee7c873a82c48480ac66d0e2599b79aaa200 100644 (file)
@@ -93,8 +93,6 @@ empobj_in_use(int type, void *p)
        return ((struct natstr *)p)->nat_stat != STAT_UNUSED;
     case EF_NEWS:
        return ((struct nwsstr *)p)->nws_vrb != 0;
-    case EF_TREATY:
-       return ((struct trtstr *)p)->trt_status != TS_FREE;
     case EF_LOAN:
        return ((struct lonstr *)p)->l_status != LS_FREE;
     case EF_REALM:
index 792e62ab935578c0fada96e227a9fcc48ed21239..36f687ff2f1f5bd2f5c95367e595669dd079444e 100644 (file)
@@ -51,7 +51,6 @@
 #include "ship.h"
 #include "server.h"
 #include "trade.h"
-#include "treaty.h"
 #include "version.h"
 #include "xy.h"
 
@@ -154,9 +153,6 @@ struct empfile empfile[] = {
     {EF_NEWS, "news", NULL, "news", news_ca, EF_BAD,
      UNMAPPED_CACHE(struct nwsstr, -1, 0),
      NULL, NULL, NULL, NULL},
-    {EF_TREATY, "treaty", NULL, "treaty", treaty_ca, EF_BAD,
-     UNMAPPED_CACHE(struct trtstr, -1, EFF_TYPED),
-     NULL, NULL, NULL, NULL},
     {EF_TRADE, "trade", "trade lot", "trade", trade_ca, EF_BAD,
      UNMAPPED_CACHE(struct trdstr, -1, EFF_TYPED | EFF_OWNER),
      NULL, NULL, NULL, NULL},
@@ -265,7 +261,6 @@ struct empfile empfile[] = {
     SYMTAB(EF_RETREAT_FLAGS, "retreat-flags", retreat_flags),
     SYMTAB(EF_SECTOR_NAVIGATION, "sector-navigation", sector_navigation),
     SYMTAB(EF_SHIP_CHR_FLAGS, "ship-chr-flags", ship_chr_flags),
-    SYMTAB(EF_TREATY_FLAGS, "treaty-flags", treaty_flags),
 
     /* Views */
     {EF_COUNTRY, "country", NULL, NULL, cou_ca, EF_NATION,
index 133a3b3cac1b2cd47fe1fb615c7f3c001d98c098..17b274eea30fdbb35b171ae04e72f2bb908707de 100644 (file)
@@ -432,24 +432,6 @@ struct castr nchr_ca[] = {
 #undef CURSTR
 };
 
-struct castr treaty_ca[] = {
-#define CURSTR struct trtstr
-    {"uid", fldoff(trt_uid), NSC_INT, 0, NULL, EF_TREATY, 0},
-    {"timestamp", fldoff(trt_timestamp), NSC_TIME, 0, NULL,
-     EF_BAD, NSC_EXTRA},
-    {"cna", fldoff(trt_cna), NSC_NATID, 0, NULL, EF_NATION, 0},
-    {"cnb", fldoff(trt_cnb), NSC_NATID, 0, NULL, EF_NATION, 0},
-    {"status", fldoff(trt_status), NSC_CHAR, 0, NULL,
-     EF_AGREEMENT_STATUS, 0},
-    {"acond", fldoff(trt_acond), NSC_SHORT, 0, NULL,
-     EF_TREATY_FLAGS, NSC_BITS},
-    {"bcond", fldoff(trt_bcond), NSC_SHORT, 0, NULL,
-     EF_TREATY_FLAGS, NSC_BITS},
-    {"exp", fldoff(trt_exp), NSC_TIME, 0, NULL, EF_BAD, 0},
-    {NULL, 0, NSC_NOTYPE, 0, NULL, EF_BAD, 0}
-#undef CURSTR
-};
-
 struct castr loan_ca[] = {
 #define CURSTR struct lonstr
     {"uid", fldoff(l_uid), NSC_INT, 0, NULL, EF_LOAN, 0},
index 124f1447caf4ab3031dd04ebebf2f6c9f6fd79a8..6c1cb04a2e5e6dd69faeaa3491669a07eb6054ba 100644 (file)
@@ -56,7 +56,6 @@
  * - Planes: EF_PLANE (superseding pdump)
  * - Ships: EF_SHIP (superseding sdump)
  * - News: EF_NEWS
- * - Treaties: EF_TREATY
  * - Power: EF_POWER (TODO)
  * - Nations: EF_NATION
  * - Loans: EF_LOAN
index 9d22b024ad8963994dc095b02c5ec7d20834c797..6623b2445dacf3896f44fddae9a7f67d41c1a8fe 100644 (file)
@@ -55,8 +55,7 @@ struct rptstr rpt[] = {
                                 "spy captured and shot by %s" } },
     { N_SENT_TEL, 1,  N_TELE,  { "sends a telegram to %s",
                                 "telexes %s" } },
-    { N_SIGN_TRE, 3,  N_FOR,   { "diplomats sign a treaty with %s",
-                                "ambassador agrees to a treaty with %s" } },
+    { 5, 0, 0, { no_news, no_news } },
     { N_MAKE_LOAN, 2,  N_ECON,  { "bankers make a loan to %s",
                                  "Ministry of Finance lends money to %s" } },
     { N_REPAY_LOAN, 1,  N_ECON,  { "repays a loan from %s",
@@ -88,10 +87,8 @@ struct rptstr rpt[] = {
     { 20, 0, 0, { no_news, no_news } },
     { N_SEIZE_SECT, -2, N_ECON,  { "seizes a sector from %s to collect on a loan",
                                   "collects one of %s's sectors in repayment of a loan" } },
-    { N_HONOR_TRE, -1, N_FOR,   { "considers an action which would violate a treaty with %s",
-                                 "decides not to violate treaty with %s (yet)" } },
-    { N_VIOL_TRE, -4, N_FOR,   { "violates a treaty with %s",
-                                "actions violate treaty with %s" } },
+    { 22, 0, 0, { no_news, no_news } },
+    { 23, 0, 0, { no_news, no_news } },
     { 24, 0, 0, { no_news, no_news } },
     { N_HIT_MINE, 0,  N_SEA,   { "ship hits a mine",
                                 "ship severely damaged in mine field" } },
index 03b9e13b75522108a604f8fa8a05ea36787c8281..c2e0d9e7de781879d31cf51381cf2377e7897e0d 100644 (file)
@@ -59,4 +59,3 @@ int opt_RES_POP = 0;
 int opt_SAIL = 1;
 int opt_SUPER_BARS = 0;
 int opt_TECH_POP = 0;
-int opt_TREATIES = 1;
index e475ab68fd6da07a00da0fff0d8b84aa7c61ea7a..8568eefd48f04d933456a20a90d4bf7a2ba48e79 100644 (file)
@@ -44,7 +44,6 @@
 #include "retreat.h"
 #include "sect.h"
 #include "ship.h"
-#include "treaty.h"
 
 struct symbol agreement_statuses[] = {
     {AGREE_FREE, "free"},
@@ -129,7 +128,6 @@ struct symbol nation_flags[] = {
 
 struct symbol nation_rejects[] = {
     {REJ_TELE, "telegrams"},
-    {REJ_TREA, "treaties"},
     {REJ_ANNO, "announcements"},
     {REJ_LOAN, "loans"},
     {0, NULL}
@@ -276,18 +274,3 @@ struct symbol ship_chr_flags[] = {
     {M_ANTIMISSILE, "anti-missile"},
     {0, NULL}
 };
-
-struct symbol treaty_flags[] = {
-    {LNDATT, "no attacks on any land units"},
-    {SEAATT, "no attacks on any ships"},
-    {SEAFIR, "no shelling any ships"},
-    {SUBFIR, "no depth-charging any subs"},
-    {LANATT, "no sector attacks"},
-    {LANFIR, "no shelling any land"},
-    {NEWSHP, "no building ships"},
-    {NEWNUK, "no new nuclear weapons"},
-    {NEWPLN, "no building planes"},
-    {NEWLND, "no building land units"},
-    {TRTENL, "no enlistment"},
-    {0, NULL}
-};
index c89896cd3449376e2d569462638c9fa274842dfd..591eab323f54d7726c86a701e317fd865702882f 100644 (file)
@@ -82,7 +82,7 @@ struct cmndstr player_coms[] = {
     {"coastwatch <SECTS>", 1, coas, C_MOD, NORM + CAP},
     {"collect <LOAN> <SECT>", 2, coll, C_MOD, NORM + MONEY + CAP},
     {"commodity <SECTS>", 0, comm, 0, NONVIS},
-    {"consider <loan|treaty> <LOAN/TREATY> <acc|decl|post>",
+    {"consider <loan> <LOAN> <acc|decl|post>",
      1, cons, C_MOD, NORM + CAP},
     {"convert <SECTS> <NUM>", 2, conv, C_MOD, NORM + MONEY + CAP},
     {"country <NATS>", 0, coun, 0, 0},
@@ -173,7 +173,7 @@ struct cmndstr player_coms[] = {
     {"newspaper [days]", 0, news, 0, 0},
     {"nmap <SECTS|NUKE> [s|l|n|p|*|h]", 0, map, C_MOD, NORM},
     {"nuke <NUKES>", 0, nuke, 0, NORM},
-    {"offer <loan|treaty> <NAT> [<NUM> <DAYS> <IRATE>]",
+    {"offer <loan> <NAT> [<NUM> <DAYS> <IRATE>]",
      1, offe, C_MOD, NORM + MONEY + CAP},
     {"order <SHIPS> <c|s|r|d|l>", 1, orde, C_MOD, NORM + CAP},
     {"origin <SECT|COUNTRY|~>", 1, orig, C_MOD, NORM},
@@ -201,7 +201,7 @@ struct cmndstr player_coms[] = {
     {"realm <number> [<SECTS>]", 0, real, C_MOD, NORM},
     {"recon <spy-PLANES> <fighter-PLANES> <ap-SECT> <PATH|DESTINATION>",
      3, reco, C_MOD, NORM + MONEY + CAP},
-    {"reject <reject|accept> <announcements|mail|treaties|loans> <NAT>",
+    {"reject <reject|accept> <announcements|mail|loans> <NAT>",
      2, reje, C_MOD, NORM},
     {"relations  [as-COUNTRY]", 0, rela, 0, 0},
     {"reload", 0, relo, C_MOD, GOD},
@@ -267,7 +267,6 @@ struct cmndstr player_coms[] = {
     {"trade", 1, trad, C_MOD, NORM + MONEY + CAP},
     {"transport <\"nuke\"|\"plane\"> <NUKES|PLANES> <PATH|DESTINATION>",
      1, tran, C_MOD, NORM + CAP},
-    {"treaty <TREATIES>", 0, trea, 0, NORM + MONEY + CAP},
     {"turn <\"on\"|\"off\"|\"mess\">", 0, turn, C_MOD, GOD},
     {"unload <COMM|\"land\"|\"plane\"> <SHIPS> <NUM|UNIT|PLANE>",
      1, load, C_MOD, NORM + CAP},
index 59a8385b6c2dc6cf62ebe380e4c5c81ed5a10250..5fdf81dc085200fee2bca591538515c75c48e69c 100644 (file)
@@ -639,14 +639,10 @@ att_approach(struct combat *off, struct combat *def)
 
 /* The attack is valid.  Tell the attacker about what they're going to hit */
 
-int
+void
 att_show(struct combat *def)
 {
-    /* Note that we tell the player about the treaty BEFORE we tell them
-       about the item.  If we didn't, then they gain free information */
     if (def->type == EF_SECTOR) {
-       if (!trechk(player->cnum, def->own, LANATT))
-           return abort_attack();
        pr("%s is a %d%% %s %s with approximately %d military.\n",
           xyas(def->x, def->y, player->cnum),
           roundintby((int)def->eff, 10),
@@ -655,19 +651,10 @@ att_show(struct combat *def)
        if (map_set(player->cnum, def->x, def->y, def->sct_dcp->d_mnem, 0))
            writemap(player->cnum);
     } else if (def->type == EF_SHIP || def->type == EF_LAND) {
-       if (def->type == EF_SHIP) {
-           if (!trechk(player->cnum, def->own, SEAATT))
-               return abort_attack();
-       } else {
-           if (!trechk(player->cnum, def->own, LNDATT))
-               return abort_attack();
-       }
        pr("%s is about %d%% efficient and has approximately %d mil on board.\n",
           prcom(0, def), roundintby((int)def->eff, 10),
           roundintby(def->troops, 10));
     }
-    /* Ok, everything is fine */
-    return 0;
 }
 
 /* Attack and assault ask the user which kind of support they want */
index 2c9b9378a62cad7ac3527921c5129ce3ccb70635..5466a73de48dd7c0fd29a608223259350c1c5ca5 100644 (file)
@@ -38,9 +38,6 @@
  * some kind of payment plan...like house payments
  * and such, where the bucks just get paid up each
  * update or so.
- *
- * I'd have made this more like treaty if I weren't
- * so disgusted with how it works.
  */
 
 #include <config.h>
diff --git a/src/lib/subs/distrea.c b/src/lib/subs/distrea.c
deleted file mode 100644 (file)
index c7573d8..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- *  Empire - A multi-player, client/server Internet based war game.
- *  Copyright (C) 1986-2014, Dave Pare, Jeff Bailey, Thomas Ruschak,
- *                Ken Stevens, Steve McClure, Markus Armbruster
- *
- *  Empire is free software: you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation, either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- *
- *  ---
- *
- *  See files README, COPYING and CREDITS in the root of the source
- *  tree for related information and legal notices.  It is expected
- *  that future projects/authors will amend these files as needed.
- *
- *  ---
- *
- *  distrea.c: Display treaty information
- *
- *  Known contributors to this file:
- *
- */
-
-#include <config.h>
-
-#include "file.h"
-#include "nat.h"
-#include "nsc.h"
-#include "player.h"
-#include "prototypes.h"
-#include "treaty.h"
-
-int
-distrea(int n, struct trtstr *tp)
-{
-    int i;
-    int acond, bcond, cond;
-    time_t now;
-
-    if (tp->trt_status == TS_FREE)
-       return 0;
-    if (tp->trt_cna != player->cnum &&
-       tp->trt_cnb != player->cnum && !player->god)
-       return 0;
-    (void)time(&now);
-    if (now > tp->trt_exp) {
-       tp->trt_status = TS_FREE;
-       if (!puttre(n, tp)) {
-           pr("Couldn't save treaty; get help!\n");
-           return 0;
-       }
-       pr("Treaty #%d expired %s", n, ctime(&tp->trt_exp));
-       return 0;
-    }
-    pr("\n      * * *  Empire Treaty #%d  * * *\n", n);
-    if (tp->trt_status == TS_PROPOSED)
-       pr("(proposed)\n");
-    pr("between %s and ", cname(tp->trt_cna));
-    pr("%s  expires %s", cname(tp->trt_cnb), ctime(&tp->trt_exp));
-    pr("%24.24s terms", cname(tp->trt_cna));
-    pr(" - %s terms\n", cname(tp->trt_cnb));
-    for (i = 0; 0 != (cond = treaty_flags[i].value); i++) {
-       acond = tp->trt_acond & cond;
-       bcond = tp->trt_bcond & cond;
-       if (acond | bcond) {
-           if (acond)
-               pr("%30s", treaty_flags[i].name);
-           else
-               pr("%30s", "");
-           if (bcond)
-               pr(" - %s\n", treaty_flags[i].name);
-           else
-               pr(" -\n");
-       }
-    }
-    return 1;
-}
index 3cba54895406b9223ee10f4c7ed4da3201f5ea1c..663dec41d88d555630084614acb0750cc796151a 100644 (file)
@@ -102,7 +102,6 @@ ef_open_srv(void)
     failed |= !ef_open(EF_GAME, EFF_MEM);
     failed |= !ef_open(EF_NEWS, 0);
     failed |= !ef_open(EF_LOAN, 0);
-    failed |= !ef_open(EF_TREATY, 0);
     failed |= !ef_open(EF_NUKE, EFF_MEM);
     failed |= !ef_open(EF_POWER, 0);
     failed |= !ef_open(EF_TRADE, 0);
@@ -131,7 +130,6 @@ ef_close_srv(void)
     ef_close(EF_GAME);
     ef_close(EF_NEWS);
     ef_close(EF_LOAN);
-    ef_close(EF_TREATY);
     ef_close(EF_NUKE);
     ef_close(EF_POWER);
     ef_close(EF_TRADE);
diff --git a/src/lib/subs/trechk.c b/src/lib/subs/trechk.c
deleted file mode 100644 (file)
index 7024470..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- *  Empire - A multi-player, client/server Internet based war game.
- *  Copyright (C) 1986-2014, Dave Pare, Jeff Bailey, Thomas Ruschak,
- *                Ken Stevens, Steve McClure, Markus Armbruster
- *
- *  Empire is free software: you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation, either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
- *
- *  ---
- *
- *  See files README, COPYING and CREDITS in the root of the source
- *  tree for related information and legal notices.  It is expected
- *  that future projects/authors will amend these files as needed.
- *
- *  ---
- *
- *  trechk.c: Check to see if an actor has violated a treaty.
- *
- *  Known contributors to this file:
- *     Steve McClure, 1998-1999
- */
-
-/*
- * Check to see if an actor has a treaty forbidding a given action,
- * and if so, see if the actor wishes to break the treaty.
- * All applicable treaties are checked.  All treaties must be broken
- * if the action is to be allowed.  Propsed treaties are warned about,
- * but no mention of broken pending treaties are made in the news.
- */
-
-#include <config.h>
-
-#include "file.h"
-#include "nat.h"
-#include "news.h"
-#include "optlist.h"
-#include "prototypes.h"
-#include "treaty.h"
-
-int
-trechk(natid actor, natid victim, int provision)
-{
-    natid cn;
-    char buf[1024];
-    int news_verb;
-    int involved[MAXNOC];
-    struct trtstr treaty;
-    time_t now;
-    int conditions;
-    natid other;
-    int broken;
-    int applied;
-    struct nstr_item nstr;
-
-    if (!opt_TREATIES)
-       return 1;
-    (void)time(&now);
-    broken = 0;
-    applied = 0;
-    for (cn = 0; cn < MAXNOC; cn++)
-       involved[cn] = 0;
-    snxtitem_all(&nstr, EF_TREATY);
-    while (nxtitem(&nstr, &treaty)) {
-       if (treaty.trt_status == TS_FREE)
-           continue;
-       if (treaty.trt_exp < now)
-           continue;
-       if (actor == treaty.trt_cna) {
-           conditions = treaty.trt_acond;
-           other = treaty.trt_cnb;
-       } else if (actor == treaty.trt_cnb) {
-           conditions = treaty.trt_bcond;
-           other = treaty.trt_cna;
-       } else
-           continue;
-       if ((conditions & provision) == 0)
-           continue;
-       if (victim != other) {
-           switch (provision) {
-               /* These are violations no matter who the victim is */
-           case NEWSHP:
-           case NEWLND:
-           case NEWNUK:
-           case NEWPLN:
-           case TRTENL:
-               break;
-           default:
-               /* The rest are only violations against the victim */
-               continue;
-           }
-       }
-       /* treaty applies to actor */
-       applied++;
-       pr("This action is in contravention of ");
-       if (treaty.trt_status == TS_PROPOSED)
-           pr("pending ");
-       pr(" treaty #%d (with %s)\n", nstr.cur, cname(other));
-       getstring("Do you wish to go ahead anyway? [yn] ", buf);
-       if (*buf == 'n' || *buf == 'N')
-           broken = 0;
-       else
-           broken = 1;
-       if (treaty.trt_status == TS_SIGNED)
-           involved[other]++;
-    }
-    if (applied > 0) {
-       news_verb = N_HONOR_TRE;
-       if (broken > 0)
-           news_verb = N_VIOL_TRE;
-       for (cn = 0; cn < MAXNOC; cn++)
-           if (involved[cn] > 0)
-               nreport(actor, news_verb, cn, 1);
-    }
-    if (applied && !broken) {
-       /*
-        * if any treaty applied, and none were broken
-        * the intended action is NOT performed.
-        */
-       return 0;
-    }
-    return 1;
-}
index 189e428b88d63ff92e2f131cad5d3b7fd342ce8f..e324b279167a2030a5945ea5337a0990ca923172 100644 (file)
@@ -135,7 +135,6 @@ enlist(short *vec, int etu, int *cost)
     int maxmil;
     int enlisted;
 
-    /* Need to check treaties here */
     enlisted = 0;
     maxmil = vec[I_CIVIL] / 2 - vec[I_MILIT];
     if (maxmil > 0) {
index 6029033c391a3c318598ebc522fbde7062aa1c33..4afbadc5957acb0c54cac241724969b43ec4c49a 100644 (file)
@@ -428,9 +428,6 @@ actor action victim times duration time
 0 43 2 4 0 0
 0 33 0 2 0 0
 /config
-config treaty
-uid cna cnb status acond bcond exp
-/config
 config trade
 uid owner type unitid price maxbidder markettime xloc yloc
 /config
index 4566bd0a0b9f08f00f718a4e3eab83d31f224e57..715f51b07c72c8d83278e53c60a92feff0e24883 100644 (file)
@@ -1040,9 +1040,6 @@ uid owner xloc yloc type effic mobil off tech opx opy mission radius stockpile p
 config news
 actor action victim times duration time
 /config
-config treaty
-uid cna cnb status acond bcond exp
-/config
 config trade
 uid owner type unitid price maxbidder markettime xloc yloc
 /config
index 6b863ab67f24145ae6ee15041e9ea8cde0cb5664..4b50e24c767cc0bc1df5288f3487a613d8a54e4a 100644 (file)
@@ -1040,9 +1040,6 @@ uid owner xloc yloc type effic mobil off tech opx opy mission radius stockpile p
 config news
 actor action victim times duration time
 /config
-config treaty
-uid cna cnb status acond bcond exp
-/config
 config trade
 uid owner type unitid price maxbidder markettime xloc yloc
 /config
index 28d5c4657b7ce4fb30fb9b02171e7a86ed7b7575..ef32eb1d09b7826d4910ec9e102cb37a0bf6826e 100644 (file)
@@ -477,9 +477,6 @@ actor action victim times duration time
 1 11 1 2 0 0
 1 11 2 11 0 0
 /config
-config treaty
-uid cna cnb status acond bcond exp
-/config
 config trade
 uid owner type unitid price maxbidder markettime xloc yloc
 /config
index 5771d74ad2ae8e033823cb391c387374ed54d674..7b9767dd57582926ebe653334dbfe1f929713cc3 100644 (file)
@@ -4,7 +4,7 @@ xdump meta plane
 xdump meta land
 xdump meta nuke
 xdump meta news
-xdump meta treaty
+__cmd added -1 0 0
 xdump meta trade
 xdump meta nat
 xdump meta loan
@@ -45,5 +45,5 @@ xdump meta plane-flags
 xdump meta resources
 xdump meta retreat-flags
 xdump meta ship-chr-flags
-xdump meta treaty-flags
+__cmd added -1 0 0
 xdump meta country
index 60109f45b93b14ea95d4760fb3b2e1ff13e3b44f..e4c5a0033d6f72f14adfce4a875ffb19da9be689 100644 (file)
@@ -10,7 +10,7 @@ xdump meta plane
 xdump meta land
 xdump meta nuke
 xdump meta news
-xdump meta treaty
+__cmd added -1 0 0
 xdump meta trade
 xdump meta nat
 xdump meta loan
@@ -51,5 +51,5 @@ xdump meta plane-flags
 xdump meta resources
 xdump meta retreat-flags
 xdump meta ship-chr-flags
-xdump meta treaty-flags
+__cmd added -1 0 0
 xdump meta country
index e74905b09b8d94e804b0359a1fd7cb12a32e4436..6eed851e9ec1940b84d3f6f4697b647b57a7736a 100644 (file)
@@ -4,7 +4,7 @@ xdump plane *
 xdump land *
 xdump nuke *
 xdump news *
-xdump treaty *
+__cmd added -1 0 0
 xdump trade *
 xdump nat *
 xdump loan *
@@ -45,5 +45,5 @@ xdump plane-flags *
 xdump resources *
 xdump retreat-flags *
 xdump ship-chr-flags *
-xdump treaty-flags *
+__cmd added -1 0 0
 xdump country *
index b37a931b4f96f17502b6d5f2996f6c5c0f3cee02..89501671ad12773548e7edbe3ffb208b12c960b7 100644 (file)
@@ -4,7 +4,7 @@ xdump plane *
 xdump land *
 xdump nuke *
 xdump news *
-xdump treaty *
+__cmd added -1 0 0
 xdump trade *
 xdump nat *
 xdump loan *
@@ -45,5 +45,5 @@ xdump plane-flags *
 xdump resources *
 xdump retreat-flags *
 xdump ship-chr-flags *
-xdump treaty-flags *
+__cmd added -1  0 0
 xdump country *
index 5d5f498886d1677aff083e9048e472d7ca180ade..10b5202133a91bf91111a08093f853f70d6fddd9 100644 (file)
@@ -1040,9 +1040,6 @@ uid owner xloc yloc type effic mobil off tech opx opy mission radius stockpile p
 config news
 actor action victim times duration time
 /config
-config treaty
-uid cna cnb status acond bcond exp
-/config
 config trade
 uid owner type unitid price maxbidder markettime xloc yloc
 /config
index 528968be94f1d7a23387605202dbe904caf783e8..23fecc5497ae45d99c673f5f92998c96245cbb3f 100644 (file)
@@ -1215,9 +1215,6 @@ actor action victim times duration time
 1 58 8 1 0 0
 1 2 8 1 0 0
 /config
-config treaty
-uid cna cnb status acond bcond exp
-/config
 config trade
 uid owner type unitid price maxbidder markettime xloc yloc
 /config
index 06b3a12d0e9c228a7a72cebd6e8244175ac980a5..53a89af75ef6371debeed11a55f4fc7f8f81e8f7 100644 (file)
     Play#0 input xdump meta sect
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP meta sect 0
-    Play#0 output Play#0 1 "owner" 5 0 0 9
+    Play#0 output Play#0 1 "owner" 5 0 0 8
     Play#0 output Play#0 1 "xloc" 9 4 0 -1
     Play#0 output Play#0 1 "yloc" 10 4 0 -1
-    Play#0 output Play#0 1 "des" 4 0 0 19
+    Play#0 output Play#0 1 "des" 4 0 0 18
     Play#0 output Play#0 1 "effic" 4 0 0 -1
     Play#0 output Play#0 1 "mobil" 4 0 0 -1
     Play#0 output Play#0 1 "off" 5 0 0 -1
     Play#0 output Play#0 1 "elev" 6 1 0 -1
     Play#0 output Play#0 1 "work" 5 0 0 -1
     Play#0 output Play#0 1 "coastal" 5 0 0 -1
-    Play#0 output Play#0 1 "newdes" 4 0 0 19
+    Play#0 output Play#0 1 "newdes" 4 0 0 18
     Play#0 output Play#0 1 "min" 5 0 0 -1
     Play#0 output Play#0 1 "gold" 5 0 0 -1
     Play#0 output Play#0 1 "fert" 5 0 0 -1
     Play#0 output Play#0 1 "ocontent" 5 0 0 -1
     Play#0 output Play#0 1 "uran" 5 0 0 -1
-    Play#0 output Play#0 1 "oldown" 5 0 0 9
+    Play#0 output Play#0 1 "oldown" 5 0 0 8
     Play#0 output Play#0 1 "civil" 6 0 0 -1
     Play#0 output Play#0 1 "milit" 6 0 0 -1
     Play#0 output Play#0 1 "shell" 6 0 0 -1
     Play#0 output Play#0 1 "u_del" 6 0 0 -1
     Play#0 output Play#0 1 "r_del" 6 0 0 -1
     Play#0 output Play#0 1 "mines" 6 1 0 -1
-    Play#0 output Play#0 1 "pstage" 6 1 0 43
+    Play#0 output Play#0 1 "pstage" 6 1 0 42
     Play#0 output Play#0 1 "ptime" 6 1 0 -1
     Play#0 output Play#0 1 "che" 5 1 0 -1
-    Play#0 output Play#0 1 "che_target" 5 1 0 9
+    Play#0 output Play#0 1 "che_target" 5 1 0 8
     Play#0 output Play#0 1 "fallout" 7 0 0 -1
     Play#0 output Play#0 1 "access" 6 0 0 -1
     Play#0 output Play#0 1 "road" 5 0 0 -1
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP meta ship 0
     Play#0 output Play#0 1 "uid" 8 0 0 1
-    Play#0 output Play#0 1 "owner" 5 0 0 9
+    Play#0 output Play#0 1 "owner" 5 0 0 8
     Play#0 output Play#0 1 "xloc" 9 0 0 -1
     Play#0 output Play#0 1 "yloc" 10 0 0 -1
-    Play#0 output Play#0 1 "type" 4 0 0 20
+    Play#0 output Play#0 1 "type" 4 0 0 19
     Play#0 output Play#0 1 "effic" 4 0 0 -1
     Play#0 output Play#0 1 "mobil" 4 0 0 -1
     Play#0 output Play#0 1 "off" 5 0 0 -1
     Play#0 output Play#0 1 "tech" 6 0 0 -1
     Play#0 output Play#0 1 "opx" 9 0 0 -1
     Play#0 output Play#0 1 "opy" 10 0 0 -1
-    Play#0 output Play#0 1 "mission" 6 0 0 35
+    Play#0 output Play#0 1 "mission" 6 0 0 34
     Play#0 output Play#0 1 "radius" 6 0 0 -1
     Play#0 output Play#0 1 "fleet" 14 0 1 -1
     Play#0 output Play#0 1 "xstart" 9 0 0 -1
     Play#0 output Play#0 1 "xend" 9 0 0 -1
     Play#0 output Play#0 1 "ystart" 10 0 0 -1
     Play#0 output Play#0 1 "yend" 10 0 0 -1
-    Play#0 output Play#0 1 "cargostart" 4 0 6 17
-    Play#0 output Play#0 1 "cargoend" 4 0 6 17
+    Play#0 output Play#0 1 "cargostart" 4 0 6 16
+    Play#0 output Play#0 1 "cargoend" 4 0 6 16
     Play#0 output Play#0 1 "amtstart" 6 0 6 -1
     Play#0 output Play#0 1 "amtend" 6 0 6 -1
     Play#0 output Play#0 1 "autonav" 5 0 0 -1
     Play#0 output Play#0 1 "hcm" 6 0 0 -1
     Play#0 output Play#0 1 "uw" 6 0 0 -1
     Play#0 output Play#0 1 "rad" 6 0 0 -1
-    Play#0 output Play#0 1 "pstage" 6 1 0 43
+    Play#0 output Play#0 1 "pstage" 6 1 0 42
     Play#0 output Play#0 1 "ptime" 6 1 0 -1
     Play#0 output Play#0 1 "access" 6 0 0 -1
     Play#0 output Play#0 1 "mquota" 5 0 0 -1
     Play#0 output Play#0 1 "name" 14 0 24 -1
     Play#0 output Play#0 1 "xbuilt" 9 1 0 -1
     Play#0 output Play#0 1 "ybuilt" 10 1 0 -1
-    Play#0 output Play#0 1 "builder" 5 1 0 9
-    Play#0 output Play#0 1 "rflags" 8 8 0 47
+    Play#0 output Play#0 1 "builder" 5 1 0 8
+    Play#0 output Play#0 1 "rflags" 8 8 0 46
     Play#0 output Play#0 1 "rpath" 14 0 10 -1
     Play#0 output Play#0 1 /49
     Play#0 output Play#0 6 0 640
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP meta plane 0
     Play#0 output Play#0 1 "uid" 8 0 0 2
-    Play#0 output Play#0 1 "owner" 5 0 0 9
+    Play#0 output Play#0 1 "owner" 5 0 0 8
     Play#0 output Play#0 1 "xloc" 9 0 0 -1
     Play#0 output Play#0 1 "yloc" 10 0 0 -1
-    Play#0 output Play#0 1 "type" 4 0 0 21
+    Play#0 output Play#0 1 "type" 4 0 0 20
     Play#0 output Play#0 1 "effic" 4 0 0 -1
     Play#0 output Play#0 1 "mobil" 4 0 0 -1
     Play#0 output Play#0 1 "off" 5 0 0 -1
     Play#0 output Play#0 1 "tech" 6 0 0 -1
     Play#0 output Play#0 1 "opx" 9 0 0 -1
     Play#0 output Play#0 1 "opy" 10 0 0 -1
-    Play#0 output Play#0 1 "mission" 6 0 0 35
+    Play#0 output Play#0 1 "mission" 6 0 0 34
     Play#0 output Play#0 1 "radius" 6 0 0 -1
     Play#0 output Play#0 1 "wing" 14 0 1 -1
     Play#0 output Play#0 1 "range" 5 0 0 -1
     Play#0 output Play#0 1 "harden" 4 0 0 -1
     Play#0 output Play#0 1 "ship" 8 0 0 1
     Play#0 output Play#0 1 "land" 8 0 0 3
-    Play#0 output Play#0 1 "flags" 8 8 0 45
+    Play#0 output Play#0 1 "flags" 8 8 0 44
     Play#0 output Play#0 1 "access" 6 0 0 -1
     Play#0 output Play#0 1 "theta" 13 0 0 -1
     Play#0 output Play#0 1 /21
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP meta land 0
     Play#0 output Play#0 1 "uid" 8 0 0 3
-    Play#0 output Play#0 1 "owner" 5 0 0 9
+    Play#0 output Play#0 1 "owner" 5 0 0 8
     Play#0 output Play#0 1 "xloc" 9 0 0 -1
     Play#0 output Play#0 1 "yloc" 10 0 0 -1
-    Play#0 output Play#0 1 "type" 4 0 0 22
+    Play#0 output Play#0 1 "type" 4 0 0 21
     Play#0 output Play#0 1 "effic" 4 0 0 -1
     Play#0 output Play#0 1 "mobil" 4 0 0 -1
     Play#0 output Play#0 1 "off" 5 0 0 -1
     Play#0 output Play#0 1 "tech" 6 0 0 -1
     Play#0 output Play#0 1 "opx" 9 0 0 -1
     Play#0 output Play#0 1 "opy" 10 0 0 -1
-    Play#0 output Play#0 1 "mission" 6 0 0 35
+    Play#0 output Play#0 1 "mission" 6 0 0 34
     Play#0 output Play#0 1 "radius" 6 0 0 -1
     Play#0 output Play#0 1 "army" 14 0 1 -1
     Play#0 output Play#0 1 "ship" 8 0 0 1
     Play#0 output Play#0 1 "harden" 4 0 0 -1
     Play#0 output Play#0 1 "retreat" 6 0 0 -1
-    Play#0 output Play#0 1 "rflags" 8 8 0 47
+    Play#0 output Play#0 1 "rflags" 8 8 0 46
     Play#0 output Play#0 1 "rpath" 14 0 10 -1
     Play#0 output Play#0 1 "civil" 6 0 0 -1
     Play#0 output Play#0 1 "milit" 6 0 0 -1
     Play#0 output Play#0 1 "hcm" 6 0 0 -1
     Play#0 output Play#0 1 "uw" 6 0 0 -1
     Play#0 output Play#0 1 "rad" 6 0 0 -1
-    Play#0 output Play#0 1 "pstage" 6 1 0 43
+    Play#0 output Play#0 1 "pstage" 6 1 0 42
     Play#0 output Play#0 1 "ptime" 6 1 0 -1
     Play#0 output Play#0 1 "land" 8 0 0 3
     Play#0 output Play#0 1 "access" 6 0 0 -1
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP meta nuke 0
     Play#0 output Play#0 1 "uid" 8 0 0 4
-    Play#0 output Play#0 1 "owner" 5 0 0 9
+    Play#0 output Play#0 1 "owner" 5 0 0 8
     Play#0 output Play#0 1 "xloc" 9 0 0 -1
     Play#0 output Play#0 1 "yloc" 10 0 0 -1
-    Play#0 output Play#0 1 "type" 4 0 0 23
+    Play#0 output Play#0 1 "type" 4 0 0 22
     Play#0 output Play#0 1 "effic" 4 0 0 -1
     Play#0 output Play#0 1 "mobil" 4 0 0 -1
     Play#0 output Play#0 1 "off" 5 0 0 -1
     Play#0 output Play#0 1 "tech" 6 0 0 -1
     Play#0 output Play#0 1 "opx" 9 0 0 -1
     Play#0 output Play#0 1 "opy" 10 0 0 -1
-    Play#0 output Play#0 1 "mission" 6 0 0 35
+    Play#0 output Play#0 1 "mission" 6 0 0 34
     Play#0 output Play#0 1 "radius" 6 0 0 -1
     Play#0 output Play#0 1 "stockpile" 14 0 1 -1
     Play#0 output Play#0 1 "plane" 8 0 0 2
     Play#0 input xdump meta news
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP meta news 0
-    Play#0 output Play#0 1 "actor" 5 0 0 9
-    Play#0 output Play#0 1 "action" 5 0 0 24
-    Play#0 output Play#0 1 "victim" 5 0 0 9
+    Play#0 output Play#0 1 "actor" 5 0 0 8
+    Play#0 output Play#0 1 "action" 5 0 0 23
+    Play#0 output Play#0 1 "victim" 5 0 0 8
     Play#0 output Play#0 1 "times" 4 0 0 -1
     Play#0 output Play#0 1 "duration" 6 0 0 -1
     Play#0 output Play#0 1 "time" 12 0 0 -1
     Play#0 output Play#0 1 /6
     Play#0 output Play#0 6 0 640
-    Play#0 input xdump meta treaty
-    Play#0 command xdump
-    Play#0 output Play#0 1 XDUMP meta treaty 0
-    Play#0 output Play#0 1 "uid" 8 0 0 6
-    Play#0 output Play#0 1 "cna" 5 0 0 9
-    Play#0 output Play#0 1 "cnb" 5 0 0 9
-    Play#0 output Play#0 1 "status" 4 0 0 30
-    Play#0 output Play#0 1 "acond" 6 8 0 50
-    Play#0 output Play#0 1 "bcond" 6 8 0 50
-    Play#0 output Play#0 1 "exp" 12 0 0 -1
-    Play#0 output Play#0 1 /7
+    Play#0 input __cmd added -1 0 0
+    Play#0 command __cmd
     Play#0 output Play#0 6 0 640
     Play#0 input xdump meta trade
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP meta trade 0
-    Play#0 output Play#0 1 "uid" 8 0 0 7
-    Play#0 output Play#0 1 "owner" 5 0 0 9
-    Play#0 output Play#0 1 "type" 6 0 0 27
+    Play#0 output Play#0 1 "uid" 8 0 0 6
+    Play#0 output Play#0 1 "owner" 5 0 0 8
+    Play#0 output Play#0 1 "type" 6 0 0 26
     Play#0 output Play#0 1 "unitid" 8 0 0 -1
     Play#0 output Play#0 1 "price" 8 0 0 -1
-    Play#0 output Play#0 1 "maxbidder" 8 0 0 9
+    Play#0 output Play#0 1 "maxbidder" 8 0 0 8
     Play#0 output Play#0 1 "markettime" 12 0 0 -1
     Play#0 output Play#0 1 "xloc" 9 1 0 -1
     Play#0 output Play#0 1 "yloc" 10 1 0 -1
     Play#0 input xdump meta nat
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP meta nat 0
-    Play#0 output Play#0 1 "cnum" 5 0 0 9
-    Play#0 output Play#0 1 "stat" 8 0 0 39
-    Play#0 output Play#0 1 "flags" 8 9 0 36
+    Play#0 output Play#0 1 "cnum" 5 0 0 8
+    Play#0 output Play#0 1 "stat" 8 0 0 38
+    Play#0 output Play#0 1 "flags" 8 9 0 35
     Play#0 output Play#0 1 "cname" 14 0 20 -1
     Play#0 output Play#0 1 "passwd" 14 1 20 -1
     Play#0 output Play#0 1 "ip" 14 1 46 -1
     Play#0 output Play#0 1 "research" 13 1 0 -1
     Play#0 output Play#0 1 "education" 13 1 0 -1
     Play#0 output Play#0 1 "happiness" 13 1 0 -1
-    Play#0 output Play#0 1 "relations" 11 0 99 38
+    Play#0 output Play#0 1 "relations" 11 0 99 37
     Play#0 output Play#0 1 "contacts" 5 1 99 -1
-    Play#0 output Play#0 1 "rejects" 5 8 99 37
+    Play#0 output Play#0 1 "rejects" 5 8 99 36
     Play#0 output Play#0 1 /31
     Play#0 output Play#0 6 0 640
     Play#0 input xdump meta loan
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP meta loan 0
-    Play#0 output Play#0 1 "uid" 8 0 0 10
-    Play#0 output Play#0 1 "loaner" 5 0 0 9
-    Play#0 output Play#0 1 "loanee" 5 0 0 9
-    Play#0 output Play#0 1 "status" 4 0 0 30
+    Play#0 output Play#0 1 "uid" 8 0 0 9
+    Play#0 output Play#0 1 "loaner" 5 0 0 8
+    Play#0 output Play#0 1 "loanee" 5 0 0 8
+    Play#0 output Play#0 1 "status" 4 0 0 29
     Play#0 output Play#0 1 "irate" 8 0 0 -1
     Play#0 output Play#0 1 "ldur" 8 0 0 -1
     Play#0 output Play#0 1 "amtpaid" 8 0 0 -1
     Play#0 input xdump meta commodity
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP meta commodity 0
-    Play#0 output Play#0 1 "uid" 8 0 0 13
-    Play#0 output Play#0 1 "owner" 5 0 0 9
-    Play#0 output Play#0 1 "type" 4 0 0 17
+    Play#0 output Play#0 1 "uid" 8 0 0 12
+    Play#0 output Play#0 1 "owner" 5 0 0 8
+    Play#0 output Play#0 1 "type" 4 0 0 16
     Play#0 output Play#0 1 "amount" 8 0 0 -1
     Play#0 output Play#0 1 "price" 13 0 0 -1
-    Play#0 output Play#0 1 "maxbidder" 8 0 0 9
+    Play#0 output Play#0 1 "maxbidder" 8 0 0 8
     Play#0 output Play#0 1 "markettime" 12 0 0 -1
     Play#0 output Play#0 1 "xbuy" 9 1 0 -1
     Play#0 output Play#0 1 "ybuy" 9 1 0 -1
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP meta lost 0
     Play#0 output Play#0 1 "timestamp" 12 0 0 -1
-    Play#0 output Play#0 1 "owner" 5 0 0 9
-    Play#0 output Play#0 1 "type" 6 0 0 27
+    Play#0 output Play#0 1 "owner" 5 0 0 8
+    Play#0 output Play#0 1 "type" 6 0 0 26
     Play#0 output Play#0 1 "id" 8 0 0 -1
     Play#0 output Play#0 1 "x" 9 0 0 -1
     Play#0 output Play#0 1 "y" 10 0 0 -1
     Play#0 input xdump meta realm
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP meta realm 0
-    Play#0 output Play#0 1 "cnum" 5 4 0 9
+    Play#0 output Play#0 1 "cnum" 5 4 0 8
     Play#0 output Play#0 1 "realm" 7 4 0 -1
     Play#0 output Play#0 1 "xl" 9 0 0 -1
     Play#0 output Play#0 1 "xh" 9 0 0 -1
     Play#0 input xdump meta item
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP meta item 0
-    Play#0 output Play#0 1 "uid" 4 0 0 17
+    Play#0 output Play#0 1 "uid" 4 0 0 16
     Play#0 output Play#0 1 "name" 3 0 0 -1
     Play#0 output Play#0 1 "mnem" 14 4 1 -1
     Play#0 output Play#0 1 "value" 8 0 0 -1
     Play#0 input xdump meta product
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP meta product 0
-    Play#0 output Play#0 1 "uid" 8 0 0 18
+    Play#0 output Play#0 1 "uid" 8 0 0 17
     Play#0 output Play#0 1 "name" 3 0 0 -1
     Play#0 output Play#0 1 "sname" 3 0 0 -1
-    Play#0 output Play#0 1 "ctype" 4 0 3 17
+    Play#0 output Play#0 1 "ctype" 4 0 3 16
     Play#0 output Play#0 1 "camt" 7 0 3 -1
-    Play#0 output Play#0 1 "type" 4 0 0 17
-    Play#0 output Play#0 1 "level" 8 0 0 32
+    Play#0 output Play#0 1 "type" 4 0 0 16
+    Play#0 output Play#0 1 "level" 8 0 0 31
     Play#0 output Play#0 1 "cost" 8 0 0 -1
-    Play#0 output Play#0 1 "nrndx" 8 0 0 46
+    Play#0 output Play#0 1 "nrndx" 8 0 0 45
     Play#0 output Play#0 1 "nrdep" 8 0 0 -1
-    Play#0 output Play#0 1 "nlndx" 8 0 0 32
+    Play#0 output Play#0 1 "nlndx" 8 0 0 31
     Play#0 output Play#0 1 "nlmin" 8 0 0 -1
     Play#0 output Play#0 1 "nllag" 8 0 0 -1
     Play#0 output Play#0 1 /13
     Play#0 input xdump meta sect-chr
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP meta sect-chr 0
-    Play#0 output Play#0 1 "uid" 5 0 0 19
+    Play#0 output Play#0 1 "uid" 5 0 0 18
     Play#0 output Play#0 1 "name" 3 0 0 -1
     Play#0 output Play#0 1 "mnem" 14 4 1 -1
-    Play#0 output Play#0 1 "terrain" 5 0 0 19
-    Play#0 output Play#0 1 "prd" 8 0 0 18
+    Play#0 output Play#0 1 "terrain" 5 0 0 18
+    Play#0 output Play#0 1 "prd" 8 0 0 17
     Play#0 output Play#0 1 "peffic" 8 0 0 -1
     Play#0 output Play#0 1 "mob0" 13 0 0 -1
     Play#0 output Play#0 1 "mob1" 13 0 0 -1
-    Play#0 output Play#0 1 "nav" 8 0 0 48
-    Play#0 output Play#0 1 "pkg" 8 0 0 41
+    Play#0 output Play#0 1 "nav" 8 0 0 47
+    Play#0 output Play#0 1 "pkg" 8 0 0 40
     Play#0 output Play#0 1 "ostr" 13 0 0 -1
     Play#0 output Play#0 1 "dstr" 13 0 0 -1
     Play#0 output Play#0 1 "value" 8 0 0 -1
     Play#0 input xdump meta ship-chr
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP meta ship-chr 0
-    Play#0 output Play#0 1 "type" 4 0 0 20
+    Play#0 output Play#0 1 "type" 4 0 0 19
     Play#0 output Play#0 1 "name" 3 0 0 -1
     Play#0 output Play#0 1 "civil" 6 0 0 -1
     Play#0 output Play#0 1 "milit" 6 0 0 -1
     Play#0 output Play#0 1 "nchoppers" 5 0 0 -1
     Play#0 output Play#0 1 "tech" 8 0 0 -1
     Play#0 output Play#0 1 "cost" 8 0 0 -1
-    Play#0 output Play#0 1 "flags" 8 8 0 49
+    Play#0 output Play#0 1 "flags" 8 8 0 48
     Play#0 output Play#0 1 "nplanes" 5 0 0 -1
     Play#0 output Play#0 1 "nland" 5 0 0 -1
     Play#0 output Play#0 1 /31
     Play#0 input xdump meta plane-chr
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP meta plane-chr 0
-    Play#0 output Play#0 1 "type" 4 0 0 21
+    Play#0 output Play#0 1 "type" 4 0 0 20
     Play#0 output Play#0 1 "name" 3 0 0 -1
     Play#0 output Play#0 1 "l_build" 8 0 0 -1
     Play#0 output Play#0 1 "h_build" 8 0 0 -1
     Play#0 output Play#0 1 "crew" 8 0 0 -1
     Play#0 output Play#0 1 "fuel" 8 0 0 -1
     Play#0 output Play#0 1 "stealth" 8 0 0 -1
-    Play#0 output Play#0 1 "flags" 8 8 0 44
+    Play#0 output Play#0 1 "flags" 8 8 0 43
     Play#0 output Play#0 1 /15
     Play#0 output Play#0 6 0 640
     Play#0 input xdump meta land-chr
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP meta land-chr 0
-    Play#0 output Play#0 1 "type" 4 0 0 22
+    Play#0 output Play#0 1 "type" 4 0 0 21
     Play#0 output Play#0 1 "name" 3 0 0 -1
     Play#0 output Play#0 1 "civil" 6 0 0 -1
     Play#0 output Play#0 1 "milit" 6 0 0 -1
     Play#0 output Play#0 1 "dam" 8 0 0 -1
     Play#0 output Play#0 1 "ammo" 8 0 0 -1
     Play#0 output Play#0 1 "aaf" 8 0 0 -1
-    Play#0 output Play#0 1 "flags" 8 8 0 31
+    Play#0 output Play#0 1 "flags" 8 8 0 30
     Play#0 output Play#0 1 "nxlight" 5 0 0 -1
     Play#0 output Play#0 1 "nland" 5 0 0 -1
     Play#0 output Play#0 1 /35
     Play#0 input xdump meta nuke-chr
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP meta nuke-chr 0
-    Play#0 output Play#0 1 "type" 4 0 0 23
+    Play#0 output Play#0 1 "type" 4 0 0 22
     Play#0 output Play#0 1 "name" 3 0 0 -1
     Play#0 output Play#0 1 "l_build" 8 0 0 -1
     Play#0 output Play#0 1 "h_build" 8 0 0 -1
     Play#0 output Play#0 1 "cost" 8 0 0 -1
     Play#0 output Play#0 1 "tech" 8 0 0 -1
     Play#0 output Play#0 1 "weight" 8 0 0 -1
-    Play#0 output Play#0 1 "flags" 8 8 0 40
+    Play#0 output Play#0 1 "flags" 8 8 0 39
     Play#0 output Play#0 1 /12
     Play#0 output Play#0 6 0 640
     Play#0 input xdump meta news-chr
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP meta news-chr 0
-    Play#0 output Play#0 1 "uid" 4 0 0 24
+    Play#0 output Play#0 1 "uid" 4 0 0 23
     Play#0 output Play#0 1 "newstory" 3 0 2 -1
     Play#0 output Play#0 1 "good_will" 8 0 0 -1
-    Play#0 output Play#0 1 "newspage" 8 0 0 42
+    Play#0 output Play#0 1 "newspage" 8 0 0 41
     Play#0 output Play#0 1 /4
     Play#0 output Play#0 6 0 640
     Play#0 input xdump meta infrastructure
     Play#0 input xdump meta table
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP meta table 0
-    Play#0 output Play#0 1 "uid" 8 0 0 27
+    Play#0 output Play#0 1 "uid" 8 0 0 26
     Play#0 output Play#0 1 "name" 3 4 0 -1
     Play#0 output Play#0 1 /2
     Play#0 output Play#0 6 0 640
     Play#0 output Play#0 1 "SAIL" 8 0 0 -1
     Play#0 output Play#0 1 "SUPER_BARS" 8 0 0 -1
     Play#0 output Play#0 1 "TECH_POP" 8 0 0 -1
-    Play#0 output Play#0 1 "TREATIES" 8 0 0 -1
     Play#0 output Play#0 1 "btu_build_rate" 13 0 0 -1
     Play#0 output Play#0 1 "m_m_p_d" 8 0 0 -1
     Play#0 output Play#0 1 "max_btus" 8 0 0 -1
     Play#0 output Play#0 1 "trade_3" 13 0 0 -1
     Play#0 output Play#0 1 "trade_ally_bonus" 13 0 0 -1
     Play#0 output Play#0 1 "trade_ally_cut" 13 0 0 -1
-    Play#0 output Play#0 1 /112
+    Play#0 output Play#0 1 /111
     Play#0 output Play#0 6 0 640
     Play#0 input xdump meta meta
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP meta meta 0
     Play#0 output Play#0 1 "name" 3 4 0 -1
-    Play#0 output Play#0 1 "type" 8 4 0 34
-    Play#0 output Play#0 1 "flags" 8 12 0 33
+    Play#0 output Play#0 1 "type" 8 4 0 33
+    Play#0 output Play#0 1 "flags" 8 12 0 32
     Play#0 output Play#0 1 "len" 7 4 0 -1
-    Play#0 output Play#0 1 "table" 8 4 0 27
+    Play#0 output Play#0 1 "table" 8 4 0 26
     Play#0 output Play#0 1 /5
     Play#0 output Play#0 6 0 640
     Play#0 input xdump meta sector
     Play#0 output Play#0 1 "name" 3 4 0 -1
     Play#0 output Play#0 1 /2
     Play#0 output Play#0 6 0 640
-    Play#0 input xdump meta treaty-flags
-    Play#0 command xdump
-    Play#0 output Play#0 1 XDUMP meta treaty-flags 0
-    Play#0 output Play#0 1 "value" 8 4 0 -1
-    Play#0 output Play#0 1 "name" 3 4 0 -1
-    Play#0 output Play#0 1 /2
+    Play#0 input __cmd added -1 0 0
+    Play#0 command __cmd
     Play#0 output Play#0 6 0 640
     Play#0 input xdump meta country
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP meta country 0
-    Play#0 output Play#0 1 "cnum" 5 0 0 9
-    Play#0 output Play#0 1 "flags" 8 8 0 36
+    Play#0 output Play#0 1 "cnum" 5 0 0 8
+    Play#0 output Play#0 1 "flags" 8 8 0 35
     Play#0 output Play#0 1 "ip" 14 0 46 -1
     Play#0 output Play#0 1 "hostname" 14 0 512 -1
     Play#0 output Play#0 1 "userid" 14 0 32 -1
     Play#2 input xdump meta sect
     Play#2 command xdump
     Play#2 output Play#2 1 XDUMP meta sect 0
-    Play#2 output Play#2 1 "owner" 5 0 0 9
+    Play#2 output Play#2 1 "owner" 5 0 0 8
     Play#2 output Play#2 1 "xloc" 9 4 0 -1
     Play#2 output Play#2 1 "yloc" 10 4 0 -1
-    Play#2 output Play#2 1 "des" 4 0 0 19
+    Play#2 output Play#2 1 "des" 4 0 0 18
     Play#2 output Play#2 1 "effic" 4 0 0 -1
     Play#2 output Play#2 1 "mobil" 4 0 0 -1
     Play#2 output Play#2 1 "off" 5 0 0 -1
     Play#2 output Play#2 1 "avail" 6 0 0 -1
     Play#2 output Play#2 1 "work" 5 0 0 -1
     Play#2 output Play#2 1 "coastal" 5 0 0 -1
-    Play#2 output Play#2 1 "newdes" 4 0 0 19
+    Play#2 output Play#2 1 "newdes" 4 0 0 18
     Play#2 output Play#2 1 "min" 5 0 0 -1
     Play#2 output Play#2 1 "gold" 5 0 0 -1
     Play#2 output Play#2 1 "fert" 5 0 0 -1
     Play#2 output Play#2 1 "ocontent" 5 0 0 -1
     Play#2 output Play#2 1 "uran" 5 0 0 -1
-    Play#2 output Play#2 1 "oldown" 5 0 0 9
+    Play#2 output Play#2 1 "oldown" 5 0 0 8
     Play#2 output Play#2 1 "civil" 6 0 0 -1
     Play#2 output Play#2 1 "milit" 6 0 0 -1
     Play#2 output Play#2 1 "shell" 6 0 0 -1
     Play#2 command xdump
     Play#2 output Play#2 1 XDUMP meta ship 0
     Play#2 output Play#2 1 "uid" 8 0 0 1
-    Play#2 output Play#2 1 "owner" 5 0 0 9
+    Play#2 output Play#2 1 "owner" 5 0 0 8
     Play#2 output Play#2 1 "xloc" 9 0 0 -1
     Play#2 output Play#2 1 "yloc" 10 0 0 -1
-    Play#2 output Play#2 1 "type" 4 0 0 20
+    Play#2 output Play#2 1 "type" 4 0 0 19
     Play#2 output Play#2 1 "effic" 4 0 0 -1
     Play#2 output Play#2 1 "mobil" 4 0 0 -1
     Play#2 output Play#2 1 "off" 5 0 0 -1
     Play#2 output Play#2 1 "tech" 6 0 0 -1
     Play#2 output Play#2 1 "opx" 9 0 0 -1
     Play#2 output Play#2 1 "opy" 10 0 0 -1
-    Play#2 output Play#2 1 "mission" 6 0 0 35
+    Play#2 output Play#2 1 "mission" 6 0 0 34
     Play#2 output Play#2 1 "radius" 6 0 0 -1
     Play#2 output Play#2 1 "fleet" 14 0 1 -1
     Play#2 output Play#2 1 "xstart" 9 0 0 -1
     Play#2 output Play#2 1 "xend" 9 0 0 -1
     Play#2 output Play#2 1 "ystart" 10 0 0 -1
     Play#2 output Play#2 1 "yend" 10 0 0 -1
-    Play#2 output Play#2 1 "cargostart" 4 0 6 17
-    Play#2 output Play#2 1 "cargoend" 4 0 6 17
+    Play#2 output Play#2 1 "cargostart" 4 0 6 16
+    Play#2 output Play#2 1 "cargoend" 4 0 6 16
     Play#2 output Play#2 1 "amtstart" 6 0 6 -1
     Play#2 output Play#2 1 "amtend" 6 0 6 -1
     Play#2 output Play#2 1 "autonav" 5 0 0 -1
     Play#2 output Play#2 1 "path" 14 0 28 -1
     Play#2 output Play#2 1 "follow" 8 0 0 -1
     Play#2 output Play#2 1 "name" 14 0 24 -1
-    Play#2 output Play#2 1 "rflags" 8 8 0 47
+    Play#2 output Play#2 1 "rflags" 8 8 0 46
     Play#2 output Play#2 1 "rpath" 14 0 10 -1
     Play#2 output Play#2 1 /44
     Play#2 output Play#2 6 0 636
     Play#2 command xdump
     Play#2 output Play#2 1 XDUMP meta plane 0
     Play#2 output Play#2 1 "uid" 8 0 0 2
-    Play#2 output Play#2 1 "owner" 5 0 0 9
+    Play#2 output Play#2 1 "owner" 5 0 0 8
     Play#2 output Play#2 1 "xloc" 9 0 0 -1
     Play#2 output Play#2 1 "yloc" 10 0 0 -1
-    Play#2 output Play#2 1 "type" 4 0 0 21
+    Play#2 output Play#2 1 "type" 4 0 0 20
     Play#2 output Play#2 1 "effic" 4 0 0 -1
     Play#2 output Play#2 1 "mobil" 4 0 0 -1
     Play#2 output Play#2 1 "off" 5 0 0 -1
     Play#2 output Play#2 1 "tech" 6 0 0 -1
     Play#2 output Play#2 1 "opx" 9 0 0 -1
     Play#2 output Play#2 1 "opy" 10 0 0 -1
-    Play#2 output Play#2 1 "mission" 6 0 0 35
+    Play#2 output Play#2 1 "mission" 6 0 0 34
     Play#2 output Play#2 1 "radius" 6 0 0 -1
     Play#2 output Play#2 1 "wing" 14 0 1 -1
     Play#2 output Play#2 1 "range" 5 0 0 -1
     Play#2 output Play#2 1 "harden" 4 0 0 -1
     Play#2 output Play#2 1 "ship" 8 0 0 1
     Play#2 output Play#2 1 "land" 8 0 0 3
-    Play#2 output Play#2 1 "flags" 8 8 0 45
+    Play#2 output Play#2 1 "flags" 8 8 0 44
     Play#2 output Play#2 1 "access" 6 0 0 -1
     Play#2 output Play#2 1 "theta" 13 0 0 -1
     Play#2 output Play#2 1 /21
     Play#2 command xdump
     Play#2 output Play#2 1 XDUMP meta land 0
     Play#2 output Play#2 1 "uid" 8 0 0 3
-    Play#2 output Play#2 1 "owner" 5 0 0 9
+    Play#2 output Play#2 1 "owner" 5 0 0 8
     Play#2 output Play#2 1 "xloc" 9 0 0 -1
     Play#2 output Play#2 1 "yloc" 10 0 0 -1
-    Play#2 output Play#2 1 "type" 4 0 0 22
+    Play#2 output Play#2 1 "type" 4 0 0 21
     Play#2 output Play#2 1 "effic" 4 0 0 -1
     Play#2 output Play#2 1 "mobil" 4 0 0 -1
     Play#2 output Play#2 1 "off" 5 0 0 -1
     Play#2 output Play#2 1 "tech" 6 0 0 -1
     Play#2 output Play#2 1 "opx" 9 0 0 -1
     Play#2 output Play#2 1 "opy" 10 0 0 -1
-    Play#2 output Play#2 1 "mission" 6 0 0 35
+    Play#2 output Play#2 1 "mission" 6 0 0 34
     Play#2 output Play#2 1 "radius" 6 0 0 -1
     Play#2 output Play#2 1 "army" 14 0 1 -1
     Play#2 output Play#2 1 "ship" 8 0 0 1
     Play#2 output Play#2 1 "harden" 4 0 0 -1
     Play#2 output Play#2 1 "retreat" 6 0 0 -1
-    Play#2 output Play#2 1 "rflags" 8 8 0 47
+    Play#2 output Play#2 1 "rflags" 8 8 0 46
     Play#2 output Play#2 1 "rpath" 14 0 10 -1
     Play#2 output Play#2 1 "civil" 6 0 0 -1
     Play#2 output Play#2 1 "milit" 6 0 0 -1
     Play#2 command xdump
     Play#2 output Play#2 1 XDUMP meta nuke 0
     Play#2 output Play#2 1 "uid" 8 0 0 4
-    Play#2 output Play#2 1 "owner" 5 0 0 9
+    Play#2 output Play#2 1 "owner" 5 0 0 8
     Play#2 output Play#2 1 "xloc" 9 0 0 -1
     Play#2 output Play#2 1 "yloc" 10 0 0 -1
-    Play#2 output Play#2 1 "type" 4 0 0 23
+    Play#2 output Play#2 1 "type" 4 0 0 22
     Play#2 output Play#2 1 "effic" 4 0 0 -1
     Play#2 output Play#2 1 "mobil" 4 0 0 -1
     Play#2 output Play#2 1 "off" 5 0 0 -1
     Play#2 output Play#2 1 "tech" 6 0 0 -1
     Play#2 output Play#2 1 "opx" 9 0 0 -1
     Play#2 output Play#2 1 "opy" 10 0 0 -1
-    Play#2 output Play#2 1 "mission" 6 0 0 35
+    Play#2 output Play#2 1 "mission" 6 0 0 34
     Play#2 output Play#2 1 "radius" 6 0 0 -1
     Play#2 output Play#2 1 "stockpile" 14 0 1 -1
     Play#2 output Play#2 1 "plane" 8 0 0 2
     Play#2 input xdump meta news
     Play#2 command xdump
     Play#2 output Play#2 1 XDUMP meta news 0
-    Play#2 output Play#2 1 "actor" 5 0 0 9
-    Play#2 output Play#2 1 "action" 5 0 0 24
-    Play#2 output Play#2 1 "victim" 5 0 0 9
+    Play#2 output Play#2 1 "actor" 5 0 0 8
+    Play#2 output Play#2 1 "action" 5 0 0 23
+    Play#2 output Play#2 1 "victim" 5 0 0 8
     Play#2 output Play#2 1 "times" 4 0 0 -1
     Play#2 output Play#2 1 "duration" 6 0 0 -1
     Play#2 output Play#2 1 "time" 12 0 0 -1
     Play#2 output Play#2 1 /6
     Play#2 output Play#2 6 0 636
-    Play#2 input xdump meta treaty
-    Play#2 command xdump
-    Play#2 output Play#2 1 XDUMP meta treaty 0
-    Play#2 output Play#2 1 "uid" 8 0 0 6
-    Play#2 output Play#2 1 "cna" 5 0 0 9
-    Play#2 output Play#2 1 "cnb" 5 0 0 9
-    Play#2 output Play#2 1 "status" 4 0 0 30
-    Play#2 output Play#2 1 "acond" 6 8 0 50
-    Play#2 output Play#2 1 "bcond" 6 8 0 50
-    Play#2 output Play#2 1 "exp" 12 0 0 -1
-    Play#2 output Play#2 1 /7
+    Play#2 input __cmd added -1 0 0
+    Play#2 command __cmd
     Play#2 output Play#2 6 0 636
     Play#2 input xdump meta trade
     Play#2 command xdump
     Play#2 output Play#2 1 XDUMP meta trade 0
-    Play#2 output Play#2 1 "uid" 8 0 0 7
-    Play#2 output Play#2 1 "owner" 5 0 0 9
-    Play#2 output Play#2 1 "type" 6 0 0 27
+    Play#2 output Play#2 1 "uid" 8 0 0 6
+    Play#2 output Play#2 1 "owner" 5 0 0 8
+    Play#2 output Play#2 1 "type" 6 0 0 26
     Play#2 output Play#2 1 "unitid" 8 0 0 -1
     Play#2 output Play#2 1 "price" 8 0 0 -1
-    Play#2 output Play#2 1 "maxbidder" 8 0 0 9
+    Play#2 output Play#2 1 "maxbidder" 8 0 0 8
     Play#2 output Play#2 1 "markettime" 12 0 0 -1
     Play#2 output Play#2 1 /7
     Play#2 output Play#2 6 0 636
     Play#2 input xdump meta nat
     Play#2 command xdump
     Play#2 output Play#2 1 XDUMP meta nat 0
-    Play#2 output Play#2 1 "cnum" 5 0 0 9
-    Play#2 output Play#2 1 "stat" 8 0 0 39
+    Play#2 output Play#2 1 "cnum" 5 0 0 8
+    Play#2 output Play#2 1 "stat" 8 0 0 38
     Play#2 output Play#2 1 "cname" 14 0 20 -1
-    Play#2 output Play#2 1 "relations" 11 0 99 38
-    Play#2 output Play#2 1 "rejects" 5 8 99 37
+    Play#2 output Play#2 1 "relations" 11 0 99 37
+    Play#2 output Play#2 1 "rejects" 5 8 99 36
     Play#2 output Play#2 1 /5
     Play#2 output Play#2 6 0 636
     Play#2 input xdump meta loan
     Play#2 command xdump
     Play#2 output Play#2 1 XDUMP meta loan 0
-    Play#2 output Play#2 1 "uid" 8 0 0 10
-    Play#2 output Play#2 1 "loaner" 5 0 0 9
-    Play#2 output Play#2 1 "loanee" 5 0 0 9
-    Play#2 output Play#2 1 "status" 4 0 0 30
+    Play#2 output Play#2 1 "uid" 8 0 0 9
+    Play#2 output Play#2 1 "loaner" 5 0 0 8
+    Play#2 output Play#2 1 "loanee" 5 0 0 8
+    Play#2 output Play#2 1 "status" 4 0 0 29
     Play#2 output Play#2 1 "irate" 8 0 0 -1
     Play#2 output Play#2 1 "ldur" 8 0 0 -1
     Play#2 output Play#2 1 "amtpaid" 8 0 0 -1
     Play#2 input xdump meta commodity
     Play#2 command xdump
     Play#2 output Play#2 1 XDUMP meta commodity 0
-    Play#2 output Play#2 1 "uid" 8 0 0 13
-    Play#2 output Play#2 1 "owner" 5 0 0 9
-    Play#2 output Play#2 1 "type" 4 0 0 17
+    Play#2 output Play#2 1 "uid" 8 0 0 12
+    Play#2 output Play#2 1 "owner" 5 0 0 8
+    Play#2 output Play#2 1 "type" 4 0 0 16
     Play#2 output Play#2 1 "amount" 8 0 0 -1
     Play#2 output Play#2 1 "price" 13 0 0 -1
-    Play#2 output Play#2 1 "maxbidder" 8 0 0 9
+    Play#2 output Play#2 1 "maxbidder" 8 0 0 8
     Play#2 output Play#2 1 "markettime" 12 0 0 -1
     Play#2 output Play#2 1 /7
     Play#2 output Play#2 6 0 636
     Play#2 command xdump
     Play#2 output Play#2 1 XDUMP meta lost 0
     Play#2 output Play#2 1 "timestamp" 12 0 0 -1
-    Play#2 output Play#2 1 "owner" 5 0 0 9
-    Play#2 output Play#2 1 "type" 6 0 0 27
+    Play#2 output Play#2 1 "owner" 5 0 0 8
+    Play#2 output Play#2 1 "type" 6 0 0 26
     Play#2 output Play#2 1 "id" 8 0 0 -1
     Play#2 output Play#2 1 "x" 9 0 0 -1
     Play#2 output Play#2 1 "y" 10 0 0 -1
     Play#2 input xdump meta realm
     Play#2 command xdump
     Play#2 output Play#2 1 XDUMP meta realm 0
-    Play#2 output Play#2 1 "cnum" 5 4 0 9
+    Play#2 output Play#2 1 "cnum" 5 4 0 8
     Play#2 output Play#2 1 "realm" 7 4 0 -1
     Play#2 output Play#2 1 "xl" 9 0 0 -1
     Play#2 output Play#2 1 "xh" 9 0 0 -1
     Play#2 input xdump meta item
     Play#2 command xdump
     Play#2 output Play#2 1 XDUMP meta item 0
-    Play#2 output Play#2 1 "uid" 4 0 0 17
+    Play#2 output Play#2 1 "uid" 4 0 0 16
     Play#2 output Play#2 1 "name" 3 0 0 -1
     Play#2 output Play#2 1 "mnem" 14 4 1 -1
     Play#2 output Play#2 1 "value" 8 0 0 -1
     Play#2 input xdump meta product
     Play#2 command xdump
     Play#2 output Play#2 1 XDUMP meta product 0
-    Play#2 output Play#2 1 "uid" 8 0 0 18
+    Play#2 output Play#2 1 "uid" 8 0 0 17
     Play#2 output Play#2 1 "name" 3 0 0 -1
     Play#2 output Play#2 1 "sname" 3 0 0 -1
-    Play#2 output Play#2 1 "ctype" 4 0 3 17
+    Play#2 output Play#2 1 "ctype" 4 0 3 16
     Play#2 output Play#2 1 "camt" 7 0 3 -1
-    Play#2 output Play#2 1 "type" 4 0 0 17
-    Play#2 output Play#2 1 "level" 8 0 0 32
+    Play#2 output Play#2 1 "type" 4 0 0 16
+    Play#2 output Play#2 1 "level" 8 0 0 31
     Play#2 output Play#2 1 "cost" 8 0 0 -1
-    Play#2 output Play#2 1 "nrndx" 8 0 0 46
+    Play#2 output Play#2 1 "nrndx" 8 0 0 45
     Play#2 output Play#2 1 "nrdep" 8 0 0 -1
-    Play#2 output Play#2 1 "nlndx" 8 0 0 32
+    Play#2 output Play#2 1 "nlndx" 8 0 0 31
     Play#2 output Play#2 1 "nlmin" 8 0 0 -1
     Play#2 output Play#2 1 "nllag" 8 0 0 -1
     Play#2 output Play#2 1 /13
     Play#2 input xdump meta sect-chr
     Play#2 command xdump
     Play#2 output Play#2 1 XDUMP meta sect-chr 0
-    Play#2 output Play#2 1 "uid" 5 0 0 19
+    Play#2 output Play#2 1 "uid" 5 0 0 18
     Play#2 output Play#2 1 "name" 3 0 0 -1
     Play#2 output Play#2 1 "mnem" 14 4 1 -1
-    Play#2 output Play#2 1 "terrain" 5 0 0 19
-    Play#2 output Play#2 1 "prd" 8 0 0 18
+    Play#2 output Play#2 1 "terrain" 5 0 0 18
+    Play#2 output Play#2 1 "prd" 8 0 0 17
     Play#2 output Play#2 1 "peffic" 8 0 0 -1
     Play#2 output Play#2 1 "mob0" 13 0 0 -1
     Play#2 output Play#2 1 "mob1" 13 0 0 -1
-    Play#2 output Play#2 1 "nav" 8 0 0 48
-    Play#2 output Play#2 1 "pkg" 8 0 0 41
+    Play#2 output Play#2 1 "nav" 8 0 0 47
+    Play#2 output Play#2 1 "pkg" 8 0 0 40
     Play#2 output Play#2 1 "ostr" 13 0 0 -1
     Play#2 output Play#2 1 "dstr" 13 0 0 -1
     Play#2 output Play#2 1 "value" 8 0 0 -1
     Play#2 input xdump meta ship-chr
     Play#2 command xdump
     Play#2 output Play#2 1 XDUMP meta ship-chr 0
-    Play#2 output Play#2 1 "type" 4 0 0 20
+    Play#2 output Play#2 1 "type" 4 0 0 19
     Play#2 output Play#2 1 "name" 3 0 0 -1
     Play#2 output Play#2 1 "civil" 6 0 0 -1
     Play#2 output Play#2 1 "milit" 6 0 0 -1
     Play#2 output Play#2 1 "nchoppers" 5 0 0 -1
     Play#2 output Play#2 1 "tech" 8 0 0 -1
     Play#2 output Play#2 1 "cost" 8 0 0 -1
-    Play#2 output Play#2 1 "flags" 8 8 0 49
+    Play#2 output Play#2 1 "flags" 8 8 0 48
     Play#2 output Play#2 1 "nplanes" 5 0 0 -1
     Play#2 output Play#2 1 "nland" 5 0 0 -1
     Play#2 output Play#2 1 /31
     Play#2 input xdump meta plane-chr
     Play#2 command xdump
     Play#2 output Play#2 1 XDUMP meta plane-chr 0
-    Play#2 output Play#2 1 "type" 4 0 0 21
+    Play#2 output Play#2 1 "type" 4 0 0 20
     Play#2 output Play#2 1 "name" 3 0 0 -1
     Play#2 output Play#2 1 "l_build" 8 0 0 -1
     Play#2 output Play#2 1 "h_build" 8 0 0 -1
     Play#2 output Play#2 1 "crew" 8 0 0 -1
     Play#2 output Play#2 1 "fuel" 8 0 0 -1
     Play#2 output Play#2 1 "stealth" 8 0 0 -1
-    Play#2 output Play#2 1 "flags" 8 8 0 44
+    Play#2 output Play#2 1 "flags" 8 8 0 43
     Play#2 output Play#2 1 /15
     Play#2 output Play#2 6 0 636
     Play#2 input xdump meta land-chr
     Play#2 command xdump
     Play#2 output Play#2 1 XDUMP meta land-chr 0
-    Play#2 output Play#2 1 "type" 4 0 0 22
+    Play#2 output Play#2 1 "type" 4 0 0 21
     Play#2 output Play#2 1 "name" 3 0 0 -1
     Play#2 output Play#2 1 "civil" 6 0 0 -1
     Play#2 output Play#2 1 "milit" 6 0 0 -1
     Play#2 output Play#2 1 "dam" 8 0 0 -1
     Play#2 output Play#2 1 "ammo" 8 0 0 -1
     Play#2 output Play#2 1 "aaf" 8 0 0 -1
-    Play#2 output Play#2 1 "flags" 8 8 0 31
+    Play#2 output Play#2 1 "flags" 8 8 0 30
     Play#2 output Play#2 1 "nxlight" 5 0 0 -1
     Play#2 output Play#2 1 "nland" 5 0 0 -1
     Play#2 output Play#2 1 /35
     Play#2 input xdump meta nuke-chr
     Play#2 command xdump
     Play#2 output Play#2 1 XDUMP meta nuke-chr 0
-    Play#2 output Play#2 1 "type" 4 0 0 23
+    Play#2 output Play#2 1 "type" 4 0 0 22
     Play#2 output Play#2 1 "name" 3 0 0 -1
     Play#2 output Play#2 1 "l_build" 8 0 0 -1
     Play#2 output Play#2 1 "h_build" 8 0 0 -1
     Play#2 output Play#2 1 "cost" 8 0 0 -1
     Play#2 output Play#2 1 "tech" 8 0 0 -1
     Play#2 output Play#2 1 "weight" 8 0 0 -1
-    Play#2 output Play#2 1 "flags" 8 8 0 40
+    Play#2 output Play#2 1 "flags" 8 8 0 39
     Play#2 output Play#2 1 /12
     Play#2 output Play#2 6 0 636
     Play#2 input xdump meta news-chr
     Play#2 command xdump
     Play#2 output Play#2 1 XDUMP meta news-chr 0
-    Play#2 output Play#2 1 "uid" 4 0 0 24
+    Play#2 output Play#2 1 "uid" 4 0 0 23
     Play#2 output Play#2 1 "newstory" 3 0 2 -1
     Play#2 output Play#2 1 "good_will" 8 0 0 -1
-    Play#2 output Play#2 1 "newspage" 8 0 0 42
+    Play#2 output Play#2 1 "newspage" 8 0 0 41
     Play#2 output Play#2 1 /4
     Play#2 output Play#2 6 0 636
     Play#2 input xdump meta infrastructure
     Play#2 input xdump meta table
     Play#2 command xdump
     Play#2 output Play#2 1 XDUMP meta table 0
-    Play#2 output Play#2 1 "uid" 8 0 0 27
+    Play#2 output Play#2 1 "uid" 8 0 0 26
     Play#2 output Play#2 1 "name" 3 4 0 -1
     Play#2 output Play#2 1 /2
     Play#2 output Play#2 6 0 636
     Play#2 output Play#2 1 "SAIL" 8 0 0 -1
     Play#2 output Play#2 1 "SUPER_BARS" 8 0 0 -1
     Play#2 output Play#2 1 "TECH_POP" 8 0 0 -1
-    Play#2 output Play#2 1 "TREATIES" 8 0 0 -1
     Play#2 output Play#2 1 "btu_build_rate" 13 0 0 -1
     Play#2 output Play#2 1 "m_m_p_d" 8 0 0 -1
     Play#2 output Play#2 1 "max_btus" 8 0 0 -1
     Play#2 output Play#2 1 "trade_3" 13 0 0 -1
     Play#2 output Play#2 1 "trade_ally_bonus" 13 0 0 -1
     Play#2 output Play#2 1 "trade_ally_cut" 13 0 0 -1
-    Play#2 output Play#2 1 /112
+    Play#2 output Play#2 1 /111
     Play#2 output Play#2 6 0 636
     Play#2 input xdump meta meta
     Play#2 command xdump
     Play#2 output Play#2 1 XDUMP meta meta 0
     Play#2 output Play#2 1 "name" 3 4 0 -1
-    Play#2 output Play#2 1 "type" 8 4 0 34
-    Play#2 output Play#2 1 "flags" 8 12 0 33
+    Play#2 output Play#2 1 "type" 8 4 0 33
+    Play#2 output Play#2 1 "flags" 8 12 0 32
     Play#2 output Play#2 1 "len" 7 4 0 -1
-    Play#2 output Play#2 1 "table" 8 4 0 27
+    Play#2 output Play#2 1 "table" 8 4 0 26
     Play#2 output Play#2 1 /5
     Play#2 output Play#2 6 0 636
     Play#2 input xdump meta sector
     Play#2 output Play#2 1 "name" 3 4 0 -1
     Play#2 output Play#2 1 /2
     Play#2 output Play#2 6 0 636
-    Play#2 input xdump meta treaty-flags
-    Play#2 command xdump
-    Play#2 output Play#2 1 XDUMP meta treaty-flags 0
-    Play#2 output Play#2 1 "value" 8 4 0 -1
-    Play#2 output Play#2 1 "name" 3 4 0 -1
-    Play#2 output Play#2 1 /2
+    Play#2 input __cmd added -1 0 0
+    Play#2 command __cmd
     Play#2 output Play#2 6 0 636
     Play#2 input xdump meta country
     Play#2 command xdump
     Play#2 output Play#2 1 XDUMP meta country 0
-    Play#2 output Play#2 1 "cnum" 5 0 0 9
-    Play#2 output Play#2 1 "flags" 8 8 0 36
+    Play#2 output Play#2 1 "cnum" 5 0 0 8
+    Play#2 output Play#2 1 "flags" 8 8 0 35
     Play#2 output Play#2 1 "ip" 14 0 46 -1
     Play#2 output Play#2 1 "hostname" 14 0 512 -1
     Play#2 output Play#2 1 "userid" 14 0 32 -1
     Play#0 output Play#0 1 1 2 8 1 0 0
     Play#0 output Play#0 1 /25
     Play#0 output Play#0 6 0 640
-    Play#0 input xdump treaty *
-    Play#0 command xdump
-    Play#0 output Play#0 1 XDUMP treaty 0
-    Play#0 output Play#0 1 /0
+    Play#0 input __cmd added -1 0 0
+    Play#0 command __cmd
     Play#0 output Play#0 6 0 640
     Play#0 input xdump trade *
     Play#0 command xdump
     Play#0 output Play#0 1 2 "infantry\\040beaten\\040back\\040by\\040%s\\040troops" "shock\\040troops\\040annihilated\\040in\\040failed\\040attack\\040on\\040%s" -4 2
     Play#0 output Play#0 1 3 "spy\\040shot\\040by\\040%s\\040firing\\040squad" "spy\\040captured\\040and\\040shot\\040by\\040%s" -1 10
     Play#0 output Play#0 1 4 "sends\\040a\\040telegram\\040to\\040%s" "telexes\\040%s" 1 11
-    Play#0 output Play#0 1 5 "diplomats\\040sign\\040a\\040treaty\\040with\\040%s" "ambassador\\040agrees\\040to\\040a\\040treaty\\040with\\040%s" 3 1
     Play#0 output Play#0 1 6 "bankers\\040make\\040a\\040loan\\040to\\040%s" "Ministry\\040of\\040Finance\\040lends\\040money\\040to\\040%s" 2 7
     Play#0 output Play#0 1 7 "repays\\040a\\040loan\\040from\\040%s" "makes\\040last\\040payment\\040on\\040loan\\040from\\040%s" 1 7
     Play#0 output Play#0 1 8 "makes\\040a\\040sale\\040to\\040%s" "sells\\040goods\\040to\\040%s" 0 7
     Play#0 output Play#0 1 18 "seadogs\\040board\\040one\\040of\\040%s's\\040ships" "pirates\\040board\\040%s\\040ship" -2 3
     Play#0 output Play#0 1 19 "is\\040repelled\\040by\\040%s\\040while\\040attempting\\040to\\040board\\040a\\040ship" "pirates\\040prove\\040inept\\040at\\040boarding\\040%s's\\040ships" -3 3
     Play#0 output Play#0 1 21 "seizes\\040a\\040sector\\040from\\040%s\\040to\\040collect\\040on\\040a\\040loan" "collects\\040one\\040of\\040%s's\\040sectors\\040in\\040repayment\\040of\\040a\\040loan" -2 7
-    Play#0 output Play#0 1 22 "considers\\040an\\040action\\040which\\040would\\040violate\\040a\\040treaty\\040with\\040%s" "decides\\040not\\040to\\040violate\\040treaty\\040with\\040%s\\040(yet)" -1 1
-    Play#0 output Play#0 1 23 "violates\\040a\\040treaty\\040with\\040%s" "actions\\040violate\\040treaty\\040with\\040%s" -4 1
     Play#0 output Play#0 1 25 "ship\\040hits\\040a\\040mine" "ship\\040severely\\040damaged\\040in\\040mine\\040field" 0 3
     Play#0 output Play#0 1 26 "announces\\040an\\040alliance\\040with\\040%s" "/\\040%s\\040alliance\\040declared" 5 1
     Play#0 output Play#0 1 28 "declares\\040TOTAL\\040WAR\\040on\\040%s" "gets\\040serious\\040with\\040%s\\040and\\040declares\\040WAR" -5 1
     Play#0 output Play#0 1 80 "is\\040unable\\040to\\040fulfill\\040its\\040financial\\040obligations\\040to\\040%s" "welches\\040on\\040a\\040deal\\040with\\040%s" 0 7
     Play#0 output Play#0 1 81 "is\\040repelled\\040by\\040%s\\040while\\040attempting\\040to\\040board\\040a\\040land\\040unit" "forces\\040prove\\040inept\\040at\\040boarding\\040%s's\\040land\\040unit" -3 2
     Play#0 output Play#0 1 82 "mercenaries\\040board\\040one\\040of\\040%s's\\040land\\040units" "elite\\040forces\\040board\\040%s\\040land\\040unit" -2 2
-    Play#0 output Play#0 1 /75
+    Play#0 output Play#0 1 /72
     Play#0 output Play#0 6 0 640
     Play#0 input xdump infrastructure *
     Play#0 command xdump
     Play#0 output Play#0 1 3 "land"
     Play#0 output Play#0 1 4 "nuke"
     Play#0 output Play#0 1 5 "news"
-    Play#0 output Play#0 1 6 "treaty"
-    Play#0 output Play#0 1 7 "trade"
-    Play#0 output Play#0 1 9 "nat"
-    Play#0 output Play#0 1 10 "loan"
-    Play#0 output Play#0 1 13 "commodity"
-    Play#0 output Play#0 1 14 "lost"
-    Play#0 output Play#0 1 15 "realm"
-    Play#0 output Play#0 1 16 "game"
-    Play#0 output Play#0 1 17 "item"
-    Play#0 output Play#0 1 18 "product"
-    Play#0 output Play#0 1 19 "sect-chr"
-    Play#0 output Play#0 1 20 "ship-chr"
-    Play#0 output Play#0 1 21 "plane-chr"
-    Play#0 output Play#0 1 22 "land-chr"
-    Play#0 output Play#0 1 23 "nuke-chr"
-    Play#0 output Play#0 1 24 "news-chr"
-    Play#0 output Play#0 1 25 "infrastructure"
-    Play#0 output Play#0 1 26 "updates"
-    Play#0 output Play#0 1 27 "table"
-    Play#0 output Play#0 1 28 "version"
-    Play#0 output Play#0 1 29 "meta"
-    Play#0 output Play#0 1 30 "agreement-status"
-    Play#0 output Play#0 1 31 "land-chr-flags"
-    Play#0 output Play#0 1 32 "level"
-    Play#0 output Play#0 1 33 "meta-flags"
-    Play#0 output Play#0 1 34 "meta-type"
-    Play#0 output Play#0 1 35 "missions"
-    Play#0 output Play#0 1 36 "nation-flags"
-    Play#0 output Play#0 1 37 "nation-rejects"
-    Play#0 output Play#0 1 38 "nation-relationships"
-    Play#0 output Play#0 1 39 "nation-status"
-    Play#0 output Play#0 1 40 "nuke-chr-flags"
-    Play#0 output Play#0 1 41 "packing"
-    Play#0 output Play#0 1 42 "page-headings"
-    Play#0 output Play#0 1 43 "plague-stages"
-    Play#0 output Play#0 1 44 "plane-chr-flags"
-    Play#0 output Play#0 1 45 "plane-flags"
-    Play#0 output Play#0 1 46 "resources"
-    Play#0 output Play#0 1 47 "retreat-flags"
-    Play#0 output Play#0 1 48 "sector-navigation"
-    Play#0 output Play#0 1 49 "ship-chr-flags"
-    Play#0 output Play#0 1 50 "treaty-flags"
-    Play#0 output Play#0 1 51 "country"
-    Play#0 output Play#0 1 /49
+    Play#0 output Play#0 1 6 "trade"
+    Play#0 output Play#0 1 8 "nat"
+    Play#0 output Play#0 1 9 "loan"
+    Play#0 output Play#0 1 12 "commodity"
+    Play#0 output Play#0 1 13 "lost"
+    Play#0 output Play#0 1 14 "realm"
+    Play#0 output Play#0 1 15 "game"
+    Play#0 output Play#0 1 16 "item"
+    Play#0 output Play#0 1 17 "product"
+    Play#0 output Play#0 1 18 "sect-chr"
+    Play#0 output Play#0 1 19 "ship-chr"
+    Play#0 output Play#0 1 20 "plane-chr"
+    Play#0 output Play#0 1 21 "land-chr"
+    Play#0 output Play#0 1 22 "nuke-chr"
+    Play#0 output Play#0 1 23 "news-chr"
+    Play#0 output Play#0 1 24 "infrastructure"
+    Play#0 output Play#0 1 25 "updates"
+    Play#0 output Play#0 1 26 "table"
+    Play#0 output Play#0 1 27 "version"
+    Play#0 output Play#0 1 28 "meta"
+    Play#0 output Play#0 1 29 "agreement-status"
+    Play#0 output Play#0 1 30 "land-chr-flags"
+    Play#0 output Play#0 1 31 "level"
+    Play#0 output Play#0 1 32 "meta-flags"
+    Play#0 output Play#0 1 33 "meta-type"
+    Play#0 output Play#0 1 34 "missions"
+    Play#0 output Play#0 1 35 "nation-flags"
+    Play#0 output Play#0 1 36 "nation-rejects"
+    Play#0 output Play#0 1 37 "nation-relationships"
+    Play#0 output Play#0 1 38 "nation-status"
+    Play#0 output Play#0 1 39 "nuke-chr-flags"
+    Play#0 output Play#0 1 40 "packing"
+    Play#0 output Play#0 1 41 "page-headings"
+    Play#0 output Play#0 1 42 "plague-stages"
+    Play#0 output Play#0 1 43 "plane-chr-flags"
+    Play#0 output Play#0 1 44 "plane-flags"
+    Play#0 output Play#0 1 45 "resources"
+    Play#0 output Play#0 1 46 "retreat-flags"
+    Play#0 output Play#0 1 47 "sector-navigation"
+    Play#0 output Play#0 1 48 "ship-chr-flags"
+    Play#0 output Play#0 1 49 "country"
+    Play#0 output Play#0 1 /47
     Play#0 output Play#0 6 0 640
     Play#0 input xdump version *
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP version 0
-    Play#0 output Play#0 1 "Wolfpack\\040Empire\\0404.3.32" 99 "Deity\\040forgot\\040to\\040edit\\040econfig" "careless@invalid" 64 32 60 0 0 1 "" "" "" 1 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 1 0 0 0.00120000 1440 640 15 5 120 0 1.00000 96.0000 2.00000 2.00000 192.000 48.0000 600000. 600000. 1.00000 127 100 1000.00 10.0000 300 3000.00 100.000 1.00000 2.00000 127 -0.00100000 1.00000 2.00000 127 -0.00100000 1.50000 3.00000 127 -0.00100000 40 8 8 8 1.75000 5.00000 1.00000 0.300000 0.100000 0.500000 1.00000 2 0.00250000 0.00833330 -0.0833333 -0.00833330 0.00177770 0.00600000 0.250000 0.000500000 0.00130000 0.00120000 0.00500000 50 0.00600000 0.00500000 0.00000 7200 7200 1.00000 0.990000 8 14 25 0.0250000 0.0350000 0.0500000 0.200000 0.100000
+    Play#0 output Play#0 1 "Wolfpack\\040Empire\\0404.3.32" 99 "Deity\\040forgot\\040to\\040edit\\040econfig" "careless@invalid" 64 32 60 0 0 1 "" "" "" 1 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 1 0 0 0.00120000 1440 640 15 5 120 0 1.00000 96.0000 2.00000 2.00000 192.000 48.0000 600000. 600000. 1.00000 127 100 1000.00 10.0000 300 3000.00 100.000 1.00000 2.00000 127 -0.00100000 1.00000 2.00000 127 -0.00100000 1.50000 3.00000 127 -0.00100000 40 8 8 8 1.75000 5.00000 1.00000 0.300000 0.100000 0.500000 1.00000 2 0.00250000 0.00833330 -0.0833333 -0.00833330 0.00177770 0.00600000 0.250000 0.000500000 0.00130000 0.00120000 0.00500000 50 0.00600000 0.00500000 0.00000 7200 7200 1.00000 0.990000 8 14 25 0.0250000 0.0350000 0.0500000 0.200000 0.100000
     Play#0 output Play#0 1 /1
     Play#0 output Play#0 6 0 640
     Play#0 input xdump meta *
     Play#0 command xdump
     Play#0 output Play#0 1 XDUMP nation-rejects 0
     Play#0 output Play#0 1 1 "telegrams"
-    Play#0 output Play#0 1 2 "treaties"
-    Play#0 output Play#0 1 4 "announcements"
-    Play#0 output Play#0 1 8 "loans"
-    Play#0 output Play#0 1 /4
+    Play#0 output Play#0 1 2 "announcements"
+    Play#0 output Play#0 1 4 "loans"
+    Play#0 output Play#0 1 /3
     Play#0 output Play#0 6 0 640
     Play#0 input xdump nation-relationships *
     Play#0 command xdump
     Play#0 output Play#0 1 1048576 "anti-missile"
     Play#0 output Play#0 1 /17
     Play#0 output Play#0 6 0 640
-    Play#0 input xdump treaty-flags *
-    Play#0 command xdump
-    Play#0 output Play#0 1 XDUMP treaty-flags 0
-    Play#0 output Play#0 1 1 "no\\040attacks\\040on\\040any\\040land\\040units"
-    Play#0 output Play#0 1 2 "no\\040attacks\\040on\\040any\\040ships"
-    Play#0 output Play#0 1 4 "no\\040shelling\\040any\\040ships"
-    Play#0 output Play#0 1 1024 "no\\040depth-charging\\040any\\040subs"
-    Play#0 output Play#0 1 8 "no\\040sector\\040attacks"
-    Play#0 output Play#0 1 16 "no\\040shelling\\040any\\040land"
-    Play#0 output Play#0 1 32 "no\\040building\\040ships"
-    Play#0 output Play#0 1 64 "no\\040new\\040nuclear\\040weapons"
-    Play#0 output Play#0 1 128 "no\\040building\\040planes"
-    Play#0 output Play#0 1 256 "no\\040building\\040land\\040units"
-    Play#0 output Play#0 1 512 "no\\040enlistment"
-    Play#0 output Play#0 1 /11
+    Play#0 input __cmd added -1 0 0
+    Play#0 command __cmd
     Play#0 output Play#0 6 0 640
     Play#0 input xdump country *
     Play#0 command xdump
     Play#1 output Play#1 1 1 2 8 1 0 0
     Play#1 output Play#1 1 /25
     Play#1 output Play#1 6 0 640
-    Play#1 input xdump treaty *
-    Play#1 command xdump
-    Play#1 output Play#1 1 XDUMP treaty 0
-    Play#1 output Play#1 1 /0
+    Play#1 input __cmd added -1 0 0
+    Play#1 command __cmd
     Play#1 output Play#1 6 0 640
     Play#1 input xdump trade *
     Play#1 command xdump
     Play#1 output Play#1 1 2 "infantry\\040beaten\\040back\\040by\\040%s\\040troops" "shock\\040troops\\040annihilated\\040in\\040failed\\040attack\\040on\\040%s" -4 2
     Play#1 output Play#1 1 3 "spy\\040shot\\040by\\040%s\\040firing\\040squad" "spy\\040captured\\040and\\040shot\\040by\\040%s" -1 10
     Play#1 output Play#1 1 4 "sends\\040a\\040telegram\\040to\\040%s" "telexes\\040%s" 1 11
-    Play#1 output Play#1 1 5 "diplomats\\040sign\\040a\\040treaty\\040with\\040%s" "ambassador\\040agrees\\040to\\040a\\040treaty\\040with\\040%s" 3 1
     Play#1 output Play#1 1 6 "bankers\\040make\\040a\\040loan\\040to\\040%s" "Ministry\\040of\\040Finance\\040lends\\040money\\040to\\040%s" 2 7
     Play#1 output Play#1 1 7 "repays\\040a\\040loan\\040from\\040%s" "makes\\040last\\040payment\\040on\\040loan\\040from\\040%s" 1 7
     Play#1 output Play#1 1 8 "makes\\040a\\040sale\\040to\\040%s" "sells\\040goods\\040to\\040%s" 0 7
     Play#1 output Play#1 1 18 "seadogs\\040board\\040one\\040of\\040%s's\\040ships" "pirates\\040board\\040%s\\040ship" -2 3
     Play#1 output Play#1 1 19 "is\\040repelled\\040by\\040%s\\040while\\040attempting\\040to\\040board\\040a\\040ship" "pirates\\040prove\\040inept\\040at\\040boarding\\040%s's\\040ships" -3 3
     Play#1 output Play#1 1 21 "seizes\\040a\\040sector\\040from\\040%s\\040to\\040collect\\040on\\040a\\040loan" "collects\\040one\\040of\\040%s's\\040sectors\\040in\\040repayment\\040of\\040a\\040loan" -2 7
-    Play#1 output Play#1 1 22 "considers\\040an\\040action\\040which\\040would\\040violate\\040a\\040treaty\\040with\\040%s" "decides\\040not\\040to\\040violate\\040treaty\\040with\\040%s\\040(yet)" -1 1
-    Play#1 output Play#1 1 23 "violates\\040a\\040treaty\\040with\\040%s" "actions\\040violate\\040treaty\\040with\\040%s" -4 1
     Play#1 output Play#1 1 25 "ship\\040hits\\040a\\040mine" "ship\\040severely\\040damaged\\040in\\040mine\\040field" 0 3
     Play#1 output Play#1 1 26 "announces\\040an\\040alliance\\040with\\040%s" "/\\040%s\\040alliance\\040declared" 5 1
     Play#1 output Play#1 1 28 "declares\\040TOTAL\\040WAR\\040on\\040%s" "gets\\040serious\\040with\\040%s\\040and\\040declares\\040WAR" -5 1
     Play#1 output Play#1 1 80 "is\\040unable\\040to\\040fulfill\\040its\\040financial\\040obligations\\040to\\040%s" "welches\\040on\\040a\\040deal\\040with\\040%s" 0 7
     Play#1 output Play#1 1 81 "is\\040repelled\\040by\\040%s\\040while\\040attempting\\040to\\040board\\040a\\040land\\040unit" "forces\\040prove\\040inept\\040at\\040boarding\\040%s's\\040land\\040unit" -3 2
     Play#1 output Play#1 1 82 "mercenaries\\040board\\040one\\040of\\040%s's\\040land\\040units" "elite\\040forces\\040board\\040%s\\040land\\040unit" -2 2
-    Play#1 output Play#1 1 /75
+    Play#1 output Play#1 1 /72
     Play#1 output Play#1 6 0 640
     Play#1 input xdump infrastructure *
     Play#1 command xdump
     Play#1 output Play#1 1 3 "land"
     Play#1 output Play#1 1 4 "nuke"
     Play#1 output Play#1 1 5 "news"
-    Play#1 output Play#1 1 6 "treaty"
-    Play#1 output Play#1 1 7 "trade"
-    Play#1 output Play#1 1 9 "nat"
-    Play#1 output Play#1 1 10 "loan"
-    Play#1 output Play#1 1 13 "commodity"
-    Play#1 output Play#1 1 14 "lost"
-    Play#1 output Play#1 1 15 "realm"
-    Play#1 output Play#1 1 16 "game"
-    Play#1 output Play#1 1 17 "item"
-    Play#1 output Play#1 1 18 "product"
-    Play#1 output Play#1 1 19 "sect-chr"
-    Play#1 output Play#1 1 20 "ship-chr"
-    Play#1 output Play#1 1 21 "plane-chr"
-    Play#1 output Play#1 1 22 "land-chr"
-    Play#1 output Play#1 1 23 "nuke-chr"
-    Play#1 output Play#1 1 24 "news-chr"
-    Play#1 output Play#1 1 25 "infrastructure"
-    Play#1 output Play#1 1 26 "updates"
-    Play#1 output Play#1 1 27 "table"
-    Play#1 output Play#1 1 28 "version"
-    Play#1 output Play#1 1 29 "meta"
-    Play#1 output Play#1 1 30 "agreement-status"
-    Play#1 output Play#1 1 31 "land-chr-flags"
-    Play#1 output Play#1 1 32 "level"
-    Play#1 output Play#1 1 33 "meta-flags"
-    Play#1 output Play#1 1 34 "meta-type"
-    Play#1 output Play#1 1 35 "missions"
-    Play#1 output Play#1 1 36 "nation-flags"
-    Play#1 output Play#1 1 37 "nation-rejects"
-    Play#1 output Play#1 1 38 "nation-relationships"
-    Play#1 output Play#1 1 39 "nation-status"
-    Play#1 output Play#1 1 40 "nuke-chr-flags"
-    Play#1 output Play#1 1 41 "packing"
-    Play#1 output Play#1 1 42 "page-headings"
-    Play#1 output Play#1 1 43 "plague-stages"
-    Play#1 output Play#1 1 44 "plane-chr-flags"
-    Play#1 output Play#1 1 45 "plane-flags"
-    Play#1 output Play#1 1 46 "resources"
-    Play#1 output Play#1 1 47 "retreat-flags"
-    Play#1 output Play#1 1 48 "sector-navigation"
-    Play#1 output Play#1 1 49 "ship-chr-flags"
-    Play#1 output Play#1 1 50 "treaty-flags"
-    Play#1 output Play#1 1 51 "country"
-    Play#1 output Play#1 1 /49
+    Play#1 output Play#1 1 6 "trade"
+    Play#1 output Play#1 1 8 "nat"
+    Play#1 output Play#1 1 9 "loan"
+    Play#1 output Play#1 1 12 "commodity"
+    Play#1 output Play#1 1 13 "lost"
+    Play#1 output Play#1 1 14 "realm"
+    Play#1 output Play#1 1 15 "game"
+    Play#1 output Play#1 1 16 "item"
+    Play#1 output Play#1 1 17 "product"
+    Play#1 output Play#1 1 18 "sect-chr"
+    Play#1 output Play#1 1 19 "ship-chr"
+    Play#1 output Play#1 1 20 "plane-chr"
+    Play#1 output Play#1 1 21 "land-chr"
+    Play#1 output Play#1 1 22 "nuke-chr"
+    Play#1 output Play#1 1 23 "news-chr"
+    Play#1 output Play#1 1 24 "infrastructure"
+    Play#1 output Play#1 1 25 "updates"
+    Play#1 output Play#1 1 26 "table"
+    Play#1 output Play#1 1 27 "version"
+    Play#1 output Play#1 1 28 "meta"
+    Play#1 output Play#1 1 29 "agreement-status"
+    Play#1 output Play#1 1 30 "land-chr-flags"
+    Play#1 output Play#1 1 31 "level"
+    Play#1 output Play#1 1 32 "meta-flags"
+    Play#1 output Play#1 1 33 "meta-type"
+    Play#1 output Play#1 1 34 "missions"
+    Play#1 output Play#1 1 35 "nation-flags"
+    Play#1 output Play#1 1 36 "nation-rejects"
+    Play#1 output Play#1 1 37 "nation-relationships"
+    Play#1 output Play#1 1 38 "nation-status"
+    Play#1 output Play#1 1 39 "nuke-chr-flags"
+    Play#1 output Play#1 1 40 "packing"
+    Play#1 output Play#1 1 41 "page-headings"
+    Play#1 output Play#1 1 42 "plague-stages"
+    Play#1 output Play#1 1 43 "plane-chr-flags"
+    Play#1 output Play#1 1 44 "plane-flags"
+    Play#1 output Play#1 1 45 "resources"
+    Play#1 output Play#1 1 46 "retreat-flags"
+    Play#1 output Play#1 1 47 "sector-navigation"
+    Play#1 output Play#1 1 48 "ship-chr-flags"
+    Play#1 output Play#1 1 49 "country"
+    Play#1 output Play#1 1 /47
     Play#1 output Play#1 6 0 640
     Play#1 input xdump version *
     Play#1 command xdump
     Play#1 output Play#1 1 XDUMP version 0
-    Play#1 output Play#1 1 "Wolfpack\\040Empire\\0404.3.32" 99 "Deity\\040forgot\\040to\\040edit\\040econfig" "careless@invalid" 64 32 60 0 0 1 "" "" "" 1 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 1 0 0 0.00120000 1440 640 15 5 120 0 1.00000 96.0000 2.00000 2.00000 192.000 48.0000 600000. 600000. 1.00000 127 100 1000.00 10.0000 300 3000.00 100.000 1.00000 2.00000 127 -0.00100000 1.00000 2.00000 127 -0.00100000 1.50000 3.00000 127 -0.00100000 40 8 8 8 1.75000 5.00000 1.00000 0.300000 0.100000 0.500000 1.00000 2 0.00250000 0.00833330 -0.0833333 -0.00833330 0.00177770 0.00600000 0.250000 0.000500000 0.00130000 0.00120000 0.00500000 50 0.00600000 0.00500000 0.00000 7200 7200 1.00000 0.990000 8 14 25 0.0250000 0.0350000 0.0500000 0.200000 0.100000
+    Play#1 output Play#1 1 "Wolfpack\\040Empire\\0404.3.32" 99 "Deity\\040forgot\\040to\\040edit\\040econfig" "careless@invalid" 64 32 60 0 0 1 "" "" "" 1 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 1 0 0 0.00120000 1440 640 15 5 120 0 1.00000 96.0000 2.00000 2.00000 192.000 48.0000 600000. 600000. 1.00000 127 100 1000.00 10.0000 300 3000.00 100.000 1.00000 2.00000 127 -0.00100000 1.00000 2.00000 127 -0.00100000 1.50000 3.00000 127 -0.00100000 40 8 8 8 1.75000 5.00000 1.00000 0.300000 0.100000 0.500000 1.00000 2 0.00250000 0.00833330 -0.0833333 -0.00833330 0.00177770 0.00600000 0.250000 0.000500000 0.00130000 0.00120000 0.00500000 50 0.00600000 0.00500000 0.00000 7200 7200 1.00000 0.990000 8 14 25 0.0250000 0.0350000 0.0500000 0.200000 0.100000
     Play#1 output Play#1 1 /1
     Play#1 output Play#1 6 0 640
     Play#1 input xdump meta *
     Play#1 command xdump
     Play#1 output Play#1 1 XDUMP nation-rejects 0
     Play#1 output Play#1 1 1 "telegrams"
-    Play#1 output Play#1 1 2 "treaties"
-    Play#1 output Play#1 1 4 "announcements"
-    Play#1 output Play#1 1 8 "loans"
-    Play#1 output Play#1 1 /4
+    Play#1 output Play#1 1 2 "announcements"
+    Play#1 output Play#1 1 4 "loans"
+    Play#1 output Play#1 1 /3
     Play#1 output Play#1 6 0 640
     Play#1 input xdump nation-relationships *
     Play#1 command xdump
     Play#1 output Play#1 1 1048576 "anti-missile"
     Play#1 output Play#1 1 /17
     Play#1 output Play#1 6 0 640
-    Play#1 input xdump treaty-flags *
-    Play#1 command xdump
-    Play#1 output Play#1 1 XDUMP treaty-flags 0
-    Play#1 output Play#1 1 1 "no\\040attacks\\040on\\040any\\040land\\040units"
-    Play#1 output Play#1 1 2 "no\\040attacks\\040on\\040any\\040ships"
-    Play#1 output Play#1 1 4 "no\\040shelling\\040any\\040ships"
-    Play#1 output Play#1 1 1024 "no\\040depth-charging\\040any\\040subs"
-    Play#1 output Play#1 1 8 "no\\040sector\\040attacks"
-    Play#1 output Play#1 1 16 "no\\040shelling\\040any\\040land"
-    Play#1 output Play#1 1 32 "no\\040building\\040ships"
-    Play#1 output Play#1 1 64 "no\\040new\\040nuclear\\040weapons"
-    Play#1 output Play#1 1 128 "no\\040building\\040planes"
-    Play#1 output Play#1 1 256 "no\\040building\\040land\\040units"
-    Play#1 output Play#1 1 512 "no\\040enlistment"
-    Play#1 output Play#1 1 /11
+    Play#1 input __cmd added -1  0 0
+    Play#1 command __cmd
     Play#1 output Play#1 6 0 640
     Play#1 input xdump country *
     Play#1 command xdump