]> git.pond.sub.org Git - empserver/commitdiff
edit: Add remaining missing unit change reporting
authorMarkus Armbruster <armbru@pond.sub.org>
Sun, 3 Feb 2013 14:22:54 +0000 (15:22 +0100)
committerMarkus Armbruster <armbru@pond.sub.org>
Thu, 6 Jun 2013 17:55:02 +0000 (19:55 +0200)
Print a message (always), send a bulletin to the unit owner and report
news (sometimes).

The message is necessary to give the deity a chance to catch
unexpected changes, e.g. a player spending mobility right before the
deity edits it.  Watching out for such changes is especially important
with non-interactive edit.

Affected keys:

    cmd  key    struct member   action
    ----------------------------------
    edit s L    shp_x,y         B-
           E    shp_effic       BN
           M    shp_mobil       BN
           F    shp_fleet       B-
           T    shp_tech        BN
           a    shp_pstage      --
           b    shp_ptime       --
           R    shp_rpath       B-
    edit p l    pln_x,y         B-
           e    pln_effic       BN
           m    pln_mobil       BN
           w    pln_wing        B-
           t    pln_tech        BN
           r    pln_range       B-
    edit u L    lnd_x,y         B-
           e    lnd_effic       BN
           M    lnd_mobil       BN
           a    lnd_army        B-
           t    lnd_tech        BN
           F    lnd_harden      BN
           Z    lnd_retreat     B-
           R    lnd_rpath       B-

The two characters in column action show whether the command sends a
bulletin (B) or not (-), and whether it reports news (N) or not (-).

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

index 847b9c759d4a339a13cce4755e95409b6c1b78f9..75ce200f5a2d141b2f5c4500c767a5adbf67b26c 100644 (file)
@@ -741,6 +741,7 @@ edit_unit(struct empobj *unit, char *key, char *p,
     int arg = atoi(p);
     coord newx, newy;
     union empobj_storage newunit;
+    char newgroup;
  
     switch (toupper(*key)) {
     case 'U':
@@ -783,28 +784,50 @@ edit_unit(struct empobj *unit, char *key, char *p,
            pr("Can't move %s while it's loaded\n", unit_nameof(unit));
            return RET_FAIL;
        }
+       divine_unit_change_quiet(unit, "Location",
+                                unit->own && unit->own != player->cnum,
+                                "from %s to %s",
+                                xyas(unit->x, unit->y, player->cnum),
+                                xyas(newx, newy, player->cnum));
+       if (unit->own && unit->own != player->cnum)
+           wu(0, unit->own,
+              "Location of %s changed from %s to %s by an act of %s!\n",
+              unit_nameof(unit),
+              xyas(unit->x, unit->y, unit->own),
+              xyas(newx, newy, unit->own),
+              cname(player->cnum));
        unit->x = newx;
        unit->y = newy;
        break;
     case 'E':
        arg = LIMIT_TO(arg, mineff, 100);
+       divine_unit_change(unit, "Efficiency",
+                          arg != unit->effic, arg - unit->effic,
+                          "from %d to %d", unit->effic, arg);
        unit->effic = arg;
        break;
     case 'M':
        arg = LIMIT_TO(arg, -127, 127);
+       divine_unit_change(unit, "Mobility",
+                          arg != unit->mobil, arg - unit->mobil,
+                          "from %d to %d", unit->mobil, arg);
        unit->mobil = arg;
        break;
     case 'F':
     case 'W':
     case 'A':
        if (p[0] == '~')
-           unit->group = 0;
+           newgroup = 0;
        else if (isalpha(p[0]))
-           unit->group = p[0];
+           newgroup = p[0];
        else {
            pr("%c: invalid %s\n", p[0], group_name);
            return RET_FAIL;
        }
+       divine_unit_change(unit, "Assignment", newgroup != unit->group, 0,
+                          "from %s %c to %c", group_name,
+                          unit->group ? unit->group : '~', p[0]);
+       unit->group = newgroup;
        break;
     default:
        CANT_REACH();
@@ -830,17 +853,30 @@ edit_ship(struct shpstr *ship, char *key, char *p)
                         SHIP_MINEFF, "fleet", 0);
     case 'T':
        arg = LIMIT_TO(arg, mcp->m_tech, SHRT_MAX);
+       divine_unit_change((struct empobj *)ship, "Tech level",
+                          arg != ship->shp_tech, arg - ship->shp_tech,
+                          "from %d to %d", ship->shp_tech, arg);
        shp_set_tech(ship, arg);
        break;
     case 'a':
        arg = LIMIT_TO(arg, 0, PLG_EXPOSED);
+       divine_unit_change_quiet((struct empobj *)ship, "Plague stage",
+                                arg != ship->shp_pstage,
+                                "from %d to %d", ship->shp_pstage, arg);
        ship->shp_pstage = arg;
        break;
     case 'b':
        arg = LIMIT_TO(arg, 0, 32767);
+       divine_unit_change_quiet((struct empobj *)ship, "Plague time",
+                                arg != ship->shp_ptime,
+                                "from %d to %d", ship->shp_ptime, arg);
        ship->shp_ptime = arg;
        break;
     case 'R':
+       divine_unit_change((struct empobj *)ship, "Retreat path",
+               strncmp(p, ship->shp_rpath, sizeof(ship->shp_rpath) - 1),
+               0, "from %s to %.*s",
+               ship->shp_rpath, (int)sizeof(ship->shp_rpath) - 1, p);
        strncpy(ship->shp_rpath, p, sizeof(ship->shp_rpath) - 1);
        break;
     case 'W':
@@ -897,10 +933,17 @@ edit_land(struct lndstr *land, char *key, char *p)
                         land->lnd_ship >= 0 || land->lnd_land >= 0);
     case 't':
        arg = LIMIT_TO(arg, lcp->l_tech, SHRT_MAX);
