|
|
- <form autocomplete="off" data-tooltip-class="pf2e">
- <div class="attribute-rows">
- <header class="row{{#if manual}} not-eligible{{/if}}">
- <div class="row-heading">
- <h3>{{localize "PF2E.Actor.Character.AttributeBuilder.Title"}}</h3>
- </div>
- <div class="attributes">
- {{#each attributeModifiers as |attribute 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 src="{{ancestry.img}}" alt="{{ancestry.name}}" loading="lazy" />
- <div class="label">
- <div class="title">{{localize "TYPES.Item.ancestry"}}</div>
- <div class="description" data-tooltip-content="#{{actor.id}}-ancestry-tooltip">{{ancestry.name}}</div>
- <label class="extra">
- {{localize "PF2E.Actor.Character.AttributeBuilder.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 "TYPES.Item.ancestry"}}</div>
- <div class="description">{{localize "PF2E.Actor.Character.AttributeBuilder.NotSelected"}}</div>
- </div>
- </div>
- {{/if}}
-
- {{> attributeRow buttons=ancestryBoosts.buttons fallback="PF2E.Actor.Character.AttributeBuilder.AncestryMissingHelp"}}
-
- <div class="hover-content" id="{{actor.id}}-ancestry-tooltip">
- <h2>{{localize "PF2E.Actor.Character.AttributeBuilder.Boosts"}}</h2>
- <ul class="boost-details">
- {{#each ancestryBoosts.labels as |boost|}}
- <li><i class="fa-solid fa-circle"></i>{{boost}}</li>
- {{/each}}
- </ul>
- <h2>{{localize "PF2E.Actor.Character.AttributeBuilder.Flaws"}}</h2>
- <ul class="boost-details">
- {{#each ancestryBoosts.flawLabels as |flaw|}}
- <li><i class="fa-solid fa-circle"></i>{{flaw}}</li>
- {{/each}}
- </ul>
- </div>
- </section>
-
- <!-- ANCESTRY VOLUNTARY FLAWS -->
- <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="PF2E.Actor.Character.AttributeBuilder.VoluntaryFlaw.Description">
- {{localize "PF2E.Actor.Character.AttributeBuilder.VoluntaryFlaw.Title"}}
- </div>
- <label class="extra" data-tooltip="PF2E.Actor.Character.AttributeBuilder.VoluntaryFlaw.LegacyDescription">
- {{localize "PF2E.Actor.Character.AttributeBuilder.LegacyFlaws"}} <i class="fa-solid fa-info-circle small"></i>
- <input type="checkbox" data-action="toggle-legacy-voluntary-flaw" {{checked legacyFlaws}}>
- </label>
- </div>
- </div>
- {{> attributeRow buttons=voluntaryFlaws.buttons}}
- {{/if}}
- </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 src="{{background.img}}" alt="{{background.name}}" 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 "TYPES.Item.background"}}</div>
- <div class="description">{{localize "PF2E.Actor.Character.AttributeBuilder.NotSelected"}}</div>
- </div>
- </div>
- {{/if}}
-
- {{> attributeRow buttons=backgroundBoosts.buttons fallback="PF2E.Actor.Character.AttributeBuilder.BackgroundMissingHelp"}}
-
- <div class="hover-content" id="{{actor.id}}-background-tooltip">
- {{#if backgroundBoosts.tooltip}}
- {{backgroundBoosts.tooltip}}
- {{else}}
- <h2>{{localize "PF2E.Actor.Character.AttributeBuilder.Boosts"}}</h2>
- <ul class="boost-details">
- {{#each backgroundBoosts.labels as |boost|}}
- {{#if boost}}
- <li><i class="fa-solid 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 src="{{class.img}}" alt="{{class.name}}" loading="lazy" />
- <div>
- <div class="title">{{localize "TYPES.Item.class"}}</div>
- <div class="description">{{class.name}}</div>
- </div>
- </div>
- <div class="attributes">
- {{#each attributes as |key attribute|}}
- <div class="row-column">
- <button type="button" data-action="class-key-attribute" data-key="{{key}}" data-attribute="{{attribute}}"
- class="boost key-attribute
- {{~#if (not (includes ../keyOptions attribute))}} hidden{{/if}}
- {{~#if (eq ../class.system.keyAbility.selected attribute)}} selected{{/if}}
- {{~#if ../manual}} hidden{{/if}}"
- >
- <i class="fa-solid fa-fw fa-key key-attribute"></i>
- <span>{{localize "PF2E.Actor.Character.AttributeBuilder.KeyIcon"}}</span>
- </button>
- </div>
- {{/each}}
- </div>
- {{else}}
- <div class="row-heading">
- <div class="label">
- <div class="title">{{localize "TYPES.Item.class"}}</div>
- <div class="description">{{localize "PF2E.Actor.Character.AttributeBuilder.NotSelected"}}</div>
- </div>
- </div>
- <div class="full-row">{{localize "PF2E.Actor.Character.AttributeBuilder.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}}"
- {{#if boosts.isApex}}data-section="apex"{{else}}data-level="{{boosts.level}}"{{/if~}}
- >
- <div class="row-heading">
- {{#if remaining}}<div class="remaining extra">{{remaining}}</div>{{/if}}
- <div class="label">
- <div class="description">
- {{~#if (eq boosts.level 17)~}}
- {{localize "PF2E.TraitApex"}}
- {{~else 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>
- {{> attributeRow buttons=boosts.buttons isApex=boosts.isApex}}
- </section>
- {{/each}}
-
- <section class="row summary-row">
- <div class="row-heading">
- <aside class="hint-container">
- <h3>{{localize "PF2E.Actor.Character.AttributeBuilder.InputMethod.Title"}}</h3>
- <p>{{localize "PF2E.Actor.Character.AttributeBuilder.InputMethod.Description"}}</p>
- <label>
- <input type="checkbox" name="toggle-manual-mode"{{checked manual}}>
- {{localize "PF2E.Actor.Character.AttributeBuilder.InputMethod.Manual"}}
- </label>
- </aside>
- </div>
- <div class="attributes">
- {{#each attributeModifiers as |attribute key|}}
- <div class="row-column">
- {{#if ../manual}}
- <button type="button" data-action="class-key-attribute" data-key="{{lookup ../attributes key}}" data-attribute="{{key}}"
- class="boost{{#if (eq ../manualKeyAttribute key)}} selected{{/if}}"
- tabindex="-1"
- >
- <i class="fa-solid fa-fw fa-key"></i>
- <span>{{localize "PF2E.Actor.Character.AttributeBuilder.KeyIcon"}}</span>
- </button>
- <input type="text" data-property="system.abilities.{{key}}.mod" name="system.abilities.{{key}}.mod" value="{{attribute.mod}}" data-dtype="Number" placeholder="0" step="0.5">
- {{else}}
- <button type="button" class="boost hidden"></button>
- <div class="value">{{attribute.mod}}</div>
- {{/if}}
- <h4>{{localize attribute.label}}</h4>
- </div>
- {{/each}}
- <button class="complete" type="button" data-action="close">{{localize "PF2E.Actor.Character.AttributeBuilder.Complete"}}</button>
- </div>
- </section>
- </div>
-
- <div class="row background-stripes">
- <div class="row-heading"></div>
- <div class="attributes">
- <div></div>
- <div></div>
- <div></div>
- <div></div>
- <div></div>
- <div></div>
- </div>
- </div>
- </form>
-
- {{#*inline "attributeRow"}}
- {{#if buttons}}
- <div class="attributes">
- {{#each buttons as |state|}}
- <div class="row-column">
- {{#if ../isApex}}
- {{> boostButton type="apex" attribute=state.ability button=state.boost}}
- {{else}}
- {{#if flaw}}
- {{> boostButton type="flaw" attribute=state.ability button=state.flaw}}
- {{/if}}
- {{#if boost}}
- {{> boostButton type="boost" attribute=state.ability button=state.boost}}
- {{/if}}
- {{/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-attribute="{{attribute}}"
- data-action="{{type}}"
- class="boost-button {{type}} {{number}}{{#if button.selected}} selected{{#if button.partial}} partial{{/if}}{{/if}}{{#if button.locked}} locked{{/if}}"
- {{disabled (and button.disabled (not button.selected))}}
- >
- {{#if button.locked}}<i class="fa-solid fa-lock"></i>{{/if}}
- {{#if (eq number "second")}}
- <span>x2</span>
- {{else if (eq type "flaw")}}
- <span>{{localize "PF2E.Actor.Character.AttributeBuilder.Flaw"}}</span>
- {{else}}
- <span>
- {{~#if button.partial~}}
- {{localize "PF2E.Actor.Character.AttributeBuilder.Partial"}}
- {{~else if (eq type "apex")~}}
- {{localize "PF2E.Actor.Character.AttributeBuilder.Increase"}}
- {{~else~}}
- {{localize "PF2E.Actor.Character.AttributeBuilder.Boost"}}
- {{~/if~}}
- </span>
- {{/if}}
- </button>
- {{/inline}}
- {{/inline}}
|