Files
TheriapolisV3/Theriapolis.Core/Rules/Combat/CombatLogEntry.cs
T
Christopher Wiebe b451f83174 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>
2026-04-30 20:40:51 -07:00

30 lines
952 B
C#

namespace Theriapolis.Core.Rules.Combat;
/// <summary>
/// One human-readable line in the encounter log. Combat-resolver actions
/// (attacks, saves, conditions, deaths) each emit one of these so test
/// scenarios can assert on the log content as a whole.
/// </summary>
public sealed record CombatLogEntry
{
public enum Kind : byte
{
Note = 0, // generic flavour line ("Round 1 begins.")
Attack = 1,
Save = 2,
Damage = 3, // direct damage that wasn't an attack roll
ConditionApplied = 4,
ConditionEnded = 5,
Death = 6,
Initiative = 7,
TurnStart = 8,
Move = 9,
EncounterEnd = 10,
}
public required int Round { get; init; }
public required int Turn { get; init; }
public required Kind Type { get; init; }
public required string Message { get; init; }
}