Initial commit: Theriapolis baseline at port/godot branch point
Captures the pre-Godot-port state of the codebase. This is the rollback anchor for the Godot port (M0 of theriapolis-rpg-implementation-plan-godot-port.md). All Phase 0 through Phase 6.5 work is included; Phase 7 is in flight. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
namespace Theriapolis.Core.Persistence;
|
||||
|
||||
/// <summary>
|
||||
/// Phase 6 M4 — serializable quest engine state. Holds active + completed
|
||||
/// quests + the player journal tail. Round-trips via SaveCodec
|
||||
/// <c>TAG_QUESTS = 111</c>.
|
||||
/// </summary>
|
||||
public sealed class QuestSnapshot
|
||||
{
|
||||
public List<QuestStateSnapshot> Active { get; set; } = new();
|
||||
public List<QuestStateSnapshot> Completed { get; set; } = new();
|
||||
|
||||
/// <summary>Most recent journal entries written by the engine.</summary>
|
||||
public List<string> Journal { get; set; } = new();
|
||||
}
|
||||
|
||||
public sealed class QuestStateSnapshot
|
||||
{
|
||||
public string QuestId { get; set; } = "";
|
||||
public string CurrentStep { get; set; } = "";
|
||||
public byte Status { get; set; } // QuestStatus byte value
|
||||
public long StartedAt { get; set; }
|
||||
public long StepStartedAt { get; set; }
|
||||
public string[] JournalLines { get; set; } = System.Array.Empty<string>();
|
||||
}
|
||||
Reference in New Issue
Block a user