v12 fixes

- effect.icon to effect.img
- flags.core.sourceId to _stats.compendiumSource
- isLinkValid now use uuid
This commit is contained in:
Vlyan
2024-05-25 11:00:35 +02:00
parent 3b37859cb5
commit 47e040509f
5 changed files with 18 additions and 42 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+7 -31
View File
@@ -184,8 +184,8 @@ export class HelpersL5r5e {
// Final // Final
if (document) { if (document) {
// Flag the source GUID // Flag the source GUID
if (document.uuid && !document.pack && !document.getFlag("core", "sourceId")) { if (document.uuid && !document._stats?.compendiumSource) {
document.updateSource({ "flags.core.sourceId": document.uuid }); document.updateSource({ "_stats.compendiumSource": document.uuid });
} }
// Care to infinite loop in properties // Care to infinite loop in properties
@@ -614,8 +614,8 @@ export class HelpersL5r5e {
// Create the link // Create the link
let link = null; let link = null;
if (document.flags.core?.sourceId) { if (document._stats?.compendiumSource) {
link = document.flags.core?.sourceId.replace(/(\w+)\.(.+)/, "@$1[$2]"); link = document._stats.compendiumSource.replace(/(\w+)\.(.+)/, "@$1[$2]");
if (!HelpersL5r5e.isLinkValid(link)) { if (!HelpersL5r5e.isLinkValid(link)) {
link = null; link = null;
} }
@@ -644,34 +644,10 @@ export class HelpersL5r5e {
* @param {string} link * @param {string} link
* @return {boolean} * @return {boolean}
*/ */
static isLinkValid(link) { static async isLinkValid(link) {
const [type, target] = link.replace(/@(\w+)\[([^\]]+)\].*/, "$1|$2").split("|"); const [type, target] = link.replace(/@(\w+)\[([^\]]+)\].*/, "$1|$2").split("|");
const document = await fromUuid(`${type}.${target}`);
// Get a matched World document return !!document;
// "@Item[L5RCoreIte000042]{Amigasa}"
if (CONST.DOCUMENT_TYPES.includes(type)) {
const collection = game.collections.get(type);
const document = /^[a-zA-Z0-9]{16}$/.test(target) ? collection.get(target) : collection.getName(target);
return !!document;
}
// Get a matched Compendium entity
// "@Compendium[l5r5e.core-peculiarities-distinctions.L5RCoreDis000002]{Ambidextrie}"
if (type === "Compendium") {
// Get the linked Entity
const [scope, packName, id] = target.split(".");
const pack = game.packs.get(`${scope}.${packName}`);
if (!pack) {
return false;
}
// If the pack is indexed, check, if not assume it's ok
if (pack.index.size) {
const index = pack.index.find((i) => i._id === id || i.name === id);
return !!index;
}
}
return true;
} }
/** /**
@@ -1,7 +1,7 @@
<ul class="effects"> <ul class="effects">
{{#each actor.effects as |effect|}} {{#each actor.effects as |effect|}}
<li class="effect-container" title="{{name}}"> <li class="effect-container" title="{{name}}">
<div class="effect-icon" style="background-image: url({{effect.icon}})"></div> <div class="effect-icon" style="background-image: url({{effect.img}})"></div>
<div class="effect-name"><label>{{name}}</label></div> <div class="effect-name"><label>{{name}}</label></div>
</li> </li>
{{/each}} {{/each}}
+1 -1
View File
@@ -1,7 +1,7 @@
<ul class="effects"> <ul class="effects">
{{#each actor.effects as |effect|}} {{#each actor.effects as |effect|}}
<li class="effect-container" title="{{name}}"> <li class="effect-container" title="{{name}}">
<div class="effect-icon" style="background-image: url({{effect.icon}})"></div> <div class="effect-icon" style="background-image: url({{effect.img}})"></div>
<div class="effect-name"><label>{{name}}</label></div> <div class="effect-name"><label>{{name}}</label></div>
</li> </li>
{{/each}} {{/each}}