update ActorSheet to ActorSheetV2 and do a general cleanup pass
move editable-input partial into its own file so it doesn't have to be copy-pasted everywhere change css to use nesting
This commit is contained in:
parent
2f9410180c
commit
6aa65be7a0
@ -1,52 +1,18 @@
|
|||||||
{{#*inline "editable-input"}}
|
|
||||||
<div class="editable-input editable-{{type}}">
|
|
||||||
{{#if @root.editable}}
|
|
||||||
<input type="{{type}}" name="{{name}}" value="{{value}}" placeholder="{{placeholder}}">
|
|
||||||
{{else}}
|
|
||||||
<div>
|
|
||||||
{{value}}
|
|
||||||
{{#unless value}}{{placeholder}}{{/unless}}
|
|
||||||
</div>
|
|
||||||
{{/if}}
|
|
||||||
|
|
||||||
{{#if placeholder}}
|
|
||||||
<div class="placeholder">{{placeholder}}</div>
|
|
||||||
{{/if}}
|
|
||||||
</div>
|
|
||||||
{{/inline}}
|
|
||||||
|
|
||||||
{{#*inline "editable-checkbox"}}
|
|
||||||
<div class="editable-input editable-checkbox">
|
|
||||||
{{#if @root.editable}}
|
|
||||||
<input type="checkbox" name="{{name}}" {{checked value}}>
|
|
||||||
{{else}}
|
|
||||||
<div>
|
|
||||||
{{value}}
|
|
||||||
{{#unless value}}{{placeholder}}{{/unless}}
|
|
||||||
</div>
|
|
||||||
{{/if}}
|
|
||||||
|
|
||||||
{{#if placeholder}}
|
|
||||||
<div class="placeholder">{{placeholder}}</div>
|
|
||||||
{{/if}}
|
|
||||||
</div>
|
|
||||||
{{/inline}}
|
|
||||||
|
|
||||||
{{#*inline "die-type"}}
|
{{#*inline "die-type"}}
|
||||||
<div class="center die die-{{type}}">{{localize (concat "DSA41.attributes.short." type)}}</div>
|
<div class="center die die-{{type}}">{{localize (concat "DSA41.attributes.short." type)}}</div>
|
||||||
{{/inline}}
|
{{/inline}}
|
||||||
|
|
||||||
{{#*inline "die-value"}}
|
{{#*inline "die-value"}}
|
||||||
<div class="col noflex">
|
<div class="col noflex center">
|
||||||
{{#if header}}<div class="center">{{header}}</div>{{/if}}
|
{{#if header}}<div class="center">{{header}}</div>{{/if}}
|
||||||
<div class="die die-{{type}} roll" data-roll-type="{{type}}" {{#if value}}data-success-value="{{value}}"{{/if}} {{#if data-roll}}data-roll="{{data-roll}}"{{/if}} {{#if data-tooltip}}data-tooltip="{{data-tooltip}}"{{/if}}>
|
<div class="die die-{{type}}" data-action="roll" data-roll-type="{{type}}" {{#if success-value}}data-success-value="{{success-value}}"{{/if}} {{#if data-roll}}data-roll="{{data-roll}}"{{/if}} {{#if data-tooltip}}data-tooltip='{{> (lookup . "data-tooltip")}}'{{/if}}>
|
||||||
<div><svg viewbox="0 0 64 64"><use href="/systems/dsa-4th-edition/src/Assets/d20.svg#d20"></use></svg></div>
|
<div><svg viewbox="0 0 64 64"><use href="/systems/dsa-4th-edition/src/Assets/d20.svg#d20"></use></svg></div>
|
||||||
<div>{{{value}}}</div>
|
<div>{{{value}}}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{/inline}}
|
{{/inline}}
|
||||||
|
|
||||||
<form class="actor-sheet {{ cssClass }}" autocomplete="off">
|
<div class="actor-sheet ActorSheet">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
{{>editable-input type="text" name="name" value=actor.name placeholder=(localize "DSA41.name")}}
|
{{>editable-input type="text" name="name" value=actor.name placeholder=(localize "DSA41.name")}}
|
||||||
{{>editable-input type="text" name="system.race" value=actor.system.race placeholder=(localize "DSA41.race")}}
|
{{>editable-input type="text" name="system.race" value=actor.system.race placeholder=(localize "DSA41.race")}}
|
||||||
@ -57,150 +23,129 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<img class="character-image" src="{{ actor.img }}" title="{{ actor.name }}" {{#if editable}}data-edit="img"{{/if}}>
|
<img class="character-image" src="{{ actor.img }}" title="{{ actor.name }}" {{#if editable}}data-edit="img"{{/if}}>
|
||||||
{{#each actor.system.attributes}}
|
{{#each actor.system.attributes}}
|
||||||
{{>die-value type=@key header=(localize (concat "DSA41.attributes.short." @key)) value=(lookup @root.actor.system.computed.attributes @key)data-roll="1d20" data-tooltip=(lookup @root.tooltips.attributes @key)}}
|
{{>die-value type=@key header=(localize (concat "DSA41.attributes.short." @key)) value=(lookup @root.actor.system.computed.attributes @key) success-value=(lookup @root.actor.system.computed.attributes @key) data-roll="1d20" data-tooltip="attribute_tooltip"}}
|
||||||
{{/each}}
|
{{/each}}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<nav class="tabs" data-group="primary">
|
<nav class="tabs">
|
||||||
<div class="row noflex">
|
<div class="row noflex {{#if (eq tabGroups.primary 'tab1')}}active{{/if}}" data-group="primary" data-tab="tab1">
|
||||||
<a data-tab="tab1">{{localize "DSA41.character.eigenschaften"}}</a>
|
<a data-group="primary" data-tab="tab1" data-action="tab">{{localize "DSA41.character.eigenschaften"}}</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="row noflex">
|
<div class="row noflex {{#if (eq tabGroups.primary 'tab2')}}active{{/if}}" data-group="primary" data-tab="tab2">
|
||||||
<a data-tab="tab2">{{localize "DSA41.character.talente"}}</a>
|
<a data-group="primary" data-tab="tab2" data-action="tab">{{localize "DSA41.character.talente"}}</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="row noflex">
|
<div class="row noflex {{#if (eq tabGroups.primary 'tab3')}}active{{/if}}" data-group="primary" data-tab="tab3">
|
||||||
<a data-tab="tab3">{{localize "DSA41.character.inventar"}}</a>
|
<a data-group="primary" data-tab="tab3" data-action="tab">{{localize "DSA41.character.inventar"}}</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="row noflex">
|
<div class="row noflex {{#if (eq tabGroups.primary 'tab4')}}active{{/if}}" data-group="primary" data-tab="tab4">
|
||||||
<a data-tab="tab4">{{localize "DSA41.character.kampf"}}</a>
|
<a data-group="primary" data-tab="tab4" data-action="tab">{{localize "DSA41.character.kampf"}}</a>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
<section class="content">
|
<div class="tab {{#if (eq tabGroups.primary 'tab1')}}active{{/if}}" data-group="primary" data-tab="tab1">
|
||||||
<div class="tab" data-group="primary" data-tab="tab1">
|
|
||||||
<div class="row">
|
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>{{localize "DSA41.attributes.label"}}</legend>
|
<legend>{{localize "DSA41.attributes.label"}}</legend>
|
||||||
<table>
|
<div class="Eigenschaften">
|
||||||
<tr>
|
<span></span>
|
||||||
<th></th>
|
|
||||||
{{#each actor.system.attributes}}
|
{{#each actor.system.attributes}}
|
||||||
<th>{{localize (concat "DSA41.attributes.short." @key)}}</th>
|
<span class="center">{{localize (concat "DSA41.attributes.short." @key)}}</span>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</tr>
|
|
||||||
<tr>
|
<span>{{localize "DSA41.attributes.initial"}}</span>
|
||||||
<td>{{localize "DSA41.attributes.initial"}}</td>
|
|
||||||
{{#each actor.system.attributes}}
|
{{#each actor.system.attributes}}
|
||||||
<td>{{>editable-input type="number" name=(concat "system.attributes." @key ".initial") value=(lookup this "initial")}}</td>
|
{{>editable-input type="number" name=(concat "system.attributes." @key ".initial") value=(lookup this "initial")}}
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</tr>
|
|
||||||
<tr>
|
<span>{{localize "DSA41.attributes.advancement"}}</span>
|
||||||
<td>{{localize "DSA41.attributes.advancement"}}</td>
|
|
||||||
{{#each actor.system.attributes}}
|
{{#each actor.system.attributes}}
|
||||||
<td>{{>editable-input type="number" name=(concat "system.attributes." @key ".advancement") value=(lookup this "advancement")}}</td>
|
{{>editable-input type="number" name=(concat "system.attributes." @key ".advancement") value=(lookup this "advancement")}}
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</tr>
|
|
||||||
<tr>
|
<span>{{localize "DSA41.attributes.modifier"}}</span>
|
||||||
<td>{{localize "DSA41.attributes.modifier"}}</td>
|
|
||||||
{{#each actor.system.attributes}}
|
{{#each actor.system.attributes}}
|
||||||
<td>{{>editable-input type="number" name=(concat "system.attributes." @key ".modifier") value=(lookup this "modifier")}}</td>
|
<span>{{>editable-input type="number" name=(concat "system.attributes." @key ".modifier") value=(lookup this "modifier")}}</span>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
</div>
|
||||||
<table>
|
</fieldset>
|
||||||
<tr>
|
<div class="Basiswerte">
|
||||||
<td>Lebenspunkte</td>
|
<span>Lebenspunkte</span>
|
||||||
<td>{{actor.system.computed.max_lebenspunkte}}</td>
|
<span>{{actor.system.computed.max_lebenspunkte}}</span>
|
||||||
<td>Ausdauer</td>
|
<span>Ausdauer</span>
|
||||||
<td>{{actor.system.computed.max_ausdauer}}</td>
|
<span>{{actor.system.computed.max_ausdauer}}</span>
|
||||||
</tr>
|
|
||||||
<tr>
|
<span>Astralenergie</span>
|
||||||
<td>Astralenergie</td>
|
<span>{{actor.system.computed.max_atralenergie}}</span>
|
||||||
<td>{{actor.system.computed.max_atralenergie}}</td>
|
<span>Magieresistenz</span>
|
||||||
<td>Magieresistenz</td>
|
<span>{{actor.system.computed.magieresistenz}}</span>
|
||||||
<td>{{actor.system.computed.magieresistenz}}</td>
|
|
||||||
</tr>
|
<span>INI-Basiswert</span>
|
||||||
<tr>
|
<span>{{actor.system.computed.ini_basiswert}}</span>
|
||||||
<td>INI-Basiswert</td>
|
<span>AT-Basiswert</span>
|
||||||
<td>{{actor.system.computed.ini_basiswert}}</td>
|
<span>{{actor.system.computed.at_basiswert}}</span>
|
||||||
<td>AT-Basiswert</td>
|
|
||||||
<td>{{actor.system.computed.at_basiswert}}</td>
|
<span>PA-Basiswert</span>
|
||||||
</tr>
|
<span>{{actor.system.computed.pa_basiswert}}</span>
|
||||||
<tr>
|
<span>FK-Basiswert</span>
|
||||||
<td>PA-Basiswert</td>
|
<span>{{actor.system.computed.fk_basiswert}}</span>
|
||||||
<td>{{actor.system.computed.pa_basiswert}}</td>
|
</div>
|
||||||
<td>FK-Basiswert</td>
|
|
||||||
<td>{{actor.system.computed.fk_basiswert}}</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tab" data-group="primary" data-tab="tab2">
|
<div class="tab {{#if (eq tabGroups.primary 'tab2')}}active{{/if}}" data-group="primary" data-tab="tab2">
|
||||||
<div class="row">
|
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>{{localize "DSA41.talente.kampf.label"}}</legend>
|
<legend>{{localize "DSA41.talente.kampf.label"}}</legend>
|
||||||
<table>
|
<div class="Kampftalente">
|
||||||
<tr>
|
<span class="center">{{localize "DSA41.talente.label"}}</span>
|
||||||
<th>{{localize "DSA41.talente.label"}}</th>
|
<span class="center">{{localize "DSA41.talente.label_talentwert"}}</span>
|
||||||
<th>{{localize "DSA41.talente.label_talentwert"}}</th>
|
<span class="center">{{localize "DSA41.talente.kampf.label_attacke"}}</span>
|
||||||
<th>{{localize "DSA41.talente.kampf.label_attacke"}}</th>
|
<span class="center">{{localize "DSA41.talente.kampf.label_parade"}}</span>
|
||||||
<th>{{localize "DSA41.talente.kampf.label_parade"}}</th>
|
<span class="center">{{localize "DSA41.talente.kampf.label_attacke_total"}}</span>
|
||||||
<th>{{localize "DSA41.talente.kampf.label_attacke_total"}}</th>
|
<span class="center">{{localize "DSA41.talente.kampf.label_parade_total"}}</span>
|
||||||
<th>{{localize "DSA41.talente.kampf.label_parade_total"}}</th>
|
|
||||||
</tr>
|
|
||||||
{{#each actor.system.kampf_talente}}
|
{{#each actor.system.kampf_talente}}
|
||||||
<tr>
|
<span>{{localize (concat "DSA41.talente.kampf.name." @key)}}</span>
|
||||||
<td>{{localize (concat "DSA41.talente.kampf.name." @key)}}</td>
|
<span>{{>editable-input type="number" name=(concat "system.kampf_talente." @key ".talentwert") value=(lookup this "talentwert")}}</span>
|
||||||
<td>{{>editable-input type="number" name=(concat "system.kampf_talente." @key ".talentwert") value=(lookup this "talentwert")}}</td>
|
<span>{{>editable-input type="number" name=(concat "system.kampf_talente." @key ".attacke") value=(lookup this "attacke")}}</span>
|
||||||
<td>{{>editable-input type="number" name=(concat "system.kampf_talente." @key ".attacke") value=(lookup this "attacke")}}</td>
|
<span>{{>editable-input type="number" name=(concat "system.kampf_talente." @key ".parade") value=(lookup this "parade")}}</span>
|
||||||
<td>{{>editable-input type="number" name=(concat "system.kampf_talente." @key ".parade") value=(lookup this "parade")}}</td>
|
<span class="center">{{lookup (lookup @root.actor.system.computed.kampf.talente @key) "attacke"}}</span>
|
||||||
<td class="center">{{lookup (lookup @root.actor.system.computed.kampf.talente @key) "attacke"}}</td>
|
<span class="center">{{lookup (lookup @root.actor.system.computed.kampf.talente @key) "parade"}}</span>
|
||||||
<td class="center">{{lookup (lookup @root.actor.system.computed.kampf.talente @key) "parade"}}</td>
|
|
||||||
</tr>
|
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</table>
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
</div>
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
{{#each actor.system.talente}}
|
{{#each actor.system.talente}}
|
||||||
<div class="row">
|
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>{{localize (concat "DSA41.talente." @key ".label")}}</legend>
|
<legend>{{localize (concat "DSA41.talente." @key ".label")}}</legend>
|
||||||
<table>
|
<div class="Talente">
|
||||||
<tr>
|
<span class="center">{{localize "DSA41.talente.label"}}</span>
|
||||||
<th>{{localize "DSA41.talente.label"}}</th>
|
<span class="center">{{localize "DSA41.talente.label_eigenschaften"}}</span>
|
||||||
<th>{{localize "DSA41.talente.label_eigenschaften"}}</th>
|
<span class="center">{{localize "DSA41.talente.label_talentwert"}}</span>
|
||||||
<th>{{localize "DSA41.talente.label_talentwert"}}</th>
|
|
||||||
</tr>
|
|
||||||
{{#each @this}}
|
{{#each @this}}
|
||||||
<tr>
|
<span>{{localize (concat "DSA41.talente." @../key ".name." @key)}}</span>
|
||||||
<td>{{localize (concat "DSA41.talente." @../key ".name." @key)}}</td>
|
<span></span>
|
||||||
<td></td>
|
<span>{{>editable-input type="number" name=(concat "system.talente." @../key "." @key) value=@this}}</span>
|
||||||
<td>{{>editable-input type="number" name=(concat "system.talente." @../key "." @key) value=@this}}</td>
|
|
||||||
</tr>
|
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</table>
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
</div>
|
||||||
|
</fieldset>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tab" data-group="primary" data-tab="tab3">
|
<div class="tab {{#if (eq tabGroups.primary 'tab3')}}active{{/if}}" data-group="primary" data-tab="tab3">
|
||||||
<div class="col inventar">
|
<div class="list Bewaffnung subgrid-columns">
|
||||||
<div class="col list">
|
<div class="list-header">
|
||||||
<div class="row list-header">
|
<div>{{localize "DSA41.inventar.bewaffnung"}}</div>
|
||||||
<div class="row">{{localize "DSA41.inventar.bewaffnung"}}</div>
|
<div></div>
|
||||||
<div>{{localize "DSA41.weight"}}</div>
|
<div class="center">{{localize "DSA41.weight"}}</div>
|
||||||
|
<div></div>
|
||||||
</div>
|
</div>
|
||||||
{{#each actor.itemTypes.Bewaffnung}}
|
{{#each actor.itemTypes.Bewaffnung}}
|
||||||
<div class="row list-item" data-item-id="{{this._id}}">
|
<div class="list-item" data-item-id="{{this._id}}">
|
||||||
<div class="row item-name item-open">
|
<div class="item-name row" data-action="item-open">
|
||||||
<img class="item-image" src="{{this.img}}" title="{{this.name}}">
|
<img class="item-image" src="{{this.img}}" title="{{this.name}}">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<span>{{this.name}}</span>
|
<span>{{this.name}}</span>
|
||||||
<span class="item-sub">
|
<span class="small">
|
||||||
{{#if this.system.nahkampfwaffe.aktiv}} Nahkampfwaffe {{/if}}
|
{{#if this.system.nahkampfwaffe.aktiv}} Nahkampfwaffe {{/if}}
|
||||||
{{#if this.system.parierwaffe.aktiv}} Parierwaffe {{/if}}
|
{{#if this.system.parierwaffe.aktiv}} Parierwaffe {{/if}}
|
||||||
{{#if this.system.schild.aktiv}} Schild {{/if}}
|
{{#if this.system.schild.aktiv}} Schild {{/if}}
|
||||||
@ -208,77 +153,78 @@
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row"></div>
|
<div></div>
|
||||||
<div class="center">{{this.system.gewicht}}</div>
|
<div class="center">{{this.system.gewicht}}</div>
|
||||||
<div class="center fas fa-trash item-delete"></div>
|
<div class="center fas fa-trash" data-action="item-delete"></div>
|
||||||
</div>
|
</div>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col list">
|
<div class="list Ruestung subgrid-columns">
|
||||||
<div class="row list-header">
|
<div class="list-header">
|
||||||
<div class="row">{{localize "DSA41.inventar.ruestungen"}}</div>
|
<div class="row">{{localize "DSA41.inventar.ruestungen"}}</div>
|
||||||
<div>{{localize "DSA41.weight"}}</div>
|
<div></div>
|
||||||
|
<div class="center">{{localize "DSA41.weight"}}</div>
|
||||||
</div>
|
</div>
|
||||||
{{#each actor.itemTypes.Ruestung}}
|
{{#each actor.itemTypes.Ruestung}}
|
||||||
<div class="row list-item" data-item-id="{{this._id}}">
|
<div class="list-item" data-item-id="{{this._id}}">
|
||||||
<div class="row item-name item-open">
|
<div class="item-name row" data-action="item-open">
|
||||||
<img class="item-image" src="{{this.img}}" title="{{this.name}}">
|
<img class="item-image" src="{{this.img}}" title="{{this.name}}">
|
||||||
<span class="center">{{this.name}}</span>
|
<span class="center">{{this.name}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="row"></div>
|
<div></div>
|
||||||
<div class="center fas fa-trash item-delete"></div>
|
<div class="center">{{this.system.gewicht}}</div>
|
||||||
|
<div class="center fas fa-trash" data-action="item-delete"></div>
|
||||||
</div>
|
</div>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col list">
|
<div class="list Gegenstand subgrid-columns">
|
||||||
<div class="row list-header">
|
<div class="list-header">
|
||||||
<div class="row">{{localize "DSA41.inventar.gegenstaende"}}</div>
|
<div>{{localize "DSA41.inventar.gegenstaende"}}</div>
|
||||||
<div>{{localize "DSA41.weight"}}</div>
|
<div></div>
|
||||||
|
<div class="center">{{localize "DSA41.weight"}}</div>
|
||||||
</div>
|
</div>
|
||||||
{{#each actor.itemTypes.Gegenstand}}
|
{{#each actor.itemTypes.Gegenstand}}
|
||||||
<div class="row list-item" data-item-id="{{this._id}}">
|
<div class="list-item" data-item-id="{{this._id}}">
|
||||||
<div class="row item-name item-open">
|
<div class="item-name row" data-action="item-open">
|
||||||
<img class="item-image" src="{{this.img}}" title="{{this.name}}">
|
<img class="item-image" src="{{this.img}}" title="{{this.name}}">
|
||||||
<span class="center">{{this.name}}</span>
|
<span class="center">{{this.name}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="row"></div>
|
<div></div>
|
||||||
<div class="center">{{this.system.gewicht}}</div>
|
<div class="center">{{this.system.gewicht}}</div>
|
||||||
<div class="center fas fa-trash item-delete"></div>
|
<div class="center fas fa-trash" data-action="item-delete"></div>
|
||||||
</div>
|
</div>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="tab Kampf {{#if (eq tabGroups.primary 'tab4')}}active{{/if}}" data-group="primary" data-tab="tab4">
|
||||||
|
<div class="list Bewaffnung">
|
||||||
|
<div class="list-header ">
|
||||||
|
<div>{{localize "DSA41.kampf.bewaffnung"}}</div>
|
||||||
|
<div class="center">{{localize "DSA41.kampf.attacke"}}</div>
|
||||||
|
<div class="center">{{localize "DSA41.kampf.parade"}}</div>
|
||||||
|
<div class="center">{{localize "DSA41.kampf.trefferpunkte"}}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tab" data-group="primary" data-tab="tab4">
|
|
||||||
<div class="col kampf">
|
|
||||||
<div class="col list">
|
|
||||||
<div class="row list-header">
|
|
||||||
<div class="row">{{localize "DSA41.kampf.bewaffnung"}}</div>
|
|
||||||
<div>{{localize "DSA41.kampf.attacke"}}</div>
|
|
||||||
<div>{{localize "DSA41.kampf.parade"}}</div>
|
|
||||||
<div>{{localize "DSA41.kampf.trefferpunkte"}}</div>
|
|
||||||
</div>
|
|
||||||
{{#each actor.system.computed.kampf.waffen}}
|
{{#each actor.system.computed.kampf.waffen}}
|
||||||
<div class="row list-item" data-item-id="{{item._id}}">
|
<div class="list-item" data-item-id="{{item._id}}">
|
||||||
<div class="row item-name item-open">
|
<div class="item-name row" data-action="item-open">
|
||||||
<img class="item-image" src="{{item.img}}" title="{{item.name}}">
|
<img class="item-image" src="{{item.img}}" title="{{item.name}}">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<span>{{item.name}}</span>
|
<span>{{item.name}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row"></div>
|
<div class="center">{{>die-value type="attacke" data-roll="1d20" value=attacke success-value=attacke data-tooltip="attacke_tooltip"}}</div>
|
||||||
<div class="center">{{>die-value type="attacke" data-roll="1d20" value=attacke data-tooltip=(lookup @root.tooltips.kampf.attacke item._id)}}</div>
|
<div class="center">{{>die-value type="parade" data-roll="1d20" value=parade success-value=parade data-tooltip="parade_tooltip"}}</div>
|
||||||
<div class="center">{{>die-value type="parade" data-roll="1d20" value=parade data-tooltip=(lookup @root.tooltips.kampf.parade item._id)}}</div>
|
<div class="center">{{>die-value type="trefferpunkte" data-roll=trefferpunkte value=trefferpunkte_display data-tooltip="trefferpunkte_tooltip"}}</div>
|
||||||
<div class="center">{{>die-value type="trefferpunkte" data-roll=trefferpunkte value=trefferpunkte_display data-tooltip=(lookup @root.tooltips.kampf.trefferpunkte item._id)}}</div>
|
|
||||||
</div>
|
</div>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="ruestungen list">
|
<div class="list Ruestung">
|
||||||
<div>
|
<div class="list-header rowspan2">
|
||||||
<div class="rowspan2">{{localize "DSA41.kampf.ruestungen"}}</div>
|
<div class="rowspan2">{{localize "DSA41.kampf.ruestungen"}}</div>
|
||||||
<div class="rowspan2">{{localize "DSA41.ruestungen.kopf"}}</div>
|
<div class="rowspan2">{{localize "DSA41.ruestungen.kopf"}}</div>
|
||||||
<div class="rowspan2">{{localize "DSA41.ruestungen.brust"}}</div>
|
<div class="rowspan2">{{localize "DSA41.ruestungen.brust"}}</div>
|
||||||
@ -302,8 +248,8 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{#each actor.system.computed.kampf.ruestungen}}
|
{{#each actor.system.computed.kampf.ruestungen}}
|
||||||
<div data-item-id="{{item._id}}">
|
<div class="list-item" data-item-id="{{item._id}}">
|
||||||
<div class="left row item-name item-open">
|
<div class="row item-name" data-action="item-open">
|
||||||
<img class="item-image" src="{{item.img}}" title="{{item.name}}">
|
<img class="item-image" src="{{item.img}}" title="{{item.name}}">
|
||||||
<span class="center">{{item.name}}</span>
|
<span class="center">{{item.name}}</span>
|
||||||
</div>
|
</div>
|
||||||
@ -320,7 +266,7 @@
|
|||||||
</div>
|
</div>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
|
|
||||||
<div>
|
<div class="list-item">
|
||||||
<div class="left">Total</div>
|
<div class="left">Total</div>
|
||||||
<div>{{actor.system.computed.kampf.ruestungen_gesamt.kopf}}</div>
|
<div>{{actor.system.computed.kampf.ruestungen_gesamt.kopf}}</div>
|
||||||
<div>{{actor.system.computed.kampf.ruestungen_gesamt.brust}}</div>
|
<div>{{actor.system.computed.kampf.ruestungen_gesamt.brust}}</div>
|
||||||
@ -336,5 +282,3 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
|
||||||
</form>
|
|
||||||
11
src/EditableInput.hbs
Normal file
11
src/EditableInput.hbs
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<div class="editable-input editable-{{type}}">
|
||||||
|
{{#if (eq type "checkbox")}}
|
||||||
|
<input type="checkbox" name="{{name}}" {{checked value}}>
|
||||||
|
{{else}}
|
||||||
|
<input type="{{type}}" name="{{name}}" value="{{value}}" placeholder="{{placeholder}}">
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{#if placeholder}}
|
||||||
|
<div class="placeholder">{{placeholder}}</div>
|
||||||
|
{{/if}}
|
||||||
|
</div>
|
||||||
@ -1,38 +1,4 @@
|
|||||||
{{#*inline "editable-input"}}
|
<div class="Bewaffnung {{ cssClass }}">
|
||||||
<div class="editable-input editable-{{type}}">
|
|
||||||
{{#if @root.editable}}
|
|
||||||
<input type="{{type}}" name="{{name}}" value="{{value}}" placeholder="{{placeholder}}">
|
|
||||||
{{else}}
|
|
||||||
<div>
|
|
||||||
{{value}}
|
|
||||||
{{#unless value}}{{placeholder}}{{/unless}}
|
|
||||||
</div>
|
|
||||||
{{/if}}
|
|
||||||
|
|
||||||
{{#if placeholder}}
|
|
||||||
<div class="placeholder">{{placeholder}}</div>
|
|
||||||
{{/if}}
|
|
||||||
</div>
|
|
||||||
{{/inline}}
|
|
||||||
|
|
||||||
{{#*inline "editable-checkbox"}}
|
|
||||||
<div class="editable-input editable-checkbox">
|
|
||||||
{{#if @root.editable}}
|
|
||||||
<input type="checkbox" name="{{name}}" {{checked value}}>
|
|
||||||
{{else}}
|
|
||||||
<div>
|
|
||||||
{{value}}
|
|
||||||
{{#unless value}}{{placeholder}}{{/unless}}
|
|
||||||
</div>
|
|
||||||
{{/if}}
|
|
||||||
|
|
||||||
{{#if placeholder}}
|
|
||||||
<div class="placeholder">{{placeholder}}</div>
|
|
||||||
{{/if}}
|
|
||||||
</div>
|
|
||||||
{{/inline}}
|
|
||||||
|
|
||||||
<div class="Bewaffnung {{ cssClass }}" autocomplete="off">
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<img class="item-image" src="{{ item.img }}" title="{{ item.name }}" {{#if editable}}data-edit="img"{{/if}}>
|
<img class="item-image" src="{{ item.img }}" title="{{ item.name }}" {{#if editable}}data-edit="img"{{/if}}>
|
||||||
<div class="col">
|
<div class="col">
|
||||||
@ -44,26 +10,25 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<nav class="tabs">
|
<nav class="tabs">
|
||||||
<div class="row noflex active" data-group="primary" data-tab="tab1">
|
<div class="row noflex {{#if (eq tabGroups.primary 'tab1')}}active{{/if}}" data-group="primary" data-tab="tab1">
|
||||||
<a data-group="primary" data-tab="tab1" data-action="tab">{{localize "DSA41.bewaffnung.nahkampfwaffe.label"}}</a>
|
<a data-group="primary" data-tab="tab1" data-action="tab">{{localize "DSA41.bewaffnung.nahkampfwaffe.label"}}</a>
|
||||||
{{>editable-checkbox name="system.nahkampfwaffe.aktiv" value=item.system.nahkampfwaffe.aktiv}}
|
{{>editable-input type="checkbox" name="system.nahkampfwaffe.aktiv" value=item.system.nahkampfwaffe.aktiv}}
|
||||||
</div>
|
</div>
|
||||||
<div class="row noflex" data-group="primary" data-tab="tab2">
|
<div class="row noflex {{#if (eq tabGroups.primary 'tab2')}}active{{/if}}" data-group="primary" data-tab="tab2">
|
||||||
<a data-group="primary" data-tab="tab2" data-action="tab">{{localize "DSA41.bewaffnung.parierwaffe.label"}}</a>
|
<a data-group="primary" data-tab="tab2" data-action="tab">{{localize "DSA41.bewaffnung.parierwaffe.label"}}</a>
|
||||||
{{>editable-checkbox name="system.parierwaffe.aktiv" value=item.system.parierwaffe.aktiv}}
|
{{>editable-input type="checkbox" name="system.parierwaffe.aktiv" value=item.system.parierwaffe.aktiv}}
|
||||||
</div>
|
</div>
|
||||||
<div class="row noflex" data-group="primary" data-tab="tab3">
|
<div class="row noflex {{#if (eq tabGroups.primary 'tab3')}}active{{/if}}" data-group="primary" data-tab="tab3">
|
||||||
<a data-group="primary" data-tab="tab3" data-action="tab">{{localize "DSA41.bewaffnung.schild.label"}}</a>
|
<a data-group="primary" data-tab="tab3" data-action="tab">{{localize "DSA41.bewaffnung.schild.label"}}</a>
|
||||||
{{>editable-checkbox name="system.schild.aktiv" value=item.system.schild.aktiv}}
|
{{>editable-input type="checkbox" name="system.schild.aktiv" value=item.system.schild.aktiv}}
|
||||||
</div>
|
</div>
|
||||||
<div class="row noflex" data-group="primary" data-tab="tab4">
|
<div class="row noflex {{#if (eq tabGroups.primary 'tab4')}}active{{/if}}" data-group="primary" data-tab="tab4">
|
||||||
<a data-group="primary" data-tab="tab4" data-action="tab">{{localize "DSA41.bewaffnung.fernkampfwaffe.label"}}</a>
|
<a data-group="primary" data-tab="tab4" data-action="tab">{{localize "DSA41.bewaffnung.fernkampfwaffe.label"}}</a>
|
||||||
{{>editable-checkbox name="system.fernkampfwaffe.aktiv" value=item.system.fernkampfwaffe.aktiv}}
|
{{>editable-input type="checkbox" name="system.fernkampfwaffe.aktiv" value=item.system.fernkampfwaffe.aktiv}}
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
<div class="tab active" data-group="primary" data-tab="tab1">
|
<div class="tab {{#if (eq tabGroups.primary 'tab1')}}active{{/if}}" data-group="primary" data-tab="tab1">
|
||||||
<div>
|
|
||||||
<span>{{localize "DSA41.bewaffnung.nahkampfwaffe.trefferpunkte"}}</span>
|
<span>{{localize "DSA41.bewaffnung.nahkampfwaffe.trefferpunkte"}}</span>
|
||||||
<div class="grid3 center">
|
<div class="grid3 center">
|
||||||
{{>editable-input type="text" name="system.nahkampfwaffe.basis" value=item.system.nahkampfwaffe.basis placeholder=(localize "DSA41.bewaffnung.nahkampfwaffe.basis")}}
|
{{>editable-input type="text" name="system.nahkampfwaffe.basis" value=item.system.nahkampfwaffe.basis placeholder=(localize "DSA41.bewaffnung.nahkampfwaffe.basis")}}
|
||||||
@ -91,19 +56,17 @@
|
|||||||
<div class="colspan2"></div>
|
<div class="colspan2"></div>
|
||||||
|
|
||||||
<span>{{localize "DSA41.bewaffnung.nahkampfwaffe.zweihaendig"}}</span>
|
<span>{{localize "DSA41.bewaffnung.nahkampfwaffe.zweihaendig"}}</span>
|
||||||
<div>{{>editable-checkbox name="system.nahkampfwaffe.zweihaendig" value=item.system.nahkampfwaffe.zweihaendig}}</div>
|
<div>{{>editable-input type="checkbox" name="system.nahkampfwaffe.zweihaendig" value=item.system.nahkampfwaffe.zweihaendig}}</div>
|
||||||
<span>{{localize "DSA41.bewaffnung.nahkampfwaffe.werfbar"}}</span>
|
<span>{{localize "DSA41.bewaffnung.nahkampfwaffe.werfbar"}}</span>
|
||||||
<div>{{>editable-checkbox name="system.nahkampfwaffe.werfbar" value=item.system.nahkampfwaffe.werfbar}}</div>
|
<div>{{>editable-input type="checkbox" name="system.nahkampfwaffe.werfbar" value=item.system.nahkampfwaffe.werfbar}}</div>
|
||||||
|
|
||||||
<span>{{localize "DSA41.bewaffnung.nahkampfwaffe.improvisiert"}}</span>
|
<span>{{localize "DSA41.bewaffnung.nahkampfwaffe.improvisiert"}}</span>
|
||||||
<div>{{>editable-checkbox name="system.nahkampfwaffe.improvisiert" value=item.system.nahkampfwaffe.improvisiert}}</div>
|
<div>{{>editable-input type="checkbox" name="system.nahkampfwaffe.improvisiert" value=item.system.nahkampfwaffe.improvisiert}}</div>
|
||||||
<span>{{localize "DSA41.bewaffnung.nahkampfwaffe.priviligiert"}}</span>
|
<span>{{localize "DSA41.bewaffnung.nahkampfwaffe.priviligiert"}}</span>
|
||||||
<div>{{>editable-checkbox name="system.nahkampfwaffe.priviligiert" value=item.system.nahkampfwaffe.priviligiert}}</div>
|
<div>{{>editable-input type="checkbox" name="system.nahkampfwaffe.priviligiert" value=item.system.nahkampfwaffe.priviligiert}}</div>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tab" data-group="primary" data-tab="tab2">
|
<div class="tab {{#if (eq tabGroups.primary 'tab2')}}active{{/if}}" data-group="primary" data-tab="tab2">
|
||||||
<div>
|
|
||||||
<span>{{localize "DSA41.bewaffnung.parierwaffe.initiative"}}</span>
|
<span>{{localize "DSA41.bewaffnung.parierwaffe.initiative"}}</span>
|
||||||
<div>{{>editable-input type="number" name="system.parierwaffe.initiative" value=item.system.parierwaffe.initiative}}</div>
|
<div>{{>editable-input type="number" name="system.parierwaffe.initiative" value=item.system.parierwaffe.initiative}}</div>
|
||||||
<span>{{localize "DSA41.bewaffnung.parierwaffe.modifikator"}}</span>
|
<span>{{localize "DSA41.bewaffnung.parierwaffe.modifikator"}}</span>
|
||||||
@ -115,10 +78,8 @@
|
|||||||
<span>{{localize "DSA41.bewaffnung.bruchfaktor"}}</span>
|
<span>{{localize "DSA41.bewaffnung.bruchfaktor"}}</span>
|
||||||
<div>{{>editable-input type="number" name="system.parierwaffe.bruchfaktor" value=item.system.parierwaffe.bruchfaktor}}</div>
|
<div>{{>editable-input type="number" name="system.parierwaffe.bruchfaktor" value=item.system.parierwaffe.bruchfaktor}}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="tab" data-group="primary" data-tab="tab3">
|
<div class="tab {{#if (eq tabGroups.primary 'tab3')}}active{{/if}}" data-group="primary" data-tab="tab3">
|
||||||
<div>
|
|
||||||
<span>{{localize "DSA41.bewaffnung.schild.groesse.label"}}</span>
|
<span>{{localize "DSA41.bewaffnung.schild.groesse.label"}}</span>
|
||||||
<select name="system.schild.groesse">
|
<select name="system.schild.groesse">
|
||||||
<option value="klein" {{#if (eq item.system.schild.groesse "klein")}} selected {{/if}}>{{localize "DSA41.bewaffnung.schild.groesse.klein"}}</option>
|
<option value="klein" {{#if (eq item.system.schild.groesse "klein")}} selected {{/if}}>{{localize "DSA41.bewaffnung.schild.groesse.klein"}}</option>
|
||||||
@ -136,10 +97,8 @@
|
|||||||
<span>{{localize "DSA41.bewaffnung.bruchfaktor"}}</span>
|
<span>{{localize "DSA41.bewaffnung.bruchfaktor"}}</span>
|
||||||
<div>{{>editable-input type="number" name="system.schild.bruchfaktor" value=item.system.schild.bruchfaktor}}</div>
|
<div>{{>editable-input type="number" name="system.schild.bruchfaktor" value=item.system.schild.bruchfaktor}}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="tab" data-group="primary" data-tab="tab4">
|
<div class="tab {{#if (eq tabGroups.primary 'tab4')}}active{{/if}}" data-group="primary" data-tab="tab4">
|
||||||
<div>
|
|
||||||
<span>{{localize "DSA41.bewaffnung.fernkampfwaffe.trefferpunkte"}}</span>
|
<span>{{localize "DSA41.bewaffnung.fernkampfwaffe.trefferpunkte"}}</span>
|
||||||
<div class="center">{{>editable-input type="text" name="system.fernkampfwaffe.basis" value=item.system.fernkampfwaffe.basis}}</div>
|
<div class="center">{{>editable-input type="text" name="system.fernkampfwaffe.basis" value=item.system.fernkampfwaffe.basis}}</div>
|
||||||
<span>{{localize "DSA41.bewaffnung.fernkampfwaffe.laden"}}</span>
|
<span>{{localize "DSA41.bewaffnung.fernkampfwaffe.laden"}}</span>
|
||||||
@ -169,4 +128,3 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
@ -1,20 +1,3 @@
|
|||||||
{{#*inline "editable-input"}}
|
|
||||||
<div class="editable-input editable-{{type}}">
|
|
||||||
{{#if @root.editable}}
|
|
||||||
<input type="{{type}}" name="{{name}}" value="{{value}}" placeholder="{{placeholder}}">
|
|
||||||
{{else}}
|
|
||||||
<div>
|
|
||||||
{{value}}
|
|
||||||
{{#unless value}}{{placeholder}}{{/unless}}
|
|
||||||
</div>
|
|
||||||
{{/if}}
|
|
||||||
|
|
||||||
{{#if placeholder}}
|
|
||||||
<div class="placeholder">{{placeholder}}</div>
|
|
||||||
{{/if}}
|
|
||||||
</div>
|
|
||||||
{{/inline}}
|
|
||||||
|
|
||||||
<div class="item-sheet {{ cssClass }}" autocomplete="off">
|
<div class="item-sheet {{ cssClass }}" autocomplete="off">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<img class="item-image" src="{{ item.img }}" title="{{ item.name }}" {{#if editable}}data-edit="img"{{/if}}>
|
<img class="item-image" src="{{ item.img }}" title="{{ item.name }}" {{#if editable}}data-edit="img"{{/if}}>
|
||||||
|
|||||||
@ -1,20 +1,3 @@
|
|||||||
{{#*inline "editable-input"}}
|
|
||||||
<div class="editable-input editable-{{type}}">
|
|
||||||
{{#if @root.editable}}
|
|
||||||
<input type="{{type}}" name="{{name}}" value="{{value}}" placeholder="{{placeholder}}">
|
|
||||||
{{else}}
|
|
||||||
<div>
|
|
||||||
{{value}}
|
|
||||||
{{#unless value}}{{placeholder}}{{/unless}}
|
|
||||||
</div>
|
|
||||||
{{/if}}
|
|
||||||
|
|
||||||
{{#if placeholder}}
|
|
||||||
<div class="placeholder">{{placeholder}}</div>
|
|
||||||
{{/if}}
|
|
||||||
</div>
|
|
||||||
{{/inline}}
|
|
||||||
|
|
||||||
<div class="item-sheet {{ cssClass }}" autocomplete="off">
|
<div class="item-sheet {{ cssClass }}" autocomplete="off">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<img class="item-image" src="{{ item.img }}" title="{{ item.name }}" {{#if editable}}data-edit="img"{{/if}}>
|
<img class="item-image" src="{{ item.img }}" title="{{ item.name }}" {{#if editable}}data-edit="img"{{/if}}>
|
||||||
@ -27,7 +10,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="Ruestung">
|
<div class="tab active">
|
||||||
<span>{{localize "DSA41.ruestungen.kopf"}}</span>
|
<span>{{localize "DSA41.ruestungen.kopf"}}</span>
|
||||||
<div>{{>editable-input type="number" name="system.kopf" value=item.system.kopf}}</div>
|
<div>{{>editable-input type="number" name="system.kopf" value=item.system.kopf}}</div>
|
||||||
<span>{{localize "DSA41.ruestungen.brust"}}</span>
|
<span>{{localize "DSA41.ruestungen.brust"}}</span>
|
||||||
|
|||||||
387
src/main.css
387
src/main.css
@ -1,268 +1,305 @@
|
|||||||
.tabs > [data-tab] > * {
|
.DSA41 {
|
||||||
|
font-size: 14px;
|
||||||
|
|
||||||
|
/* Change from FoundryVTT's default of 'none' to 'auto' to allow checkboxes in the nav bar */
|
||||||
|
& .tabs > [data-tab] > * {
|
||||||
pointer-events: auto;
|
pointer-events: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Allow application content to be scrolled */
|
||||||
.row {
|
& .window-content {
|
||||||
display: flex;
|
overflow-y: scroll;
|
||||||
flex-direction: row;
|
|
||||||
flex: 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.col {
|
& [data-action] {
|
||||||
display: flex;
|
cursor: pointer;
|
||||||
flex-direction: column;
|
|
||||||
flex: 1;
|
&:hover {
|
||||||
|
transform: scale(1.05);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.noflex {
|
& .small {
|
||||||
flex: 0;
|
font-size: 0.75em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.wrap {
|
& .left {
|
||||||
flex-wrap: wrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
.left {
|
|
||||||
text-align: left;
|
text-align: left;
|
||||||
justify-content: left;
|
justify-content: left;
|
||||||
justify-self: left;
|
justify-self: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
.center {
|
& .right {
|
||||||
|
text-align: right;
|
||||||
|
justify-content: right;
|
||||||
|
justify-self: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
& .center {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-content: center;
|
align-content: center;
|
||||||
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.none {
|
& .row {
|
||||||
display: none;
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
flex: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.grid2 {
|
& .col {
|
||||||
display: grid;
|
display: flex;
|
||||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
flex-direction: column;
|
||||||
|
flex: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.grid3 {
|
& .noflex {
|
||||||
display: grid;
|
flex: 0;
|
||||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.grid4 {
|
& .subgrid {
|
||||||
display: grid;
|
|
||||||
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
||||||
}
|
|
||||||
|
|
||||||
.grid5 {
|
|
||||||
display: grid;
|
|
||||||
grid-template-columns: repeat(5, minmax(0, 1fr));
|
|
||||||
}
|
|
||||||
|
|
||||||
.subgrid {
|
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-rows: subgrid;
|
grid-template-rows: subgrid;
|
||||||
grid-template-columns: subgrid;
|
grid-template-columns: subgrid;
|
||||||
}
|
}
|
||||||
|
|
||||||
.colspan2 { grid-column: span 2; }
|
& .subgrid-columns {
|
||||||
.colspan3 { grid-column: span 3; }
|
display: grid;
|
||||||
.colspan4 { grid-column: span 4; }
|
grid-template-columns: subgrid;
|
||||||
.colspan5 { grid-column: span 5; }
|
|
||||||
.colspan6 { grid-column: span 6; }
|
|
||||||
.colspan7 { grid-column: span 7; }
|
|
||||||
.colspan8 { grid-column: span 8; }
|
|
||||||
.colspan9 { grid-column: span 9; }
|
|
||||||
|
|
||||||
.rowspan2 { grid-row: span 2; }
|
|
||||||
.rowspan3 { grid-row: span 3; }
|
|
||||||
.rowspan4 { grid-row: span 4; }
|
|
||||||
.rowspan5 { grid-row: span 5; }
|
|
||||||
.rowspan6 { grid-row: span 6; }
|
|
||||||
.rowspan7 { grid-row: span 7; }
|
|
||||||
.rowspan8 { grid-row: span 8; }
|
|
||||||
.rowspan9 { grid-row: span 9; }
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.editable-input {
|
|
||||||
flex: 1;
|
|
||||||
padding: 0px 3px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.editable-input input {
|
& .subgrid-rows {
|
||||||
|
display: grid;
|
||||||
|
grid-template-rows: subgrid;
|
||||||
|
}
|
||||||
|
|
||||||
|
& .grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
||||||
|
& .grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
|
||||||
|
& .grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
|
||||||
|
& .grid5 { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); }
|
||||||
|
& .grid6 { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
|
||||||
|
& .grid7 { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
|
||||||
|
& .grid8 { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); }
|
||||||
|
& .grid9 { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); }
|
||||||
|
|
||||||
|
& .colspan2 { grid-column: span 2; }
|
||||||
|
& .colspan3 { grid-column: span 3; }
|
||||||
|
& .colspan4 { grid-column: span 4; }
|
||||||
|
& .colspan5 { grid-column: span 5; }
|
||||||
|
& .colspan6 { grid-column: span 6; }
|
||||||
|
& .colspan7 { grid-column: span 7; }
|
||||||
|
& .colspan8 { grid-column: span 8; }
|
||||||
|
& .colspan9 { grid-column: span 9; }
|
||||||
|
& .colspan-all { grid-column: 1 / -1; }
|
||||||
|
|
||||||
|
& .rowspan2 { grid-row: span 2; }
|
||||||
|
& .rowspan3 { grid-row: span 3; }
|
||||||
|
& .rowspan4 { grid-row: span 4; }
|
||||||
|
& .rowspan5 { grid-row: span 5; }
|
||||||
|
& .rowspan6 { grid-row: span 6; }
|
||||||
|
& .rowspan7 { grid-row: span 7; }
|
||||||
|
& .rowspan8 { grid-row: span 8; }
|
||||||
|
& .rowspan9 { grid-row: span 9; }
|
||||||
|
& .rowspan-all { grid-row: 1 / -1; }
|
||||||
|
|
||||||
|
& .editable-input {
|
||||||
|
flex: 1;
|
||||||
|
padding: 0px 3px;
|
||||||
|
|
||||||
|
& input {
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editable-number {
|
&.editable-number {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.placeholder {
|
& .placeholder {
|
||||||
font-size: 0.8em;
|
font-size: 0.8em;
|
||||||
border-top: 1px solid;
|
border-top: 1px solid;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
& .character-image {
|
||||||
|
width: 115px;
|
||||||
|
height: 115px;
|
||||||
|
}
|
||||||
|
|
||||||
|
& .item-image {
|
||||||
|
width: 80px;
|
||||||
|
height: 80px;
|
||||||
|
}
|
||||||
|
|
||||||
.sheet .die {
|
& .die {
|
||||||
display: inline-grid;
|
display: inline-grid;
|
||||||
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
|
||||||
width: 48px;
|
width: 3.5em;
|
||||||
height: 48px;
|
height: 3.5em;
|
||||||
}
|
|
||||||
|
|
||||||
.sheet .die > * {
|
& > * {
|
||||||
grid-row: 1;
|
grid-row: 1;
|
||||||
grid-column: 1;
|
grid-column: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sheet .die-courage { fill: #b22319; }
|
&.die-courage { fill: #b22319; }
|
||||||
.sheet .die-cleverness { fill: #8158a3; }
|
&.die-cleverness { fill: #8158a3; }
|
||||||
.sheet .die-intuition { fill: #388834; }
|
&.die-intuition { fill: #388834; }
|
||||||
.sheet .die-charisma { fill: #0c0c0c; }
|
&.die-charisma { fill: #0c0c0c; }
|
||||||
.sheet .die-dexterity { fill: #d4b366; }
|
&.die-dexterity { fill: #d4b366; }
|
||||||
.sheet .die-agility { fill: #678ec3; }
|
&.die-agility { fill: #678ec3; }
|
||||||
.sheet .die-constitution { fill: #a3a3a3; }
|
&.die-constitution { fill: #a3a3a3; }
|
||||||
.sheet .die-strength { fill: #d5a877; }
|
&.die-strength { fill: #d5a877; }
|
||||||
|
|
||||||
.sheet .die-attacke { fill: #b22319; }
|
&.die-attacke { fill: #b22319; }
|
||||||
.sheet .die-parade { fill: #388834; }
|
&.die-parade { fill: #388834; }
|
||||||
.sheet .die-trefferpunkte { fill: #0c0c0c; }
|
&.die-trefferpunkte { fill: #0c0c0c; }
|
||||||
|
|
||||||
.sheet .item-open,
|
|
||||||
.sheet .item-delete,
|
|
||||||
.sheet .roll {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.sheet .item-open:hover,
|
& .tabs {
|
||||||
.sheet .item-delete:hover,
|
|
||||||
.sheet .roll:hover {
|
|
||||||
transform: scale(1.05);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.character-image {
|
|
||||||
width: 115px;
|
|
||||||
height: 115px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.item-image {
|
|
||||||
width: 80px;
|
|
||||||
height: 80px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.list-header {
|
|
||||||
padding: 0.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.list {
|
|
||||||
box-shadow: 0 0 6px rgba(0, 0, 0, 0.45);
|
|
||||||
}
|
|
||||||
|
|
||||||
.list-item {
|
|
||||||
padding: 0.25rem;
|
|
||||||
border-bottom: 1px dotted;
|
|
||||||
}
|
|
||||||
|
|
||||||
.list-item:last-child {
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.item-name {
|
|
||||||
gap: 0.5rem;
|
|
||||||
flex: 0 1 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.item-sub {
|
|
||||||
font-size: 0.625rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inventar {
|
|
||||||
gap: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.kampf {
|
|
||||||
gap: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.actor-sheet fieldset {
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.actor-sheet table {
|
|
||||||
border: none;
|
|
||||||
background: none;
|
|
||||||
table-layout: fixed;
|
|
||||||
}
|
|
||||||
|
|
||||||
.actor-sheet .item-image {
|
|
||||||
width: 32px;
|
|
||||||
height: 32px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.actor-sheet .tabs,
|
|
||||||
.DSA41 .tabs {
|
|
||||||
padding: .5rem;
|
padding: .5rem;
|
||||||
margin-top: .5rem;
|
margin-top: .5rem;
|
||||||
margin-bottom: .5rem;
|
margin-bottom: .5rem;
|
||||||
border-top: 1px solid;
|
border-top: 1px solid;
|
||||||
border-bottom: 1px solid;
|
border-bottom: 1px solid;
|
||||||
}
|
|
||||||
|
|
||||||
.DSA41 .tabs > * {
|
& > * {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.DSA41 .tabs .active {
|
& .active {
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
|
|
||||||
.actor-sheet .kampf .ruestungen {
|
|
||||||
display: grid;
|
|
||||||
grid-template-columns: 2fr repeat(8, 1fr) repeat(2, 1.5fr);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.actor-sheet .kampf .ruestungen > * {
|
& .tab.active {
|
||||||
|
display: grid;
|
||||||
|
gap: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
& .list {
|
||||||
|
display: grid;
|
||||||
|
|
||||||
|
background: #252830;
|
||||||
|
box-shadow: 0 0 6px rgba(0, 0, 0, 0.45);
|
||||||
|
|
||||||
|
& .item-image {
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
& .item-name {
|
||||||
|
gap: 0.5rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
& .list-header {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-column: 1 / -1;
|
grid-column: 1 / -1;
|
||||||
|
|
||||||
|
grid-template-rows: subgrid;
|
||||||
grid-template-columns: subgrid;
|
grid-template-columns: subgrid;
|
||||||
|
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
padding: 0.5rem;
|
||||||
|
border-radius: 5px 5px 0px 0px;
|
||||||
|
background: linear-gradient(90deg, rgb(36, 133, 44) 0%, rgb(0, 79, 7) 40%, rgb(0, 51, 5) 100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
& .list-item {
|
||||||
|
display: grid;
|
||||||
|
grid-column: 1 / -1;
|
||||||
|
|
||||||
|
grid-template-rows: subgrid;
|
||||||
|
grid-template-columns: subgrid;
|
||||||
|
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
padding: 0.25rem;
|
padding: 0.25rem;
|
||||||
border-bottom: 1px dotted;
|
border-bottom: 1px dotted;
|
||||||
|
|
||||||
text-align: center;
|
&:last-child {
|
||||||
place-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.actor-sheet .kampf .ruestungen > *:last-child {
|
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.DSA41 .Bewaffnung .tab > * {
|
& [data-application-part="Bewaffnung"] {
|
||||||
display: grid;
|
& .tab {
|
||||||
grid-template-columns: minmax(0, max-content) minmax(0, 1fr) minmax(0, max-content) minmax(0, 1fr);
|
grid-template-columns: minmax(0, max-content) minmax(0, 1fr) minmax(0, max-content) minmax(0, 1fr);
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
& [data-application-part="Ruestung"] {
|
||||||
|
& .tab {
|
||||||
|
grid-template-columns: minmax(0, max-content) minmax(0, 1fr) minmax(0, max-content) minmax(0, 1fr);
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
& [data-application-part="ActorSheet"] {
|
||||||
|
& .tab {
|
||||||
|
&[data-tab="tab1"] {
|
||||||
|
& .Eigenschaften {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: minmax(0, max-content) repeat(8, minmax(0, 1fr));
|
||||||
|
align-items: center;
|
||||||
gap: 0.5rem;
|
gap: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.DSA41 .Ruestung {
|
|
||||||
|
& .Basiswerte {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: minmax(0, max-content) minmax(0, 1fr) minmax(0, max-content) minmax(0, 1fr);
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
||||||
align-items: center;
|
}
|
||||||
gap: 0.5rem;
|
|
||||||
margin-top: 0.5rem;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#tooltip:has(> .dsa41-tooltip) {
|
&[data-tab="tab2"] {
|
||||||
/* background-color: #678ec3; */
|
& .Kampftalente {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: minmax(0, max-content) repeat(5, minmax(0, 1fr));
|
||||||
|
align-items: center;
|
||||||
|
gap: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
& .Talente {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: minmax(0, max-content) repeat(2, minmax(0, 1fr));
|
||||||
|
align-items: center;
|
||||||
|
gap: 0.5rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&[data-tab="tab3"] {
|
||||||
|
grid-template-columns: minmax(min-content, max-content) auto minmax(min-content, max-content) min-content;
|
||||||
|
|
||||||
|
& > * {
|
||||||
|
grid-column: 1 / -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&[data-tab="tab4"] {
|
||||||
|
& .Bewaffnung {
|
||||||
|
grid-template-columns: minmax(0, max-content) repeat(3, minmax(0, auto));
|
||||||
|
|
||||||
|
& .die {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
& .Ruestung {
|
||||||
|
grid-template-columns: 2fr repeat(8, 1fr) repeat(2, 1.5fr);
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
130
src/main.mjs
130
src/main.mjs
@ -1,6 +1,6 @@
|
|||||||
const { TypeDataModel } = foundry.abstract;
|
const { TypeDataModel } = foundry.abstract;
|
||||||
const { SchemaField, NumberField, StringField, BooleanField } = foundry.data.fields;
|
const { SchemaField, NumberField, StringField, BooleanField } = foundry.data.fields;
|
||||||
const { ItemSheetV2 } = foundry.applications.sheets;
|
const { ActorSheetV2, ItemSheetV2 } = foundry.applications.sheets;
|
||||||
const { HandlebarsApplicationMixin } = foundry.applications.api;
|
const { HandlebarsApplicationMixin } = foundry.applications.api;
|
||||||
const { OperatorTerm, NumericTerm } = foundry.dice.terms;
|
const { OperatorTerm, NumericTerm } = foundry.dice.terms;
|
||||||
|
|
||||||
@ -33,6 +33,8 @@ Hooks.once("init", function() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
loadTemplates({
|
loadTemplates({
|
||||||
|
"editable-input": "systems/dsa-4th-edition/src/EditableInput.hbs",
|
||||||
|
|
||||||
"attribute_tooltip": "systems/dsa-4th-edition/src/Tooltips/Attribute.hbs",
|
"attribute_tooltip": "systems/dsa-4th-edition/src/Tooltips/Attribute.hbs",
|
||||||
|
|
||||||
"attacke_tooltip": "systems/dsa-4th-edition/src/Tooltips/Attacke.hbs",
|
"attacke_tooltip": "systems/dsa-4th-edition/src/Tooltips/Attacke.hbs",
|
||||||
@ -533,96 +535,96 @@ class DSA41_BewaffnungData extends TypeDataModel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class DSA41_ActorSheet extends ActorSheet {
|
function DSA41_ApplicationMixin(BaseApplication) {
|
||||||
static get defaultOptions() {
|
class DSA41_Application extends HandlebarsApplicationMixin(BaseApplication) {
|
||||||
return foundry.utils.mergeObject(super.defaultOptions, {
|
static DEFAULT_OPTIONS= {
|
||||||
tabs: [{ navSelector: ".tabs", contentSelector: ".content", initial: "tab1" }],
|
classes: [ "DSA41" ],
|
||||||
template: "systems/dsa-4th-edition/src/ActorSheet.hbs",
|
window: { resizable: true },
|
||||||
});
|
form: { submitOnChange: true },
|
||||||
}
|
|
||||||
|
|
||||||
async getData() {
|
|
||||||
let data = super.getData();
|
|
||||||
|
|
||||||
data.tooltips = {
|
|
||||||
attributes: {},
|
|
||||||
kampf: {
|
|
||||||
attacke: {},
|
|
||||||
parade: {},
|
|
||||||
trefferpunkte: {},
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
for (const [attribute, value] of Object.entries(data.actor.system.attributes)) {
|
async _prepareContext(options) {
|
||||||
data.tooltips.attributes[attribute] = await renderTemplate("attribute_tooltip", value);
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (const [id, computed] of Object.entries(data.actor.system.computed.kampf.waffen)) {
|
return DSA41_Application;
|
||||||
data.tooltips.kampf.attacke [id] = await renderTemplate("attacke_tooltip", computed);
|
|
||||||
data.tooltips.kampf.parade [id] = await renderTemplate("parade_tooltip", computed);
|
|
||||||
data.tooltips.kampf.trefferpunkte[id] = await renderTemplate("trefferpunkte_tooltip", computed);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return data;
|
class DSA41_ActorSheet extends DSA41_ApplicationMixin(ActorSheetV2) {
|
||||||
}
|
static PARTS = {
|
||||||
|
ActorSheet: { template: "systems/dsa-4th-edition/src/ActorSheet.hbs" },
|
||||||
|
};
|
||||||
|
|
||||||
activateListeners(html) {
|
static DEFAULT_OPTIONS = {
|
||||||
super.activateListeners(html);
|
position: { width: "800", height: "650" },
|
||||||
|
actions: {
|
||||||
html.on("click", ".item-open", async (event) => {
|
"roll": async function(event, target) {
|
||||||
const item_id = event.currentTarget.closest("[data-item-id]").dataset.itemId;
|
const roll_formula = event.target.closest("[data-roll]").dataset.roll;
|
||||||
const item = this.object.items.get(item_id);
|
const roll_type = event.target.closest("[data-roll-type]").dataset.rollType;
|
||||||
item.sheet.render(true)
|
const success_value = event.target.closest("[data-success-value]")?.dataset.successValue;
|
||||||
});
|
|
||||||
|
|
||||||
html.on("click", ".item-delete", async (event) => {
|
|
||||||
const item_id = event.currentTarget.closest("[data-item-id]").dataset.itemId;
|
|
||||||
const item = this.object.items.get(item_id);
|
|
||||||
item.delete();
|
|
||||||
});
|
|
||||||
|
|
||||||
html.on("click", ".roll", async (event) => {
|
|
||||||
const roll_formula = event.currentTarget.closest("[data-roll]").dataset.roll;
|
|
||||||
const roll_type = event.currentTarget.closest("[data-roll]").dataset.rollType;
|
|
||||||
const success_value = event.currentTarget.closest("[data-roll]").dataset.successValue;
|
|
||||||
|
|
||||||
let flavor = game.i18n.localize("DSA41.roll_types." + roll_type);
|
let flavor = game.i18n.localize("DSA41.roll_types." + roll_type);
|
||||||
if (typeof success_value !== 'undefined') {
|
if (typeof success_value !== 'undefined') {
|
||||||
flavor += " <= " + success_value;
|
flavor += " <= " + success_value;
|
||||||
}
|
}
|
||||||
|
|
||||||
let roll = new Roll(roll_formula, this.object.system);
|
let roll = new Roll(roll_formula, this.document.system);
|
||||||
roll.toMessage({
|
roll.toMessage({
|
||||||
speaker: ChatMessage.getSpeaker({ actor: this.object }),
|
speaker: ChatMessage.getSpeaker({ actor: this.document }),
|
||||||
flavor: flavor,
|
flavor: flavor,
|
||||||
});
|
});
|
||||||
});
|
},
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class DSA41_ItemSheetV2 extends HandlebarsApplicationMixin(ItemSheetV2) {
|
"item-open": async function(event, target) {
|
||||||
static DEFAULT_OPTIONS = {
|
const item_id = event.target.closest("[data-item-id]").dataset.itemId;
|
||||||
classes: [ "DSA41" ],
|
const item = this.document.items.get(item_id);
|
||||||
position: { width: "480", height: "480" },
|
item.sheet.render(true)
|
||||||
window: { resizable: true },
|
},
|
||||||
form: { submitOnChange: true },
|
|
||||||
|
"item-delete": async function(event, target) {
|
||||||
|
const item_id = event.target.closest("[data-item-id]").dataset.itemId;
|
||||||
|
const item = this.document.items.get(item_id);
|
||||||
|
item.delete();
|
||||||
|
},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
_onFirstRender(context, options) {
|
||||||
|
super._onFirstRender(context, options);
|
||||||
|
|
||||||
|
const content = this.element.querySelector(".window-content");
|
||||||
|
content.addEventListener("drop", async (event) => {
|
||||||
|
event.preventDefault();
|
||||||
|
const data = TextEditor.getDragEventData(event);
|
||||||
|
|
||||||
|
switch (data.type) {
|
||||||
|
case "Item": {
|
||||||
|
const item = await Item.implementation.fromDropData(data);
|
||||||
|
await this.actor.createEmbeddedDocuments("Item", [item.toObject()]);
|
||||||
|
} break;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
tabGroups = { primary: "tab1" };
|
||||||
|
}
|
||||||
|
|
||||||
|
class DSA41_ItemSheetV2 extends DSA41_ApplicationMixin(ItemSheetV2) {
|
||||||
static PARTS = {
|
static PARTS = {
|
||||||
Bewaffnung: { template: "systems/dsa-4th-edition/src/ItemSheets/Bewaffnung.hbs" },
|
Bewaffnung: { template: "systems/dsa-4th-edition/src/ItemSheets/Bewaffnung.hbs" },
|
||||||
Gegenstand: { template: "systems/dsa-4th-edition/src/ItemSheets/Gegenstand.hbs" },
|
Gegenstand: { template: "systems/dsa-4th-edition/src/ItemSheets/Gegenstand.hbs" },
|
||||||
Ruestung: { template: "systems/dsa-4th-edition/src/ItemSheets/Ruestung.hbs" },
|
Ruestung: { template: "systems/dsa-4th-edition/src/ItemSheets/Ruestung.hbs" },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static DEFAULT_OPTIONS = {
|
||||||
|
position: { width: "600", height: "auto" },
|
||||||
|
};
|
||||||
|
|
||||||
|
tabGroups = { primary: "tab1" };
|
||||||
|
|
||||||
_configureRenderOptions(options) {
|
_configureRenderOptions(options) {
|
||||||
super._configureRenderOptions(options);
|
super._configureRenderOptions(options);
|
||||||
options.parts = [ this.options.document.type ];
|
options.parts = [ this.options.document.type ];
|
||||||
}
|
}
|
||||||
|
|
||||||
_prepareContext(options) {
|
|
||||||
return {
|
|
||||||
editable: true,
|
|
||||||
item: this.options.document,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user