]> git.pond.sub.org Git - empserver/commitdiff
edit: Improve remaining existing nation change reporting
authorMarkus Armbruster <armbru@pond.sub.org>
Sun, 3 Feb 2013 17:11:27 +0000 (18:11 +0100)
committerMarkus Armbruster <armbru@pond.sub.org>
Thu, 6 Jun 2013 17:55:02 +0000 (19:55 +0200)
Print "FOO of CNAME (#CNUM)" instead of just "FOO".  Print "unchanged"
instead of "changed from X to X" on no-op.

Send a bulletin to the country and report news when appropriate.

Affected keys:

        key   struct member   before  after   notes
        -------------------------------------------
         n    nat_cnam        --      BN         1
         r    nat_pnam        --      B-         2
         b    nat_btu         --      BN         3
         m    nat_reserve     BN      BN
         c    nat_xcap,ycap   --      B-
         o    nat_xorg,yorg   --      B-
         u    nat_timeused    --      BN
         M    nat_money       B-      BN

Notes:

1. Reports N_NAME_CHNG rather than N_AIDS/N_HURTS.

2. Message improved to accurately reflect string truncation.

3. Greengrocers' apostrophe in message fixed.

Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
src/lib/commands/edit.c
tests/actofgod/actofgod.xdump
tests/actofgod/journal.log

index 9f75e4a1ea7c84981f64ea08f1c02ec3f0bb2e3f..1de7ea46d47d52146538f576f1ea96f9246df6c0 100644 (file)
@@ -216,13 +216,6 @@ edit(void)
     }
 }
 
