handle marker as feature
Sonarqube Scanner / Build and analyze (push) Successful in 50s

This commit is contained in:
ChatGPT
2026-06-05 00:37:37 +02:00
parent eb43af49b2
commit 95e8b7b994
6 changed files with 171 additions and 128 deletions
+23 -23
View File
@@ -7,35 +7,35 @@ export async function executeApplyStatusAction(action, context) {
const statuses = action.statuses ?? [];
if (!statuses.length) return { success: false, consumed: false, reason: "NO_STATUSES" };
const effects = statuses.map(statusId => {
const statusConfig = getStatusEffectConfig(statusId);
return {
name: statusConfig?.name ? game.i18n.localize(statusConfig.name) : statusId,
icon: statusConfig?.img ?? statusConfig?.icon ?? "icons/svg/aura.svg",
statuses: [statusId],
origin: context.reactionOrigin,
duration: buildEffectDuration(action.duration),
changes: [],
flags: {
[MODULE_ID]: {
managed: true,
reactionId: context.reaction.id,
actionId: action.id
}
}
};
});
const effects = statuses.map(statusId => buildStatusEffectData(statusId, action, context));
await actor.createEmbeddedDocuments("ActiveEffect", effects);
return { success: true, consumed: true };
}
function buildStatusEffectData(statusId, action, context) {
const statusConfig = getStatusEffectConfig(statusId);
return {
name: statusConfig?.name ? game.i18n.localize(statusConfig.name) : statusId,
icon: statusConfig?.img ?? "icons/svg/aura.svg",
statuses: [statusId],
origin: context.reactionOrigin,
duration: buildEffectDuration(action.duration),
changes: [],
flags: {
[MODULE_ID]: {
managed: true,
reactionId: context.reaction.id,
actionId: action.id
}
}
};
}
function getStatusEffectConfig(statusId) {
const statusEffects = CONFIG.statusEffects ?? [];
if (Array.isArray(statusEffects)) return statusEffects.find(status => status.id === statusId);
if (statusEffects instanceof Map) return statusEffects.get(statusId) ?? null;
return Object.values(statusEffects).find(status => status.id === statusId) ?? null;
if (statusEffects instanceof Map) return statusEffects.get(statusId);
return statusEffects.find(status => status.id === statusId);
}
function buildEffectDuration(duration) {