Implement the 021-bestiary-statblock feature that adds a searchable D&D 2024 Monster Manual creature library with inline autocomplete suggestions, full stat block display in a fixed side panel, auto-numbering of duplicate creature names, HP/AC pre-fill from bestiary data, and automatic stat block display on turn change for wide viewports
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -2,6 +2,7 @@ import {
|
||||
type ConditionId,
|
||||
combatantId,
|
||||
createEncounter,
|
||||
creatureId,
|
||||
type Encounter,
|
||||
isDomainError,
|
||||
VALID_CONDITION_IDS,
|
||||
@@ -75,6 +76,13 @@ export function loadEncounter(): Encounter | null {
|
||||
// Validate isConcentrating field
|
||||
const isConcentrating = entry.isConcentrating === true ? true : undefined;
|
||||
|
||||
// Validate creatureId field
|
||||
const rawCreatureId = entry.creatureId;
|
||||
const validCreatureId =
|
||||
typeof rawCreatureId === "string" && rawCreatureId.length > 0
|
||||
? creatureId(rawCreatureId)
|
||||
: undefined;
|
||||
|
||||
// Validate and attach HP fields if valid
|
||||
const maxHp = entry.maxHp;
|
||||
const currentHp = entry.currentHp;
|
||||
@@ -89,12 +97,19 @@ export function loadEncounter(): Encounter | null {
|
||||
ac: validAc,
|
||||
conditions,
|
||||
isConcentrating,
|
||||
creatureId: validCreatureId,
|
||||
maxHp,
|
||||
currentHp: validCurrentHp ? currentHp : maxHp,
|
||||
};
|
||||
}
|
||||
|
||||
return { ...base, ac: validAc, conditions, isConcentrating };
|
||||
return {
|
||||
...base,
|
||||
ac: validAc,
|
||||
conditions,
|
||||
isConcentrating,
|
||||
creatureId: validCreatureId,
|
||||
};
|
||||
});
|
||||
|
||||
const result = createEncounter(
|
||||
|
||||
Reference in New Issue
Block a user