+       divine_unit_change((struct empobj *)land, "Tech level",
+                          arg != land->lnd_tech, arg - land->lnd_tech,
+                          "from %d to %d", land->lnd_tech, arg);
        lnd_set_tech(land, arg);
        break;
     case 'F':
-       land->lnd_harden = LIMIT_TO(arg, 0, 127);
+       arg = LIMIT_TO(arg, 0, 127);
+       divine_unit_change((struct empobj *)land, "Fortification",
+                          arg != land->lnd_harden, arg - land->lnd_harden,
+                          "from %d to %d", land->lnd_harden, arg);
+       land->lnd_harden = arg;
        break;
     case 'S':
        if (arg < -1 || arg >= ef_nelem(EF_SHIP))
@@ -934,9 +977,16 @@ edit_land(struct lndstr *land, char *key, char *p)
        break;
     case 'Z':
        arg = LIMIT_TO(arg, 0, 100);
+       divine_unit_change((struct empobj *)land, "Retreat percentage",
+                          arg != land->lnd_retreat, 0,
+                          "from %d to %d", land->lnd_retreat, arg);
        land->lnd_retreat = arg;
        break;
     case 'R':
+       divine_unit_change((struct empobj *)land, "Retreat path",
+               strncmp(p, land->lnd_rpath, sizeof(land->lnd_rpath) - 1),
+               0, "from %s to %.*s",
+               land->lnd_rpath, (int)sizeof(land->lnd_rpath) - 1, p);
        strncpy(land->lnd_rpath, p, sizeof(land->lnd_rpath) - 1);
        break;
     case 'W':
@@ -992,10 +1042,16 @@ edit_plane(struct plnstr *plane, char *key, char *p)
                         plane->pln_ship >= 0 || plane->pln_land >= 0);
     case 't':
        arg = LIMIT_TO(arg, pcp->pl_tech, SHRT_MAX);
+       divine_unit_change((struct empobj *)plane, "Tech level",
+                          arg != plane->pln_tech, arg - plane->pln_tech,
+                          "from %d to %d", plane->pln_tech, arg);
        pln_set_tech(plane, arg);
        break;
     case 'r':
        arg = LIMIT_TO(arg, 0, pl_range(pcp, plane->pln_tech));
+       divine_unit_change((struct empobj *)plane, "Range",
+                          arg != plane->pln_range, 0,
+                          "from %d to %d", plane->pln_range, arg);
        plane->pln_range = (unsigned char)arg;
        break;
     case 's':
index 8474ee46b24b5eb7543d0ecb6b152984a0545ea6..2a2bade53858c3b4e24aa36f042587e3a56b9ffb 100644 (file)
@@ -366,11 +366,12 @@ actor action victim times duration time
 0 44 3 1 0 0
 0 44 1 32 0 0
 0 43 2 5 0 0
