ENH: Item tags

master
U~man 2020-07-12 15:24:00 +02:00
parent 5a41a9e2d9
commit 5ce4dc056a
5 changed files with 56 additions and 16 deletions

View File

@ -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 = $(`<div class="item-summary">${description}</div>`);
let div = $(`<div class="item-summary"><ol class="tag-list">${item.getTags()}</ol><div>${description}</div></div>`);
li.parents(".item-entry").append(div.hide());
div.slideDown(200);
}

View File

@ -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 });
}
/* -------------------------------------------- */

View File

@ -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 `<li class='tag'>${tag}</li>`
}
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";
}
/**

View File

@ -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;

View File

@ -22,8 +22,10 @@
</h4>
</a>
</div>
<div class="field-longer" title="{{item.data.qualities}}">
{{item.data.qualities}}
<div class="field-longer">
{{#each item.data.tags as |tag|}}
<span title="{{tag.title}}">{{tag.value}}</span>
{{/each}}
</div>
<div class="field-short">
{{#if @root.config.encumbranceBasic}}_{{else}}{{item.data.weight}}{{/if}}