Compare commits

..

1 commit
1.2.1 ... main

Author SHA1 Message Date
3b2ff4b436
added support for multiple experiences 2026-01-25 17:46:04 +01:00
2 changed files with 26 additions and 11 deletions

View file

@ -1,7 +1,7 @@
{
"id": "dh-importer",
"title": "Daggerheart Statblock Importer",
"version": "1.2.1",
"version": "1.2.2",
"compatibility": {
"minimum": "13",
"verified": "13"
@ -34,5 +34,5 @@
"description": "Imports Adversaries and Environments from text blocks into the Daggerheart system.",
"url": "https://github.com/cptn-cosmo/dh-importer",
"manifest": "https://git.geeks.gay/cosmo/dh-importer/raw/branch/main/module.json",
"download": "https://git.geeks.gay/cosmo/dh-importer/releases/download/1.2.1/dh-importer.zip"
"download": "https://git.geeks.gay/cosmo/dh-importer/releases/download/1.2.2/dh-importer.zip"
}

View file

@ -279,16 +279,31 @@ export class DHImporter {
}
static _parseExperienceLine(line, data) {
// "Ambusher +3"
const match = line.match(/(.+?)\s+([+-]?\d+)$/);
if (match) {
const currentCount = Object.keys(data.system.experiences).length;
const key = "exp" + currentCount;
data.system.experiences[key] = {
name: match[1].trim(),
value: parseInt(match[2])
};
// Handle "Experience: Manipulate +2, Infiltrate +2" or "Knowledge (Arcana, History) +2"
const parts = line.split(",");
let buffer = "";
for (let part of parts) {
buffer = buffer ? buffer + "," + part : part;
// Check if buffer matches "Name +Value"
// We trim to handle spaces around commas
const trimmed = buffer.trim();
// Regex to match "Name +Value" at the end of the string
const match = trimmed.match(/(.+?)\s+([+-]?\d+)$/);
if (match) {
const currentCount = Object.keys(data.system.experiences).length;
const key = "exp" + currentCount;
data.system.experiences[key] = {
name: match[1].trim(),
value: parseInt(match[2])
};
// Reset buffer as we found a complete experience
buffer = "";
}
}
// If buffer remains (e.g. "Some Trait" without number), it is ignored, consistent with previous behavior.
}
/**