Chronicle of major events, and livelog

Log game events, such as entering a new dungeon level, breaking
a conduct, or killing a unique monster, in a new "Major events"
chronicle. The entries record the turn when the event happened.
The log can be viewed with #chronicle -command, and the entries
also show up in the end-of-game dump, if that is available.

This feature is on by default, but can be disabled by
defining NO_CHRONICLE compile-time option.

This also contains "live logging", writing the events as they
happen into a single livelog-file. This is mostly useful for
public servers. The livelog is off by default, and must be
compiled in with LIVELOG, and then turned on in sysconf.

Mostly this a version of livelogging from the Hardfought server,
with some changes.
This commit is contained in:
Pasi Kallinen
2022-02-09 22:49:25 +02:00
parent cfcfc3429f
commit 1e90f89203
43 changed files with 624 additions and 53 deletions
+5
View File
@@ -793,6 +793,8 @@ dump_everything(int how,
dump_plines();
putstr(0, 0, "");
(void) do_gamelog();
putstr(0, 0, "");
putstr(0, 0, "Inventory:");
(void) display_inventory((char *) 0, TRUE);
container_contents(g.invent, TRUE, TRUE, FALSE);
@@ -1215,6 +1217,9 @@ done(int how)
if (how == GENOCIDED) {
pline("Unfortunately you are still genocided...");
} else {
char killbuf[BUFSZ];
formatkiller(killbuf, BUFSZ, how, FALSE);
livelog_printf(LL_LIFESAVE, "averted death (%s)", killbuf);
survive = TRUE;
}
}