Update compendium-browser.js

2.0
Matheus Clemente 2023-11-09 14:50:57 -03:00
parent 8a8748e98c
commit ca1f629151
1 changed files with 45 additions and 50 deletions

View File

@ -945,62 +945,57 @@ class CompendiumBrowser extends Application {
} }
decorateNpc(npc, indexFields) { decorateNpc(npc, indexFields) {
try { const decoratedNpc = indexFields.reduce((npcDict, item) => {
const decoratedNpc = indexFields.reduce((npcDict, item) => { set(npcDict, item, getPropByString(npc, item));
set(npcDict, item, getPropByString(npc, item)); return npcDict;
return npcDict; }, {});
}, {});
// 0.8.0: update for V10 to use actor.system instead of actor.data let npcData = npc.system;
let npcData = npc.system;
// cr display // cr display
let cr = npcData.details?.cr; // 0.7.2c: Possibly because of getIndex() use we now have to check for existence of details (doesn't for Character-type NPCs) let cr = npcData.details?.cr; // 0.7.2c: Possibly because of getIndex() use we now have to check for existence of details (doesn't for Character-type NPCs)
if (cr === undefined || cr === "") cr = 0; if (cr === undefined || cr === "") cr = 0;
else cr = Number(cr); else cr = Number(cr);
decoratedNpc.orderCR = cr; decoratedNpc.orderCR = cr;
if (cr > 0 && cr < 1) cr = `1/${1 / cr}`; if (cr > 0 && cr < 1) cr = `1/${1 / cr}`;
decoratedNpc.displayCR = cr; decoratedNpc.displayCR = cr;
decoratedNpc.displaySize = "unset"; decoratedNpc.displaySize = "unset";
decoratedNpc.filterSize = 2; decoratedNpc.filterSize = 2;
if (npcData.details) { if (npcData.details) {
decoratedNpc.displayType = this.getNPCType(npcData.details.type); decoratedNpc.displayType = this.getNPCType(npcData.details.type);
} else { } else {
decoratedNpc.displayType = game.i18n.localize("CMPBrowser.Unknown") ?? "Unknown"; decoratedNpc.displayType = game.i18n.localize("CMPBrowser.Unknown") ?? "Unknown";
}
if (CONFIG.DND5E.actorSizes[npcData.traits.size] !== undefined) {
decoratedNpc.displaySize = CONFIG.DND5E.actorSizes[npcData.traits.size];
}
let npcSize = npc.system.traits.size;
switch (npcSize) {
case "grg":
decoratedNpc.filterSize = 5;
break;
case "huge":
decoratedNpc.filterSize = 4;
break;
case "lg":
decoratedNpc.filterSize = 3;
break;
case "sm":
decoratedNpc.filterSize = 1;
break;
case "tiny":
decoratedNpc.filterSize = 0;
break;
case "med":
default:
decoratedNpc.filterSize = 2;
break;
}
return decoratedNpc;
} catch(e) {
throw e;
} }
if (CONFIG.DND5E.actorSizes[npcData.traits.size] !== undefined) {
decoratedNpc.displaySize = CONFIG.DND5E.actorSizes[npcData.traits.size];
}
let npcSize = npc.system.traits.size;
switch (npcSize) {
case "grg":
decoratedNpc.filterSize = 5;
break;
case "huge":
decoratedNpc.filterSize = 4;
break;
case "lg":
decoratedNpc.filterSize = 3;
break;
case "sm":
decoratedNpc.filterSize = 1;
break;
case "tiny":
decoratedNpc.filterSize = 0;
break;
case "med":
default:
decoratedNpc.filterSize = 2;
break;
}
return decoratedNpc;
} }
getNPCType(type) { getNPCType(type) {