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"); |       let summary = li.parents(".item-entry").children(".item-summary"); | ||||||
|       summary.slideUp(200, () => summary.remove()); |       summary.slideUp(200, () => summary.remove()); | ||||||
|     } else { |     } 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()); |       li.parents(".item-entry").append(div.hide()); | ||||||
|       div.slideDown(200); |       div.slideDown(200); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | @ -190,9 +190,7 @@ export class OseActorSheetCharacter extends OseActorSheet { | ||||||
|       } |       } | ||||||
|       let newData = {}; |       let newData = {}; | ||||||
|       newData[table] = update; |       newData[table] = update; | ||||||
|       return this.actor.update({ data: newData }).then(() => { |       return this.actor.update({ data: newData }); | ||||||
|         this.render(true); |  | ||||||
|       }); |  | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  | @ -201,9 +199,7 @@ export class OseActorSheetCharacter extends OseActorSheet { | ||||||
|     let update = data[table].value.filter((el) => el != lang); |     let update = data[table].value.filter((el) => el != lang); | ||||||
|     let newData = {}; |     let newData = {}; | ||||||
|     newData[table] = { value: update }; |     newData[table] = { value: update }; | ||||||
|     return this.actor.update({ data: newData }).then(() => { |     return this.actor.update({ data: newData }); | ||||||
|       this.render(true); |  | ||||||
|     }); |  | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   /* -------------------------------------------- */ |   /* -------------------------------------------- */ | ||||||
|  |  | ||||||
|  | @ -126,17 +126,41 @@ export class OseItem extends Item { | ||||||
|       data: data, |       data: data, | ||||||
|       skipDialog: true, |       skipDialog: true, | ||||||
|       speaker: ChatMessage.getSpeaker({ actor: this }), |       speaker: ChatMessage.getSpeaker({ actor: this }), | ||||||
|       flavor: 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}), |       title: game.i18n.format("OSE.roll.formula", { label: label }), | ||||||
|     }); |     }); | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   spendSpell() { |   spendSpell() { | ||||||
|     this.update({data: { |     this.update({ | ||||||
|       cast: this.data.data.cast - 1 |       data: { | ||||||
|     }}).then(() => { |         cast: this.data.data.cast - 1, | ||||||
|       this.roll({skipDialog: true}) |       }, | ||||||
|     }) |     }).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; |           font-size: 13px; | ||||||
|           padding: 0 4px; |           padding: 0 4px; | ||||||
|           line-height: 20px; |           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 { |         .item-header { | ||||||
|           @extend %header-field !optional; |           @extend %header-field !optional; | ||||||
|  |  | ||||||
|  | @ -22,8 +22,10 @@ | ||||||
|               </h4> |               </h4> | ||||||
|             </a> |             </a> | ||||||
|           </div> |           </div> | ||||||
|           <div class="field-longer" title="{{item.data.qualities}}"> |           <div class="field-longer"> | ||||||
|             {{item.data.qualities}} |             {{#each item.data.tags as |tag|}} | ||||||
|  |               <span title="{{tag.title}}">{{tag.value}}</span> | ||||||
|  |             {{/each}} | ||||||
|           </div> |           </div> | ||||||
|           <div class="field-short"> |           <div class="field-short"> | ||||||
|             {{#if @root.config.encumbranceBasic}}_{{else}}{{item.data.weight}}{{/if}} |             {{#if @root.config.encumbranceBasic}}_{{else}}{{item.data.weight}}{{/if}} | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue