57 lines
1.7 KiB
JavaScript
57 lines
1.7 KiB
JavaScript
Hooks.on("renderActorSheet", (app, html, data) => {
|
|||
|
|
replaceSilverWithCredits(html);
|
||
|
|
});
|
||
|
|
|
||
|
|
Hooks.on("updateActor", (actor, data) => {
|
||
|
|
const sheets = actor.apps;
|
||
|
|
sheets.forEach((sheet) => {
|
||
|
|
if (sheet.element) {
|
||
|
|
replaceSilverWithCredits(sheet.element);
|
||
|
|
}
|
||
|
|
});
|
||
|
|
});
|
||
|
|
|
||
|
|
function replaceSilverWithCredits(html) {
|
||
|
|
// Update tooltip for silver currency
|
||
|
|
const silverContainers = html.find('[data-unit="sp"]');
|
||
|
|
silverContainers.each(function () {
|
||
|
|
$(this).attr("data-tooltip", "Credits");
|
||
|
|
$(this).find(".currency-image").attr("data-tooltip", "Credits");
|
||
|
|
});
|
||
|
|
|
||
|
|
updateTooltips();
|
||
|
|
}
|
||
|
|
|
||
|
|
function updateTooltips() {
|
||
|
|
const tooltipObserver = new MutationObserver(() => {
|
||
|
|
const allTooltips = document.querySelectorAll(".tooltip, [role='tooltip']");
|
||
|
|
allTooltips.forEach((tooltip) => {
|
||
|
|
if (tooltip.textContent.trim() === "Silver") {
|
||
|
|
tooltip.textContent = "Credits";
|
||
|
|
}
|
||
|
|
});
|
||
|
|
});
|
||
|
|
|
||
|
|
tooltipObserver.observe(document.body, {
|
||
|
|
childList: true,
|
||
|
|
subtree: true,
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
// Inject CSS rules with high specificity to override the PF2e system CSS
|
||
|
|
const styleSheet = document.createElement("style");
|
||
|
|
styleSheet.id = "sf2e-silver-to-credits-override";
|
||
|
|
styleSheet.textContent = `
|
||
|
|
/* Override silver currency background image globally */
|
||
|
|
[data-unit="sp"] .currency-image {
|
||
|
|
background-image: url('modules/sf2e-silver-to-credits/icons/equipment/treasure/currency/credits.webp') !important;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* Catch it in any context */
|
||
|
|
.currency-image[data-tooltip*="Silver"],
|
||
|
|
[style*="silver-pieces.webp"] {
|
||
|
|
background-image: url('modules/sf2e-silver-to-credits/icons/equipment/treasure/currency/credits.webp') !important;
|
||
|
|
}
|
||
|
|
`;
|
||
|
|
document.head.appendChild(styleSheet);
|