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