-0 44 3 13 0 0
+0 44 3 19 0 0
 0 43 1 67 0 0
 0 42 1 4 0 0
 1 45 0 1 0 0
-0 43 3 7 0 0
+0 43 3 27 0 0
+0 44 2 6 0 0
 0 42 3 4 0 0
 /config
 config treaty
index 8732311c4d73ceaa1a797645ba7ed9204998e7b7..872a83b7d7c399f685fde5ae0224b2b2c1bbb66f 100644 (file)
     Play#0 output Play#0 6 0 640
     Play#0 input edit s 2 L 3,-1
     Play#0 command edit
+    Play#0 output Play#0 1 Location of cs   cargo ship (#2) changed from 1,-1 to 3,-1
     Play#0 output Play#0 6 0 640
     Play#0 input edit s 3 L 1,-1
     Play#0 command edit
+    Play#0 output Play#0 1 Location of cs   cargo ship (#3) changed from 1,-1 to 1,-1
     Play#0 output Play#0 6 0 640
     Play#0 input edit p 0 @ 0
     Play#0 command edit
     Play#0 output Play#0 6 0 640
     Play#0 input edit p 2 l 3,-1
     Play#0 command edit
+    Play#0 output Play#0 1 Location of f1   Sopwith Camel #2 changed from 1,-1 to 3,-1
     Play#0 output Play#0 6 0 640
     Play#0 input edit p 3 l 1,-1
     Play#0 command edit
+    Play#0 output Play#0 1 Location of f1   Sopwith Camel #3 changed from 1,-1 to 1,-1
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 0 @ 0
     Play#0 command edit
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 2 L 3,-1
     Play#0 command edit
+    Play#0 output Play#0 1 Location of sup  supply #2 changed from 1,-1 to 3,-1
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 3 L 1,-1
     Play#0 command edit
+    Play#0 output Play#0 1 Location of sup  supply #3 changed from 1,-1 to 1,-1
     Play#0 output Play#0 6 0 640
     Play#0 input edit s 2 E 0
     Play#0 command edit
+    Play#0 output Play#0 1 Efficiency of cs   cargo ship (#2) unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit s 3 E -1
     Play#0 command edit
+    Play#0 output Play#0 1 Efficiency of cs   cargo ship (#3) unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit s 4 E 100
     Play#0 command edit
+    Play#0 output Play#0 1 Efficiency of cs   cargo ship (#4) changed from 20 to 100
     Play#0 output Play#0 6 0 640
     Play#0 input edit s 5 E 101
     Play#0 command edit
+    Play#0 output Play#0 1 Efficiency of cs   cargo ship (#5) changed from 20 to 100
     Play#0 output Play#0 6 0 640
     Play#0 input edit s 2 M -127
     Play#0 command edit
+    Play#0 output Play#0 1 Mobility of cs   cargo ship (#2) changed from 0 to -127
     Play#0 output Play#0 6 0 640
     Play#0 input edit s 3 M -128
     Play#0 command edit
+    Play#0 output Play#0 1 Mobility of cs   cargo ship (#3) changed from 0 to -127
     Play#0 output Play#0 6 0 640
     Play#0 input edit s 4 M 127
     Play#0 command edit
+    Play#0 output Play#0 1 Mobility of cs   cargo ship (#4) changed from 0 to 127
     Play#0 output Play#0 6 0 640
     Play#0 input edit s 5 M 128
     Play#0 command edit
+    Play#0 output Play#0 1 Mobility of cs   cargo ship (#5) changed from 0 to 127
     Play#0 output Play#0 6 0 640
     Play#0 input edit s 2 T 0
     Play#0 command edit
+    Play#0 output Play#0 1 Tech level of cs   cargo ship (#2) changed from 100 to 20
     Play#0 output Play#0 6 0 640
     Play#0 input edit s 3 T -1
     Play#0 command edit
+    Play#0 output Play#0 1 Tech level of cs   cargo ship (#3) changed from 100 to 20
     Play#0 output Play#0 6 0 640
     Play#0 input edit s 4 T 32767
     Play#0 command edit
