diff --git a/system/scripts/items/item-sheet.js b/system/scripts/items/item-sheet.js index e565bb8..d8471d9 100644 --- a/system/scripts/items/item-sheet.js +++ b/system/scripts/items/item-sheet.js @@ -22,8 +22,9 @@ export class ItemSheetL5r5e extends ItemSheet { sheetData.data.techniquesList = game.l5r5e.HelpersL5r5e.getTechniquesList(); // Prepare Properties (id => object) - if (sheetData.data.properties) { - sheetData.data.propertiesList = sheetData.data.properties.map((e) => game.items.get(e)); + sheetData.data.propertiesList = []; + if (Array.isArray(sheetData.data.properties)) { + sheetData.data.propertiesList = sheetData.data.properties.map((e) => game.items.get(e.id)); } return sheetData; @@ -89,23 +90,23 @@ export class ItemSheetL5r5e extends ItemSheet { } // Ok add item - this._addProperty(item.id); + this._addProperty(item); } /** * Add a property to the current item * @private */ - _addProperty(id) { + _addProperty(item) { let props = this.entity.data.data.properties || []; if (!Array.isArray(props)) { props = []; } - if (props.includes(id)) { + if (props.findIndex((p) => p.id === item.id) !== -1) { return; } - props.push(id); + props.push({ id: item.id, name: item.name }); this.entity.update({ data: { @@ -120,12 +121,12 @@ export class ItemSheetL5r5e extends ItemSheet { */ _deleteProperty(id) { let props = this.entity.data.data.properties || []; - if (!Array.isArray(props) || !props.includes(id)) { + if (!Array.isArray(props) || props.findIndex((p) => p.id === id) === -1) { return; } this.entity.update({ data: { - properties: props.filter((e) => e !== id), + properties: props.filter((p) => p.id !== id), }, }); } diff --git a/system/templates/items/armor/armor-entry.html b/system/templates/items/armor/armor-entry.html index 0ad35ed..67438a3 100644 --- a/system/templates/items/armor/armor-entry.html +++ b/system/templates/items/armor/armor-entry.html @@ -8,5 +8,10 @@
  • -
    {{{ item.data.properties }}}
    +
    + {{#each item.data.properties as |property id|}} + {{{ property.name }}} + {{/each}} +
    +
    {{{ item.data.description }}}
    \ No newline at end of file diff --git a/system/templates/items/armor/armor-sheet.html b/system/templates/items/armor/armor-sheet.html index 4258fa9..5099b4b 100644 --- a/system/templates/items/armor/armor-sheet.html +++ b/system/templates/items/armor/armor-sheet.html @@ -56,7 +56,7 @@
    {{ localize 'l5r5e.properties' }} - + {{> 'systems/l5r5e/templates/items/property/properties.html' properties=data.propertiesList }}
    diff --git a/system/templates/items/item/item-entry.html b/system/templates/items/item/item-entry.html index bf5c588..4a3e7bf 100644 --- a/system/templates/items/item/item-entry.html +++ b/system/templates/items/item/item-entry.html @@ -5,6 +5,10 @@
  • +
    + {{#each item.data.properties as |property id|}} + {{{ property.name }}} + {{/each}} +
    {{{ item.data.description }}}
    -
    {{{ item.data.properties }}}
    \ No newline at end of file diff --git a/system/templates/items/item/item-sheet.html b/system/templates/items/item/item-sheet.html index 3a5f90e..f572578 100644 --- a/system/templates/items/item/item-sheet.html +++ b/system/templates/items/item/item-sheet.html @@ -33,28 +33,18 @@ {{!-- Sheet Tab Navigation --}} {{!-- Description Tab --}}
    {{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
    - {{!-- Attributes Tab --}} -
    - -
      -
      - {{ localize 'l5r5e.properties' }} - -
      - -
    + {{!-- properties Tab --}} +
    +
    + {{ localize 'l5r5e.properties' }} + {{> 'systems/l5r5e/templates/items/property/properties.html' properties=data.propertiesList }} +
    diff --git a/system/templates/items/weapon/weapon-entry.html b/system/templates/items/weapon/weapon-entry.html index 765eed3..3f2b67a 100644 --- a/system/templates/items/weapon/weapon-entry.html +++ b/system/templates/items/weapon/weapon-entry.html @@ -7,5 +7,10 @@
  • -
    {{{ item.data.properties }}}
    +
    + {{#each item.data.properties as |property id|}} + {{{ property.name }}} + {{/each}} +
    +
    {{{ item.data.description }}}
    \ No newline at end of file