Add PF2e persistent damage condition tags
CI / check (push) Successful in 2m39s
CI / build-image (push) Successful in 19s

Persistent damage displayed as compact tags with damage type icon and
formula (e.g., Flame + "2d6"). Supports fire, bleed, acid, cold,
electricity, poison, and mental types. One instance per type, added via
sub-picker in the condition picker. PF2e only, persists across reload.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Lukas
2026-04-11 12:09:31 +02:00
co-authored by Claude Opus 4.6
parent 09a801487d
commit 4b1c1deda2
20 changed files with 1257 additions and 111 deletions
+16
View File
@@ -1,5 +1,6 @@
import type { ConditionId } from "./conditions.js";
import type { CreatureId } from "./creature-types.js";
import type { PersistentDamageType } from "./persistent-damage.js";
import type { PlayerCharacterId } from "./player-character-types.js";
import type { CombatantId } from "./types.js";
@@ -132,6 +133,19 @@ export interface ConcentrationEnded {
readonly combatantId: CombatantId;
}
export interface PersistentDamageAdded {
readonly type: "PersistentDamageAdded";
readonly combatantId: CombatantId;
readonly damageType: PersistentDamageType;
readonly formula: string;
}
export interface PersistentDamageRemoved {
readonly type: "PersistentDamageRemoved";
readonly combatantId: CombatantId;
readonly damageType: PersistentDamageType;
}
export interface CreatureAdjustmentSet {
readonly type: "CreatureAdjustmentSet";
readonly combatantId: CombatantId;
@@ -181,6 +195,8 @@ export type DomainEvent =
| ConditionRemoved
| ConcentrationStarted
| ConcentrationEnded
| PersistentDamageAdded
| PersistentDamageRemoved
| CreatureAdjustmentSet
| EncounterCleared
| PlayerCharacterCreated