Compare commits

..

No commits in common. "main" and "1.2.1" have entirely different histories.
main ... 1.2.1

2 changed files with 11 additions and 26 deletions

View file

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

View file

@ -279,31 +279,16 @@ export class DHImporter {
} }
static _parseExperienceLine(line, data) { static _parseExperienceLine(line, data) {
// Handle "Experience: Manipulate +2, Infiltrate +2" or "Knowledge (Arcana, History) +2" // "Ambusher +3"
const parts = line.split(","); const match = line.match(/(.+?)\s+([+-]?\d+)$/);
let buffer = ""; if (match) {
const currentCount = Object.keys(data.system.experiences).length;
for (let part of parts) { const key = "exp" + currentCount;
buffer = buffer ? buffer + "," + part : part; data.system.experiences[key] = {
name: match[1].trim(),
// Check if buffer matches "Name +Value" value: parseInt(match[2])
// 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.
} }
/** /**