diff --git a/src/module/actor/actor-sheet.js b/src/module/actor/actor-sheet.js index 75ec551..5921178 100644 --- a/src/module/actor/actor-sheet.js +++ b/src/module/actor/actor-sheet.js @@ -82,7 +82,7 @@ export class OseActorSheet extends ActorSheet { let summary = li.parents(".item-entry").children(".item-summary"); summary.slideUp(200, () => summary.remove()); } else { - let div = $(`
${description}
`); + let div = $(`
    ${item.getTags()}
${description}
`); li.parents(".item-entry").append(div.hide()); div.slideDown(200); } diff --git a/src/module/actor/character-sheet.js b/src/module/actor/character-sheet.js index 4d40fcb..bc69e95 100644 --- a/src/module/actor/character-sheet.js +++ b/src/module/actor/character-sheet.js @@ -190,9 +190,7 @@ export class OseActorSheetCharacter extends OseActorSheet { } let newData = {}; newData[table] = update; - return this.actor.update({ data: newData }).then(() => { - this.render(true); - }); + return this.actor.update({ data: newData }); }); } @@ -201,9 +199,7 @@ export class OseActorSheetCharacter extends OseActorSheet { let update = data[table].value.filter((el) => el != lang); let newData = {}; newData[table] = { value: update }; - return this.actor.update({ data: newData }).then(() => { - this.render(true); - }); + return this.actor.update({ data: newData }); } /* -------------------------------------------- */ diff --git a/src/module/item/entity.js b/src/module/item/entity.js index 5aa7994..624a78c 100644 --- a/src/module/item/entity.js +++ b/src/module/item/entity.js @@ -126,17 +126,41 @@ export class OseItem extends Item { data: data, skipDialog: true, speaker: ChatMessage.getSpeaker({ actor: this }), - flavor: game.i18n.format("OSE.roll.formula", {label: label}), - title: game.i18n.format("OSE.roll.formula", {label: label}), + flavor: game.i18n.format("OSE.roll.formula", { label: label }), + title: game.i18n.format("OSE.roll.formula", { label: label }), }); } spendSpell() { - this.update({data: { - cast: this.data.data.cast - 1 - }}).then(() => { - this.roll({skipDialog: true}) - }) + this.update({ + data: { + cast: this.data.data.cast - 1, + }, + }).then(() => { + this.roll({ skipDialog: true }); + }); + } + + getTags() { + let formatTag = (tag) => { + if (!tag) return ""; + return `
  • ${tag}
  • ` + } + + const data = this.data.data; + switch (this.data.type) { + case "weapon": + return `${formatTag(data.damage)}`; + case "armor": + return `${formatTag(CONFIG.OSE.armor[data.type])}`; + case "item": + return ""; + case "spell": + return `${formatTag(data.class)}${formatTag(data.range)}${formatTag(data.duration)}${formatTag(CONFIG.OSE.saves_long[data.save])}${formatTag(data.roll)}`; + case "ability": + return `${formatTag(data.requirements)}${formatTag(data.roll)}`; + } + return "TEST"; } /** diff --git a/src/scss/actor-base.scss b/src/scss/actor-base.scss index b5e6fce..be16dad 100644 --- a/src/scss/actor-base.scss +++ b/src/scss/actor-base.scss @@ -218,6 +218,24 @@ font-size: 13px; padding: 0 4px; line-height: 20px; + box-shadow: 0 0 3px $colorDark; + .tag-list { + padding: 0; + margin: 0; + list-style: none; + display: flex; + .tag { + margin: 1px 2px; + border: 1px solid $colorFaint; + font-size: 11px; + line-height: 14px; + background: $colorOlive; + padding: 1px 4px; + color: whitesmoke; + border-radius: 3px; + box-shadow: 0 0 1px $colorFaint; + } + } } .item-header { @extend %header-field !optional; diff --git a/src/templates/actors/partials/character-inventory-tab.html b/src/templates/actors/partials/character-inventory-tab.html index 6276222..14af2c6 100644 --- a/src/templates/actors/partials/character-inventory-tab.html +++ b/src/templates/actors/partials/character-inventory-tab.html @@ -22,8 +22,10 @@ -
    - {{item.data.qualities}} +
    + {{#each item.data.tags as |tag|}} + {{tag.value}} + {{/each}}
    {{#if @root.config.encumbranceBasic}}_{{else}}{{item.data.weight}}{{/if}}