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
+7
View File
@@ -1149,6 +1149,8 @@ uchangealign(int newalign,
g.context.botl = TRUE; /* status line needs updating */
if (reason == 0) {
/* conversion via altar */
livelog_printf(LL_ALIGNMENT, "permanently converted to %s",
aligns[1 - newalign].adj);
u.ualignbase[A_CURRENT] = (aligntyp) newalign;
/* worn helm of opposite alignment might block change */
if (!uarmh || uarmh->otyp != HELM_OF_OPPOSITE_ALIGNMENT)
@@ -1157,6 +1159,11 @@ uchangealign(int newalign,
(u.ualign.type != oldalign) ? "sudden " : "");
} else {
/* putting on or taking off a helm of opposite alignment */
if (reason == 1) {
/* don't livelog taking it back off */
livelog_printf(LL_ALIGNMENT, "used a helm to turn %s",
aligns[1 - newalign].adj);
}
u.ualign.type = (aligntyp) newalign;
if (reason == 1)
Your("mind oscillates %s.", Hallucination ? "wildly" : "briefly");