+    Play#0 output Play#0 1 Tech level of cs   cargo ship (#4) changed from 100 to 32767
     Play#0 output Play#0 6 0 640
     Play#0 input edit s 5 T 32768
     Play#0 command edit
+    Play#0 output Play#0 1 Tech level of cs   cargo ship (#5) changed from 100 to 32767
     Play#0 output Play#0 6 0 640
     Play#0 input edit s 2 a 0
     Play#0 command edit
+    Play#0 output Play#0 1 Plague stage of cs   cargo ship (#2) unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit s 3 a -1
     Play#0 command edit
+    Play#0 output Play#0 1 Plague stage of cs   cargo ship (#3) unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit s 4 a 4
     Play#0 command edit
+    Play#0 output Play#0 1 Plague stage of cs   cargo ship (#4) changed from 0 to 4
     Play#0 output Play#0 6 0 640
     Play#0 input edit s 5 a 5
     Play#0 command edit
+    Play#0 output Play#0 1 Plague stage of cs   cargo ship (#5) changed from 0 to 4
     Play#0 output Play#0 6 0 640
     Play#0 input edit s 2 b 0
     Play#0 command edit
+    Play#0 output Play#0 1 Plague time of cs   cargo ship (#2) unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit s 3 b -1
     Play#0 command edit
+    Play#0 output Play#0 1 Plague time of cs   cargo ship (#3) unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit s 4 b 32767
     Play#0 command edit
+    Play#0 output Play#0 1 Plague time of cs   cargo ship (#4) changed from 0 to 32767
     Play#0 output Play#0 6 0 640
     Play#0 input edit s 5 b 32768
     Play#0 command edit
+    Play#0 output Play#0 1 Plague time of cs   cargo ship (#5) changed from 0 to 32767
     Play#0 output Play#0 6 0 640
     Play#0 input edit s 2 m 0
     Play#0 command edit
     Play#0 output Play#0 6 0 640
     Play#0 input edit p 2 e 0
     Play#0 command edit
+    Play#0 output Play#0 1 Efficiency of f1   Sopwith Camel #2 unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit p 3 e -1
     Play#0 command edit
+    Play#0 output Play#0 1 Efficiency of f1   Sopwith Camel #3 unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit p 4 e 100
     Play#0 command edit
+    Play#0 output Play#0 1 Efficiency of f1   Sopwith Camel #4 changed from 10 to 100
     Play#0 output Play#0 6 0 640
     Play#0 input edit p 5 e 101
     Play#0 command edit
+    Play#0 output Play#0 1 Efficiency of f1   Sopwith Camel #5 changed from 10 to 100
     Play#0 output Play#0 6 0 640
     Play#0 input edit p 2 m -127
     Play#0 command edit
+    Play#0 output Play#0 1 Mobility of f1   Sopwith Camel #2 changed from 0 to -127
     Play#0 output Play#0 6 0 640
     Play#0 input edit p 3 m -128
     Play#0 command edit
+    Play#0 output Play#0 1 Mobility of f1   Sopwith Camel #3 changed from 0 to -127
     Play#0 output Play#0 6 0 640
     Play#0 input edit p 4 m 127
     Play#0 command edit
+    Play#0 output Play#0 1 Mobility of f1   Sopwith Camel #4 changed from 0 to 127
     Play#0 output Play#0 6 0 640
     Play#0 input edit p 5 m 128
     Play#0 command edit
+    Play#0 output Play#0 1 Mobility of f1   Sopwith Camel #5 changed from 0 to 127
     Play#0 output Play#0 6 0 640
     Play#0 input edit p 2 r 0
     Play#0 command edit
+    Play#0 output Play#0 1 Range of f1   Sopwith Camel #2 changed from 9 to 0
     Play#0 output Play#0 6 0 640
     Play#0 input edit p 3 r -1
     Play#0 command edit
+    Play#0 output Play#0 1 Range of f1   Sopwith Camel #3 changed from 9 to 0
     Play#0 output Play#0 6 0 640
     Play#0 input edit p 4 r 9
     Play#0 command edit
+    Play#0 output Play#0 1 Range of f1   Sopwith Camel #4 unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit p 5 r 10
     Play#0 command edit
+    Play#0 output Play#0 1 Range of f1   Sopwith Camel #5 unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit p 2 t 50
     Play#0 command edit
