Files
DeltaGreen2/module/other/inline.js
T
tevansandClaude Fable 5 b8eb917714 Rebrand as Delta Green 2 (id: deltagreen2, v2.0.0)
Rename system id, template/asset paths, settings namespace, and pack
references; repack compendia with corrected asset paths; point manifest
at slaguru666/DeltaGreen2. game.deltagreen API namespace kept for macro
compatibility.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-15 17:24:42 +01:00

37 lines
1.1 KiB
JavaScript

/* eslint-disable import/prefer-default-export */
export async function handleInlineActions(btnWithAction, messageId) {
const action = btnWithAction.dataset?.action;
const message = game.messages.get(messageId);
const actor = message?.speakerActor;
if (!actor) return;
if (action === "rollback-skill-failure-state") {
const rollbackFlag = message.getFlag("deltagreen2", "rollbacks");
await actor.update(foundry.utils.deepClone(rollbackFlag));
// eslint-disable-next-line no-use-before-define
toggleAllSkillFailures(rollbackFlag);
const label = btnWithAction
.closest(".rollback-section")
?.querySelector("label");
const oldHtml = label.outerHTML;
label.classList.toggle("strike");
message.update({
[`flags.deltagreen2.rollbacks`]: rollbackFlag,
content: message.content.replace(oldHtml, label.outerHTML),
});
}
}
function toggleAllSkillFailures(data) {
for (const skill of Object.values(data.system?.skills || {})) {
skill.failure = !skill.failure;
}
for (const skill of Object.values(data.system?.typedSkills || {})) {
skill.failure = !skill.failure;
}
}