mirror of
https://github.com/Foundryborne/daggerheart.git
synced 2026-03-09 20:51:21 +01:00
Merge branch 'development' into feature/1383-Companion-Bonus-Levelups
This commit is contained in:
commit
2fcad0ff25
66 changed files with 1389 additions and 151 deletions
33
templates/dialogs/characterReset.hbs
Normal file
33
templates/dialogs/characterReset.hbs
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
<div>
|
||||
<div class="character-reset-container">
|
||||
<div class="character-reset-header">{{localize "DAGGERHEART.APPLICATIONS.CharacterReset.headerTitle"}}</div>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "DAGGERHEART.APPLICATIONS.CharacterReset.alwaysDeleteSection"}} <i class="fa-solid fa-lock"></i></legend>
|
||||
|
||||
<div class="reset-data-wrapper two-columns even">
|
||||
{{#each this.data.delete as | data key|}}
|
||||
<div class="reset-data-container">
|
||||
<label>{{localize data.label}}</label>
|
||||
<input type="checkbox" {{checked data.keep}} disabled />
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "DAGGERHEART.APPLICATIONS.CharacterReset.optionalDeleteSection"}}</legend>
|
||||
|
||||
<div class="reset-data-wrapper two-columns even">
|
||||
{{#each this.data.optional as | data key|}}
|
||||
<div class="reset-data-container">
|
||||
<label>{{localize data.label}}</label>
|
||||
<input type="checkbox" name="{{concat "data.optional." key ".keep"}}" {{checked data.keep}} />
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<button type="button" data-action="finishSelection">{{localize "Reset"}}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -11,6 +11,11 @@
|
|||
<button type="button" class="control-icon" data-action="sort" data-direction="down" data-tooltip="HUD.ToBack">
|
||||
<img src="{{icons.down}}">
|
||||
</button>
|
||||
{{#if hasCompanion}}
|
||||
<button type="button" class="control-icon clown-car" data-action="toggleCompanions" data-tooltip="{{#if companionOnCanvas}}{{localize "DAGGERHEART.APPLICATIONS.HUD.tokenHUD.retrieveCompanionTokens"}}{{else}}{{localize "DAGGERHEART.APPLICATIONS.HUD.tokenHUD.depositCompanionTokens"}}{{/if}}">
|
||||
<img {{#if companionOnCanvas}}class="flipped"{{/if}} src="{{icons.toggleClowncar}}">
|
||||
</button>
|
||||
{{/if}}
|
||||
|
||||
{{#if canConfigure}}
|
||||
<button type="button" class="control-icon" data-action="config" data-tooltip="HUD.OpenConfig">
|
||||
|
|
@ -76,7 +81,7 @@
|
|||
|
||||
{{#if (eq actorType 'party')}}
|
||||
<button type="button" class="control-icon clown-car" data-action="togglePartyTokens" data-tooltip="{{#if partyOnCanvas}}{{localize "DAGGERHEART.APPLICATIONS.HUD.tokenHUD.retrievePartyTokens"}}{{else}}{{localize "DAGGERHEART.APPLICATIONS.HUD.tokenHUD.depositPartyTokens"}}{{/if}}">
|
||||
<img {{#if partyOnCanvas}}class="flipped"{{/if}} src="{{icons.toggleParty}}">
|
||||
<img {{#if partyOnCanvas}}class="flipped"{{/if}} src="{{icons.toggleClowncar}}">
|
||||
</button>
|
||||
{{/if}}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,11 +9,12 @@
|
|||
</legend>
|
||||
|
||||
{{formGroup settingFields.schema.fields.defeated.fields.enabled value=settingFields._source.defeated.enabled localize=true}}
|
||||
{{formGroup settingFields.schema.fields.defeated.fields.overlay value=settingFields._source.defeated.overlay localize=true}}
|
||||
{{formGroup settingFields.schema.fields.defeated.fields.overlay value=settingFields._source.defeated.overlay localize=true}}
|
||||
{{formGroup settingFields.schema.fields.defeated.fields.characterDefault value=settingFields._source.defeated.characterDefault labelAttr="name" localize=true}}
|
||||
{{formGroup settingFields.schema.fields.defeated.fields.adversaryDefault value=settingFields._source.defeated.adversaryDefault labelAttr="name" localize=true}}
|
||||
{{formGroup settingFields.schema.fields.defeated.fields.companionDefault value=settingFields._source.defeated.companionDefault labelAttr="name" localize=true}}
|
||||
|
||||
{{formGroup settingFields.schema.fields.defeated.fields.deathMoveIcon value=settingFields._source.defeated.deathMoveIcon localize=true}}
|
||||
{{formGroup settingFields.schema.fields.defeated.fields.deadIcon value=settingFields._source.defeated.deadIcon localize=true}}
|
||||
{{formGroup settingFields.schema.fields.defeated.fields.defeatedIcon value=settingFields._source.defeated.defeatedIcon localize=true}}
|
||||
{{formGroup settingFields.schema.fields.defeated.fields.unconsciousIcon value=settingFields._source.defeated.unconsciousIcon localize=true}}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
<legend>
|
||||
{{localize "DAGGERHEART.APPLICATIONS.Downtime.longRest.title"}}
|
||||
<a data-action="addItem" data-type="longRest"><i class="fa-solid fa-plus"></i></a>
|
||||
<a data-action="resetMoves" data-type="longRest"><i class="fa-solid fa-arrow-rotate-left"></i></a>
|
||||
<a data-action="resetDowntimeMoves" data-type="longRest"><i class="fa-solid fa-arrow-rotate-left"></i></a>
|
||||
</legend>
|
||||
|
||||
<div class="form-group setting-group-field">
|
||||
|
|
@ -31,7 +31,7 @@
|
|||
<legend>
|
||||
{{localize "DAGGERHEART.APPLICATIONS.Downtime.shortRest.title"}}
|
||||
<a data-action="addItem" data-type="shortRest"><i class="fa-solid fa-plus"></i></a>
|
||||
<a data-action="resetMoves" data-type="shortRest"><i class="fa-solid fa-arrow-rotate-left"></i></a>
|
||||
<a data-action="resetDowntimeMoves" data-type="shortRest"><i class="fa-solid fa-arrow-rotate-left"></i></a>
|
||||
</legend>
|
||||
|
||||
<div class="form-group setting-group-field">
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
<legend>
|
||||
{{localize "DAGGERHEART.GENERAL.weaponFeatures"}}
|
||||
<a data-action="addItem" data-type="weaponFeatures"><i class="fa-solid fa-plus"></i></a>
|
||||
<a data-action="resetMoves" data-type="weaponFeatures"><i class="fa-solid fa-arrow-rotate-left"></i></a>
|
||||
<a data-action="resetItemFeatures" data-type="weaponFeatures"><i class="fa-solid fa-arrow-rotate-left"></i></a>
|
||||
</legend>
|
||||
|
||||
<div class="settings-items">
|
||||
|
|
@ -22,7 +22,7 @@
|
|||
<legend>
|
||||
{{localize "DAGGERHEART.GENERAL.armorFeatures"}}
|
||||
<a data-action="addItem" data-type="armorFeatures"><i class="fa-solid fa-plus"></i></a>
|
||||
<a data-action="resetMoves" data-type="armorFeatures"><i class="fa-solid fa-arrow-rotate-left"></i></a>
|
||||
<a data-action="resetItemFeatures" data-type="armorFeatures"><i class="fa-solid fa-arrow-rotate-left"></i></a>
|
||||
</legend>
|
||||
|
||||
<div class="settings-items">
|
||||
|
|
|
|||
|
|
@ -11,6 +11,6 @@
|
|||
</fieldset>
|
||||
<fieldset class="action-category">
|
||||
<legend>{{localize "DAGGERHEART.GENERAL.description"}}</legend>
|
||||
{{formInput fields.description value=source.description enriched=source.description name="description" toggled=true }}
|
||||
{{formInput fields.description value=source.description enriched=action.description name="description" toggled=true }}
|
||||
</fieldset>
|
||||
</section>
|
||||
|
|
@ -1,12 +1,12 @@
|
|||
<aside class="character-sidebar-sheet">
|
||||
<div class="portrait {{#if isDeath}}death-roll{{/if}}">
|
||||
<img src="{{document.img}}" alt="{{document.name}}" data-action='editImage' data-edit="img">
|
||||
{{#if document.system.class.subclass.system.spellcastingTrait}}
|
||||
{{#if document.system.spellcastModifierTrait.key}}
|
||||
<div class="icons-list">
|
||||
<span class="spellcast-icon {{#if isDeath}}no-label{{/if}}">
|
||||
<span class="spellcast-label">
|
||||
{{localize "DAGGERHEART.ITEMS.Subclass.spellcastingTrait"}}:
|
||||
{{localize (concat 'DAGGERHEART.CONFIG.Traits.' document.system.class.subclass.system.spellcastingTrait '.short')}}
|
||||
{{localize (concat 'DAGGERHEART.CONFIG.Traits.' document.system.spellcastModifierTrait.key '.short')}}
|
||||
</span>
|
||||
<i class="fa-solid fa-wand-sparkles"></i>
|
||||
</span>
|
||||
|
|
|
|||
20
templates/sheets/rollTable/header.hbs
Normal file
20
templates/sheets/rollTable/header.hbs
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
<header class="sheet-header img-name">
|
||||
<img src="{{source.img}}" data-action="editImage" data-edit="img" alt="{{localize "DOCUMENT.FIELDS.img.label"}}">
|
||||
|
||||
<input type="text" name="name" value="{{source.name}}" placeholder="{{localize "DOCUMENT.FIELDS.name.label"}}" aria-label="{{localize "DOCUMENT.FIELDS.name.label"}}">
|
||||
{{#if usesAltFormula}}
|
||||
<div class="form-group">
|
||||
<label>{{localize "Formula"}}</label>
|
||||
<div class="form-fields">
|
||||
<select class="system-update-field" data-path="activeAltFormula">
|
||||
{{selectOptions this.altFormulaOptions selected=this.activeAltFormula labelAttr="name"}}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<button data-action="changeMode">
|
||||
<i class="fa-solid fa-eye" inert></i>
|
||||
<span>{{localize "TABLE.ACTIONS.ChangeMode.View"}}</span>
|
||||
</button>
|
||||
</header>
|
||||
55
templates/sheets/rollTable/results.hbs
Normal file
55
templates/sheets/rollTable/results.hbs
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
<section class="tab{{#if tab.active}} active{{/if}}" data-group="{{tab.group}}" data-tab="{{tab.id}}">
|
||||
<table class="flexcol" data-results>
|
||||
<thead>
|
||||
<tr class="flexrow">
|
||||
<th class="image flexrow">
|
||||
<button class="inline-control icon fa-solid fa-plus" data-action="createResult"
|
||||
data-tooltip aria-label="{{localize "TABLE.ACTIONS.CreateResult"}}"></button>
|
||||
</th>
|
||||
<th class="details flexrow">{{localize "TABLE_RESULT.Details"}}</th>
|
||||
<th class="weight flexrow">{{localize "TABLE_RESULT.FIELDS.weight.label"}}</th>
|
||||
<th class="range flexrow">{{localize "TABLE_RESULT.FIELDS.range.label"}}</th>
|
||||
<th class="controls flexrow">
|
||||
<button class="inline-control icon fa-solid fa-scale-balanced" data-action="normalizeResults"
|
||||
data-tooltip aria-label="{{localize "TABLE.ACTIONS.NormalizeResults"}}"></button>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="scrollable">
|
||||
{{#each results as |result i|}}
|
||||
<tr class="flexrow{{#if result.drawn}} drawn{{/if}}" data-result-id="{{result.id}}">
|
||||
<td class="image flexrow">
|
||||
<img src="{{result.displayImg}}" data-action="editImage" data-edit="results.{{i}}.img"
|
||||
alt="{{localize "TABLE_RESULT.FIELDS.img.label"}}" loading="lazy">
|
||||
</td>
|
||||
|
||||
<td class="details">
|
||||
{{> "templates/sheets/roll-table/result-details.hbs" result=result}}
|
||||
</td>
|
||||
|
||||
<td class="weight flexrow">
|
||||
<input type="number" name="results.{{i}}.weight" value="{{result.weight}}" placeholder="1">
|
||||
</td>
|
||||
|
||||
<td class="range flexrow">
|
||||
<input type="number" name="results.{{i}}.range.0" value="{{result.range.[0]}}" placeholder="L">
|
||||
<span class="dash">–</span>
|
||||
<input type="number" name="results.{{i}}.range.1" value="{{result.range.[1]}}" placeholder="H">
|
||||
</td>
|
||||
|
||||
<td class="controls flexrow">
|
||||
<button class="inline-control icon fa-solid fa-file-pen" data-action="openResultSheet"
|
||||
data-tooltip aria-label="{{localize "TABLE.ACTIONS.OpenResultConfig"}}"></button>
|
||||
<button class="inline-control icon fa-solid fa-lock{{#unless result.drawn}}-open{{/unless}}"
|
||||
data-action="lockResult"
|
||||
data-tooltip aria-label="{{localize "TABLE.ACTIONS.ToggleDrawn"}}"></button>
|
||||
<button class="inline-control icon fa-solid fa-trash" data-action="deleteResult"
|
||||
data-tooltip aria-label="{{localize "TABLE.ACTIONS.DeleteResult"}}"></button>
|
||||
</td>
|
||||
|
||||
<input type="hidden" name="results.{{i}}._id" value="{{result.id}}">
|
||||
</tr>
|
||||
{{/each}}
|
||||
</tbody>
|
||||
</table>
|
||||
</section>
|
||||
49
templates/sheets/rollTable/sheet.hbs
Normal file
49
templates/sheets/rollTable/sheet.hbs
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
<header class="sheet-header flexrow">
|
||||
<img src="{{document.img}}" alt="{{localize "DOCUMENT.FIELDS.img.label"}}">
|
||||
<h1>{{document.name}}</h1>
|
||||
<div class="roll-table-view-formula-container">
|
||||
{{#if usesAltFormula}}
|
||||
<select class="system-update-field" data-path="activeAltFormula">
|
||||
{{selectOptions this.altFormulaOptions selected=this.activeAltFormula labelAttr="name"}}
|
||||
</select>
|
||||
{{/if}}
|
||||
<h4>{{selectedFormula}}</h4>
|
||||
</div>
|
||||
<button data-action="changeMode">
|
||||
<i class="fa-solid fa-pen" inert></i>
|
||||
<span>{{localize "TABLE.ACTIONS.ChangeMode.Edit"}}</span>
|
||||
</button>
|
||||
</header>
|
||||
|
||||
{{{descriptionHTML}}}
|
||||
|
||||
<table class="flexcol" data-results>
|
||||
<thead>
|
||||
<tr class="flexrow">
|
||||
<th class="image flexrow"></th>
|
||||
<th class="range flexrow">{{localize "TABLE_RESULT.FIELDS.range.label"}}</th>
|
||||
<th class="details flexrow">{{localize "TABLE_RESULT.Details"}}</th>
|
||||
<th class="controls flexrow"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="scrollable">
|
||||
{{#each results as |result i|}}
|
||||
<tr class="flexrow{{#if result.drawn}} drawn{{/if}}" data-result-id="{{result.id}}">
|
||||
<td class="image">
|
||||
<img src="{{result.displayImg}}" alt="{{localize "TABLE_RESULT.FIELDS.img.label"}}" loading="lazy">
|
||||
</td>
|
||||
<td class="range">{{result.range}}</td>
|
||||
<td class="details">
|
||||
{{> "templates/sheets/roll-table/result-details.hbs" result=result}}
|
||||
</td>
|
||||
<td class="controls flexrow">
|
||||
<button class="inline-control icon fa-solid fa-lock{{#unless result.drawn}}-open{{/unless}}"
|
||||
data-action="lockResult"
|
||||
data-tooltip aria-label="{{localize "TABLE.ACTIONS.ToggleDrawn"}}"></button>
|
||||
<button class="inline-control icon fa-solid fa-up-from-bracket" data-action="drawSpecificResult"
|
||||
data-tooltip aria-label="{{localize "TABLE.ACTIONS.DrawSpecificResult"}}"></button>
|
||||
</td>
|
||||
</tr>
|
||||
{{/each}}
|
||||
</tbody>
|
||||
</table>
|
||||
22
templates/sheets/rollTable/summary.hbs
Normal file
22
templates/sheets/rollTable/summary.hbs
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
<section class="tab{{#if tab.active}} active{{/if}}" data-group="{{tab.group}}" data-tab="{{tab.id}}">
|
||||
{{formGroup fields.description value=source.description rootId=rootId}}
|
||||
<fieldset class="formulas-section">
|
||||
<legend>{{localize "DAGGERHEART.ROLLTABLES.formula"}}</legend>
|
||||
|
||||
<div class="formulas-container">
|
||||
<span>{{localize "DAGGERHEART.ROLLTABLES.FIELDS.formulaName.label"}}</span>
|
||||
<span>{{localize "Formula Roll"}}</span>
|
||||
<span></span>
|
||||
<input type="text" value="{{@root.formulaName}}" class="system-update-field" data-path="formulaName" />
|
||||
{{formInput fields.formula value=source.formula placeholder=formulaPlaceholder rootId=rootId}}
|
||||
<button class="formula-button" data-action="addFormula"><i class="fa-solid fa-plus"></i></button>
|
||||
{{#each @root.altFormula as | formula key |}}
|
||||
<input type="text" value="{{formula.name}}" class="system-update-field" data-path="{{concat "altFormula." key ".name"}}" />
|
||||
<input type="text" value="{{formula.formula}}" class="system-update-field" data-path="{{concat "altFormula." key ".formula"}}" />
|
||||
<a class="formula-button" data-action="removeFormula" data-key="{{key}}"><i class="fa-solid fa-trash"></i></a>
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
{{formGroup fields.replacement value=source.replacement rootId=rootId}}
|
||||
{{formGroup fields.displayRoll value=source.displayRoll rootId=rootId}}
|
||||
</section>
|
||||
17
templates/ui/chat/table-result.hbs
Normal file
17
templates/ui/chat/table-result.hbs
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
<div class="table-draw" data-table-id="{{table.id}}">
|
||||
{{#if flavor}}<div class="table-flavor">{{flavor}}</div>{{/if}}
|
||||
|
||||
{{#if description}}
|
||||
<div class="table-description {{#if flavor}}flavor-spaced{{/if}}">{{{description}}}</div>
|
||||
{{/if}}
|
||||
{{{rollHTML}}}
|
||||
|
||||
<ul class="table-results">
|
||||
{{#each results as |result|}}
|
||||
<li class="flexrow" data-result-id="{{result.id}}">
|
||||
<img src="{{result.icon}}">
|
||||
{{{result.details}}}
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
Loading…
Add table
Add a link
Reference in a new issue