+    Play#0 output Play#0 1 Tech level of f1   Sopwith Camel #2 changed from 100 to 50
     Play#0 output Play#0 6 0 640
     Play#0 input edit p 3 t 49
     Play#0 command edit
+    Play#0 output Play#0 1 Tech level of f1   Sopwith Camel #3 changed from 100 to 50
     Play#0 output Play#0 6 0 640
     Play#0 input edit p 4 t 32767
     Play#0 command edit
+    Play#0 output Play#0 1 Tech level of f1   Sopwith Camel #4 changed from 100 to 32767
     Play#0 output Play#0 6 0 640
     Play#0 input edit p 5 t 32768
     Play#0 command edit
+    Play#0 output Play#0 1 Tech level of f1   Sopwith Camel #5 changed from 100 to 32767
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 2 e 0
     Play#0 command edit
+    Play#0 output Play#0 1 Efficiency of sup  supply #2 unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 3 e -1
     Play#0 command edit
+    Play#0 output Play#0 1 Efficiency of sup  supply #3 unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 4 e 100
     Play#0 command edit
+    Play#0 output Play#0 1 Efficiency of sup  supply #4 changed from 10 to 100
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 5 e 101
     Play#0 command edit
+    Play#0 output Play#0 1 Efficiency of sup  supply #5 changed from 10 to 100
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 2 M -127
     Play#0 command edit
+    Play#0 output Play#0 1 Mobility of sup  supply #2 changed from 0 to -127
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 3 M -128
     Play#0 command edit
+    Play#0 output Play#0 1 Mobility of sup  supply #3 changed from 0 to -127
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 4 M 127
     Play#0 command edit
+    Play#0 output Play#0 1 Mobility of sup  supply #4 changed from 0 to 127
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 5 M 128
     Play#0 command edit
+    Play#0 output Play#0 1 Mobility of sup  supply #5 changed from 0 to 127
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 2 t 50
     Play#0 command edit
+    Play#0 output Play#0 1 Tech level of sup  supply #2 changed from 100 to 50
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 3 t 49
     Play#0 command edit
+    Play#0 output Play#0 1 Tech level of sup  supply #3 changed from 100 to 50
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 4 t 32767
     Play#0 command edit
+    Play#0 output Play#0 1 Tech level of sup  supply #4 changed from 100 to 32767
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 5 t 32768
     Play#0 command edit
+    Play#0 output Play#0 1 Tech level of sup  supply #5 changed from 100 to 32767
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 2 F 0
     Play#0 command edit
+    Play#0 output Play#0 1 Fortification of sup  supply #2 unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 3 F -1
     Play#0 command edit
+    Play#0 output Play#0 1 Fortification of sup  supply #3 unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 4 F 127
     Play#0 command edit
+    Play#0 output Play#0 1 Fortification of sup  supply #4 changed from 0 to 127
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 5 F 128
     Play#0 command edit
+    Play#0 output Play#0 1 Fortification of sup  supply #5 changed from 0 to 127
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 2 Z 0
     Play#0 command edit
+    Play#0 output Play#0 1 Retreat percentage of sup  supply #2 changed from 42 to 0
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 3 Z -1
     Play#0 command edit
+    Play#0 output Play#0 1 Retreat percentage of sup  supply #3 changed from 42 to 0
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 4 Z 100
     Play#0 command edit
+    Play#0 output Play#0 1 Retreat percentage of sup  supply #4 changed from 42 to 100
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 5 Z 101
     Play#0 command edit
+    Play#0 output Play#0 1 Retreat percentage of sup  supply #5 changed from 42 to 100
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 2 m 0
     Play#0 command edit
     Play#0 output Play#0 6 0 640
     Play#0 input edit s 2 F ~
     Play#0 command edit
+    Play#0 output Play#0 1 Assignment of cs   cargo ship (#2) unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit s 3 F a
     Play#0 command edit
+    Play#0 output Play#0 1 Assignment of cs   cargo ship (#3) changed from fleet ~ to a
     Play#0 output Play#0 6 0 640
     Play#0 input edit p 2 w ~
     Play#0 command edit
+    Play#0 output Play#0 1 Assignment of f1   Sopwith Camel #2 unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit p 3 w a
     Play#0 command edit
