ENH: Item tags
parent
5a41a9e2d9
commit
5ce4dc056a
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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 });
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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}}
|
||||
|
|
Loading…
Reference in New Issue