148 - Character Setup (#151)

* Added a character setup dialog

* Added optional equipment tab

* Removed temp button to open character setup

* Cleaned up footer from commented code
This commit is contained in:
WBHarry 2025-06-18 20:57:32 +02:00 committed by GitHub
parent a0a5196825
commit f6e077b290
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
20 changed files with 1560 additions and 142 deletions

View file

@ -1,4 +1,7 @@
<div class="component dh-style card-preview-container {{#if (and this.compendium (not this.img))}}selectable{{/if}}" data-action="viewCompendium" data-compendium="{{this.compendium}}" data-path="{{this.path}}" data-limit="{{this.limit}}">
<div
class="component dh-style card-preview-container {{#if (and (not this.disabled) (and this.compendium (not this.img)))}}selectable{{/if}} {{#if this.disabled}}disabled{{/if}}"
{{#if (not disabled)}}data-action="viewCompendium"{{/if}} data-compendium="{{this.compendium}}" data-path="{{this.path}}" data-limit="{{this.limit}}"
>
{{#if this.img}}
<img class="preview-image-container" src="{{this.img}}" />
<div class="preview-text-container">{{this.name}}</div>

View file

@ -3,7 +3,6 @@
data-tab='{{tabs.settings.id}}'
data-group='{{tabs.settings.group}}'
>
<fieldset class="two-columns">
<legend>{{localize tabs.settings.label}}</legend>
<span>{{localize "DAGGERHEART.Tiers.singular"}}</span>

View file

@ -0,0 +1,4 @@
<section class="creation-action-footer">
<button data-action="close">{{localize "Cancel"}}</button>
<button {{#if tabs.setup.finished}}data-action="finish"{{else}}disabled{{/if}}>{{localize "DAGGERHEART.CharacterCreation.FinishCreation"}}</button>
</section>

View file

@ -0,0 +1,13 @@
<section class='tab-navigation'>
<line-div></line-div>
<nav class='feature-tab sheet-tabs tabs' data-group='primary'>
{{#each tabs as |tab|}}
<a class='{{tab.id}} {{tab.cssClass}}' data-action='tab' data-group='{{tab.group}}' data-tab='{{tab.id}}'>
{{localize tab.label}}
<div class="finish-marker {{#if (eq tab.cssClass 'active')}}active{{/if}}">{{#if tab.finished}}<i class="fa-solid fa-check"></i>{{/if}}</div>
{{#if tab.optional}}<div class="descriptor">{{localize "DAGGERHEART.CharacterCreation.Tabs.Optional"}}</div>{{/if}}
</a>
{{/each}}
</nav>
<line-div></line-div>
</section>

View file

@ -0,0 +1,107 @@
<section
class='tab {{tabs.equipment.cssClass}} {{tabs.equipment.id}}'
data-tab='{{tabs.equipment.id}}'
data-group='{{tabs.equipment.group}}'
>
<div class="main-selections-container">
<div class="main-equipment-selection">
<fieldset class="equipment-selection">
<legend>{{localize "DAGGERHEART.CharacterCreation.SuggestedArmor"}}</legend>
<div class="selections-container armor-card">
{{#> "systems/daggerheart/templates/components/card-preview.hbs" armor }}
{{localize "DAGGERHEART.CharacterCreation.SelectArmor"}}
{{/"systems/daggerheart/templates/components/card-preview.hbs"}}
</div>
{{#if armor.suggestion}}
<fieldset class="suggestion-container">
<legend>{{armor.suggestion.name}}</legend>
<div class="suggestion-inner-container {{#if armor.suggestion.taken}}taken{{/if}}" data-action="viewItem" data-uuid="{{armor.suggestion.uuid}}">
<img src="{{armor.suggestion.img}}" />
</div>
</fieldset>
{{/if}}
</fieldset>
<fieldset class="equipment-selection">
<legend>{{localize "DAGGERHEART.CharacterCreation.SuggestedWeapons"}}</legend>
<div class="equipment-subsection">
<div class="equipment-wrapper">
<div class="selections-container primary-weapon-card">
{{#> "systems/daggerheart/templates/components/card-preview.hbs" primaryWeapon }}
{{localize "DAGGERHEART.CharacterCreation.SelectPrimaryWeapon"}}
{{/"systems/daggerheart/templates/components/card-preview.hbs"}}
</div>
{{#if primaryWeapon.suggestion}}
<fieldset class="suggestion-container">
<legend>{{primaryWeapon.suggestion.name}}</legend>
<div class="suggestion-inner-container {{#if primaryWeapon.suggestion.taken}}taken{{/if}}" data-action="viewItem" data-uuid="{{primaryWeapon.suggestion.uuid}}">
<img src="{{primaryWeapon.suggestion.img}}" />
</div>
</fieldset>
{{/if}}
</div>
<div class="equipment-wrapper">
<div class="selections-container secondary-weapon-card">
{{#> "systems/daggerheart/templates/components/card-preview.hbs" secondaryWeapon }}
{{localize "DAGGERHEART.CharacterCreation.SelectSecondaryWeapon"}}
{{/"systems/daggerheart/templates/components/card-preview.hbs"}}
</div>
{{#if secondaryWeapon.suggestion}}
<fieldset class="suggestion-container">
<legend>{{secondaryWeapon.suggestion.name}}</legend>
<div
class="suggestion-inner-container {{#if secondaryWeapon.suggestion.taken}}taken{{/if}}"
data-action="viewItem" data-uuid="{{secondaryWeapon.suggestion.uuid}}"
>
<img src="{{secondaryWeapon.suggestion.img}}" />
</div>
</fieldset>
{{/if}}
</div>
</div>
</fieldset>
</div>
<div class="main-equipment-selection triple">
<fieldset class="equipment-selection">
<legend>{{localize "DAGGERHEART.CharacterCreation.StartingItems"}}</legend>
<div class="simple-equipment-container">
{{#each inventory.take}}
<div class="simple-equipment">
<label>{{this.name}}</label>
<img src="{{this.img}}" />
</div>
{{/each}}
</div>
</fieldset>
<fieldset class="equipment-selection">
<legend>{{localize "DAGGERHEART.CharacterCreation.Choice"}}</legend>
<div class="simple-equipment-container">
{{#each inventory.choiceA.suggestions}}
<div class="simple-equipment selectable {{#if (not this.selected)}}inactive{{/if}}" data-action="equipmentChoice" data-path="choiceA" data-uuid="{{this.uuid}}">
<label>{{this.name}}</label>
<img src="{{this.img}}" />
</div>
{{/each}}
</div>
</fieldset>
<fieldset class="equipment-selection">
<legend>{{localize "DAGGERHEART.CharacterCreation.Choice"}}</legend>
<div class="simple-equipment-container">
{{#each inventory.choiceB.suggestions}}
<div class="simple-equipment selectable {{#if (not this.selected)}}inactive{{/if}}" data-action="equipmentChoice" data-path="choiceB" data-uuid="{{this.uuid}}" >
<label>{{this.name}}</label>
<img src="{{this.img}}" />
</div>
{{/each}}
</div>
</fieldset>
</div>
</div>
</section>

View file

@ -0,0 +1,101 @@
<section
class='tab {{tabs.setup.cssClass}} {{tabs.setup.id}}'
data-tab='{{tabs.setup.id}}'
data-group='{{tabs.setup.group}}'
>
<div class="main-selections-container">
<fieldset class="section-container">
<legend>{{localize "TYPES.Item.class"}}</legend>
<div class="selections-outer-container">
<div class="selections-container class-card">
{{#> "systems/daggerheart/templates/components/card-preview.hbs" class }}
{{localize "DAGGERHEART.CharacterCreation.SelectClass"}}
{{/"systems/daggerheart/templates/components/card-preview.hbs"}}
</div>
<div class="selections-container subclass-card">
{{#> "systems/daggerheart/templates/components/card-preview.hbs" subclass disabled=(not class.img) }}
{{localize "DAGGERHEART.CharacterCreation.SelectSubclass"}}
{{/"systems/daggerheart/templates/components/card-preview.hbs"}}
</div>
</div>
</fieldset>
{{#if (gte visibility 2)}}
<fieldset class="section-container">
<legend>{{localize "DAGGERHEART.CharacterCreation.Heritage"}}</legend>
<div class="selections-outer-container">
<div class="selections-container ancestry-card">
{{#> "systems/daggerheart/templates/components/card-preview.hbs" ancestry }}
{{localize "DAGGERHEART.CharacterCreation.SelectAncestry"}}
{{/"systems/daggerheart/templates/components/card-preview.hbs"}}
</div>
<div class="selections-container community-card">
{{#> "systems/daggerheart/templates/components/card-preview.hbs" community }}
{{localize "DAGGERHEART.CharacterCreation.SelectCommunity"}}
{{/"systems/daggerheart/templates/components/card-preview.hbs"}}
</div>
</div>
</fieldset>
{{/if}}
{{#if (gte visibility 3)}}
<fieldset class="section-container">
<legend>{{localize "DAGGERHEART.CharacterCreation.TraitIncreases"}} {{traits.nrSelected}}/{{traits.nrTotal}}</legend>
<div class="traits-container">
<fieldset class="section-inner-container">
<legend>{{localize "DAGGERHEART.CharacterCreation.SuggestedTraits"}}</legend>
<div class="suggested-traits-container">
{{#each suggestedTraits}}
<div class="suggested-trait-container">{{this}}</div>
{{/each}}
</div>
<button class="action-button" data-action="useSuggestedTraits">{{localize "Use"}}</button>
</fieldset>
<div class="traits-inner-container">
{{#each traits.values}}
<div class="trait-container">
<div>{{this.name}}</div>
<select name="{{concat "traits." this.key ".value"}}" data-dtype="Number">
{{selectOptions this.options selected=this.value valueAttr="key" labelAttr="value" blank=""}}
</select>
</div>
{{/each}}
</div>
</div>
</fieldset>
{{/if}}
{{#if (gte visibility 4)}}
<fieldset class="section-container">
<legend>{{localize "DAGGERHEART.CharacterCreation.InitialExperiences"}} {{experience.nrSelected}}/{{experience.nrTotal}}</legend>
<div class="experiences-inner-container">
{{#each experience.values as |experience id|}}
<div class="experience-container">
<input class="experience-description" type="text" name="{{concat "experiences." id ".description" }}" value="{{experience.description}}" placeholder="{{localize "DAGGERHEART.CharacterCreation.NewExperience"}}" />
<div class="experience-value">{{signedNumber this.value}}</div>
</div>
{{/each}}
</div>
</fieldset>
{{/if}}
{{#if (gte visibility 5)}}
<fieldset class="section-container">
<legend>{{localize "TYPES.Item.domainCard"}}</legend>
<div class="selections-outer-container">
{{#each domainCards as |domainCard id|}}
<div class="selections-container domain-card" data-card="{{id}}">
{{#> "systems/daggerheart/templates/components/card-preview.hbs" domainCard }}
{{#each @root.class.system.domains }}
<div>{{localize (concat "DAGGERHEART.Domains." this ".label")}}</div>
{{/each}}
{{/"systems/daggerheart/templates/components/card-preview.hbs"}}
</div>
{{/each}}
</div>
</fieldset>
{{/if}}
</div>
</section>

View file

@ -0,0 +1,9 @@
<section
class='tab {{tabs.story.cssClass}} {{tabs.story.id}}'
data-tab='{{tabs.story.id}}'
data-group='{{tabs.story.group}}'
>
<div>
Story
</div>
</section>