Strip all angle brackets in PF2e attack traits and damage
Broaden stripDiceBrackets to stripAngleBrackets to handle all PF2e tools angle-bracket formatting (e.g. <10 feet>, <15 feet>), not just dice notation. Also strip in damage text. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -79,8 +79,8 @@ function capitalize(s: string): string {
|
||||
return s.charAt(0).toUpperCase() + s.slice(1);
|
||||
}
|
||||
|
||||
function stripDiceBrackets(s: string): string {
|
||||
return s.replaceAll(/<(\d*d\d+)>/g, "$1");
|
||||
function stripAngleBrackets(s: string): string {
|
||||
return s.replaceAll(/<([^>]+)>/g, "$1");
|
||||
}
|
||||
|
||||
function makeCreatureId(source: string, name: string): CreatureId {
|
||||
@@ -263,9 +263,11 @@ function normalizeAttacks(
|
||||
const attackMod = a.attack == null ? "" : ` +${a.attack}`;
|
||||
const traits =
|
||||
a.traits && a.traits.length > 0
|
||||
? ` (${a.traits.map((t) => stripDiceBrackets(stripTags(t))).join(", ")})`
|
||||
? ` (${a.traits.map((t) => stripAngleBrackets(stripTags(t))).join(", ")})`
|
||||
: "";
|
||||
const damage = a.damage ? `, ${stripTags(a.damage)}` : "";
|
||||
const damage = a.damage
|
||||
? `, ${stripAngleBrackets(stripTags(a.damage))}`
|
||||
: "";
|
||||
return {
|
||||
name: capitalize(stripTags(a.name)),
|
||||
segments: [
|
||||
|
||||
Reference in New Issue
Block a user