-static void
-benefit(natid who, int goodness)
-{
-    if (opt_GODNEWS && getnatp(who)->nat_stat != STAT_GOD && goodness)
-       nreport(player->cnum, goodness > 0 ? N_AIDS : N_HURTS, who, 1);
-}
-
 static void
 noise(struct sctstr *sptr, char *name, int old, int new)
 {
@@ -648,12 +641,17 @@ edit_nat(struct natstr *np, char *key, char *p)
     case 'n':
        if (!check_nat_name(p, nat))
            return RET_SYN;
-       pr("Country name changed from %s to %s\n", np->nat_cnam, p);
+       divine_nat_change(np, "Country name", strcmp(np->nat_cnam, p), 0,
+                         "from %s to %s", np->nat_cnam, p);
+       if (opt_GODNEWS)
+           nreport(player->cnum, N_NAME_CHNG, 0, 1);
        strcpy(np->nat_cnam, p);
        break;
     case 'r':
-       pr("Country representative changed from %s to %s\n",
-          np->nat_pnam, p);
+       divine_nat_change(np, "Country representative",
+               strncmp(p, np->nat_pnam, sizeof(np->nat_pnam) - 1), 0,
+               "from %s to %.*s",
+               np->nat_pnam, (int)sizeof(np->nat_pnam) - 1, p);
        strncpy(np->nat_pnam, p, sizeof(np->nat_pnam) - 1);
        break;
     case 't':
@@ -662,37 +660,51 @@ edit_nat(struct natstr *np, char *key, char *p)
        break;
     case 'b':
        arg = LIMIT_TO(arg, 0, max_btus);
-       pr("BTU's changed from %d to %d\n", np->nat_btu, arg);
+       divine_nat_change(np, "BTUs",
+                         arg != np->nat_btu, arg - np->nat_btu,
+                         "from %d to %d", np->nat_btu, arg);
        np->nat_btu = arg;
        break;
     case 'm':
        arg = LIMIT_TO(arg, 0, INT_MAX);
-       benefit(nat, arg - np->nat_reserve);
-       pr("Military reserves changed from %d to %d\n",
-          np->nat_reserve, arg);
-       if (arg == np->nat_reserve)
-           break;
-       if (nat != player->cnum)
-           wu(0, nat,
-              "Military reserves changed from %d to %d by an act of %s\n",
-              np->nat_reserve, arg, cname(player->cnum));
+       divine_nat_change(np, "Military reserves",
+                         arg != np->nat_reserve, arg - np->nat_reserve,
+                         "from %d to %d", np->nat_reserve, arg);
        np->nat_reserve = arg;
        break;
     case 'c':
        if (!sarg_xy(p, &newx, &newy))
            return RET_SYN;
-       pr("Capital coordinates changed from %s to %s\n",
-          xyas(np->nat_xcap, np->nat_ycap, player->cnum),
-          xyas(newx, newy, player->cnum));
+       if (newx == np->nat_xcap && newy == np->nat_ycap)
+           pr("Capital unchanged\n");
+       else {
+           pr("Capital moved from %s to %s\n",
+              xyas(np->nat_xcap, np->nat_ycap, player->cnum),
+              xyas(newx, newy, player->cnum));
+           if (nat != player->cnum)
+               wu(0, nat,
+                  "Capital moved from %s to %s by an act of %s!\n",
+                  xyas(np->nat_xcap, np->nat_ycap, nat),
+                  xyas(newx, newy, nat), cname(player->cnum));
+       }
        np->nat_xcap = newx;
        np->nat_ycap = newy;
        break;
     case 'o':
        if (!sarg_xy(p, &newx, &newy))
            return RET_SYN;
-       pr("Origin coordinates changed from %s to %s\n",
-          xyas(np->nat_xorg, np->nat_yorg, player->cnum),
-          xyas(newx, newy, player->cnum));
+       if (newx == np->nat_xorg && newy == np->nat_yorg)
+           pr("Origin unchanged\n");
+       else {
+           pr("Origin moved from %s to %s\n",
+              xyas(np->nat_xorg, np->nat_yorg, player->cnum),
+              xyas(newx, newy, player->cnum));
+           if (nat != player->cnum)
+               wu(0, nat,
+                  "Origin moved from %s to %s by an act of %s!\n",
+                  xyas(np->nat_xorg, np->nat_yorg, nat),
+                  xyas(newx, newy, nat), cname(player->cnum));
+       }
        np->nat_xorg = newx;
        np->nat_yorg = newy;
        break;
@@ -701,17 +713,15 @@ edit_nat(struct natstr *np, char *key, char *p)
        break;
     case 'u':
        arg = LIMIT_TO(arg, 0, m_m_p_d * 60);
-       pr("Number of seconds used changed from %d to %d.\n",
-          np->nat_timeused, arg);
+       divine_nat_change(np, "Number of seconds used",
+                         arg != np->nat_timeused, arg - np->nat_timeused,
+                         "from %d to %d", np->nat_timeused, arg);
        np->nat_timeused = arg;
        break;
     case 'M':
-       pr("Money changed from %d to %d\n", np->nat_money, arg);
-       if (arg == np->nat_money)
-           break;
-       if (nat != player->cnum)
-           wu(0, nat, "Money changed from %d to %d by an act of %s\n",
-              np->nat_money, arg, cname(player->cnum));
+       divine_nat_change(np, "Money",
+                         arg != np->nat_money, arg - np->nat_money,
+                         "from %d to %d", np->nat_money, arg);
        np->nat_money = arg;
        break;
     case 'T':
index dac433305768b49b03fb7dcd359e630ec4d7399f..93d90c2dfc563ae72dce5641781dd2046f5da468 100644 (file)
@@ -365,14 +365,18 @@ actor action victim times duration time
 0 42 1 39 0 0
 0 44 3 1 0 0
 0 44 1 32 0 0
-0 43 2 9 0 0
+0 43 2 5 0 0
 0 44 3 19 0 0
 0 43 1 71 0 0
 0 42 1 4 0 0
 1 45 0 1 0 0
-0 43 3 27 0 0
+0 43 3 30 0 0
 0 44 2 6 0 0
 0 42 3 4 0 0
+0 43 4 2 0 0
+0 44 1 1 0 0
+0 43 2 4 0 0
+0 33 0 2 0 0
 /config
 config treaty
 uid cna cnb status acond bcond exp
@@ -386,7 +390,7 @@ cnum stat flags cname passwd ip hostname userid xcap ycap xorg yorg update tgms
 1 active (flash beep coastwatch sonar techlists) "1" "1" "" "" "" 0 0 0 0 0 1 0 255 0 0 0 -2147483648 0 0 0 0 3.14000 3.14000 3.14000 3.14000 neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () ()
 2 active (flash beep coastwatch sonar techlists) "2" "0123456789012345678" "" "" "" 2 0 2 0 0 1 0 255 0 0 0 0 0 0 0 0 100.000 100.000 100.000 100.000 neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () ()
 3 active (flash beep coastwatch sonar techlists) "drei" "3" "" "" "" 0 0 0 0 0 1 0 255 640 0 0 0 0 0 0 0 0.00000 0.00000 0.00000 0.00000 neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () ()
-4 deity (flash beep coastwatch sonar techlists) "4" "4" "" "" "" 0 0 0 0 0 0 0 255 640 0 0 0 0 0 0 0 0.00000 0.00000 0.00000 0.00000 neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () ()
+4 deity (flash beep coastwatch sonar techlists) "4" "4" "" "" "" 0 0 0 0 0 1 0 255 640 0 0 0 0 0 0 0 0.00000 0.00000 0.00000 0.00000 neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () ()
 5 deity (flash beep coastwatch sonar techlists) "5" "5" "" "" "" 0 0 0 0 0 1 0 255 640 0 0 0 0 0 0 0 1.00000 0.00000 0.00000 0.00000 neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () ()
 6 unused (flash beep coastwatch sonar techlists) "6" "6" "" "" "" 0 0 0 0 0 0 0 255 0 0 0 0 0 0 0 0 0.00000 0.00000 0.00000 0.00000 neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () ()
 7 unused (flash beep coastwatch sonar techlists) "7" "7" "" "" "" 0 0 0 0 0 65535 0 255 0 0 0 0 0 0 0 0 0.00000 0.00000 0.00000 0.00000 neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral neutral 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () ()
index 0e1e74c1a1bc1328acca1af721e560d7badbf2ce..932bd6b39b62a916e7b189b567e29f030a555998 100644 (file)
     Play#0 output Play#0 6 0 640
     Play#0 input edit c 1 b 0
     Play#0 command edit
-    Play#0 output Play#0 1 BTU's changed from 0 to 0
+    Play#0 output Play#0 1 BTUs of 1 (#1) unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit c 2 b -1
     Play#0 command edit
-    Play#0 output Play#0 1 BTU's changed from 0 to 0
+    Play#0 output Play#0 1 BTUs of 2 (#2) unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit c 3 b 640
     Play#0 command edit
-    Play#0 output Play#0 1 BTU's changed from 0 to 640
+    Play#0 output Play#0 1 BTUs of 3 (#3) changed from 0 to 640
     Play#0 output Play#0 6 0 640
     Play#0 input edit c 4 b 641
     Play#0 command edit
-    Play#0 output Play#0 1 BTU's changed from 0 to 640
+    Play#0 output Play#0 1 BTUs of 4 (#4) changed from 0 to 640
     Play#0 output Play#0 6 0 640
     Play#0 input edit c 1 m 0
     Play#0 command edit
-    Play#0 output Play#0 1 Military reserves changed from 0 to 0
+    Play#0 output Play#0 1 Military reserves of 1 (#1) unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit c 2 m -1
     Play#0 command edit
-    Play#0 output Play#0 1 Military reserves changed from 0 to 0
+    Play#0 output Play#0 1 Military reserves of 2 (#2) unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit c 3 m 2147483647
     Play#0 command edit
-    Play#0 output Play#0 1 Military reserves changed from 0 to 2147483647
+    Play#0 output Play#0 1 Military reserves of 3 (#3) changed from 0 to 2147483647
     Play#0 output Play#0 6 0 640
     Play#0 input edit c 1 u 0
     Play#0 command edit
-    Play#0 output Play#0 1 Number of seconds used changed from 0 to 0.
+    Play#0 output Play#0 1 Number of seconds used of 1 (#1) unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit c 2 u -1
     Play#0 command edit
-    Play#0 output Play#0 1 Number of seconds used changed from 0 to 0.
+    Play#0 output Play#0 1 Number of seconds used of 2 (#2) unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit c 3 u 86400
     Play#0 command edit
-    Play#0 output Play#0 1 Number of seconds used changed from 0 to 86400.
+    Play#0 output Play#0 1 Number of seconds used of 3 (#3) changed from 0 to 86400
     Play#0 output Play#0 6 0 640
     Play#0 input edit c 4 u 86401
     Play#0 command edit
-    Play#0 output Play#0 1 Number of seconds used changed from 0 to 86400.
+    Play#0 output Play#0 1 Number of seconds used of 4 (#4) changed from 0 to 86400
     Play#0 output Play#0 6 0 640
     Play#0 input edit c 1 M -2147483648
     Play#0 command edit
-    Play#0 output Play#0 1 Money changed from 0 to -2147483648
+    Play#0 output Play#0 1 Money of 1 (#1) changed from 0 to -2147483648
     Play#0 output Play#0 6 0 640
     Play#0 input edit c 3 M 2147483647
     Play#0 command edit
-    Play#0 output Play#0 1 Money changed from 0 to 2147483647
+    Play#0 output Play#0 1 Money of 3 (#3) changed from 0 to 2147483647
     Play#0 output Play#0 6 0 640
     Play#0 input edit c 6 t -1
     Play#0 command edit
     Play#0 output Play#0 6 0 640
     Play#0 input edit c 2 n 2
     Play#0 command edit
-    Play#0 output Play#0 1 Country name changed from 2 to 2
+    Play#0 output Play#0 1 Country name of 2 (#2) unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit c 3 n drei
     Play#0 command edit
-    Play#0 output Play#0 1 Country name changed from 3 to drei
+    Play#0 output Play#0 1 Country name of 3 (#3) changed from 3 to drei
     Play#0 output Play#0 6 0 640
     Play#0 input edit c 1 r 1
     Play#0 command edit
-    Play#0 output Play#0 1 Country representative changed from 1 to 1
+    Play#0 output Play#0 1 Country representative of 1 (#1) unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit c 2 r 012345678901234567890123456789
     Play#0 command edit
-    Play#0 output Play#0 1 Country representative changed from 2 to 012345678901234567890123456789
+    Play#0 output Play#0 1 Country representative of 2 (#2) changed from 2 to 0123456789012345678
     Play#0 output Play#0 6 0 640
     Play#0 input edit c 1 c 0,0
     Play#0 command edit
-    Play#0 output Play#0 1 Capital coordinates changed from 0,0 to 0,0
+    Play#0 output Play#0 1 Capital unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit c 2 c 2,0
     Play#0 command edit
-    Play#0 output Play#0 1 Capital coordinates changed from 0,0 to 2,0
+    Play#0 output Play#0 1 Capital moved from 0,0 to 2,0
     Play#0 output Play#0 6 0 640
     Play#0 input edit c 1 o 0,0
     Play#0 command edit
-    Play#0 output Play#0 1 Origin coordinates changed from 0,0 to 0,0
+    Play#0 output Play#0 1 Origin unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit c 2 o 2,0
     Play#0 command edit
-    Play#0 output Play#0 1 Origin coordinates changed from 0,0 to 2,0
+    Play#0 output Play#0 1 Origin moved from 0,0 to 2,0
     Play#0 output Play#0 6 0 640
     Play#0 input edit c 6 s 0
     Play#0 command edit
     Play#0 output Play#0 1 Telegrams <t>:      0
     Play#0 output Play#0 4 %c xxxxx -- thing value : 
     Play#0 input b 640
-    Play#0 output Play#0 1 BTU's changed from 0 to 640
+    Play#0 output Play#0 1 BTUs of 5 (#5) changed from 0 to 640
     Play#0 output Play#0 4 %c xxxxx -- thing value : 
     Play#0 input T 1
     Play#0 output Play#0 1 Technology of 5 (#5) changed from 0.00 to 1.00
     Play#0 output Play#0 1 POGO gave you 1 civilians in 8,6
     Play#0 output Play#0 1 POGO gave you 9997 civilians in 6,6
     Play#0 output Play#0 1 POGO stole 1 civilians from 8,6
-    Play#0 output Play#0 1 Money changed from 0 to -2147483648 by an act of POGO
+    Play#0 output Play#0 1 Money changed from 0 to -2147483648 by an act of POGO!
     Play#0 output Play#0 1 Technology changed from 0.00 to 3.14 by an act of POGO!
     Play#0 output Play#0 1 Research changed from 0.00 to 3.14 by an act of POGO!
     Play#0 output Play#0 1 Education changed from 0.00 to 3.14 by an act of POGO!
     Play#0 output Play#0 1 Research changed from 0.00 to 100.00 by an act of POGO!
     Play#0 output Play#0 1 Education changed from 0.00 to 100.00 by an act of POGO!
     Play#0 output Play#0 1 Happiness changed from 0.00 to 100.00 by an act of POGO!
+    Play#0 output Play#0 1 Capital moved from 0,0 to 2,0 by an act of POGO!
+    Play#0 output Play#0 1 Origin moved from 0,0 to 2,0 by an act of POGO!
     Play#0 output Play#0 6 0 640
     Play#0 input read 3
     Play#0 command read
     Play#0 output Play#0 1 sup  supply #4 loaded onto land #4 by an act of POGO!
     Play#0 output Play#0 1 sup  supply #4 unloaded from land #4 by an act of POGO!
     Play#0 output Play#0 1 sup  supply #4 loaded onto ship #2 by an act of POGO!
-    Play#0 output Play#0 1 Military reserves changed from 0 to 2147483647 by an act of POGO
-    Play#0 output Play#0 1 Money changed from 0 to 2147483647 by an act of POGO
+    Play#0 output Play#0 1 BTUs changed from 0 to 640 by an act of POGO!
+    Play#0 output Play#0 1 Military reserves changed from 0 to 2147483647 by an act of POGO!
+    Play#0 output Play#0 1 Number of seconds used changed from 0 to 86400 by an act of POGO!
+    Play#0 output Play#0 1 Money changed from 0 to 2147483647 by an act of POGO!
     Play#0 output Play#0 6 0 640
     Play#0 input read 4
     Play#0 command read
-    Play#0 output Play#0 1 No telegrams for 4 at the moment...
+    Play#0 output Play#0 1 
+    Play#0 output Play#0 1 > BULLETIN from POGO, (#0)  dated Thu Jan  1 00:00:00 1970
+    Play#0 output Play#0 1 BTUs changed from 0 to 640 by an act of POGO!
+    Play#0 output Play#0 1 Number of seconds used changed from 0 to 86400 by an act of POGO!
     Play#0 output Play#0 6 0 640
     Play#0 input read 5
     Play#0 command read
     Play#0 output Play#0 1 
     Play#0 output Play#0 1 > BULLETIN from POGO, (#0)  dated Thu Jan  1 00:00:00 1970
+    Play#0 output Play#0 1 BTUs changed from 0 to 640 by an act of POGO!
     Play#0 output Play#0 1 Technology changed from 0.00 to 1.00 by an act of POGO!
     Play#0 output Play#0 6 0 640
     Play#0 input read 98