forked from public/foundryvtt-reve-de-dragon
Correction ouverture feuille de conteneur
This commit is contained in:
@ -19,10 +19,11 @@ import { RdDEmpoignade } from "./rdd-empoignade.js";
|
||||
import { ExperienceLog } from "./actor/experience-log.js";
|
||||
import { RdDCoeur } from "./coeur/rdd-coeur.js";
|
||||
import { APP_ASTROLOGIE_REFRESH } from "./sommeil/app-astrologie.js";
|
||||
import { RDD_CONFIG } from "./constants.js";
|
||||
import { ITEM_TYPES, RDD_CONFIG } from "./constants.js";
|
||||
import { RdDBaseActor } from "./actor/base-actor.js";
|
||||
import { RdDCarac } from "./rdd-carac.js";
|
||||
import { RdDTextEditor } from "./apps/rdd-text-roll-editor.js";
|
||||
import { Monnaie } from "./item-monnaie.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
// This table starts at 0 -> niveau -10
|
||||
@ -264,7 +265,7 @@ export class RdDUtility {
|
||||
'systems/foundryvtt-reve-de-dragon/templates/chat-fabriquer-potion-base.html',
|
||||
'systems/foundryvtt-reve-de-dragon/templates/chat-signe-draconique-actor.html'
|
||||
];
|
||||
|
||||
|
||||
// foundry et options
|
||||
Handlebars.registerHelper('RDD_CONFIG', path => RDD_CONFIG[path])
|
||||
Handlebars.registerHelper('linkCompendium', (pack, id, name) => RdDUtility.linkCompendium(pack, id, name));
|
||||
@ -279,7 +280,7 @@ export class RdDUtility {
|
||||
const html = options.fn(this);
|
||||
return html.replace(rgx, "$& selected");
|
||||
})
|
||||
|
||||
|
||||
// logic
|
||||
Handlebars.registerHelper('either', (a, b) => a ?? b);
|
||||
// string manipulation
|
||||
@ -295,9 +296,9 @@ export class RdDUtility {
|
||||
|
||||
// math
|
||||
Handlebars.registerHelper('min', (...args) => Math.min(...args.slice(0, -1)));
|
||||
Handlebars.registerHelper('repeat', function(n, block) {
|
||||
Handlebars.registerHelper('repeat', function (n, block) {
|
||||
let accum = '';
|
||||
for(let i = 0; i < n; ++i){
|
||||
for (let i = 0; i < n; ++i) {
|
||||
accum += block.fn(i)
|
||||
}
|
||||
return accum
|
||||
@ -465,13 +466,37 @@ export class RdDUtility {
|
||||
return ligneObjet;
|
||||
}
|
||||
|
||||
static filterItemsPerTypeForSheet(formData, itemTypes) {
|
||||
Object.values(ITEM_TYPES).forEach(t => {
|
||||
formData[t + 's'] = Misc.arrayOrEmpty(itemTypes[t])
|
||||
})
|
||||
|
||||
formData.maladiesPoisons = formData.maladies.concat(formData.poisons)
|
||||
formData.competences = formData.competences.concat(formData.competencecreatures)
|
||||
formData.monnaies = formData.monnaies.sort(Monnaie.triValeurEntiere())
|
||||
|
||||
formData.inventaires = RdDUtility.prepareInventaire(itemTypes)
|
||||
}
|
||||
|
||||
static buildInventaireConteneur(actorId, itemId, options) {
|
||||
const actor = game.actors.get(actorId)
|
||||
const item = actor?.items.get(itemId)
|
||||
if (item) {
|
||||
return RdDUtility.buildContenuConteneur(item, options, { ouvert: true, profondeur: 1 });
|
||||
if (item?.type == ITEM_TYPES.conteneur) {
|
||||
const formData = {}
|
||||
RdDUtility.filterItemsPerTypeForSheet(formData, actor.itemTypes);
|
||||
RdDUtility.buildArbreDeConteneurs(formData.conteneurs, formData.inventaires);
|
||||
item.subItems = formData.conteneurs.find(it => it._id == itemId)?.subItems;
|
||||
|
||||
return RdDUtility.buildContenuConteneur(item, options, { ouvert: true, profondeur: 1 })
|
||||
}
|
||||
return '';
|
||||
return ''
|
||||
}
|
||||
|
||||
static prepareInventaire(itemTypes) {
|
||||
return RdDItem.getItemTypesInventaire('all')
|
||||
.map(t => Misc.arrayOrEmpty(itemTypes[t]))
|
||||
.reduce((a, b) => a.concat(b), [])
|
||||
.sort(Misc.ascending(it => it.name))
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
Reference in New Issue
Block a user