also assign effects to unlinked Tokens and fix calculation
Sonarqube Scanner / Build and analyze (push) Successful in 48s

This commit is contained in:
ChatGPT
2026-06-05 00:13:33 +02:00
parent dd1b08ee21
commit eb43af49b2
5 changed files with 111 additions and 29 deletions
+13 -1
View File
@@ -13,9 +13,21 @@ export async function checkDamageCondition(config, context) {
if (!configuredTypes.length) return true;
const eventTypes = new Set(context.damageTypes ?? []);
if (!eventTypes.size) return false;
if (!eventTypes.size) return configuredTypesCoverAllKnownTypes(configuredTypes);
if (config.typeMode === "all") return configuredTypes.every(type => eventTypes.has(type));
if (config.typeMode === "none") return configuredTypes.every(type => !eventTypes.has(type));
return configuredTypes.some(type => eventTypes.has(type));
}
function configuredTypesCoverAllKnownTypes(configuredTypes) {
const knownTypes = getKnownDamageTypes();
if (!knownTypes.size) return false;
return Array.from(knownTypes).every(type => configuredTypes.includes(type));
}
function getKnownDamageTypes() {
const damageTypes = CONFIG.DND5E?.damageTypes ?? {};
if (damageTypes instanceof Map) return new Set(damageTypes.keys());
return new Set(Object.keys(damageTypes));
}