{{#with entry as |entry|}} <ol class="directory-list spell-list" data-category="{{entry.category}}"> {{!-- Add section for each level --}} {{#each entry.levels as |section|}} {{#if (or (gt section.active.length 0) entry.showSlotlessLevels)}} <li class="spell-level-header spellbook-header item" data-item-id="{{entry.id}}" data-item-type="spellLevel" data-level="{{section.level}}"> <div class="item-name flexrow"> <h3>{{localize section.label}}</h3> {{#if (and section.isCantrip (not section.uses))}} <span class="spell-slots infinity">∞</span> <span class="flex0"> / </span> <span class="spell-max infinity">∞</span> {{else if (and entry.isFocusPool (not (eq @root.actor.type "character")))}} <div class="focus-pool-input"> <span class="spell-slots-input"> <input type="number" name="system.resources.focus.value" value="{{@root.data.resources.focus.value}}" title="{{localize "PF2E.Focus.pointTitle"}}" placeholder="0" /> </span> <span class="slash"> / </span> <span class="spell-max-input"> <input type="number" name="system.resources.focus.max" value="{{@root.data.resources.focus.max}}" title="{{localize "PF2E.Focus.poolTitle"}}" placeholder="0" /> </span> </div> {{else if (and section.uses (not entry.isFocusPool))}} {{#if section.uses.value includeZero=true}} <span class="spell-slots-input"> <input type="number" data-item-id="{{entry.id}}" data-item-property="system.slots.slot{{section.level}}.value" value="{{section.uses.value}}" placeholder="0" /> </span> <span class="slash"> / </span> {{/if}} <span class="spell-max-input"> <input type="number" data-item-id="{{entry.id}}" data-item-property="system.slots.slot{{section.level}}.max" value="{{section.uses.max}}" placeholder="0" /> </span> {{#if section.uses.value includeZero=true}} {{#if @root.options.editable}} <a class="spell-slots-increment-reset" data-item-id="{{entry.id}}" data-level="{{section.level}}"><i class="fas fa-redo"></i></a> {{/if}} {{/if}} {{/if}} </div> <div class="spell-range"> {{#if entry.isInnate}} {{localize "PF2E.SpellUsesLabel"}} {{else}} {{localize "PF2E.SpellRangeLabel"}} {{/if}} </div> <div class="spell-components">{{localize "PF2E.SpellComponentsLabel"}}</div> {{#if (and (not entry.isPrepared) @root.options.editable)}} <div class="item-controls"> <a class="item-control spell-create" title="{{localize "PF2E.CreateSpellTitle"}}" data-type="spell" data-level="{{section.level}}" data-location="{{entry.id}}"><i class="fas fa-fw fa-plus"></i></a> <a class="item-control spell-browse" title="{{localize "PF2E.OpenSpellBrowserTitle"}}" data-type="spell" data-level="{{section.level}}" data-location="{{entry.id}}"><i class="fas fa-fw fa-search"></i></a> </div> {{/if}} </li> {{!-- Add spell items for each spell level --}} {{#each section.active as |active i|}} {{#with active}} <li class="item spell{{#if virtual}} virtual{{/if}}" data-item-id="{{spell.id}}" data-entry-id="{{entry.id}}" data-cast-level="{{coalesce castLevel spell.level}}" data-slot-level="{{section.level}}" {{#if entry.isPrepared}}data-slot-id="{{i}}"{{/if}} data-item-type="spell" data-expended-state="{{expended}}" data-item-summary-id="{{spell.id}}-{{section.level}}-{{i}}" > <div class="drag-handle item-name rollable"> <div class="item-image framed"> <img class="item-icon" src="{{spell.img}}" alt="{{spell.name}}"> <i class="fa-solid fa-message"></i> </div> <h4>{{spell.name}}{{{actionGlyph spell.system.time.value}}}</h4> </div> <div class="spell-range"> {{!-- Innate spells replace range for uses --}} {{#if (not entry.isInnate)}} {{spell.system.range.value}} {{else if uses}} <div class="uses"> <span class="spell-slots-input"> <input type="number" data-item-id="{{spell.id}}" data-item-property="system.location.uses.value" value="{{uses.value}}" placeholder="0" /> </span> <span class="slash"> / </span> <span class="spell-max-input"> <input type="number" data-item-id="{{spell.id}}" data-item-property="system.location.uses.max" value="{{uses.max}}" placeholder="0" /> </span> {{#if @root.options.editable}} <a class="spell-slots-increment-reset" data-item-id="{{spell.id}}"><i class="fas fa-redo"></i></a> {{/if}} </div> {{else}} {{localize "PF2E.SpellUnlimitedLabel"}} {{/if}} </div> <div class="spell-components tags"> {{#if spell.system.components.focus}} <span class="tag tag_transparent">{{localize "PF2E.SpellComponentShortF"}}</span> {{/if}} {{#if spell.system.components.material}} <span class="tag tag_transparent">{{localize "PF2E.SpellComponentShortM"}}</span> {{/if}} {{#if spell.system.components.somatic}} <span class="tag tag_transparent">{{localize "PF2E.SpellComponentShortS"}}</span> {{/if}} {{#if spell.system.components.verbal}} <span class="tag tag_transparent">{{localize "PF2E.SpellComponentShortV"}}</span> {{/if}} </div> {{#if @root.options.editable}} <button type="button" class="cast-spell" data-action="cast-spell">{{localize "PF2E.CastLabel"}}</button> {{#unless (and entry.isFlexible (not section.isCantrip))}} <div class="item-controls"> {{#if entry.isPrepared}} {{#unless section.isCantrip}} <a class="item-control item-toggle-prepare" title="{{#if expended}}{{localize "PF2E.RestoreSpellTitle"}}{{else}}{{localize "PF2E.ExpendSpellTitle"}}{{/if}}"><i class="fas fa-fw fa-{{#if expended}}plus{{else}}minus{{/if}}-square"></i></a> {{/unless}} <a class="item-control item-unprepare" title="{{localize "PF2E.UnprepareItemTitle"}}"><i class="fas fa-fw fa-trash"></i></a> {{else}} {{#if (and entry.isSpontaneous (not section.isCantrip))}} <a class="item-control toggle-signature-spell" title="{{localize "PF2E.ToggleSignatureSpellTitle"}}"> {{#if signature}}<i class="fas fa-fw fa-star"></i>{{else}}<i class="far fa-fw fa-star"></i>{{/if}} </a> {{/if}} {{#unless virtual}} <a class="item-control item-edit" title="{{localize "PF2E.EditItemTitle"}}"><i class="fas fa-fw fa-edit"></i></a> <a class="item-control item-delete" title="{{localize "PF2E.DeleteItemTitle"}}"><i class="fas fa-fw fa-trash"></i></a> {{/unless}} {{/if}} </div> {{/unless}} {{/if}} </li> {{else}} <li class="item" data-item-id="{{i}}" data-slot-level="{{section.level}}" data-item-type="spellSlot" data-slot-id="{{i}}" data-entry-id="{{entry.id}}" draggable="true"> <div class="item-name empty"><h4>{{localize "PF2E.SpellSlotEmpty"}}</h4></div> </li> {{/with}} {{/each}} {{/if}} {{/each}} {{#if (and (not entry.levels) @root.options.editable)}} <li class="spellbook-header spellbook-empty"> <h4>{{localize "PF2E.SpellSlotEmpty"}}</h4> <a class="item-control spell-create" title="{{localize "PF2E.CreateSpellTitle"}}" data-type="spell" data-location="{{entry.id}}"> <i class="fas fa-fw fa-plus"></i>{{localize "PF2E.AddSpellTitle"}} </a> <a class="item-control spell-browse" title="{{localize "PF2E.OpenSpellBrowserTitle"}}" data-type="spell" data-location="{{entry.id}}"> <i class="fas fa-fw fa-search"></i>{{localize "PF2E.OpenSpellBrowserTitle"}} </a> </li> {{/if}} </ol> {{/with}}