Update codebase to be v9 compatible
							parent
							
								
									cf2bb58b5e
								
							
						
					
					
						commit
						6b5011cfd6
					
				|  | @ -78,13 +78,14 @@ | |||
|   animation: 0.8s ease-in 1s infinite alternate notify; | ||||
| } | ||||
| .acks.sheet.actor .sheet-tabs { | ||||
|   border-bottom: none; | ||||
|   justify-content: flex-end; | ||||
|   position: absolute; | ||||
|   transform: rotate(90deg); | ||||
|   top: 365px; | ||||
|   right: -169px; | ||||
|   width: 320px; | ||||
|   border-top: none; | ||||
|   height: 18px; | ||||
|   z-index: -1; | ||||
| } | ||||
| .acks.sheet.actor .sheet-tabs .item { | ||||
|  | @ -95,7 +96,6 @@ | |||
|   background: url("/ui/parchment.jpg"); | ||||
|   border-top-right-radius: 4px; | ||||
|   border-top-left-radius: 80px; | ||||
|   border-bottom: 1px solid rgba(0, 0, 0, 0.15); | ||||
|   box-shadow: 0 0 6px 1px rgba(0, 0, 0, 0.9); | ||||
|   font-size: 12px; | ||||
|   filter: brightness(0.9); | ||||
|  | @ -107,6 +107,9 @@ | |||
|   text-shadow: none; | ||||
|   margin-bottom: -1px; | ||||
| } | ||||
| .acks.sheet.actor .sheet-tabs .item:not(.active) { | ||||
|   border-bottom: 1px solid rgba(0, 0, 0, 0.15); | ||||
| } | ||||
| .acks.sheet.actor .sheet-body { | ||||
|   height: calc(100% - 140px); | ||||
| } | ||||
|  |  | |||
|  | @ -40,8 +40,8 @@ Hooks.once("init", async function () { | |||
|   // Register custom system settings
 | ||||
|   registerSettings(); | ||||
| 
 | ||||
|   CONFIG.Actor.entityClass = AcksActor; | ||||
|   CONFIG.Item.entityClass = AcksItem; | ||||
|   CONFIG.Actor.documentClass = AcksActor; | ||||
|   CONFIG.Item.documentClass = AcksItem; | ||||
| 
 | ||||
|   // Register sheet application classes
 | ||||
|   Actors.unregisterSheet("core", ActorSheet); | ||||
|  |  | |||
|  | @ -74,7 +74,7 @@ export class AcksActorSheet extends ActorSheet { | |||
|   _onItemSummary(event) { | ||||
|     event.preventDefault(); | ||||
|     let li = $(event.currentTarget).parents(".item"), | ||||
|       item = this.actor.getOwnedItem(li.data("item-id")), | ||||
|       item = this.actor.items.get(li.data("item-id")), | ||||
|       description = TextEditor.enrichHTML(item.data.data.description); | ||||
|     // Toggle summary
 | ||||
|     if (li.hasClass("expanded")) { | ||||
|  | @ -94,7 +94,7 @@ export class AcksActorSheet extends ActorSheet { | |||
|   async _onSpellChange(event) { | ||||
|     event.preventDefault(); | ||||
|     const itemId = event.currentTarget.closest(".item").dataset.itemId; | ||||
|     const item = this.actor.getOwnedItem(itemId); | ||||
|     const item = this.actor.items.get(itemId); | ||||
|     if (event.target.dataset.field == "cast") { | ||||
|       return item.update({ "data.cast": parseInt(event.target.value) }); | ||||
|     } else if (event.target.dataset.field == "memorize") { | ||||
|  | @ -110,7 +110,7 @@ export class AcksActorSheet extends ActorSheet { | |||
|       .find(".item"); | ||||
|     spells.each((_, el) => { | ||||
|       let itemId = el.dataset.itemId; | ||||
|       const item = this.actor.getOwnedItem(itemId); | ||||
|       const item = this.actor.items.get(itemId); | ||||
|       item.update({ | ||||
|         _id: item.id, | ||||
|         "data.cast": 0, | ||||
|  | @ -130,7 +130,7 @@ export class AcksActorSheet extends ActorSheet { | |||
| 
 | ||||
|     html.find(".item .item-controls .item-show").click(async (ev) => { | ||||
|       const li = $(ev.currentTarget).parents(".item"); | ||||
|       const item = this.actor.getOwnedItem(li.data("itemId")); | ||||
|       const item = this.actor.items.get(li.data("itemId")); | ||||
|       item.show(); | ||||
|     }); | ||||
| 
 | ||||
|  | @ -143,7 +143,7 @@ export class AcksActorSheet extends ActorSheet { | |||
| 
 | ||||
|     html.find(".item .item-rollable .item-image").click(async (ev) => { | ||||
|       const li = $(ev.currentTarget).parents(".item"); | ||||
|       const item = this.actor.getOwnedItem(li.data("itemId")); | ||||
|       const item = this.actor.items.get(li.data("itemId")); | ||||
|       if (item.type == "weapon") { | ||||
|         if (this.actor.data.type === "monster") { | ||||
|           item.update({ | ||||
|  |  | |||
|  | @ -121,7 +121,7 @@ export class AcksActorSheetCharacter extends AcksActorSheet { | |||
|   async _onQtChange(event) { | ||||
|     event.preventDefault(); | ||||
|     const itemId = event.currentTarget.closest(".item").dataset.itemId; | ||||
|     const item = this.actor.getOwnedItem(itemId); | ||||
|     const item = this.actor.items.get(itemId); | ||||
|     return item.update({ "data.quantity.value": parseInt(event.target.value) }); | ||||
|   } | ||||
| 
 | ||||
|  | @ -198,14 +198,16 @@ export class AcksActorSheetCharacter extends AcksActorSheet { | |||
|     // Update Inventory Item
 | ||||
|     html.find(".item-edit").click((ev) => { | ||||
|       const li = $(ev.currentTarget).parents(".item"); | ||||
|       const item = this.actor.getOwnedItem(li.data("itemId")); | ||||
|       const item = this.actor.items.get(li.data("itemId")); | ||||
|       item.sheet.render(true); | ||||
|     }); | ||||
| 
 | ||||
|     // Delete Inventory Item
 | ||||
|     html.find(".item-delete").click((ev) => { | ||||
|       const li = $(ev.currentTarget).parents(".item"); | ||||
|       this.actor.deleteOwnedItem(li.data("itemId")); | ||||
|       this.actor.deleteEmbeddedDocuments("Item", [ | ||||
|         li.data("itemId"), | ||||
|       ]); | ||||
|       li.slideUp(200, () => this.render(false)); | ||||
|     }); | ||||
| 
 | ||||
|  | @ -226,7 +228,7 @@ export class AcksActorSheetCharacter extends AcksActorSheet { | |||
|       ); | ||||
|     }); | ||||
| 
 | ||||
|     html.find(".item-create").click((event) => { | ||||
|     html.find(".item-create").click(async (event) => { | ||||
|       event.preventDefault(); | ||||
|       const header = event.currentTarget; | ||||
|       const type = header.dataset.type; | ||||
|  | @ -236,14 +238,16 @@ export class AcksActorSheetCharacter extends AcksActorSheet { | |||
|         data: duplicate(header.dataset), | ||||
|       }; | ||||
|       delete itemData.data["type"]; | ||||
|       return this.actor.createOwnedItem(itemData); | ||||
|       await this.actor.createEmbeddedDocuments("Item", [ | ||||
|         itemData, | ||||
|       ]); | ||||
|     }); | ||||
| 
 | ||||
|     //Toggle Equipment
 | ||||
|     html.find(".item-toggle").click(async (ev) => { | ||||
|       const li = $(ev.currentTarget).parents(".item"); | ||||
|       const item = this.actor.getOwnedItem(li.data("itemId")); | ||||
|       await this.actor.updateOwnedItem({ | ||||
|       const item = this.actor.items.get(li.data("itemId")); | ||||
|       await item.update({ | ||||
|         _id: li.data("itemId"), | ||||
|         data: { | ||||
|           equipped: !item.data.data.equipped, | ||||
|  |  | |||
|  | @ -35,24 +35,26 @@ export class AcksActor extends Actor { | |||
|   /* -------------------------------------------- */ | ||||
|   /*  Socket Listeners and Handlers | ||||
|     /* -------------------------------------------- */ | ||||
|   getExperience(value, options = {}) { | ||||
|   async getExperience(value, options = {}) { | ||||
|     if (this.data.type != "character") { | ||||
|       return; | ||||
|     } | ||||
| 
 | ||||
|     let modified = Math.floor( | ||||
|       value + (this.data.data.details.xp.bonus * value) / 100 | ||||
|     ); | ||||
|     return this.update({ | ||||
| 
 | ||||
|     await this.update({ | ||||
|       "data.details.xp.value": modified + this.data.data.details.xp.value, | ||||
|     }).then(() => { | ||||
|       const speaker = ChatMessage.getSpeaker({ actor: this }); | ||||
|       ChatMessage.create({ | ||||
|         content: game.i18n.format("ACKS.messages.GetExperience", { | ||||
|           name: this.name, | ||||
|           value: modified, | ||||
|         }), | ||||
|         speaker, | ||||
|       }); | ||||
|     }); | ||||
| 
 | ||||
|     const speaker = ChatMessage.getSpeaker({ actor: this }); | ||||
|     await ChatMessage.create({ | ||||
|       content: game.i18n.format("ACKS.messages.GetExperience", { | ||||
|         name: this.name, | ||||
|         value: modified, | ||||
|       }), | ||||
|       speaker, | ||||
|     }); | ||||
|   } | ||||
| 
 | ||||
|  | @ -73,7 +75,7 @@ export class AcksActor extends Actor { | |||
|     } | ||||
|   } | ||||
| 
 | ||||
|   generateSave(hd) { | ||||
|   async generateSave(hd) { | ||||
|     let saves = {}; | ||||
|     for (let i = 0; i <= hd; i++) { | ||||
|       let tmp = CONFIG.ACKS.monster_saves[i]; | ||||
|  | @ -81,7 +83,8 @@ export class AcksActor extends Actor { | |||
|         saves = tmp; | ||||
|       } | ||||
|     } | ||||
|     this.update({ | ||||
| 
 | ||||
|     await this.update({ | ||||
|       "data.saves": { | ||||
|         death: { | ||||
|           value: saves.d, | ||||
|  | @ -106,9 +109,13 @@ export class AcksActor extends Actor { | |||
|   /*  Rolls                                       */ | ||||
|   /* -------------------------------------------- */ | ||||
| 
 | ||||
|   rollHP(options = {}) { | ||||
|     let roll = new Roll(this.data.data.hp.hd).roll(); | ||||
|     return this.update({ | ||||
|   async rollHP(options = {}) { | ||||
|     let roll = new Roll(this.data.data.hp.hd); | ||||
|     await roll.evaluate({ | ||||
|       async: true, | ||||
|     }); | ||||
| 
 | ||||
|     await this.update({ | ||||
|       data: { | ||||
|         hp: { | ||||
|           max: roll.total, | ||||
|  | @ -572,7 +579,7 @@ export class AcksActor extends Actor { | |||
|     const dh = Math.clamped(hp.value - amount, -99, hp.max); | ||||
| 
 | ||||
|     // Update the Actor
 | ||||
|     return this.update({ | ||||
|     await this.update({ | ||||
|       "data.hp.value": dh, | ||||
|     }); | ||||
|   } | ||||
|  |  | |||
|  | @ -76,12 +76,11 @@ export class AcksActorSheetMonster extends AcksActorSheet { | |||
| 
 | ||||
|     // Settings
 | ||||
|     data.config.morale = game.settings.get("acks", "morale"); | ||||
|     data.data.details.treasure.link = TextEditor.enrichHTML(data.data.details.treasure.table); | ||||
|     data.data.data.details.treasure.link = TextEditor.enrichHTML(data.data.data.details.treasure.table); | ||||
|     data.isNew = this.actor.isNew(); | ||||
|     return data; | ||||
|   } | ||||
| 
 | ||||
| 
 | ||||
|   async _onDrop(event) { | ||||
|     super._onDrop(event); | ||||
|     let data; | ||||
|  | @ -139,7 +138,7 @@ export class AcksActorSheetMonster extends AcksActorSheet { | |||
|   async _resetCounters(event) { | ||||
|     const weapons = this.actor.data.items.filter(i => i.type === 'weapon'); | ||||
|     for (let wp of weapons) { | ||||
|       const item = this.actor.getOwnedItem(wp._id); | ||||
|       const item = this.actor.items.get(wp._id); | ||||
|       await item.update({ | ||||
|         data: { | ||||
|           counter: { | ||||
|  | @ -153,7 +152,7 @@ export class AcksActorSheetMonster extends AcksActorSheet { | |||
|   async _onCountChange(event) { | ||||
|     event.preventDefault(); | ||||
|     const itemId = event.currentTarget.closest(".item").dataset.itemId; | ||||
|     const item = this.actor.getOwnedItem(itemId); | ||||
|     const item = this.actor.items.get(itemId); | ||||
|     if (event.target.dataset.field == "value") { | ||||
|       return item.update({ | ||||
|         "data.counter.value": parseInt(event.target.value), | ||||
|  | @ -194,18 +193,20 @@ export class AcksActorSheetMonster extends AcksActorSheet { | |||
|     // Update Inventory Item
 | ||||
|     html.find(".item-edit").click((ev) => { | ||||
|       const li = $(ev.currentTarget).parents(".item"); | ||||
|       const item = this.actor.getOwnedItem(li.data("itemId")); | ||||
|       const item = this.actor.items.get(li.data("itemId")); | ||||
|       item.sheet.render(true); | ||||
|     }); | ||||
| 
 | ||||
|     // Delete Inventory Item
 | ||||
|     html.find(".item-delete").click((ev) => { | ||||
|       const li = $(ev.currentTarget).parents(".item"); | ||||
|       this.actor.deleteOwnedItem(li.data("itemId")); | ||||
|       this.actor.deleteEmbeddedDocuments("Item", [ | ||||
|         li.data("itemId"), | ||||
|       ]); | ||||
|       li.slideUp(200, () => this.render(false)); | ||||
|     }); | ||||
| 
 | ||||
|     html.find(".item-create").click((event) => { | ||||
|     html.find(".item-create").click(async (event) => { | ||||
|       event.preventDefault(); | ||||
|       const header = event.currentTarget; | ||||
|       const type = header.dataset.type; | ||||
|  | @ -224,14 +225,18 @@ export class AcksActorSheetMonster extends AcksActorSheet { | |||
|       // Getting back to main logic
 | ||||
|       if (type == "choice") { | ||||
|         const choices = header.dataset.choices.split(","); | ||||
|         this._chooseItemType(choices).then((dialogInput) => { | ||||
|         this._chooseItemType(choices).then(async (dialogInput) => { | ||||
|           const itemData = createItem(dialogInput.type, dialogInput.name); | ||||
|           this.actor.createOwnedItem(itemData, {}); | ||||
|           await this.actor.createEmbeddedDocuments("Item", [ | ||||
|             itemData, | ||||
|           ]); | ||||
|         }); | ||||
|         return; | ||||
|       } | ||||
|       const itemData = createItem(type); | ||||
|       return this.actor.createOwnedItem(itemData, {}); | ||||
|       await this.actor.createEmbeddedDocuments("Item", [ | ||||
|         itemData, | ||||
|       ]); | ||||
|     }); | ||||
| 
 | ||||
|     html.find(".item-reset").click((ev) => { | ||||
|  | @ -250,7 +255,7 @@ export class AcksActorSheetMonster extends AcksActorSheet { | |||
| 
 | ||||
|     html.find(".item-pattern").click(ev => { | ||||
|       const li = $(ev.currentTarget).parents(".item"); | ||||
|       const item = this.actor.getOwnedItem(li.data("itemId")); | ||||
|       const item = this.actor.items.get(li.data("itemId")); | ||||
|       let currentColor = item.data.data.pattern; | ||||
|       let colors = Object.keys(CONFIG.ACKS.colors); | ||||
|       let index = colors.indexOf(currentColor); | ||||
|  |  | |||
|  | @ -169,7 +169,10 @@ export class AcksCharacterCreator extends FormApplication { | |||
|         } | ||||
|       } | ||||
|     }; | ||||
|     this.object.createOwnedItem(itemData); | ||||
| 
 | ||||
|     await this.object.createEmbeddedDocuments("Item", [ | ||||
|       itemData, | ||||
|     ]); | ||||
|   } | ||||
|   /** | ||||
|    * This method is called upon form submission after form data is validated | ||||
|  |  | |||
|  | @ -78,7 +78,10 @@ export class AcksDice { | |||
|       parts.push(form.bonus.value); | ||||
|     } | ||||
| 
 | ||||
|     const roll = new Roll(parts.join("+"), data).roll(); | ||||
|     const roll = new Roll(parts.join("+"), data); | ||||
|     await roll.evaluate({ | ||||
|       async: true, | ||||
|     }); | ||||
| 
 | ||||
|     // Convert the roll to a chat message and return the roll
 | ||||
|     let rollMode = game.settings.get("core", "rollMode"); | ||||
|  | @ -230,8 +233,15 @@ export class AcksDice { | |||
|     // Optionally include a situational bonus
 | ||||
|     if (form !== null && form.bonus.value) parts.push(form.bonus.value); | ||||
| 
 | ||||
|     const roll = new Roll(parts.join("+"), data).roll(); | ||||
|     const dmgRoll = new Roll(data.roll.dmg.join("+"), data).roll(); | ||||
|     const roll = new Roll(parts.join("+"), data); | ||||
|     await roll.evaluate({ | ||||
|       async: true, | ||||
|     }); | ||||
| 
 | ||||
|     const dmgRoll = new Roll(data.roll.dmg.join("+"), data); | ||||
|     await dmgRoll.evaluate({ | ||||
|       async: true, | ||||
|     }); | ||||
| 
 | ||||
|     // Add minimal damage of 1
 | ||||
|     if (dmgRoll.total < 1) { | ||||
|  |  | |||
|  | @ -355,7 +355,7 @@ export class AcksItem extends Item { | |||
|     if (!actor) return; | ||||
| 
 | ||||
|     // Get the Item
 | ||||
|     const item = actor.getOwnedItem(card.dataset.itemId); | ||||
|     const item = actor.items.get(card.dataset.itemId); | ||||
|     if (!item) { | ||||
|       return ui.notifications.error( | ||||
|         `The requested item ${card.dataset.itemId} no longer exists on Actor ${actor.name}` | ||||
|  |  | |||
|  | @ -12,7 +12,7 @@ | |||
|     <a class="item" data-tab="abilities"> | ||||
|       {{localize "ACKS.category.abilities"}} | ||||
|     </a> | ||||
|     {{#if data.spells.enabled}} | ||||
|     {{#if data.data.spells.enabled}} | ||||
|     <a class="item" data-tab="spells"> | ||||
|       {{localize "ACKS.category.spells"}} | ||||
|     </a> | ||||
|  | @ -33,7 +33,7 @@ | |||
|     <div class="tab" data-group="primary" data-tab="abilities"> | ||||
|       {{> "systems/acks/templates/actors/partials/character-abilities-tab.html"}} | ||||
|     </div> | ||||
|     {{#if data.spells.enabled}} | ||||
|     {{#if data.data.spells.enabled}} | ||||
|     <div class="tab" data-group="primary" data-tab="spells"> | ||||
|       {{> "systems/acks/templates/actors/partials/character-spells-tab.html"}} | ||||
|     </div> | ||||
|  |  | |||
|  | @ -9,7 +9,7 @@ | |||
|     <a class="item" data-tab="attributes"> | ||||
|       {{localize "ACKS.category.attributes"}} | ||||
|     </a> | ||||
|     {{#if data.spells.enabled}} | ||||
|     {{#if data.data.spells.enabled}} | ||||
|     <a class="item" data-tab="spells"> | ||||
|       {{localize "ACKS.category.spells"}} | ||||
|     </a> | ||||
|  | @ -24,7 +24,7 @@ | |||
|     <div class="tab" data-group="primary" data-tab="attributes"> | ||||
|       {{> "systems/acks/templates/actors/partials/monster-attributes-tab.html"}} | ||||
|     </div> | ||||
|     {{#if data.spells.enabled}} | ||||
|     {{#if data.data.spells.enabled}} | ||||
|     <div class="tab" data-group="primary" data-tab="spells"> | ||||
|       {{> "systems/acks/templates/actors/partials/character-spells-tab.html"}} | ||||
|     </div> | ||||
|  | @ -33,7 +33,7 @@ | |||
|       <div class="inventory"> | ||||
|         <div class="item-titles">{{localize "ACKS.category.notes"}}</div> | ||||
|         <div class="resizable-editor" data-editor-size="320"> | ||||
|           {{editor content=data.details.biography target="data.details.biography" | ||||
|           {{editor content=data.data.details.biography target="data.details.biography" | ||||
|           button=true owner=owner editable=editable}} | ||||
|         </div> | ||||
|       </div> | ||||
|  |  | |||
|  | @ -2,28 +2,28 @@ | |||
|   <li class="attribute flexrow" data-exploration="ld"> | ||||
|     <h4 class="attribute-name box-title" title="({{localize 'ACKS.exploration.ld.abrev'}}) {{localize 'ACKS.exploration.ld.long'}}"><a>{{ localize "ACKS.exploration.ld.short" }}</a></h4> | ||||
|     <div class="attribute-value"> | ||||
|       <input name="data.exploration.ld" type="text" value="{{data.exploration.ld}}" value="18"  data-dtype="Number" placeholder="0" /> | ||||
|       <input name="data.exploration.ld" type="text" value="{{data.data.exploration.ld}}" value="18"  data-dtype="Number" placeholder="0" /> | ||||
|     </div> | ||||
|   </li> | ||||
|   <li class="attribute flexrow" data-exploration="od"> | ||||
|     <h4 class="attribute-name box-title" title="({{localize 'ACKS.exploration.od.abrev'}}) {{localize 'ACKS.exploration.od.long'}}"><a>{{ localize "ACKS.exploration.od.short" }}</a> | ||||
|     </h4> | ||||
|     <div class="attribute-value"> | ||||
|       <input name="data.exploration.od" type="text" value="{{data.exploration.od}}" value="18"  placeholder="0" data-dtype="String" /> | ||||
|       <input name="data.exploration.od" type="text" value="{{data.data.exploration.od}}" value="18"  placeholder="0" data-dtype="String" /> | ||||
|     </div> | ||||
|   </li> | ||||
|   <li class="attribute flexrow" data-exploration="sd"> | ||||
|     <h4 class="attribute-name box-title" title="({{localize 'ACKS.exploration.sd.abrev'}}) {{localize 'ACKS.exploration.sd.long'}}"><a>{{ localize "ACKS.exploration.sd.short" }}</a> | ||||
|     </h4> | ||||
|     <div class="attribute-value"> | ||||
|       <input name="data.exploration.sd" type="text" value="{{data.exploration.sd}}" value="18"  placeholder="0" data-dtype="String" /> | ||||
|       <input name="data.exploration.sd" type="text" value="{{data.data.exploration.sd}}" value="18"  placeholder="0" data-dtype="String" /> | ||||
|     </div> | ||||
|   </li> | ||||
|   <li class="attribute flexrow" data-exploration="ft"> | ||||
|     <h4 class="attribute-name box-title" title="({{localize 'ACKS.exploration.ft.abrev'}}) {{localize 'ACKS.exploration.ft.long'}}"><a>{{ localize "ACKS.exploration.ft.short" }}</a> | ||||
|     </h4> | ||||
|     <div class="attribute-value"> | ||||
|       <input name="data.exploration.ft" type="text" value="{{data.exploration.ft}}" value="18" placeholder="0" data-dtype="String" /> | ||||
|       <input name="data.exploration.ft" type="text" value="{{data.data.exploration.ft}}" value="18" placeholder="0" data-dtype="String" /> | ||||
|     </div> | ||||
|   </li> | ||||
| </ul> | ||||
|  | @ -41,7 +41,7 @@ | |||
|     {{#each abilities as |item|}} | ||||
|     <li class="item-entry"> | ||||
|       <div class="item flexrow" data-item-id="{{item._id}}"> | ||||
|         <div class="item-name {{#if item.data.roll}}item-rollable{{/if}} flexrow"> | ||||
|         <div class="item-name {{#if item.data.data.roll}}item-rollable{{/if}} flexrow"> | ||||
|           <div class="item-image" style="background-image: url({{item.img}})"></div> | ||||
|           <a> | ||||
|             <h4 title="{{item.name}}"> | ||||
|  |  | |||
|  | @ -13,7 +13,7 @@ | |||
|                 <h4 class="attribute-name box-title" title="{{ localize 'ACKS.scores.str.long' }}"> | ||||
|                     <a>{{ localize "ACKS.scores.str.short" }}</a></h4> | ||||
|                 <div class="attribute-value"> | ||||
|                     <input name="data.scores.str.value" type="text" value="{{data.scores.str.value}}" placeholder="0" | ||||
|                     <input name="data.scores.str.value" type="text" value="{{data.data.scores.str.value}}" placeholder="0" | ||||
|                         data-dtype="Number" /> | ||||
|                 </div> | ||||
|             </li> | ||||
|  | @ -21,7 +21,7 @@ | |||
|                 <h4 class="attribute-name box-title" title="{{ localize 'ACKS.scores.int.long' }}"> | ||||
|                     <a>{{ localize "ACKS.scores.int.short" }}</a></h4> | ||||
|                 <div class="attribute-value"> | ||||
|                     <input name="data.scores.int.value" type="text" value="{{data.scores.int.value}}" placeholder="0" | ||||
|                     <input name="data.scores.int.value" type="text" value="{{data.data.scores.int.value}}" placeholder="0" | ||||
|                         data-dtype="Number" /> | ||||
|                 </div> | ||||
|             </li> | ||||
|  | @ -29,7 +29,7 @@ | |||
|                 <h4 class="attribute-name box-title" title="{{ localize 'ACKS.scores.wis.long' }}"> | ||||
|                     <a>{{ localize "ACKS.scores.wis.short" }}</a></h4> | ||||
|                 <div class="attribute-value"> | ||||
|                     <input name="data.scores.wis.value" type="text" value="{{data.scores.wis.value}}" placeholder="0" | ||||
|                     <input name="data.scores.wis.value" type="text" value="{{data.data.scores.wis.value}}" placeholder="0" | ||||
|                         data-dtype="Number" /> | ||||
|                 </div> | ||||
|             </li> | ||||
|  | @ -37,7 +37,7 @@ | |||
|                 <h4 class="attribute-name box-title" title="{{ localize 'ACKS.scores.dex.long' }}"> | ||||
|                     <a>{{ localize "ACKS.scores.dex.short" }}</a></h4> | ||||
|                 <div class="attribute-value"> | ||||
|                     <input name="data.scores.dex.value" type="text" value="{{data.scores.dex.value}}" placeholder="0" | ||||
|                     <input name="data.scores.dex.value" type="text" value="{{data.data.scores.dex.value}}" placeholder="0" | ||||
|                         data-dtype="Number" /> | ||||
|                 </div> | ||||
|             </li> | ||||
|  | @ -45,7 +45,7 @@ | |||
|                 <h4 class="attribute-name box-title" title="{{ localize 'ACKS.scores.con.long' }}"> | ||||
|                     <a>{{ localize "ACKS.scores.con.short" }}</a></h4> | ||||
|                 <div class="attribute-value"> | ||||
|                     <input name="data.scores.con.value" type="text" value="{{data.scores.con.value}}" placeholder="0" | ||||
|                     <input name="data.scores.con.value" type="text" value="{{data.data.scores.con.value}}" placeholder="0" | ||||
|                         data-dtype="Number" /> | ||||
|                 </div> | ||||
|             </li> | ||||
|  | @ -53,7 +53,7 @@ | |||
|                 <h4 class="attribute-name box-title" title="{{ localize 'ACKS.scores.cha.long' }}"> | ||||
|                     <a>{{ localize "ACKS.scores.cha.short" }}</a></h4> | ||||
|                 <div class="attribute-value"> | ||||
|                     <input name="data.scores.cha.value" type="text" value="{{data.scores.cha.value}}" placeholder="0" | ||||
|                     <input name="data.scores.cha.value" type="text" value="{{data.data.scores.cha.value}}" placeholder="0" | ||||
|                         data-dtype="Number" /> | ||||
|                 </div> | ||||
|             </li> | ||||
|  | @ -63,25 +63,25 @@ | |||
|     <div class="resources"> | ||||
|         <div class="flexrow"> | ||||
|             <div class="health"> | ||||
|                 <input class="health-value health-top" name="data.hp.value" type="text" value="{{data.hp.value}}" | ||||
|                 <input class="health-value health-top" name="data.hp.value" type="text" value="{{data.data.hp.value}}" | ||||
|                     data-dtype="Number" placeholder="0" title="{{localize 'ACKS.Health'}}" /> | ||||
|                 <input class="health-value health-bottom" name="data.hp.max" type="text" value="{{data.hp.max}}" | ||||
|                 <input class="health-value health-bottom" name="data.hp.max" type="text" value="{{data.data.hp.max}}" | ||||
|                     data-dtype="Number" placeholder="0" title="{{localize 'ACKS.HealthMax'}}" /> | ||||
|                 <div class="health-empty" style="height:{{counter false data.hp.value data.hp.max}}%"></div> | ||||
|                 <div class="health-full" style="height:{{counter true data.hp.value data.hp.max}}%"></div> | ||||
|                 <div class="health-empty" style="height:{{counter false data.data.hp.value data.data.hp.max}}%"></div> | ||||
|                 <div class="health-full" style="height:{{counter true data.data.hp.value data.data.hp.max}}%"></div> | ||||
|             </div> | ||||
|             <div class="health armor-class"> | ||||
|                 {{#if config.ascendingAC}} | ||||
|                 <div class="health-value health-top" title="{{localize 'ACKS.ArmorClass'}}">{{data.aac.value}}</div> | ||||
|                 <div class="health-value health-top" title="{{localize 'ACKS.ArmorClass'}}">{{data.data.aac.value}}</div> | ||||
|                 <div class="health-value health-bottom" title="{{localize 'ACKS.ArmorClassNaked'}}"> | ||||
|                     {{data.aac.naked}}</div> | ||||
|                     {{#if data.aac.shield}}<div class="shield" title="{{localize 'ACKS.items.hasShield'}} ({{data.aac.shield}})"><i | ||||
|                     {{data.data.aac.naked}}</div> | ||||
|                     {{#if data.data.aac.shield}}<div class="shield" title="{{localize 'ACKS.items.hasShield'}} ({{data.data.aac.shield}})"><i | ||||
|                             class="fas fa-shield-alt"></i></div>{{/if}} | ||||
|                 {{else}} | ||||
|                 <div class="health-value health-top" title="{{localize 'ACKS.ArmorClass'}}">{{data.ac.value}}</div> | ||||
|                 <div class="health-value health-top" title="{{localize 'ACKS.ArmorClass'}}">{{data.data.ac.value}}</div> | ||||
|                 <div class="health-value health-bottom" title="{{localize 'ACKS.ArmorClassNaked'}}"> | ||||
|                     {{data.ac.naked}}</div> | ||||
|                     {{#if data.ac.shield}}<div class="shield" title="{{localize 'ACKS.items.hasShield'}} ({{data.ac.shield}})"><i | ||||
|                     {{data.data.ac.naked}}</div> | ||||
|                     {{#if data.data.ac.shield}}<div class="shield" title="{{localize 'ACKS.items.hasShield'}} ({{data.data.ac.shield}})"><i | ||||
|                             class="fas fa-shield-alt"></i></div>{{/if}} | ||||
|                 {{/if}} | ||||
|             </div> | ||||
|  | @ -93,7 +93,7 @@ | |||
|                         <a>{{ localize "ACKS.HitDiceShort" }}</a> | ||||
|                     </h4> | ||||
|                     <div class="attribute-value"> | ||||
|                         <input name="data.hp.hd" type="text" value="{{data.hp.hd}}" placeholder="" | ||||
|                         <input name="data.hp.hd" type="text" value="{{data.data.hp.hd}}" placeholder="" | ||||
|                             data-dtype="String" /> | ||||
|                     </div> | ||||
|                 </li> | ||||
|  | @ -103,8 +103,8 @@ | |||
|                         <a>{{ localize "ACKS.BHRShort" }}</a> | ||||
|                     </h4> | ||||
|                     <div class="attribute-value" | ||||
|                         title="Calculated from {{data.hp.max}} HP"> | ||||
|                         {{data.hp.bhr}} | ||||
|                         title="Calculated from {{data.data.hp.max}} HP"> | ||||
|                         {{data.data.hp.bhr}} | ||||
|                     </div> | ||||
|                 </li> | ||||
|                 {{/if}} | ||||
|  | @ -113,8 +113,8 @@ | |||
|                     <h4 class="attribute-name box-title" title="{{ localize 'ACKS.Initiative' }}"> | ||||
|                         {{ localize "ACKS.InitiativeShort" }}</h4> | ||||
|                     <div class="attribute-value" | ||||
|                         title="{{localize 'ACKS.scores.dex.long'}}({{data.scores.dex.init}}) + {{localize 'ACKS.Modifier'}}({{data.initiative.mod}})"> | ||||
|                         {{add data.scores.dex.init data.initiative.mod}} | ||||
|                         title="{{localize 'ACKS.scores.dex.long'}}({{data.data.scores.dex.init}}) + {{localize 'ACKS.Modifier'}}({{data.data.initiative.mod}})"> | ||||
|                         {{add data.data.scores.dex.init data.data.initiative.mod}} | ||||
|                     </div> | ||||
|                 </li> | ||||
|                 {{/if}} | ||||
|  | @ -127,8 +127,8 @@ | |||
|                         <a>{{localize 'ACKS.MeleeShort'}}</a></h4> | ||||
|                     <div class="flexrow"> | ||||
|                         <div class="attribute-value" | ||||
|                             title="{{localize 'ACKS.scores.str.long'}}({{data.scores.str.mod}}) + {{localize 'ACKS.Modifier'}}({{data.thac0.mod.melee}})"> | ||||
|                             {{add data.scores.str.mod data.thac0.mod.melee}} | ||||
|                             title="{{localize 'ACKS.scores.str.long'}}({{data.data.scores.str.mod}}) + {{localize 'ACKS.Modifier'}}({{data.data.thac0.mod.melee}})"> | ||||
|                             {{add data.data.scores.str.mod data.data.thac0.mod.melee}} | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </li> | ||||
|  | @ -138,7 +138,7 @@ | |||
|                     </h4> | ||||
|                     <div class="flexrow"> | ||||
|                         <div class="attribute-value"> | ||||
|                             <input name="data.thac0.throw" type="text" value="{{data.thac0.throw}}" placeholder="" | ||||
|                             <input name="data.thac0.throw" type="text" value="{{data.data.thac0.throw}}" placeholder="" | ||||
|                                 data-dtype="Number" +/> | ||||
|                         </div> | ||||
|                     </div> | ||||
|  | @ -149,7 +149,7 @@ | |||
|                     </h4> | ||||
|                     <div class="flexrow"> | ||||
|                         <div class="attribute-value"> | ||||
|                             <input name="data.thac0.value" type="text" value="{{data.thac0.value}}" placeholder="0" | ||||
|                             <input name="data.thac0.value" type="text" value="{{data.data.thac0.value}}" placeholder="0" | ||||
|                                 data-dtype="Number" /> | ||||
|                         </div> | ||||
|                     </div> | ||||
|  | @ -160,8 +160,8 @@ | |||
|                         <a>{{localize 'ACKS.MissileShort'}}</a></h4> | ||||
|                     <div class="flexrow"> | ||||
|                         <div class="attribute-value" | ||||
|                             title="{{localize 'ACKS.scores.dex.long'}}({{data.scores.dex.mod}}) + {{localize 'ACKS.Modifier'}}({{data.thac0.mod.missile}})"> | ||||
|                             {{add data.scores.dex.mod data.thac0.mod.missile}} | ||||
|                             title="{{localize 'ACKS.scores.dex.long'}}({{data.data.scores.dex.mod}}) + {{localize 'ACKS.Modifier'}}({{data.data.thac0.mod.missile}})"> | ||||
|                             {{add data.data.scores.dex.mod data.data.thac0.mod.missile}} | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </li> | ||||
|  | @ -174,7 +174,7 @@ | |||
|                         {{localize 'ACKS.movement.overland.short'}}</h4> | ||||
|                     <div class="flexrow"> | ||||
|                         <div class="attribute-value"> | ||||
|                             {{divide data.movement.base 5}} | ||||
|                             {{divide data.data.movement.base 5}} | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </li> | ||||
|  | @ -182,8 +182,8 @@ | |||
|                     <h4 class="attribute-name box-title" title="{{ localize 'ACKS.movement.exploration.long' }}"> | ||||
|                         {{ localize "ACKS.movement.exploration.short" }}</h4> | ||||
|                     <div class="attribute-value flexrow"> | ||||
|                         <input name="data.movement.base" type="text" value="{{data.movement.base}}" placeholder="0" | ||||
|                             data-dtype="Number" {{#if data.config.movementAuto}}disabled{{/if}} /> | ||||
|                         <input name="data.movement.base" type="text" value="{{data.data.movement.base}}" placeholder="0" | ||||
|                             data-dtype="Number" {{#if data.data.config.movementAuto}}disabled{{/if}} /> | ||||
|                     </div> | ||||
|                 </li> | ||||
|                 <li class="attribute attribute-secondaries"> | ||||
|  | @ -191,7 +191,7 @@ | |||
|                         {{localize 'ACKS.movement.encounter.short'}}</h4> | ||||
|                     <div class="flexrow"> | ||||
|                         <div class="attribute-value"> | ||||
|                             {{divide data.movement.base 3}} | ||||
|                             {{divide data.data.movement.base 3}} | ||||
|                         </div> | ||||
|                     </div> | ||||
|                 </li> | ||||
|  | @ -205,43 +205,43 @@ | |||
|                 <h4 class="attribute-name box-title"> | ||||
|                     <a>{{ localize "ACKS.saves.paralysis.long" }}</a></h4> | ||||
|                 <div class="attribute-value"> | ||||
|                     <input name="data.saves.paralysis.value" type="text" value="{{data.saves.paralysis.value}}" | ||||
|                     <input name="data.saves.paralysis.value" type="text" value="{{data.data.saves.paralysis.value}}" | ||||
|                         placeholder="0" data-dtype="Number" /> | ||||
|             </li> | ||||
|             <li class="attribute saving-throw" data-save="death"> | ||||
|                 <h4 class="attribute-name box-title"> | ||||
|                     <a>{{ localize "ACKS.saves.death.long" }}</a></h4> | ||||
|                 <div class="attribute-value"> | ||||
|                     <input name="data.saves.death.value" type="text" value="{{data.saves.death.value}}" placeholder="0" | ||||
|                     <input name="data.saves.death.value" type="text" value="{{data.data.saves.death.value}}" placeholder="0" | ||||
|                         data-dtype="Number" /> | ||||
|             </li> | ||||
|             <li class="attribute saving-throw" data-save="breath"> | ||||
|                 <h4 class="attribute-name box-title"> | ||||
|                     <a>{{ localize "ACKS.saves.breath.long" }}</a></h4> | ||||
|                 <div class="attribute-value"> | ||||
|                     <input name="data.saves.breath.value" type="text" value="{{data.saves.breath.value}}" | ||||
|                     <input name="data.saves.breath.value" type="text" value="{{data.data.saves.breath.value}}" | ||||
|                         placeholder="0" data-dtype="Number" /> | ||||
|             </li> | ||||
|             <li class="attribute saving-throw" data-save="wand"> | ||||
|                 <h4 class="attribute-name box-title"> | ||||
|                     <a>{{ localize "ACKS.saves.wand.long" }}</a></h4> | ||||
|                 <div class="attribute-value"> | ||||
|                     <input name="data.saves.wand.value" type="text" value="{{data.saves.wand.value}}" placeholder="0" | ||||
|                     <input name="data.saves.wand.value" type="text" value="{{data.data.saves.wand.value}}" placeholder="0" | ||||
|                         data-dtype="Number" /> | ||||
|             </li> | ||||
|             <li class="attribute saving-throw" data-save="spell"> | ||||
|                 <h4 class="attribute-name box-title"> | ||||
|                     <a>{{ localize "ACKS.saves.spell.long" }}</a></h4> | ||||
|                 <div class="attribute-value"> | ||||
|                     <input name="data.saves.spell.value" type="text" value="{{data.saves.spell.value}}" | ||||
|                     <input name="data.saves.spell.value" type="text" value="{{data.data.saves.spell.value}}" | ||||
|                         placeholder="0" /> | ||||
|             </li> | ||||
|             {{#unless config.removeMagicBonus}} | ||||
|             <li class="attribute saving-throw"> | ||||
|                 <h4 class="attribute-name box-title" title="{{ localize 'ACKS.saves.magic.long' }}"> | ||||
|                     {{ localize "ACKS.saves.magic.long"}}</h4> | ||||
|                 <div class="attribute-value flat" title="{{localize 'ACKS.scores.wis.long'}}({{data.scores.wis.mod}})"> | ||||
|                     {{mod data.scores.wis.mod}} | ||||
|                 <div class="attribute-value flat" title="{{localize 'ACKS.scores.wis.long'}}({{data.data.scores.wis.mod}})"> | ||||
|                     {{mod data.data.scores.wis.mod}} | ||||
|                 </div> | ||||
|             </li> | ||||
|             {{/unless}} | ||||
|  |  | |||
|  | @ -4,36 +4,36 @@ | |||
|     <input name="name" type="text" value="{{actor.name}}" placeholder="{{localize 'ACKS.details.name'}}" data-dtype="String" /> | ||||
|   </h1> | ||||
|   <ul class="summary flexrow"> | ||||
|     {{#if data.retainer.enabled}} | ||||
|     {{#if data.data.retainer.enabled}} | ||||
|     <li> | ||||
|       <input type="text" name="data.retainer.wage" value="{{data.retainer.wage}}" data-dtype="String" | ||||
|       <input type="text" name="data.retainer.wage" value="{{data.data.retainer.wage}}" data-dtype="String" | ||||
|          /> | ||||
|       <label>{{localize 'ACKS.RetainerWage'}}</label> | ||||
|     </li> | ||||
|     {{else}} | ||||
|     <li> | ||||
|       <input type="text" name="data.details.title" value="{{data.details.title}}" data-dtype="String" | ||||
|       <input type="text" name="data.details.title" value="{{data.data.details.title}}" data-dtype="String" | ||||
|          /> | ||||
|       <label>{{localize 'ACKS.details.title'}}</label> | ||||
|     </li> | ||||
|     {{/if}} | ||||
|     <li> | ||||
|       <input type="text" name="data.details.alignment" value="{{data.details.alignment}}" data-dtype="String" | ||||
|       <input type="text" name="data.details.alignment" value="{{data.data.details.alignment}}" data-dtype="String" | ||||
|          /> | ||||
|       <label>{{localize 'ACKS.details.alignment'}}</label> | ||||
|     </li> | ||||
|     {{#if data.retainer.enabled}} | ||||
|     {{#if data.data.retainer.enabled}} | ||||
|     <li class="flexrow check-field"> | ||||
|       <div class="check morale-check" title="{{localize 'ACKS.roll.morale'}}"><a><i class="fas fa-dice"></i></a></div> | ||||
|       <div> | ||||
|         <input type="text" name="data.details.morale" value="{{data.details.morale}}" /> | ||||
|         <input type="text" name="data.details.morale" value="{{data.data.details.morale}}" /> | ||||
|         <label>{{localize 'ACKS.details.morale'}}</label>   | ||||
|       </div> | ||||
|     </li> | ||||
|     <li class="flex2 check-field" data-stat="lr"> | ||||
|       <div class="check loyalty-check" title="{{localize 'ACKS.loyalty.check'}}"><a><i class="fas fa-dice"></i></a></div> | ||||
|       <div class="attribute-value"> | ||||
|         <input name="data.retainer.loyalty" type="text" value="{{data.retainer.loyalty}}" placeholder="Loyal" data-dtype="String" /> | ||||
|         <input name="data.retainer.loyalty" type="text" value="{{data.data.retainer.loyalty}}" placeholder="Loyal" data-dtype="String" /> | ||||
|         <label>{{localize 'ACKS.Loyalty'}}</label>   | ||||
|       </div> | ||||
|     </li> | ||||
|  | @ -41,21 +41,21 @@ | |||
|   </ul> | ||||
|   <ul class="summary flexrow"> | ||||
|     <li class="flex3"> | ||||
|       <input type="text" name="data.details.class" value="{{data.details.class}}" data-dtype="String" | ||||
|       <input type="text" name="data.details.class" value="{{data.data.details.class}}" data-dtype="String" | ||||
|         /> | ||||
|       <label>{{localize 'ACKS.details.class'}}</label> | ||||
|     </li> | ||||
|     <li class="{{#if (gt data.details.xp.value data.details.xp.next)}}notify{{/if}}"> | ||||
|       <input type="text" name="data.details.level" value="{{data.details.level}}" data-dtype="Number" | ||||
|     <li class="{{#if (gt data.data.details.xp.value data.data.details.xp.next)}}notify{{/if}}"> | ||||
|       <input type="text" name="data.details.level" value="{{data.data.details.level}}" data-dtype="Number" | ||||
|          /> | ||||
|       <label>{{localize 'ACKS.details.level'}}</label> | ||||
|     </li> | ||||
|     <li class="flex2"> | ||||
|       <input type="text" name="data.details.xp.value" value="{{data.details.xp.value}}" data-dtype="Number" | ||||
|       <input type="text" name="data.details.xp.value" value="{{data.data.details.xp.value}}" data-dtype="Number" | ||||
|          /> | ||||
|       <label>{{localize 'ACKS.details.experience.base'}}</label> | ||||
|       {{#if data.details.xp.bonus}} | ||||
|       <span class="xp-bonus">+{{data.details.xp.bonus}}%</span> | ||||
|       {{#if data.data.details.xp.bonus}} | ||||
|       <span class="xp-bonus">+{{data.data.details.xp.bonus}}%</span> | ||||
|       {{/if}} | ||||
|     </li> | ||||
|   </ul> | ||||
|  |  | |||
|  | @ -31,8 +31,6 @@ | |||
|             {{#each item.data.tags as |tag|}} | ||||
|             {{#unless (getTagIcon tag.value)}} | ||||
|               <span title="{{tag.title}}">{{tag.value}}{{#unless @last}},{{/unless}}</span> | ||||
| 
 | ||||
|                | ||||
|             {{/unless}} | ||||
|             {{/each}} | ||||
|           </div> | ||||
|  | @ -155,7 +153,7 @@ | |||
|     <li class="item-titles flexrow"> | ||||
|       <div class="item-caret"><i class="fas fa-caret-down"></i></div> | ||||
|       <div class="item-name">{{localize "ACKS.items.Treasure"}}</div> | ||||
|       <div class="field-long">{{roundTreas data.treasure}} <i class="fas fa-circle"></i></div> | ||||
|       <div class="field-long">{{roundTreas data.data.treasure}} <i class="fas fa-circle"></i></div> | ||||
|       <div class="field-short"><i class="fas fa-hashtag"></i></div> | ||||
|       <div class="field-short"><i class="fas fa-weight-hanging"></i></div> | ||||
|       <div class="item-controls"> | ||||
|  | @ -198,7 +196,7 @@ | |||
|   </div> | ||||
| </section> | ||||
| <section> | ||||
|   {{#with data.encumbrance}} | ||||
|   {{#with data.data.encumbrance}} | ||||
|   <div class="encumbrance {{#if encumbered}}encumbered{{/if}}"> | ||||
|     <span class="encumbrance-bar" style="width:{{pct}}%"></span> | ||||
|     <span class="encumbrance-label">{{value}} / {{max}}</span> | ||||
|  |  | |||
|  | @ -12,7 +12,7 @@ | |||
|                     </div> | ||||
|                 </div> | ||||
|                 <ol> | ||||
|                     {{#each data.languages.value as |lang|}} | ||||
|                     {{#each data.data.languages.value as |lang|}} | ||||
|                     <li class="item flexrow" data-lang="{{lang}}"> | ||||
|                         <div class="item-name"> | ||||
|                             {{lang}} | ||||
|  | @ -28,7 +28,7 @@ | |||
|             <div class="flex3 description"> | ||||
|                 <div class="item-titles">{{localize "ACKS.category.description"}}</div> | ||||
|                 <div> | ||||
|                     {{editor content=data.details.description target="data.details.description" | ||||
|                     {{editor content=data.data.details.description target="data.details.description" | ||||
|                 button=true owner=owner editable=editable}} | ||||
|                 </div> | ||||
|             </div> | ||||
|  | @ -37,7 +37,7 @@ | |||
|     <div class="inventory notes"> | ||||
|         <div class="item-titles">{{localize "ACKS.category.notes"}}</div> | ||||
|         <div class="resizable-editor" data-editor-size="140"> | ||||
|             {{editor content=data.details.notes target="data.details.notes" | ||||
|             {{editor content=data.data.details.notes target="data.details.notes" | ||||
|             button=true owner=owner editable=editable}} | ||||
|         </div> | ||||
|     </div> | ||||
|  |  | |||
|  | @ -15,7 +15,7 @@ | |||
|       <div class="field-short">{{localize 'ACKS.spells.Slots'}}</div> | ||||
|       <div class="field-long flexrow"> | ||||
|         <input type="text" value="{{lookup @root.slots.used @key}}" name="data.spells.{{id}}.value" data-dtype="Number" | ||||
|           placeholder="0" disabled>/<input type="text" value="{{lookup (lookup ../actor.data.spells @key) 'max'}}" | ||||
|           placeholder="0" disabled>/<input type="text" value="{{lookup (lookup ../actor.data.data.spells @key) 'max'}}" | ||||
|           name="data.spells.{{id}}.max" data-dtype="Number" placeholder="0"></div> | ||||
|       <div class="item-controls"> | ||||
|         <a class="item-control item-create" data-type="spell" data-lvl="{{id}}" title="{{localize 'ACKS.Add'}}"><i | ||||
|  | @ -35,7 +35,7 @@ | |||
|             </a> | ||||
|           </div> | ||||
|           <div class="field-short memorize flexrow"> | ||||
|             <input type="text" value="{{item.data.cast}}" data-dtype="Number" placeholder="0" data-field="cast" | ||||
|             <input type="text" value="{{item.data.data.cast}}" data-dtype="Number" placeholder="0" data-field="cast" | ||||
|                    title="{{localize 'ACKS.spells.Cast'}}"></div> | ||||
|           <div class="item-controls"> | ||||
|             {{#if ../../owner}} | ||||
|  |  | |||
|  | @ -5,10 +5,10 @@ | |||
|                 <h4 class="attribute-name box-title" title="{{localize 'ACKS.Health'}}">{{ localize "ACKS.HealthShort" }} | ||||
|                     <a class="hp-roll"><i class="fas fa-dice"></i></a></h4> | ||||
|                 <div class="attribute-value flexrow"> | ||||
|                     <input name="data.hp.value" type="text" value="{{data.hp.value}}" data-dtype="Number" | ||||
|                     <input name="data.hp.value" type="text" value="{{data.data.hp.value}}" data-dtype="Number" | ||||
|                         placeholder="0" /> | ||||
|                     <span class="sep"> / </span> | ||||
|                     <input name="data.hp.max" type="text" value="{{data.hp.max}}" data-dtype="Number" placeholder="0" /> | ||||
|                     <input name="data.hp.max" type="text" value="{{data.data.hp.max}}" data-dtype="Number" placeholder="0" /> | ||||
|                 </div> | ||||
|             </li> | ||||
|             <li class="attribute hit-dice"> | ||||
|  | @ -16,7 +16,7 @@ | |||
|                     <a>{{ localize "ACKS.HitDiceShort" }}</a> | ||||
|                 </h4> | ||||
|                 <div class="attribute-value"> | ||||
|                     <input name="data.hp.hd" type="text" value="{{data.hp.hd}}" data-dtype="String" /> | ||||
|                     <input name="data.hp.hd" type="text" value="{{data.data.hp.hd}}" data-dtype="String" /> | ||||
|                 </div> | ||||
|             </li> | ||||
|             <li class="attribute"> | ||||
|  | @ -24,14 +24,14 @@ | |||
|                 <h4 class="attribute-name box-title" title="{{ localize 'ACKS.ArmorClass' }}"> | ||||
|                     {{ localize "ACKS.AscArmorClassShort" }}</h4> | ||||
|                 <div class="attribute-value"> | ||||
|                     <input name="data.aac.value" type="text" value="{{data.aac.value}}" data-dtype="Number" | ||||
|                     <input name="data.aac.value" type="text" value="{{data.data.aac.value}}" data-dtype="Number" | ||||
|                         placeholder="10" data-dtype="Number" /> | ||||
|                 </div> | ||||
|                 {{else}} | ||||
|                 <h4 class="attribute-name box-title" title="{{ localize 'ACKS.ArmorClass' }}"> | ||||
|                     {{ localize "ACKS.ArmorClassShort" }}</h4> | ||||
|                 <div class="attribute-value"> | ||||
|                     <input name="data.ac.value" type="text" value="{{data.ac.value}}" data-dtype="Number" | ||||
|                     <input name="data.ac.value" type="text" value="{{data.data.ac.value}}" data-dtype="Number" | ||||
|                         placeholder="9" data-dtype="Number" /> | ||||
|                 </div> | ||||
|                 {{/if}} | ||||
|  | @ -41,25 +41,25 @@ | |||
|                 <h4 class="attribute-name box-title" title="{{localize 'ACKS.AB'}}"><a>{{ localize "ACKS.ABShort" }}</a> | ||||
|                 </h4> | ||||
|                 <div class="attribute-value"> | ||||
|                     <input name="data.thac0.throw" type="text" value="{{data.thac0.throw}}" placeholder="" | ||||
|                     <input name="data.thac0.throw" type="text" value="{{data.data.thac0.throw}}" placeholder="" | ||||
|                         data-dtype="Number" /> | ||||
|                 </div> | ||||
|                 {{else}} | ||||
|                 <h4 class="attribute-name box-title" title="{{localize 'ACKS.Thac0'}}"><a>{{ localize "ACKS.Thac0" }}</a> | ||||
|                 </h4> | ||||
|                 <div class="attribute-value"> | ||||
|                     <input name="data.thac0.value" type="text" value="{{data.thac0.value}}" placeholder="0" | ||||
|                     <input name="data.thac0.value" type="text" value="{{data.data.thac0.value}}" placeholder="0" | ||||
|                         data-dtype="Number" /> | ||||
|                 </div> | ||||
|                 {{/if}} | ||||
|             </li> | ||||
|             {{#if data.retainer.enabled}} | ||||
|             {{#if data.data.retainer.enabled}} | ||||
|             <li class="attribute"> | ||||
|                 <h4 class="attribute-name box-title" title="{{ localize 'ACKS.Loyalty' }}"> | ||||
|                     {{ localize "ACKS.LoyaltyShort" }} | ||||
|                 </h4> | ||||
|                 <div class="attribute-value"> | ||||
|                     <input name="data.retainer.loyalty" type="text" value="{{data.retainer.loyalty}}" placeholder="0" | ||||
|                     <input name="data.retainer.loyalty" type="text" value="{{data.data.retainer.loyalty}}" placeholder="0" | ||||
|                         data-dtype="Number" /> | ||||
|                 </div> | ||||
|             </li> | ||||
|  | @ -69,7 +69,7 @@ | |||
|                     {{ localize "ACKS.movement.short" }} | ||||
|                 </h4> | ||||
|                 <div class="attribute-value"> | ||||
|                     <input name="data.movement.base" type="text" value="{{data.movement.base}}" placeholder="0" | ||||
|                     <input name="data.movement.base" type="text" value="{{data.data.movement.base}}" placeholder="0" | ||||
|                         data-dtype="Number" /> | ||||
|                 </div> | ||||
|             </li> | ||||
|  | @ -94,8 +94,8 @@ | |||
|                     {{#each abilities as |item|}} | ||||
|                     <li class="item-entry"> | ||||
|                         <div class="item flexrow" data-item-id="{{item._id}}"> | ||||
|                             <div class="item-pattern" title="{{localize 'ACKS.items.pattern'}}" style="background:linear-gradient(0.25turn, {{item.data.pattern}}, transparent)"></div> | ||||
|                             <div class="item-name {{#if item.data.roll}}item-rollable{{/if}} flexrow"> | ||||
|                             <div class="item-pattern" title="{{localize 'ACKS.items.pattern'}}" style="background:linear-gradient(0.25turn, {{item.data.data.pattern}}, transparent)"></div> | ||||
|                             <div class="item-name {{#if item.data.data.roll}}item-rollable{{/if}} flexrow"> | ||||
|                                 <div class="item-image" style="background-image: url({{item.img}})"></div> | ||||
|                                 <h4 title="{{item.name}}"> | ||||
|                                     {{item.name~}} | ||||
|  | @ -119,7 +119,7 @@ | |||
|                     <li class="item-entry"> | ||||
|                         <div class="item flexrow" data-item-id="{{item._id}}"> | ||||
|                             {{#if (eq item.type 'weapon')}} | ||||
|                             <div class="item-pattern" title="{{localize 'ACKS.items.pattern'}}" style="background:linear-gradient(0.25turn, {{item.data.pattern}}, transparent)"></div> | ||||
|                             <div class="item-pattern" title="{{localize 'ACKS.items.pattern'}}" style="background:linear-gradient(0.25turn, {{item.data.data.pattern}}, transparent)"></div> | ||||
|                             {{/if}} | ||||
|                             <div class="item-name {{#if (eq item.type 'weapon')}}item-rollable{{/if}}  flexrow"> | ||||
|                                 <div class="item-image" style="background-image: url({{item.img}})"></div> | ||||
|  | @ -129,10 +129,10 @@ | |||
|                             </div> | ||||
|                             {{#if (eq item.type 'weapon')}} | ||||
|                             <div class="field-long counter flexrow"> | ||||
|                                 <input type="text" value="{{item.data.counter.value}}" data-dtype="Number" | ||||
|                                 <input type="text" value="{{item.data.data.counter.value}}" data-dtype="Number" | ||||
|                                     placeholder="0" data-field="value" title="{{localize 'ACKS.items.roundAttacks'}}"> | ||||
|                                 / | ||||
|                                 <input type="text" value="{{item.data.counter.max}}" data-field="max" | ||||
|                                 <input type="text" value="{{item.data.data.counter.max}}" data-field="max" | ||||
|                                     data-dtype="Number" placeholder="0" | ||||
|                                     title="{{localize 'ACKS.items.roundAttacksMax'}}"></div> | ||||
|                             {{/if}} | ||||
|  | @ -157,7 +157,7 @@ | |||
|                 <li class="attacks-description"> | ||||
|                     {{#unless isNew}} | ||||
|                     <label>{{ localize "ACKS.movement.details" }}</label> | ||||
|                     <input name="data.movement.value" type="text" value="{{data.movement.value}}" data-dtype="String" /> | ||||
|                     <input name="data.movement.value" type="text" value="{{data.data.movement.value}}" data-dtype="String" /> | ||||
|                     {{else}} | ||||
|                     <button data-action="generate-saves">{{localize "ACKS.dialog.generateSaves"}}</button> | ||||
|                     {{/unless}} | ||||
|  | @ -166,35 +166,35 @@ | |||
|                     <h4 class="attribute-name box-title"> | ||||
|                         <a>{{ localize "ACKS.saves.death.long" }}</a></h4> | ||||
|                     <div class="attribute-value"> | ||||
|                         <input name="data.saves.death.value" type="text" value="{{data.saves.death.value}}" | ||||
|                         <input name="data.saves.death.value" type="text" value="{{data.data.saves.death.value}}" | ||||
|                             placeholder="0" data-dtype="Number" /> | ||||
|                 </li> | ||||
|                 <li class="attribute saving-throw" data-save="wand"> | ||||
|                     <h4 class="attribute-name box-title"> | ||||
|                         <a>{{ localize "ACKS.saves.wand.long" }}</a></h4> | ||||
|                     <div class="attribute-value"> | ||||
|                         <input name="data.saves.wand.value" type="text" value="{{data.saves.wand.value}}" | ||||
|                         <input name="data.saves.wand.value" type="text" value="{{data.data.saves.wand.value}}" | ||||
|                             placeholder="0" data-dtype="Number" /> | ||||
|                 </li> | ||||
|                 <li class="attribute saving-throw" data-save="paralysis"> | ||||
|                     <h4 class="attribute-name box-title"> | ||||
|                         <a>{{ localize "ACKS.saves.paralysis.long" }}</a></h4> | ||||
|                     <div class="attribute-value"> | ||||
|                         <input name="data.saves.paralysis.value" type="text" value="{{data.saves.paralysis.value}}" | ||||
|                         <input name="data.saves.paralysis.value" type="text" value="{{data.data.saves.paralysis.value}}" | ||||
|                             placeholder="0" data-dtype="Number" /> | ||||
|                 </li> | ||||
|                 <li class="attribute saving-throw" data-save="breath"> | ||||
|                     <h4 class="attribute-name box-title"> | ||||
|                         <a>{{ localize "ACKS.saves.breath.long" }}</a></h4> | ||||
|                     <div class="attribute-value"> | ||||
|                         <input name="data.saves.breath.value" type="text" value="{{data.saves.breath.value}}" | ||||
|                         <input name="data.saves.breath.value" type="text" value="{{data.data.saves.breath.value}}" | ||||
|                             placeholder="0" data-dtype="Number" /> | ||||
|                 </li> | ||||
|                 <li class="attribute saving-throw" data-save="spell"> | ||||
|                     <h4 class="attribute-name box-title"> | ||||
|                         <a>{{ localize "ACKS.saves.spell.long" }}</a></h4> | ||||
|                     <div class="attribute-value"> | ||||
|                         <input name="data.saves.spell.value" type="text" value="{{data.saves.spell.value}}" | ||||
|                         <input name="data.saves.spell.value" type="text" value="{{data.data.saves.spell.value}}" | ||||
|                             placeholder="0" /> | ||||
|                 </li> | ||||
|             </ul> | ||||
|  |  | |||
|  | @ -6,26 +6,26 @@ | |||
|   <ul class="summary flexrow"> | ||||
|     <li class="flex2 flexrow check-field"> | ||||
|       <div> | ||||
|         <input type="text" name="data.details.alignment" value="{{data.details.alignment}}" /> | ||||
|         <input type="text" name="data.details.alignment" value="{{data.data.details.alignment}}" /> | ||||
|         <label>{{localize 'ACKS.details.alignment'}}</label> | ||||
|       </div> | ||||
|       <div class="check reaction-check" title="{{localize 'ACKS.roll.reaction'}}"><a><i class="fas fa-dice"></i></a></div> | ||||
|     </li> | ||||
|     <li class="flexrow check-field" data-check="dungeon"> | ||||
|       <div> | ||||
|         <input type="text" name="data.details.appearing.d" value="{{data.details.appearing.d}}" /> | ||||
|         <input type="text" name="data.details.appearing.d" value="{{data.data.details.appearing.d}}" /> | ||||
|         <label>{{localize 'ACKS.details.appearing'}}</label> | ||||
|       </div> | ||||
|       <div class="check appearing-check" title="{{localize 'ACKS.roll.appearing'}}"><a><i class="fas fa-dice"></i></a></div> | ||||
|     </li> | ||||
|     <li class="flexrow check-field" data-check="wilderness"> | ||||
|         (<div><input type="text" name="data.details.appearing.w" value="{{data.details.appearing.w}}" /></div>) | ||||
|         (<div><input type="text" name="data.details.appearing.w" value="{{data.data.details.appearing.w}}" /></div>) | ||||
|       <div class="check appearing-check" title="{{localize 'ACKS.roll.appearing'}}"><a><i class="fas fa-dice"></i></a></div> | ||||
|     </li> | ||||
|     {{#if config.morale}} | ||||
|     <li class="flexrow check-field"> | ||||
|       <div> | ||||
|         <input type="text" name="data.details.morale" value="{{data.details.morale}}" /> | ||||
|         <input type="text" name="data.details.morale" value="{{data.data.details.morale}}" /> | ||||
|         <label>{{localize 'ACKS.details.morale'}}</label>   | ||||
|       </div> | ||||
|       <div class="check morale-check" title="{{localize 'ACKS.roll.morale'}}"><a><i class="fas fa-dice"></i></a></div> | ||||
|  | @ -34,11 +34,11 @@ | |||
|   </ul> | ||||
|   <ul class="summary flexrow"> | ||||
|     <li> | ||||
|       <input type="text" name="data.details.xp" value="{{data.details.xp}}" /> | ||||
|       <input type="text" name="data.details.xp" value="{{data.data.details.xp}}" /> | ||||
|       <label>{{localize 'ACKS.details.experience.award'}}</label> | ||||
|     </li> | ||||
|     <li class="treasure-table" title="{{localize 'ACKS.details.treasureTableHint'}}"> | ||||
|       <div>{{{data.details.treasure.link}}}</div> | ||||
|       <div>{{{data.data.details.treasure.link}}}</div> | ||||
|       <label>{{localize 'ACKS.details.treasure'}}</label> | ||||
|     </li> | ||||
|   </ul> | ||||
|  |  | |||
|  | @ -13,20 +13,20 @@ | |||
|         <div class="form-group block-input"> | ||||
|           <label>{{localize 'ACKS.abilities.Requirements'}}</label> | ||||
|           <div class="form-fields"> | ||||
|             <input type="text" name="data.requirements" value="{{data.requirements}}" data-dtype="String" /> | ||||
|             <input type="text" name="data.requirements" value="{{data.data.requirements}}" data-dtype="String" /> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="form-group block-input"> | ||||
|           <label>{{localize 'ACKS.items.Roll'}}</label> | ||||
|           <div class="form-fields"> | ||||
|             <input type="text" name="data.roll" value="{{data.roll}}" data-dtype="String" /> | ||||
|             <input type="text" name="data.roll" value="{{data.data.roll}}" data-dtype="String" /> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="form-group"> | ||||
|           <label>{{localize 'ACKS.items.RollType'}}</label> | ||||
|           <div class="form-fields"> | ||||
|             <select name="data.rollType"> | ||||
|               {{#select data.rollType}} | ||||
|               {{#select data.data.rollType}} | ||||
|               {{#each config.roll_type as |t a|}} | ||||
|               <option value="{{a}}">{{t}}</option> | ||||
|               {{/each}} | ||||
|  | @ -37,20 +37,20 @@ | |||
|         <div class="form-group"> | ||||
|           <label>{{localize 'ACKS.items.RollTarget'}}</label> | ||||
|           <div class="form-fields"> | ||||
|             <input type="text" name="data.rollTarget" value="{{data.rollTarget}}" data-dtype="Number" /> | ||||
|             <input type="text" name="data.rollTarget" value="{{data.data.rollTarget}}" data-dtype="Number" /> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="form-group"> | ||||
|           <label>{{localize 'ACKS.items.BlindRoll'}}</label> | ||||
|           <div class="form-fields"> | ||||
|             <input type="checkbox" name="data.blindroll" value="{{data.blindroll}}" {{checked data.blindroll}}  data-dtype="Number"/> | ||||
|             <input type="checkbox" name="data.blindroll" value="{{data.data.blindroll}}" {{checked data.data.blindroll}}  data-dtype="Number"/> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="form-group"> | ||||
|           <label>{{localize 'ACKS.spells.Save'}}</label> | ||||
|           <div class="form-fields"> | ||||
|             <select name="data.save"> | ||||
|               {{#select data.save}} | ||||
|               {{#select data.data.save}} | ||||
|               <option value=""></option> | ||||
|               {{#each config.saves_short as |save a|}} | ||||
|               <option value="{{a}}">{{save}}</option> | ||||
|  | @ -61,7 +61,7 @@ | |||
|         </div> | ||||
|       </div> | ||||
|       <div class="description"> | ||||
|         {{editor content=data.description target="data.description" button=true | ||||
|         {{editor content=data.data.description target="data.description" button=true | ||||
|         owner=owner editable=editable}} | ||||
|       </div> | ||||
|     </div> | ||||
|  |  | |||
|  | @ -13,14 +13,14 @@ | |||
|         <div class="form-group"> | ||||
|           <label>{{localize 'ACKS.items.ArmorAAC'}}</label> | ||||
|           <div class="form-fields"> | ||||
|             <input type="text" name="data.aac.value" value="{{data.aac.value}}" data-dtype="Number" /> | ||||
|             <input type="text" name="data.aac.value" value="{{data.data.aac.value}}" data-dtype="Number" /> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="form-group"> | ||||
|           <label>{{localize 'ACKS.armor.type'}}</label> | ||||
|           <div class="form-fields"> | ||||
|             <select name="data.type"> | ||||
|               {{#select data.type}} | ||||
|               {{#select data.data.type}} | ||||
|               <option value=""></option> | ||||
|               {{#each config.armor as |armor a|}} | ||||
|               <option value="{{a}}">{{armor}}</option> | ||||
|  | @ -32,18 +32,18 @@ | |||
|         <div class="form-group"> | ||||
|           <label>{{localize 'ACKS.items.Cost'}}</label> | ||||
|           <div class="form-fields"> | ||||
|             <input type="text" name="data.cost" value="{{data.cost}}" data-dtype="Number" /> | ||||
|             <input type="text" name="data.cost" value="{{data.data.cost}}" data-dtype="Number" /> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="form-group"> | ||||
|           <label>{{localize 'ACKS.items.Weight'}}</label> | ||||
|           <div class="form-fields"> | ||||
|             <input type="text" name="data.weight" value="{{data.weight}}" data-dtype="Number" /> | ||||
|             <input type="text" name="data.weight" value="{{data.data.weight}}" data-dtype="Number" /> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|       <div class="description"> | ||||
|         {{editor content=data.description target="data.description" button=true | ||||
|         {{editor content=data.data.description target="data.description" button=true | ||||
|         owner=owner editable=editable}} | ||||
|       </div> | ||||
|     </div> | ||||
|  |  | |||
|  | @ -13,30 +13,30 @@ | |||
|         <div class="form-group"> | ||||
|           <label>{{localize 'ACKS.items.Quantity'}}</label> | ||||
|           <div class="form-fields"> | ||||
|             <input type="text" name="data.quantity.value" value="{{data.quantity.value}}" data-dtype="Number" />/<input type="text" name="data.quantity.max" value="{{data.quantity.max}}" data-dtype="Number" /> | ||||
|             <input type="text" name="data.quantity.value" value="{{data.data.quantity.value}}" data-dtype="Number" />/<input type="text" name="data.quantity.max" value="{{data.data.quantity.max}}" data-dtype="Number" /> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="form-group"> | ||||
|           <label>{{localize 'ACKS.items.Treasure'}}</label> | ||||
|           <div class="form-fields"> | ||||
|             <input type="checkbox" name="data.treasure" value="{{data.treasure}}" {{checked data.treasure}}  data-dtype="Boolean"/> | ||||
|             <input type="checkbox" name="data.treasure" value="{{data.data.treasure}}" {{checked data.data.treasure}}  data-dtype="Boolean"/> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="form-group"> | ||||
|           <label>{{localize 'ACKS.items.Cost'}}</label> | ||||
|           <div class="form-fields"> | ||||
|             <input type="text" name="data.cost" value="{{data.cost}}" data-dtype="Number" /> | ||||
|             <input type="text" name="data.cost" value="{{data.data.cost}}" data-dtype="Number" /> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="form-group"> | ||||
|           <label>{{localize 'ACKS.items.Weight'}}</label> | ||||
|           <div class="form-fields"> | ||||
|             <input type="text" name="data.weight" value="{{data.weight}}" data-dtype="Number" /> | ||||
|             <input type="text" name="data.weight" value="{{data.data.weight}}" data-dtype="Number" /> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|       <div class="description weapon-editor"> | ||||
|         {{editor content=data.description target="data.description" button=true | ||||
|         {{editor content=data.data.description target="data.description" button=true | ||||
|         owner=owner editable=editable}} | ||||
|       </div> | ||||
|     </div> | ||||
|  |  | |||
|  | @ -13,32 +13,32 @@ | |||
|         <div class="form-group"> | ||||
|           <label>{{localize 'ACKS.spells.Level'}}</label> | ||||
|           <div class="form-fields"> | ||||
|             <input type="text" name="data.lvl" value="{{data.lvl}}" data-dtype="Number" /> | ||||
|             <input type="text" name="data.lvl" value="{{data.data.lvl}}" data-dtype="Number" /> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="form-group block-input"> | ||||
|           <label>{{localize 'ACKS.spells.Class'}}</label> | ||||
|           <div class="form-fields"> | ||||
|             <input type="text" name="data.class" value="{{data.class}}" data-dtype="String" /> | ||||
|             <input type="text" name="data.class" value="{{data.data.class}}" data-dtype="String" /> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="form-group block-input"> | ||||
|           <label>{{localize 'ACKS.spells.Duration'}}</label> | ||||
|           <div class="form-fields"> | ||||
|             <input type="text" name="data.duration" value="{{data.duration}}" data-dtype="String" /> | ||||
|             <input type="text" name="data.duration" value="{{data.data.duration}}" data-dtype="String" /> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="form-group block-input"> | ||||
|           <label>{{localize 'ACKS.spells.Range'}}</label> | ||||
|           <div class="form-fields"> | ||||
|             <input type="text" name="data.range" value="{{data.range}}" data-dtype="String" /> | ||||
|             <input type="text" name="data.range" value="{{data.data.range}}" data-dtype="String" /> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="form-group"> | ||||
|           <label>{{localize 'ACKS.spells.Save'}}</label> | ||||
|           <div class="form-fields"> | ||||
|             <select name="data.save"> | ||||
|               {{#select data.save}} | ||||
|               {{#select data.data.save}} | ||||
|               <option value=""></option> | ||||
|               {{#each config.saves_short as |save a|}} | ||||
|               <option value="{{a}}">{{save}}</option> | ||||
|  | @ -50,12 +50,12 @@ | |||
|         <div class="form-group block-input"> | ||||
|           <label>{{localize 'ACKS.items.Roll'}}</label> | ||||
|           <div class="form-fields"> | ||||
|             <input type="text" name="data.roll" value="{{data.roll}}" data-dtype="String" /> | ||||
|             <input type="text" name="data.roll" value="{{data.data.roll}}" data-dtype="String" /> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|       <div class="description"> | ||||
|         {{editor content=data.description target="data.description" button=true | ||||
|         {{editor content=data.data.description target="data.description" button=true | ||||
|         owner=owner editable=editable}} | ||||
|       </div> | ||||
|     </div> | ||||
|  |  | |||
|  | @ -24,7 +24,7 @@ | |||
|               <input | ||||
|                 type="text" | ||||
|                 name="data.cost" | ||||
|                 value="{{data.cost}}" | ||||
|                 value="{{data.data.cost}}" | ||||
|                 data-dtype="Number" | ||||
|                 /> | ||||
|             </div> | ||||
|  | @ -36,7 +36,7 @@ | |||
|               <input | ||||
|                 type="text" | ||||
|                 name="data.weight" | ||||
|                 value="{{data.weight}}" | ||||
|                 value="{{data.data.weight}}" | ||||
|                 data-dtype="Number" | ||||
|                 /> | ||||
|             </div> | ||||
|  | @ -44,7 +44,7 @@ | |||
|         </div> | ||||
|       </div> | ||||
|       <ol class="tag-list"> | ||||
|         {{#each data.tags as |tag|}} | ||||
|         {{#each data.data.tags as |tag|}} | ||||
|         <li class="tag" title="{{tag.title}}" data-tag="{{tag.value}}"> | ||||
|           <span>{{tag.value}}</span> | ||||
|           <a class="tag-delete"><i class="fas fa-times"></i></a> | ||||
|  | @ -72,7 +72,7 @@ | |||
|             <input | ||||
|               type="text" | ||||
|               name="data.damage" | ||||
|               value="{{data.damage}}" | ||||
|               value="{{data.data.damage}}" | ||||
|               data-dtype="String" | ||||
|               /> | ||||
|           </div> | ||||
|  | @ -84,39 +84,39 @@ | |||
|             <input | ||||
|               type="text" | ||||
|               name="data.bonus" | ||||
|               value="{{data.bonus}}" | ||||
|               value="{{data.data.bonus}}" | ||||
|               data-dtype="Number" | ||||
|               /> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="form-group attack-type"> | ||||
|           <a title="{{localize 'ACKS.items.Melee'}}" class="melee-toggle {{#if | ||||
|             data.melee}}active{{/if}}"><i class="fas fa-fist-raised"></i></a> | ||||
|             data.data.melee}}active{{/if}}"><i class="fas fa-fist-raised"></i></a> | ||||
|           <a title="{{localize 'ACKS.items.Missile'}}" class="missile-toggle | ||||
|             {{#if data.missile}}active{{/if}}"><i class="fas fa-bullseye"></i></a> | ||||
|             {{#if data.data.missile}}active{{/if}}"><i class="fas fa-bullseye"></i></a> | ||||
|         </div> | ||||
|         {{#if data.missile}} | ||||
|         {{#if data.data.missile}} | ||||
|         <div class="form-group block-input"> | ||||
|           <label>{{localize 'ACKS.items.Range'}}</label> | ||||
|           <div class="form-fields range"> | ||||
|             <input | ||||
|               type="text" | ||||
|               name="data.range.short" | ||||
|               value="{{data.range.short}}" | ||||
|               value="{{data.data.range.short}}" | ||||
|               data-dtype="Number" | ||||
|               /> | ||||
|               <div class="sep"></div> | ||||
|               <input | ||||
|               type="text" | ||||
|               name="data.range.medium" | ||||
|               value="{{data.range.medium}}" | ||||
|               value="{{data.data.range.medium}}" | ||||
|               data-dtype="Number" | ||||
|               /> | ||||
|               <div class="sep"></div> | ||||
|               <input | ||||
|               type="text" | ||||
|               name="data.range.long" | ||||
|               value="{{data.range.long}}" | ||||
|               value="{{data.data.range.long}}" | ||||
|               data-dtype="Number" | ||||
|               /> | ||||
|           </div> | ||||
|  | @ -126,7 +126,7 @@ | |||
|           <label>{{localize 'ACKS.spells.Save'}}</label> | ||||
|           <div class="form-fields"> | ||||
|             <select name="data.save"> | ||||
|               {{#select data.save}} | ||||
|               {{#select data.data.save}} | ||||
|               <option value=""></option> | ||||
|               {{#each config.saves_short as |save a|}} | ||||
|               <option value="{{a}}">{{save}}</option> | ||||
|  | @ -141,16 +141,16 @@ | |||
|             <input | ||||
|               type="checkbox" | ||||
|               name="data.slow" | ||||
|               value="{{data.slow}}" | ||||
|               value="{{data.data.slow}}" | ||||
|               {{checked | ||||
|               data.slow}} | ||||
|               data.data.slow}} | ||||
|               data-dtype="Number" | ||||
|               /> | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|       <div class="description weapon-editor"> | ||||
|         {{editor content=data.description target="data.description" button=true | ||||
|         {{editor content=data.data.description target="data.description" button=true | ||||
|         owner=owner editable=editable}} | ||||
|       </div> | ||||
|     </div> | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue