You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add roleplay, relationships, adventure log, and cross-adventure carry-over
Persistent campaign characters: ideals/bonds/flaws/appearance (captured in
the creator, fed to the DM for portrayal); relationships and an adventure
log carried on the canonical character. New DM tools — grant_item,
adjust_gold, award_xp (with SRD level-up that recomputes HP/prof/slots),
and record_relationship — write back to the stored character so gains
persist across adventures (the engine tool layer now takes the store).
Postgres gains an `extra` JSONB column for xp/adventureLog; roleplay and
relationships ride in the sheet JSONB. ensureCharacterFields backfills the
new fields. Sheet UI shows XP, roleplay, relationships, and the log.
1 carry-over test (34 server, 80 engine).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- start_combat when a fight begins (name the enemies + count + difficulty).
390
477
- player_attack when the player attacks a target on their turn — the engine also resolves the enemies' turns and tells you what happened.
391
478
- end_combat when the fight is over or the party flees.
479
+
- grant_item / adjust_gold when the player finds loot, is rewarded, or spends; award_xp for overcoming challenges; record_relationship when they meet or change standing with an NPC/faction. These persist on the character across adventures — use the PC's roleplay cues and relationships (in CURRENT STATE) to make the story personal.
392
480
393
481
After calling tools, write the narration the player will read. If no mechanics are needed, just narrate. NEVER write a tool name or its JSON arguments in your narration text — either call the tool or speak as the DM, never both.`;
394
482
@@ -432,6 +520,21 @@ function describePlayerSheet(c: Creature): string {
0 commit comments