+    Play#0 output Play#0 1 Assignment of f1   Sopwith Camel #3 changed from wing ~ to a
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 2 a ~
     Play#0 command edit
+    Play#0 output Play#0 1 Assignment of sup  supply #2 unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 3 a a
     Play#0 command edit
+    Play#0 output Play#0 1 Assignment of sup  supply #3 changed from army ~ to a
     Play#0 output Play#0 6 0 640
     Play#0 input edit s 2 R ""
     Play#0 command edit
+    Play#0 output Play#0 1 Retreat path of cs   cargo ship (#2) unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit s 3 R jj
     Play#0 command edit
+    Play#0 output Play#0 1 Retreat path of cs   cargo ship (#3) changed from  to jj
     Play#0 output Play#0 6 0 640
     Play#0 input edit s 2 W 0 W 1
     Play#0 command edit
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 2 R ""
     Play#0 command edit
+    Play#0 output Play#0 1 Retreat path of sup  supply #2 unchanged
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 3 R jj
     Play#0 command edit
+    Play#0 output Play#0 1 Retreat path of sup  supply #3 changed from  to jj
     Play#0 output Play#0 6 0 640
     Play#0 input edit u 2 W 0 W 1
     Play#0 command edit
     Play#0 output Play#0 1   0   0   0    0   0   0    0    0    0    0    0    0   0
     Play#0 output Play#0 4 %c xxxxx -- thing value : 
     Play#0 input M 2
+    Play#0 output Play#0 1 Mobility of cs   cargo ship (#0) changed from 0 to 2
     Play#0 output Play#0 4 %c xxxxx -- thing value : 
     Play#0 input m 1
     Play#0 output Play#0 1 military of cs   cargo ship (#0) changed from 0 to 1
     Play#0 output Play#0 1   0   1   0    1   0   0    0    0    0    0    0    0   0
     Play#0 output Play#0 4 %c xxxxx -- thing value : 
     Play#0 input R n
+    Play#0 output Play#0 1 Retreat path of cs   cargo ship (#0) changed from  to n
     Play#0 output Play#0 4 %c xxxxx -- thing value : 
     Play#0 input R ""
+    Play#0 output Play#0 1 Retreat path of cs   cargo ship (#0) changed from n to 
     Play#0 output Play#0 4 %c xxxxx -- thing value : 
     Play#0 input 
     Play#0 output Play#0 1 POGO (#0) cs   cargo ship (#0)
     Play#0 output Play#0 1 Ship <s>: -1                Land Unit <y>: -1       
     Play#0 output Play#0 4 %c xxxxx -- thing value : 
     Play#0 input m 2
+    Play#0 output Play#0 1 Mobility of f1   Sopwith Camel #0 changed from 0 to 2
     Play#0 output Play#0 4 %c xxxxx -- thing value : 
     Play#0 input y -1
     Play#0 output Play#0 1 Land unit of f1   Sopwith Camel #0 unchanged
     Play#0 output Play#0 1   0   0   0    0   0   0    0    0    0    0    0    0   0
     Play#0 output Play#0 4 %c xxxxx -- thing value : 
     Play#0 input M 2
+    Play#0 output Play#0 1 Mobility of sup  supply #0 changed from 0 to 2
     Play#0 output Play#0 4 %c xxxxx -- thing value : 
     Play#0 input Y -1
     Play#0 output Play#0 1 Land unit of sup  supply #0 unchanged
     Play#0 output Play#0 1 Sector 11,7 given to you by an act of POGO!
     Play#0 output Play#0 1 Sector -2,2 swapped with 2,-2 by an act of POGO!
     Play#0 output Play#0 1 cs   cargo ship (#2) given to you by an act of POGO!
+    Play#0 output Play#0 1 Location of cs   cargo ship (#2) changed from 1,-1 to 3,-1 by an act of POGO!
     Play#0 output Play#0 1 f1   Sopwith Camel #2 given to you by an act of POGO!
+    Play#0 output Play#0 1 Location of f1   Sopwith Camel #2 changed from 1,-1 to 3,-1 by an act of POGO!
     Play#0 output Play#0 1 sup  supply #2 given to you by an act of POGO!
