diff --git a/module.json b/module.json index 9caf802..c9d7f99 100644 --- a/module.json +++ b/module.json @@ -1,7 +1,7 @@ { "id": "dh-importer", "title": "Daggerheart Statblock Importer", - "version": "1.2.2", + "version": "1.2.1", "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.2/dh-importer.zip" + "download": "https://git.geeks.gay/cosmo/dh-importer/releases/download/1.2.1/dh-importer.zip" } \ No newline at end of file diff --git a/scripts/importer.js b/scripts/importer.js index 58b97b6..a8ccaf9 100644 --- a/scripts/importer.js +++ b/scripts/importer.js @@ -279,31 +279,16 @@ export class DHImporter { } static _parseExperienceLine(line, data) { - // 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 = ""; - } + // "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]) + }; } - // If buffer remains (e.g. "Some Trait" without number), it is ignored, consistent with previous behavior. } /**