|
|
- <form autocomplete="off" onsubmit="event.preventDefault();">
- <div class="ability-rows">
- <header class="row{{#if manual}} not-eligible{{/if}}">
- <div class="row-heading">
- <h3>{{localize "PF2E.Actor.Character.AbilityBuilder.Title"}}</h3>
- </div>
- <div class="abilities">
- {{#each abilityScores as |ability key|}}
- <div class="row-column">
- <h3>{{localize (concat "PF2E.AbilityId." key)}}</h3>
- </div>
- {{/each}}
- </div>
- </header>
-
- <!-- ancestry boosts -->
- <section class="row{{#if manual}} not-eligible{{/if}}" data-section="ancestry">
- {{#if ancestryBoosts}}
- <div class="row-heading">
- {{#if ancestryBoosts.remaining}}<div class="remaining extra">{{ancestryBoosts.remaining}}</div>{{/if}}
- <img class="" src="{{ancestry.img}}" title="{{ancestry.name}}" width="32" height="32" loading="lazy"/>
- <div class="label">
- <div class="title">{{localize "ITEM.TypeAncestry"}}</div>
- <div class="description" data-tooltip-content="#{{actor.id}}-ancestry-tooltip">{{ancestry.name}}</div>
- <label class="extra">
- {{localize "PF2E.Actor.Character.AbilityBuilder.AlternateBoostsLabel"}} <input type="checkbox" {{checked ancestryBoosts.alternate}} data-action="toggle-alternate-ancestry-boosts">
- </label>
- </div>
- </div>
- {{else}}
- <div class="row-heading">
- <div class="label">
- <div class="title">{{localize "ITEM.TypeAncestry"}}</div>
- <div class="description">{{localize "PF2E.Actor.Character.AbilityBuilder.NotSelected"}}</div>
- </div>
- </div>
- {{/if}}
-
- {{> abilityRow buttons=ancestryBoosts.buttons fallback="PF2E.Actor.Character.AbilityBuilder.AncestryMissingHelp"}}
-
- <div class="hover-content" id="{{actor.id}}-ancestry-tooltip">
- <h2>{{localize "PF2E.Actor.Character.AbilityBuilder.Boosts"}}</h2>
- <ul class="boost-details">
- {{#each ancestryBoosts.labels as |boost|}}
- <li><i class="fas fa-circle"></i>{{boost}}</li>
- {{/each}}
- </ul>
- <h2>{{localize "PF2E.Actor.Character.AbilityBuilder.Flaws"}}</h2>
- <ul class="boost-details">
- {{#each ancestryBoosts.flawLabels as |flaw|}}
- <li><i class="fas fa-circle"></i>{{flaw}}</li>
- {{/each}}
- </ul>
- </div>
- </section>
-
- <!-- ancestry voluntary flaw -->
- <section class="row{{#if manual}} not-eligible{{/if}} voluntary-flaw-row" data-section="voluntary">
- {{#if ancestry}}
- <div class="row-heading">
- {{#if voluntaryFlaws.remaining}}<div class="remaining extra">{{voluntaryFlaws.remaining}}</div>{{/if}}
- <div class="label">
- <div class="description" data-tooltip-content="#{{actor.id}}-voluntary-flaw-tooltip">{{localize "PF2E.Actor.Character.AbilityBuilder.VoluntaryFlaw.Title"}}</div>
- <label class="extra" data-tooltip-content="#{{actor.id}}-legacy-voluntary-flaw-tooltip">
- Legacy Flaws <i class="fas fa-info-circle small"></i>
- <input type="checkbox" data-action="toggle-legacy-voluntary-flaw" {{checked legacyFlaws}}>
- </label>
- </div>
- </div>
- {{> abilityRow buttons=voluntaryFlaws.buttons}}
- {{/if}}
-
- <div class="hover-content" id="{{actor.id}}-voluntary-flaw-tooltip">{{localize "PF2E.Actor.Character.AbilityBuilder.VoluntaryFlaw.Description"}}</div>
- <div class="hover-content" id="{{actor.id}}-legacy-voluntary-flaw-tooltip">{{localize "PF2E.Actor.Character.AbilityBuilder.VoluntaryFlaw.LegacyDescription"}}</div>
- </section>
-
- <hr />
-
- <!-- background boosts -->
- <section class="row{{#if manual}} not-eligible{{/if}}" data-section="background">
- {{#if backgroundBoosts}}
- <div class="row-heading" data-tooltip-content="#{{actor.id}}-background-tooltip">
- {{#if backgroundBoosts.remaining}}<div class="remaining extra">{{backgroundBoosts.remaining}}</div>{{/if}}
- <img class="" src="{{background.img}}" title="{{background.name}}" width="32" height="32" loading="lazy"/>
- <div class="label">
- <div class="title">{{localize "PF2E.Background"}}</div>
- <div class="description">{{background.name}}</div>
- </div>
- </div>
- {{else}}
- <div class="row-heading">
- <div class="label">
- <div class="title">{{localize "ITEM.TypeBackground"}}</div>
- <div class="description">{{localize "PF2E.Actor.Character.AbilityBuilder.NotSelected"}}</div>
- </div>
- </div>
- {{/if}}
-
- {{> abilityRow buttons=backgroundBoosts.buttons fallback="PF2E.Actor.Character.AbilityBuilder.BackgroundMissingHelp"}}
-
- <div class="hover-content" id="{{actor.id}}-background-tooltip">
- {{#if backgroundBoosts.tooltip}}
- {{backgroundBoosts.tooltip}}
- {{else}}
- <h2>{{localize "PF2E.Actor.Character.AbilityBuilder.Boosts"}}</h2>
- <ul class="boost-details">
- {{#each backgroundBoosts.labels as |boost|}}
- {{#if boost}}
- <li><i class="fas fa-circle"></i>{{boost}}</li>
- {{/if}}
- {{/each}}
- </ul>
- {{/if}}
- </div>
- </section>
-
- <hr />
-
- <!-- class boosts -->
- <section class="row{{#if manual}} not-eligible{{/if}}">
- {{#if class}}
- <div class="row-heading">
- <img class="" src="{{class.img}}" title="{{ancestry.name}}" width="32" height="32" loading="lazy"/>
- <div>
- <div class="title">{{localize "PF2E.Class"}}</div>
- <div class="description">{{class.name}}</div>
- </div>
- </div>
- <div class="abilities">
- {{#each abilities as |key ability|}}
- <div class="row-column">
- <button type="button" data-action="class-key-ability" data-key="{{key}}" data-ability="{{ability}}"
- class="boost key-ability
- {{~#if (not (contains ../keyOptions ability))}} hidden{{/if}}
- {{~#if (eq ../class.system.keyAbility.selected ability)}} selected{{/if}}
- {{~#if ../manual}} hidden{{/if}}"
- >
- <i class="fas fa-fw fa-key"></i>
- {{localize "PF2E.Actor.Character.AbilityBuilder.KeyIcon"}}
- </button>
- </div>
- {{/each}}
- </div>
- {{else}}
- <div class="row-heading">
- <div class="label">
- <div class="title">{{localize "ITEM.TypeClass"}}</div>
- <div class="description">{{localize "PF2E.Actor.Character.AbilityBuilder.NotSelected"}}</div>
- </div>
- </div>
- <div class="full-row">{{localize "PF2E.Actor.Character.AbilityBuilder.ClassMissingHelp"}}</div>
- {{/if}}
- </section>
-
- <hr />
-
- <div class="row{{#if manual}} not-eligible{{/if}}">
- <div class="row-heading">
- <div class="label">
- <div class="title">{{localize "PF2E.AbilityFree"}}</div>
- </div>
- </div>
- </div>
-
- {{#each levelBoosts as |boosts|}}
- <section class="row{{#if ../manual}} not-eligible{{/if}}{{#if (not boosts.eligible)}} not-eligible{{/if}}" data-level="{{boosts.level}}">
- <div class="row-heading">
- {{#if remaining}}<div class="remaining extra">{{remaining}}</div>{{/if}}
- <div class="label">
- <div class="description">
- {{#if (eq boosts.minLevel boosts.level)}}
- {{localize "PF2E.LevelN" level=boosts.level}}
- {{else}}
- {{localize "PF2E.LevelRange" minLevel=boosts.minLevel level=boosts.level}}
- {{/if}}
- </div>
- </div>
- </div>
- {{> abilityRow buttons=boosts.buttons}}
- </section>
- {{/each}}
-
- <section class="row summary-row">
- <div class="row-heading">
- <aside class="hint-container">
- <h3>{{localize "PF2E.Actor.Character.AbilityBuilder.AbilityScoreMethod.Title"}}</h3>
- <p>{{localize "PF2E.Actor.Character.AbilityBuilder.AbilityScoreMethod.Description"}}</p>
- <label>
- <input type="checkbox" name="toggle-manual-mode"{{checked manual}}>
- {{localize "PF2E.Actor.Character.AbilityBuilder.AbilityScoreMethod.UseCustomLabel"}}
- </label>
- </aside>
- </div>
- <div class="abilities">
- {{#each abilityScores as |ability key|}}
- <div class="row-column">
- {{#if ../manual}}
- <button type="button" data-action="class-key-ability" data-key="{{lookup ../abilities key}}" data-ability="{{key}}"
- class="boost{{#if (eq ../manualKeyAbility key)}} selected{{/if}}"
- tabindex="-1"
- >
- <i class="fas fa-fw fa-key"></i>
- {{localize "PF2E.Actor.Character.AbilityBuilder.KeyIcon"}}
- </button>
- <input type="number" data-property="system.abilities.{{key}}.value" name="system.abilities.{{key}}.value" value="{{ability.base}}" placeholder="10">
- {{else}}
- <button type="button" class="boost hidden"></button>
- <div class="value">{{ability.base}}</div>
- {{/if}}
- <h4>{{localize (lookup ../abilities key)}}</h4>
- </div>
- {{/each}}
- <button class="complete" type="button" data-action="close">{{localize "PF2E.Actor.Character.AbilityBuilder.Complete"}}</button>
- </div>
- </section>
- </div>
-
- <div class="row background-stripes">
- <div class="row-heading"></div>
- <div class="abilities">
- <div></div>
- <div></div>
- <div></div>
- <div></div>
- <div></div>
- <div></div>
- </div>
- </div>
- </form>
-
- {{#*inline "abilityRow"}}
- {{#if buttons}}
- <div class="abilities">
- {{#each buttons as |state|}}
- <div class="row-column" data-ability="{{state.ability}}" data-stat="{{state.stat}}">
- {{#if flaw}}
- {{> boostButton type="flaw" button=state.flaw}}
- {{/if}}
- {{#if boost}}
- {{> boostButton type="boost" button=state.boost}}
- {{/if}}
- </div>
- {{/each}}
- </div>
- {{else if fallback}}
- <div class="full-row">{{localize fallback}}</div>
- {{/if}}
- {{/inline}}
-
- {{#*inline "boostButton"}}
- {{#if button.second}}
- <div class="flaw-buttons">
- {{> boostButtonSingle button=button type=type number="first"}}
- {{> boostButtonSingle button=button.second type=type number="second"}}
- </div>
- {{else}}
- {{> boostButtonSingle button=button type=type}}
- {{/if}}
-
- {{#*inline "boostButtonSingle"}}
- <button type="button" data-action="{{type}}" class="tooltip boost-button {{type}} {{number}}{{#if button.selected}} selected{{/if}}{{#if button.locked}} locked{{/if}}" {{disabled (and button.disabled (not button.selected))}}>
- {{#if button.locked}}<i class="fas fa-lock"></i>{{/if}}
- {{#if (eq number "second")}}
- x2
- {{else if (eq type "flaw")}}
- {{localize "PF2E.Actor.Character.AbilityBuilder.Flaw"}}
- {{else}}
- {{localize "PF2E.Actor.Character.AbilityBuilder.Boost"}}
- {{/if}}
- </button>
- {{/inline}}
- {{/inline}}
|