+    Play#0 output Play#0 1 Location of sup  supply #2 changed from 1,-1 to 3,-1 by an act of POGO!
+    Play#0 output Play#0 1 Mobility of cs   cargo ship (#2) changed from 0 to -127 by an act of POGO
+    Play#0 output Play#0 1 Tech level of cs   cargo ship (#2) changed from 100 to 20 by an act of POGO
+    Play#0 output Play#0 1 Mobility of f1   Sopwith Camel #2 changed from 0 to -127 by an act of POGO
+    Play#0 output Play#0 1 Range of f1   Sopwith Camel #2 changed from 9 to 0 by an act of POGO
+    Play#0 output Play#0 1 Tech level of f1   Sopwith Camel #2 changed from 100 to 50 by an act of POGO
+    Play#0 output Play#0 1 Mobility of sup  supply #2 changed from 0 to -127 by an act of POGO
+    Play#0 output Play#0 1 Tech level of sup  supply #2 changed from 100 to 50 by an act of POGO
+    Play#0 output Play#0 1 Retreat percentage of sup  supply #2 changed from 42 to 0 by an act of POGO
     Play#0 output Play#0 1 Retreat conditions of cs   cargo ship (#2) changed by an act of POGO: group set
     Play#0 output Play#0 1 Retreat condition of sup  supply #2 changed by an act of POGO: group set
     Play#0 output Play#0 1 Flags of f1   Sopwith Camel #2 changed by an act of POGO: airburst set
     Play#0 output Play#0 1 cs   cargo ship (#5) given to you by an act of POGO!
     Play#0 output Play#0 1 cs   cargo ship (#3) taken from you by an act of POGO!
     Play#0 output Play#0 1 cs   cargo ship (#3) given to you by an act of POGO!
+    Play#0 output Play#0 1 Location of cs   cargo ship (#3) changed from 1,-1 to 1,-1 by an act of POGO!
     Play#0 output Play#0 1 f1   Sopwith Camel #0 taken from you by an act of POGO!
     Play#0 output Play#0 1 f1   Sopwith Camel #1 taken from you by an act of POGO!
     Play#0 output Play#0 1 f1   Sopwith Camel #2 taken from you by an act of POGO!
     Play#0 output Play#0 1 f1   Sopwith Camel #5 given to you by an act of POGO!
     Play#0 output Play#0 1 f1   Sopwith Camel #3 taken from you by an act of POGO!
     Play#0 output Play#0 1 f1   Sopwith Camel #3 given to you by an act of POGO!
+    Play#0 output Play#0 1 Location of f1   Sopwith Camel #3 changed from 1,-1 to 1,-1 by an act of POGO!
     Play#0 output Play#0 1 sup  supply #0 taken from you by an act of POGO!
     Play#0 output Play#0 1 sup  supply #1 taken from you by an act of POGO!
     Play#0 output Play#0 1 sup  supply #2 taken from you by an act of POGO!
     Play#0 output Play#0 1 sup  supply #5 given to you by an act of POGO!
     Play#0 output Play#0 1 sup  supply #3 taken from you by an act of POGO!
     Play#0 output Play#0 1 sup  supply #3 given to you by an act of POGO!
+    Play#0 output Play#0 1 Location of sup  supply #3 changed from 1,-1 to 1,-1 by an act of POGO!
+    Play#0 output Play#0 1 Efficiency of cs   cargo ship (#4) changed from 20 to 100 by an act of POGO
+    Play#0 output Play#0 1 Efficiency of cs   cargo ship (#5) changed from 20 to 100 by an act of POGO
+    Play#0 output Play#0 1 Mobility of cs   cargo ship (#3) changed from 0 to -127 by an act of POGO
+    Play#0 output Play#0 1 Mobility of cs   cargo ship (#4) changed from 0 to 127 by an act of POGO
+    Play#0 output Play#0 1 Mobility of cs   cargo ship (#5) changed from 0 to 127 by an act of POGO
+    Play#0 output Play#0 1 Tech level of cs   cargo ship (#3) changed from 100 to 20 by an act of POGO
+    Play#0 output Play#0 1 Tech level of cs   cargo ship (#4) changed from 100 to 32767 by an act of POGO
+    Play#0 output Play#0 1 Tech level of cs   cargo ship (#5) changed from 100 to 32767 by an act of POGO
     Play#0 output Play#0 1 POGO gave you 50 military in cs   cargo ship (#4)
     Play#0 output Play#0 1 POGO gave you 50 military in cs   cargo ship (#5)
+    Play#0 output Play#0 1 Efficiency of f1   Sopwith Camel #4 changed from 10 to 100 by an act of POGO
+    Play#0 output Play#0 1 Efficiency of f1   Sopwith Camel #5 changed from 10 to 100 by an act of POGO
+    Play#0 output Play#0 1 Mobility of f1   Sopwith Camel #3 changed from 0 to -127 by an act of POGO
+    Play#0 output Play#0 1 Mobility of f1   Sopwith Camel #4 changed from 0 to 127 by an act of POGO
+    Play#0 output Play#0 1 Mobility of f1   Sopwith Camel #5 changed from 0 to 127 by an act of POGO
+    Play#0 output Play#0 1 Range of f1   Sopwith Camel #3 changed from 9 to 0 by an act of POGO
+    Play#0 output Play#0 1 Tech level of f1   Sopwith Camel #3 changed from 100 to 50 by an act of POGO
+    Play#0 output Play#0 1 Tech level of f1   Sopwith Camel #4 changed from 100 to 32767 by an act of POGO
+    Play#0 output Play#0 1 Tech level of f1   Sopwith Camel #5 changed from 100 to 32767 by an act of POGO
+    Play#0 output Play#0 1 Efficiency of sup  supply #4 changed from 10 to 100 by an act of POGO
+    Play#0 output Play#0 1 Efficiency of sup  supply #5 changed from 10 to 100 by an act of POGO
+    Play#0 output Play#0 1 Mobility of sup  supply #3 changed from 0 to -127 by an act of POGO
+    Play#0 output Play#0 1 Mobility of sup  supply #4 changed from 0 to 127 by an act of POGO
+    Play#0 output Play#0 1 Mobility of sup  supply #5 changed from 0 to 127 by an act of POGO
+    Play#0 output Play#0 1 Tech level of sup  supply #3 changed from 100 to 50 by an act of POGO
+    Play#0 output Play#0 1 Tech level of sup  supply #4 changed from 100 to 32767 by an act of POGO
+    Play#0 output Play#0 1 Tech level of sup  supply #5 changed from 100 to 32767 by an act of POGO
+    Play#0 output Play#0 1 Fortification of sup  supply #4 changed from 0 to 127 by an act of POGO
+    Play#0 output Play#0 1 Fortification of sup  supply #5 changed from 0 to 127 by an act of POGO
+    Play#0 output Play#0 1 Retreat percentage of sup  supply #3 changed from 42 to 0 by an act of POGO
+    Play#0 output Play#0 1 Retreat percentage of sup  supply #4 changed from 42 to 100 by an act of POGO
+    Play#0 output Play#0 1 Retreat percentage of sup  supply #5 changed from 42 to 100 by an act of POGO
     Play#0 output Play#0 1 POGO gave you 25 military in sup  supply #4
     Play#0 output Play#0 1 POGO gave you 25 military in sup  supply #5
+    Play#0 output Play#0 1 Assignment of cs   cargo ship (#3) changed from fleet ~ to a by an act of POGO
+    Play#0 output Play#0 1 Assignment of f1   Sopwith Camel #3 changed from wing ~ to a by an act of POGO
+    Play#0 output Play#0 1 Assignment of sup  supply #3 changed from army ~ to a by an act of POGO
+    Play#0 output Play#0 1 Retreat path of cs   cargo ship (#3) changed from  to jj by an act of POGO
     Play#0 output Play#0 1 Retreat conditions of cs   cargo ship (#3) changed by an act of POGO: group set
     Play#0 output Play#0 1 Retreat conditions of cs   cargo ship (#3) changed by an act of POGO: injured, torped set and group cleared
     Play#0 output Play#0 1 Retreat conditions of cs   cargo ship (#3) changed by an act of POGO: torped cleared
+    Play#0 output Play#0 1 Retreat path of sup  supply #3 changed from  to jj by an act of POGO
     Play#0 output Play#0 1 Retreat condition of sup  supply #3 changed by an act of POGO: group set
     Play#0 output Play#0 1 Retreat condition of sup  supply #3 changed by an act of POGO: injured, torped set and group cleared
     Play#0 output Play#0 1 Retreat condition of sup  supply #3 changed by an act of POGO: torped cleared