Compare commits
7 Commits
942c395f59
...
fea5de6596
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fea5de6596 | ||
|
|
4079a40d6b | ||
|
|
57eb581ae7 | ||
|
|
b011a65510 | ||
|
|
3dff7555e5 | ||
|
|
5ef47a483f | ||
|
|
f824286243 |
@ -15,19 +15,35 @@
|
|||||||
</div>
|
</div>
|
||||||
{{/inline}}
|
{{/inline}}
|
||||||
|
|
||||||
<div class="actor-sheet ActorSheet">
|
<div class="actor-sheet ActorSheet" data-tooltip-class="DSA41">
|
||||||
<div class="grid4 gap">
|
<div class="grid5 gap">
|
||||||
{{>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")}}
|
||||||
{{>editable-input type="text" name="system.culture" value=actor.system.culture placeholder=(localize "DSA41.culture")}}
|
{{>editable-input type="text" name="system.culture" value=actor.system.culture placeholder=(localize "DSA41.culture")}}
|
||||||
{{>editable-input type="text" name="system.profession" value=actor.system.profession placeholder=(localize "DSA41.profession")}}
|
{{>editable-input type="text" name="system.profession" value=actor.system.profession placeholder=(localize "DSA41.profession")}}
|
||||||
|
{{>editable-input type="number" name="system.sozialstatus" value=actor.system.sozialstatus placeholder=(localize "DSA41.sozialstatus")}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<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}}
|
<div class="col">
|
||||||
{{>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"}}
|
<div class="row">
|
||||||
{{/each}}
|
{{#each actor.system.attributes}}
|
||||||
|
{{>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}}
|
||||||
|
</div>
|
||||||
|
<div class="grid3">
|
||||||
|
<div class="bar hp" style="--bar-percentage: {{actor.system.computed.lebenspunkte.prozent}}%;">
|
||||||
|
{{>editable-input type="number" name="system.lebenspunkte.aktuell" value=actor.system.lebenspunkte.aktuell}} / <span>{{actor.system.computed.lebenspunkte.max}}</span>
|
||||||
|
</div>
|
||||||
|
<div class="bar ausdauer" style="--bar-percentage: {{actor.system.computed.ausdauer.prozent}}%;">
|
||||||
|
{{>editable-input type="number" name="system.ausdauer.aktuell" value=actor.system.ausdauer.aktuell}} / <span>{{actor.system.computed.ausdauer.max}}</span>
|
||||||
|
</div>
|
||||||
|
<div class="bar astralenergie" style="--bar-percentage: {{actor.system.computed.astralenergie.prozent}}%;">
|
||||||
|
{{>editable-input type="number" name="system.astralenergie.aktuell" value=actor.system.astralenergie.aktuell}} / <span>{{actor.system.computed.astralenergie.max}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -71,26 +87,144 @@
|
|||||||
{{/each}}
|
{{/each}}
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="Basiswerte">
|
|
||||||
<span>Lebenspunkte</span>
|
|
||||||
<span>{{actor.system.computed.max_lebenspunkte}}</span>
|
|
||||||
<span>Ausdauer</span>
|
|
||||||
<span>{{actor.system.computed.max_ausdauer}}</span>
|
|
||||||
|
|
||||||
<span>Astralenergie</span>
|
<div class="list Basiswerte">
|
||||||
<span>{{actor.system.computed.max_atralenergie}}</span>
|
<div class="list-header">
|
||||||
<span>Magieresistenz</span>
|
<span></span>
|
||||||
<span>{{actor.system.computed.magieresistenz}}</span>
|
<span>{{localize "DSA41.basiswerte.label_basiswert"}}</span>
|
||||||
|
<span>{{localize "DSA41.basiswerte.label_modifikator"}}</span>
|
||||||
|
<span>{{localize "DSA41.basiswerte.label_zukauf"}}</span>
|
||||||
|
<span>{{localize "DSA41.basiswerte.label_verlust"}}</span>
|
||||||
|
<span>{{localize "DSA41.basiswerte.label_total"}}</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
<span>INI-Basiswert</span>
|
<div class="list-item">
|
||||||
<span>{{actor.system.computed.ini_basiswert}}</span>
|
<span>{{localize "DSA41.basiswerte.lebenspunkte"}}</span>
|
||||||
<span>AT-Basiswert</span>
|
<span>{{actor.system.computed.lebenspunkte.basiswert}}</span>
|
||||||
<span>{{actor.system.computed.at_basiswert}}</span>
|
<span>{{>editable-input type="number" name="system.lebenspunkte.modifikator" value=actor.system.lebenspunkte.modifikator}}</span>
|
||||||
|
<span>{{>editable-input type="number" name="system.lebenspunkte.zukauf" value=actor.system.lebenspunkte.zukauf}}</span>
|
||||||
|
<span>{{>editable-input type="number" name="system.lebenspunkte.verlust" value=actor.system.lebenspunkte.verlust}}</span>
|
||||||
|
<span>{{actor.system.computed.lebenspunkte.max}}</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
<span>PA-Basiswert</span>
|
<div class="list-item">
|
||||||
<span>{{actor.system.computed.pa_basiswert}}</span>
|
<span>{{localize "DSA41.basiswerte.ausdauer"}}</span>
|
||||||
<span>FK-Basiswert</span>
|
<span>{{actor.system.computed.ausdauer.basiswert}}</span>
|
||||||
<span>{{actor.system.computed.fk_basiswert}}</span>
|
<span>{{>editable-input type="number" name="system.ausdauer.modifikator" value=actor.system.ausdauer.modifikator}}</span>
|
||||||
|
<span>{{>editable-input type="number" name="system.ausdauer.zukauf" value=actor.system.ausdauer.zukauf}}</span>
|
||||||
|
<span>{{>editable-input type="number" name="system.ausdauer.verlust" value=actor.system.ausdauer.verlust}}</span>
|
||||||
|
<span>{{actor.system.computed.ausdauer.max}}</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="list-item">
|
||||||
|
<span>{{localize "DSA41.basiswerte.astralenergie"}}</span>
|
||||||
|
<span>{{actor.system.computed.astralenergie.basiswert}}</span>
|
||||||
|
<span>{{>editable-input type="number" name="system.astralenergie.modifikator" value=actor.system.astralenergie.modifikator}}</span>
|
||||||
|
<span>{{>editable-input type="number" name="system.astralenergie.zukauf" value=actor.system.astralenergie.zukauf}}</span>
|
||||||
|
<span>{{>editable-input type="number" name="system.astralenergie.verlust" value=actor.system.astralenergie.verlust}}</span>
|
||||||
|
<span>{{actor.system.computed.astralenergie.max}}</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="list-item">
|
||||||
|
<span>{{localize "DSA41.basiswerte.magieresistenz"}}</span>
|
||||||
|
<span>{{actor.system.computed.magieresistenz.basiswert}}</span>
|
||||||
|
<span>{{>editable-input type="number" name="system.magieresistenz.modifikator" value=actor.system.magieresistenz.modifikator}}</span>
|
||||||
|
<span>{{>editable-input type="number" name="system.magieresistenz.zukauf" value=actor.system.magieresistenz.zukauf}}</span>
|
||||||
|
<span></span>
|
||||||
|
<span>{{actor.system.computed.magieresistenz.max}}</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="list-item">
|
||||||
|
<span>{{localize "DSA41.basiswerte.initiative"}}</span>
|
||||||
|
<span>{{actor.system.computed.initiative.basiswert}}</span>
|
||||||
|
<span>{{>editable-input type="number" name="system.modifikator_initiative" value=actor.system.modifikator_initiative}}</span>
|
||||||
|
<span></span>
|
||||||
|
<span></span>
|
||||||
|
<span>{{actor.system.computed.initiative.wert}}</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="list-item">
|
||||||
|
<span>{{localize "DSA41.basiswerte.attacke"}}</span>
|
||||||
|
<span>{{actor.system.computed.attacke.basiswert}}</span>
|
||||||
|
<span>{{>editable-input type="number" name="system.modifikator_attacke" value=actor.system.modifikator_attacke}}</span>
|
||||||
|
<span></span>
|
||||||
|
<span></span>
|
||||||
|
<span>{{actor.system.computed.attacke.wert}}</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="list-item">
|
||||||
|
<span>{{localize "DSA41.basiswerte.parade"}}</span>
|
||||||
|
<span>{{actor.system.computed.parade.basiswert}}</span>
|
||||||
|
<span>{{>editable-input type="number" name="system.modifikator_parade" value=actor.system.modifikator_parade}}</span>
|
||||||
|
<span></span>
|
||||||
|
<span></span>
|
||||||
|
<span>{{actor.system.computed.parade.wert}}</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="list-item">
|
||||||
|
<span>{{localize "DSA41.basiswerte.fernkampf"}}</span>
|
||||||
|
<span>{{actor.system.computed.fernkampf.basiswert}}</span>
|
||||||
|
<span>{{>editable-input type="number" name="system.modifikator_fernkampf" value=actor.system.modifikator_fernkampf}}</span>
|
||||||
|
<span></span>
|
||||||
|
<span></span>
|
||||||
|
<span>{{actor.system.computed.fernkampf.wert}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="grid2 gap">
|
||||||
|
<div class="list Vorteile">
|
||||||
|
<div class="list-header">
|
||||||
|
<div>{{localize (concat "DSA41.vornachteil.label_vorteile")}}</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{#each actor.itemTypes.VorNachteil}}
|
||||||
|
{{#if (eq system.kategorie "vorteil")}}
|
||||||
|
<div class="list-item" data-item-id="{{_id}}">
|
||||||
|
<div>
|
||||||
|
<div class="fit-content" data-action="item-open" data-tooltip="<h4>{{name}}</h4>{{system.beschreibung}}">{{maybeLocalize name prefix=(concat "DSA41.vornachteil." system.kategorie ".name")}}</div>
|
||||||
|
</div>
|
||||||
|
<div></div>
|
||||||
|
<div class="center fas fa-trash" data-action="item-delete"></div>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
{{/each}}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="list Nachteile subgrid-rows">
|
||||||
|
<div class="list-header">
|
||||||
|
<div>{{localize (concat "DSA41.vornachteil.label_nachteile")}}</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{#each actor.itemTypes.VorNachteil}}
|
||||||
|
{{#if (eq system.kategorie "nachteil")}}
|
||||||
|
<div class="list-item" data-item-id="{{_id}}">
|
||||||
|
<div>
|
||||||
|
<div class="fit-content" data-action="item-open" data-tooltip="<h4>{{name}}</h4>{{system.beschreibung}}">{{maybeLocalize name prefix=(concat "DSA41.vornachteil." system.kategorie ".name")}}</div>
|
||||||
|
</div>
|
||||||
|
<div></div>
|
||||||
|
<div class="center fas fa-trash" data-action="item-delete"></div>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
{{/each}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="list Sonderfertigkeiten">
|
||||||
|
<div class="list-header">
|
||||||
|
<div>{{localize (concat "DSA41.sonderfertigkeiten.label_allgemein")}}</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{#each actor.itemTypes.Sonderfertigkeit}}
|
||||||
|
{{#if (eq this.system.kategorie "allgemein")}}
|
||||||
|
<div class="list-item" data-item-id="{{_id}}">
|
||||||
|
<div>
|
||||||
|
<div class="fit-content" data-action="item-open">{{maybeLocalize name prefix=(concat "DSA41.sonderfertigkeiten." system.kategorie ".name")}}</div>
|
||||||
|
</div>
|
||||||
|
<div></div>
|
||||||
|
<div class="center fas fa-trash" data-action="item-delete"></div>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
{{/each}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -105,15 +239,13 @@
|
|||||||
|
|
||||||
{{#each this}}
|
{{#each this}}
|
||||||
<div class="list-item" data-item-id="{{_id}}">
|
<div class="list-item" data-item-id="{{_id}}">
|
||||||
<div>
|
<div data-action="item-open">{{maybeLocalize name prefix=(concat "DSA41.talente." system.kategorie ".name")}}</div>
|
||||||
<div class="fit-content" data-action="item-open">{{maybeLocalize name prefix=(concat "DSA41.talente." system.kategorie ".name")}}</div>
|
|
||||||
</div>
|
|
||||||
<div class="center" data-action="roll" data-roll-type="talent">
|
<div class="center" data-action="roll" data-roll-type="talent">
|
||||||
{{>die-type type=system.attribute1}}
|
{{>die-type type=system.attribute1}}
|
||||||
{{>die-type type=system.attribute2}}
|
{{>die-type type=system.attribute2}}
|
||||||
{{>die-type type=system.attribute3}}
|
{{>die-type type=system.attribute3}}
|
||||||
</div>
|
</div>
|
||||||
<div>{{>editable-input type="number" data-name="system.talentwert" value=system.talentwert}}</div>
|
<div>{{>editable-input name=(concat name "system.talentwert") type="number" data-name="system.talentwert" value=system.talentwert}}</div>
|
||||||
<div class="center fas fa-trash" data-action="item-delete"></div>
|
<div class="center fas fa-trash" data-action="item-delete"></div>
|
||||||
</div>
|
</div>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
@ -130,14 +262,14 @@
|
|||||||
<div class="center">{{localize "DSA41.talente.kampf.label_parade_total"}}</div>
|
<div class="center">{{localize "DSA41.talente.kampf.label_parade_total"}}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{#each actor.system.kampf_talente}}
|
{{#each actor.system.kampftalente}}
|
||||||
<div class="list-item">
|
<div class="list-item" data-item-id="{{_id}}">
|
||||||
<div>{{localize (concat "DSA41.talente.kampf.name." @key)}}</div>
|
<div data-action="item-open">{{maybeLocalize name prefix="DSA41.talente.kampf.name."}}</div>
|
||||||
<div>{{>editable-input type="number" name=(concat "system.kampf_talente." @key ".talentwert") value=(lookup this "talentwert")}}</div>
|
<div>{{>editable-input type="number" name=(concat name "system.talentwert") data-name="system.talentwert" value=system.talentwert}}</div>
|
||||||
<div>{{>editable-input type="number" name=(concat "system.kampf_talente." @key ".attacke") value=(lookup this "attacke")}}</div>
|
<div>{{>editable-input type="number" name=(concat name "system.attacke") data-name="system.attacke" value=system.attacke}}</div>
|
||||||
<div>{{>editable-input type="number" name=(concat "system.kampf_talente." @key ".parade") value=(lookup this "parade")}}</div>
|
<div>{{>editable-input type="number" name=(concat name "system.parade") data-name="system.parade" value=system.parade}}</div>
|
||||||
<div class="center">{{lookup (lookup @root.actor.system.computed.kampf.talente @key) "attacke"}}</div>
|
<div class="center">{{lookup (lookup @root.actor.system.computed.kampf.talente name) "attacke"}}</div>
|
||||||
<div class="center">{{lookup (lookup @root.actor.system.computed.kampf.talente @key) "parade"}}</div>
|
<div class="center">{{lookup (lookup @root.actor.system.computed.kampf.talente name) "parade"}}</div>
|
||||||
</div>
|
</div>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</div>
|
</div>
|
||||||
@ -305,5 +437,23 @@
|
|||||||
<div>{{actor.system.computed.kampf.ruestungen_gesamt.gesamt_behinderung}}</div>
|
<div>{{actor.system.computed.kampf.ruestungen_gesamt.gesamt_behinderung}}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="list Sonderfertigkeiten">
|
||||||
|
<div class="list-header">
|
||||||
|
<div>{{localize (concat "DSA41.sonderfertigkeiten.label_kampf")}}</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{#each actor.itemTypes.Sonderfertigkeit}}
|
||||||
|
{{#if (eq this.system.kategorie "kampf")}}
|
||||||
|
<div class="list-item" data-item-id="{{_id}}">
|
||||||
|
<div>
|
||||||
|
<div class="fit-content" data-action="item-open" data-tooltip="{{this.system.beschreibung}}">{{maybeLocalize name prefix=(concat "DSA41.sonderfertigkeiten." system.kategorie ".name")}}</div>
|
||||||
|
</div>
|
||||||
|
<div></div>
|
||||||
|
<div class="center fas fa-trash" data-action="item-delete"></div>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
{{/each}}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
<div class="editable-input editable-{{type}} {{class}}">
|
<div class="editable-input editable-{{type}} {{class}}">
|
||||||
{{#if (eq type "checkbox")}}
|
{{#if (eq type "checkbox")}}
|
||||||
<input type="checkbox" name="{{name}}" data-name="{{data-name}}" {{checked value}}>
|
<input type="checkbox" name="{{name}}" {{#if data-name}}data-name="{{data-name}}"{{/if}} {{checked value}}>
|
||||||
{{else}}
|
{{else}}
|
||||||
<input type="{{type}}" name="{{name}}" data-name="{{data-name}}" value="{{value}}" placeholder="{{placeholder}}">
|
<input type="{{type}}" name="{{name}}" {{#if data-name}}data-name="{{data-name}}"{{/if}} value="{{value}}" placeholder="{{placeholder}}">
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{#if placeholder}}
|
{{#if placeholder}}
|
||||||
|
|||||||
39
src/ItemSheets/Kampftalent.hbs
Normal file
39
src/ItemSheets/Kampftalent.hbs
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
<div class="item-sheet {{ cssClass }}" autocomplete="off">
|
||||||
|
<div class="row">
|
||||||
|
<img class="item-image" src="{{ item.img }}" title="{{ item.name }}" {{#if editable}}data-edit="img"{{/if}}>
|
||||||
|
<div class="col">
|
||||||
|
<div class="grid3 gap">
|
||||||
|
{{>editable-input type="text" name="name" value=item.name placeholder=(localize "DSA41.name")}}
|
||||||
|
<div>
|
||||||
|
<select name="system.steigern">
|
||||||
|
<option value="A_Star" {{#if (eq item.system.steigern "A_Star")}}selected{{/if}}>{{localize "DSA41.kampftalent.steigern.A_Star"}}</option>
|
||||||
|
<option value="A" {{#if (eq item.system.steigern "A") }}selected{{/if}}>{{localize "DSA41.kampftalent.steigern.A"}} </option>
|
||||||
|
<option value="B" {{#if (eq item.system.steigern "B") }}selected{{/if}}>{{localize "DSA41.kampftalent.steigern.B"}} </option>
|
||||||
|
<option value="C" {{#if (eq item.system.steigern "C") }}selected{{/if}}>{{localize "DSA41.kampftalent.steigern.C"}} </option>
|
||||||
|
<option value="D" {{#if (eq item.system.steigern "D") }}selected{{/if}}>{{localize "DSA41.kampftalent.steigern.D"}} </option>
|
||||||
|
<option value="E" {{#if (eq item.system.steigern "E") }}selected{{/if}}>{{localize "DSA41.kampftalent.steigern.E"}} </option>
|
||||||
|
<option value="F" {{#if (eq item.system.steigern "F") }}selected{{/if}}>{{localize "DSA41.kampftalent.steigern.F"}} </option>
|
||||||
|
<option value="G" {{#if (eq item.system.steigern "G") }}selected{{/if}}>{{localize "DSA41.kampftalent.steigern.G"}} </option>
|
||||||
|
<option value="H" {{#if (eq item.system.steigern "H") }}selected{{/if}}>{{localize "DSA41.kampftalent.steigern.H"}} </option>
|
||||||
|
</select>
|
||||||
|
<div class="placeholder">{{localize "DSA41.kampftalent.label_steigern"}}</div>
|
||||||
|
</div>
|
||||||
|
{{>editable-input type="text" name="system.behinderung" value=item.system.behinderung placeholder=(localize "DSA41.talente.label_behinderung")}}
|
||||||
|
</div>
|
||||||
|
<div class="grid gap">
|
||||||
|
<div>
|
||||||
|
<select name="system.kategorie">
|
||||||
|
<option value="waffenlos" {{#if (eq item.system.kategorie "waffenlos")}}selected{{/if}}>{{localize "DSA41.kampftalent.kategorie.waffenlos"}}</option>
|
||||||
|
<option value="nahkampf" {{#if (eq item.system.kategorie "nahkampf") }}selected{{/if}}>{{localize "DSA41.kampftalent.kategorie.nahkampf"}} </option>
|
||||||
|
<option value="fernkampf" {{#if (eq item.system.kategorie "fernkampf")}}selected{{/if}}>{{localize "DSA41.kampftalent.kategorie.fernkampf"}}</option>
|
||||||
|
</select>
|
||||||
|
<div class="placeholder">{{localize "DSA41.talente.label_kategorie"}}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<prose-mirror name="system.beschreibung" value="{{item.system.beschreibung}}" compact="true">
|
||||||
|
</prose-mirror>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
28
src/ItemSheets/Sonderfertigkeit.hbs
Normal file
28
src/ItemSheets/Sonderfertigkeit.hbs
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
<div class="item-sheet {{ cssClass }}" autocomplete="off">
|
||||||
|
<div class="row">
|
||||||
|
<img class="item-image" src="{{ item.img }}" title="{{ item.name }}" {{#if editable}}data-edit="img"{{/if}}>
|
||||||
|
<div class="col">
|
||||||
|
<div class="grid2 gap">
|
||||||
|
{{>editable-input type="text" name="name" value=item.name placeholder=(localize "DSA41.name")}}
|
||||||
|
<div>
|
||||||
|
<select name="system.kategorie">
|
||||||
|
<option value="allgemein" {{#if (eq item.system.kategorie "allgemein")}}selected{{/if}}>{{localize "DSA41.sonderfertigkeiten.kategorie.allgemein"}}</option>
|
||||||
|
<option value="kampf" {{#if (eq item.system.kategorie "kampf") }}selected{{/if}}>{{localize "DSA41.sonderfertigkeiten.kategorie.kampf"}} </option>
|
||||||
|
<option value="magisch" {{#if (eq item.system.kategorie "magisch") }}selected{{/if}}>{{localize "DSA41.sonderfertigkeiten.kategorie.magisch"}} </option>
|
||||||
|
<option value="klerikal" {{#if (eq item.system.kategorie "klerikal") }}selected{{/if}}>{{localize "DSA41.sonderfertigkeiten.kategorie.klerikal"}} </option>
|
||||||
|
</select>
|
||||||
|
<div class="placeholder">{{localize "DSA41.sonderfertigkeiten.kategorie.label"}}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="grid2 gap">
|
||||||
|
{{>editable-input type="number" name="system.kosten" value=item.system.kosten placeholder=(localize "DSA41.sonderfertigkeiten.kosten")}}
|
||||||
|
{{>editable-input type="number" name="system.verbreitung" value=item.system.verbreitung placeholder=(localize "DSA41.sonderfertigkeiten.verbreitung")}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<prose-mirror name="system.beschreibung" value="{{item.system.beschreibung}}" compact="true">
|
||||||
|
|
||||||
|
</prose-mirror>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
22
src/ItemSheets/VorNachteil.hbs
Normal file
22
src/ItemSheets/VorNachteil.hbs
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
<div class="item-sheet {{ cssClass }}" autocomplete="off">
|
||||||
|
<div class="row">
|
||||||
|
<img class="item-image" src="{{ item.img }}" title="{{ item.name }}" {{#if editable}}data-edit="img"{{/if}}>
|
||||||
|
<div class="col">
|
||||||
|
<div class="grid2 gap">
|
||||||
|
{{>editable-input type="text" name="name" value=item.name placeholder=(localize "DSA41.name")}}
|
||||||
|
{{>editable-input type="number" name="system.kosten" value=item.system.kosten placeholder=(localize "DSA41.vornachteil.kosten")}}
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<select name="system.kategorie">
|
||||||
|
<option value="vorteil" {{#if (eq item.system.kategorie "vorteil") }}selected{{/if}}>{{localize "DSA41.vornachteil.kategorie.vorteil"}} </option>
|
||||||
|
<option value="nachteil" {{#if (eq item.system.kategorie "nachteil")}}selected{{/if}}>{{localize "DSA41.vornachteil.kategorie.nachteil"}} </option>
|
||||||
|
</select>
|
||||||
|
<div class="placeholder">{{localize "DSA41.vornachteil.kategorie.label"}}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<prose-mirror name="system.beschreibung" value="{{item.system.beschreibung}}" compact="true">
|
||||||
|
</prose-mirror>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
134
src/lang/de.json
134
src/lang/de.json
@ -1,20 +1,28 @@
|
|||||||
{
|
{
|
||||||
"TYPES": {
|
"TYPES": {
|
||||||
|
"Actor": {
|
||||||
|
"Player": "Spieler"
|
||||||
|
},
|
||||||
|
|
||||||
"Item": {
|
"Item": {
|
||||||
"Gegenstand": "Gegenstand",
|
"Gegenstand": "Gegenstand",
|
||||||
"Ruestung": "Rüstung",
|
"Ruestung": "Rüstung",
|
||||||
"Bewaffnung": "Bewaffnung",
|
"Bewaffnung": "Bewaffnung",
|
||||||
"Talent": "Talent"
|
"Talent": "Talent",
|
||||||
|
"Kampftalent": "Kampftalent",
|
||||||
|
"Sonderfertigkeit": "Sonderfertigkeit",
|
||||||
|
"VorNachteil": "Vor-/Nachteil"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"DSA41": {
|
"DSA41": {
|
||||||
"name": "Name",
|
"name": "Name",
|
||||||
"race": "Rasse",
|
"race": "Rasse",
|
||||||
"culture": "Kultur",
|
"culture": "Kultur",
|
||||||
"profession": "Profession",
|
"profession": "Profession",
|
||||||
"weight": "Gewicht",
|
"sozialstatus": "Sozialstatus",
|
||||||
"price": "Preis",
|
"weight": "Gewicht",
|
||||||
|
"price": "Preis",
|
||||||
|
|
||||||
"chat": {
|
"chat": {
|
||||||
"result": "Ergebnis",
|
"result": "Ergebnis",
|
||||||
@ -28,6 +36,56 @@
|
|||||||
"talentwert_short": "TaW"
|
"talentwert_short": "TaW"
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"basiswerte": {
|
||||||
|
"label_basiswert": "Basiswert",
|
||||||
|
"label_modifikator": "Modifikator",
|
||||||
|
"label_zukauf": "Zukauf",
|
||||||
|
"label_verlust": "Verlust",
|
||||||
|
"label_total": "Total",
|
||||||
|
|
||||||
|
"lebenspunkte": "Lebenspunkte",
|
||||||
|
"ausdauer": "Ausdauer",
|
||||||
|
"astralenergie": "Astralenergie",
|
||||||
|
"magieresistenz": "Magieresistenz",
|
||||||
|
"initiative": "Initiative",
|
||||||
|
"attacke": "Attacke",
|
||||||
|
"parade": "Parade",
|
||||||
|
"fernkampf": "Fernkampf"
|
||||||
|
},
|
||||||
|
|
||||||
|
"vornachteil": {
|
||||||
|
"label_vorteile": "Vorteile",
|
||||||
|
"label_nachteile": "Nachteile",
|
||||||
|
|
||||||
|
"kosten": "Kosten",
|
||||||
|
|
||||||
|
"kategorie": {
|
||||||
|
"label": "Kategorie",
|
||||||
|
|
||||||
|
"vorteil": "Vorteil",
|
||||||
|
"nachteil": "Nachteil"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"sonderfertigkeiten": {
|
||||||
|
"label_allgemein": "Allgemeine Sonderfertigkeiten",
|
||||||
|
"label_kampf": "Kampf-Sonderfertigkeiten",
|
||||||
|
"label_magisch": "Magische Sonderfertigkeiten",
|
||||||
|
"label_klerikal": "Klerikale Sonderfertigkeiten",
|
||||||
|
|
||||||
|
"kosten": "Kosten",
|
||||||
|
"verbreitung": "Verbreitung",
|
||||||
|
|
||||||
|
"kategorie": {
|
||||||
|
"label": "Kategorie",
|
||||||
|
|
||||||
|
"allgemein": "Allgemein",
|
||||||
|
"kampf": "Kampf",
|
||||||
|
"magisch": "Magisch",
|
||||||
|
"klerikal": "Klerikal"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
"roll_types": {
|
"roll_types": {
|
||||||
"courage": "Mut",
|
"courage": "Mut",
|
||||||
"cleverness": "Klugheit",
|
"cleverness": "Klugheit",
|
||||||
@ -84,6 +142,30 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"kampftalent": {
|
||||||
|
"label": "Kampftalent",
|
||||||
|
"label_kategorie": "Kategorie",
|
||||||
|
"label_steigern": "Steigern",
|
||||||
|
|
||||||
|
"kategorie":{
|
||||||
|
"waffenlos": "Waffenlos",
|
||||||
|
"nahkampf": "Bewaffneter Nahkampf",
|
||||||
|
"fernkampf": "Fernkampf"
|
||||||
|
},
|
||||||
|
|
||||||
|
"steigern": {
|
||||||
|
"A_Star": "A*",
|
||||||
|
"A": "A",
|
||||||
|
"B": "B",
|
||||||
|
"C": "C",
|
||||||
|
"D": "D",
|
||||||
|
"E": "E",
|
||||||
|
"F": "F",
|
||||||
|
"G": "G",
|
||||||
|
"H": "H"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
"talente":{
|
"talente":{
|
||||||
"label": "Talent",
|
"label": "Talent",
|
||||||
"label_eigenschaften": "Eigenschaften",
|
"label_eigenschaften": "Eigenschaften",
|
||||||
@ -96,37 +178,7 @@
|
|||||||
"label_attacke": "Attacke",
|
"label_attacke": "Attacke",
|
||||||
"label_parade": "Parade",
|
"label_parade": "Parade",
|
||||||
"label_attacke_total": "Attacke",
|
"label_attacke_total": "Attacke",
|
||||||
"label_parade_total": "Parade",
|
"label_parade_total": "Parade"
|
||||||
|
|
||||||
"name": {
|
|
||||||
"anderthalbhaender": "Anderthalbhänder",
|
|
||||||
"armbrust": "Armbrust",
|
|
||||||
"belagerungswaffen": "Belagerungswaffen",
|
|
||||||
"blasrohr": "Blasrohr",
|
|
||||||
"bogen": "Bogen",
|
|
||||||
"diskus": "Diskus",
|
|
||||||
"dolche": "Dolche",
|
|
||||||
"fechtwaffen": "Fechtwaffen",
|
|
||||||
"hiebwaffen": "Hiebwaffen",
|
|
||||||
"infanteriewaffen": "Infanteriewaffen",
|
|
||||||
"kettenstaebe": "Kettenstäbe",
|
|
||||||
"kettenwaffen": "Kettenwaffen",
|
|
||||||
"lanzenreiten": "Lanzenreiten",
|
|
||||||
"peitsche": "Peitsche",
|
|
||||||
"raufen": "Raufen",
|
|
||||||
"ringen": "Ringen",
|
|
||||||
"saebel": "Saebel",
|
|
||||||
"schleuder": "Schleuder",
|
|
||||||
"schwerter": "Schwerter",
|
|
||||||
"speere": "Speere",
|
|
||||||
"staebe": "Stäbe",
|
|
||||||
"wurfbeile": "Wurfbeile",
|
|
||||||
"wurfmesser": "Wurfmesser",
|
|
||||||
"wurfspeere": "Wurfspeere",
|
|
||||||
"zweihandflegel": "Zweihandflegel",
|
|
||||||
"zweihand_hiebwaffen": "Zweihand-Hiebwaffen",
|
|
||||||
"zweihandschwerter": "Zweihandschwerter/-säbel"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
"koerperliche": {
|
"koerperliche": {
|
||||||
|
|||||||
102
src/main.css
102
src/main.css
@ -1,6 +1,8 @@
|
|||||||
.DSA41 {
|
html {
|
||||||
font-size: 14px;
|
font-size: 16px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.DSA41 {
|
||||||
/* Change from FoundryVTT's default of 'none' to 'auto' to allow checkboxes in the nav bar */
|
/* Change from FoundryVTT's default of 'none' to 'auto' to allow checkboxes in the nav bar */
|
||||||
& .tabs > [data-tab] > * {
|
& .tabs > [data-tab] > * {
|
||||||
pointer-events: auto;
|
pointer-events: auto;
|
||||||
@ -180,6 +182,61 @@
|
|||||||
&.die-fernkampf-trefferpunkte { fill: #a2a0ee; }
|
&.die-fernkampf-trefferpunkte { fill: #a2a0ee; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
& .bar {
|
||||||
|
--bar-percentage: 100%;
|
||||||
|
--bar-color-left: #951a84;
|
||||||
|
--bar-color-right: #cd22b6;
|
||||||
|
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
margin: 1em;
|
||||||
|
|
||||||
|
border: 1px solid #9f9275;
|
||||||
|
border-radius: 5px;
|
||||||
|
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
position: absolute;
|
||||||
|
z-index: -1;
|
||||||
|
left: 0;
|
||||||
|
|
||||||
|
width: var(--bar-percentage);
|
||||||
|
height: 100%;
|
||||||
|
|
||||||
|
content: "";
|
||||||
|
background: linear-gradient(90deg, var(--bar-color-left) 0%, var(--bar-color-right) 100%);
|
||||||
|
}
|
||||||
|
|
||||||
|
& .editable-input, & span {
|
||||||
|
display: inline-block;
|
||||||
|
width: 4ch;
|
||||||
|
|
||||||
|
& input {
|
||||||
|
background: transparent;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.hp {
|
||||||
|
--bar-color-left: #401f25;
|
||||||
|
--bar-color-right: #861212;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.ausdauer {
|
||||||
|
--bar-color-left: #114f0c;
|
||||||
|
--bar-color-right: #178010;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.astralenergie {
|
||||||
|
--bar-color-left: #0e1155;
|
||||||
|
--bar-color-right: #141cb7;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
& .tabs {
|
& .tabs {
|
||||||
padding: .5rem;
|
padding: .5rem;
|
||||||
margin-top: .5rem;
|
margin-top: .5rem;
|
||||||
@ -204,6 +261,9 @@
|
|||||||
& .list {
|
& .list {
|
||||||
display: grid;
|
display: grid;
|
||||||
|
|
||||||
|
grid-template-rows: max-content;
|
||||||
|
grid-auto-rows: max-content;
|
||||||
|
|
||||||
border-radius: 5px 5px 5px 5px;
|
border-radius: 5px 5px 5px 5px;
|
||||||
box-shadow: 0 0 6px rgba(0, 0, 0, 0.45);
|
box-shadow: 0 0 6px rgba(0, 0, 0, 0.45);
|
||||||
|
|
||||||
@ -217,7 +277,7 @@
|
|||||||
display: grid;
|
display: grid;
|
||||||
grid-column: 1 / -1;
|
grid-column: 1 / -1;
|
||||||
|
|
||||||
grid-template-rows: subgrid;
|
grid-template-rows: subgrid;
|
||||||
grid-template-columns: subgrid;
|
grid-template-columns: subgrid;
|
||||||
|
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@ -231,7 +291,7 @@
|
|||||||
display: grid;
|
display: grid;
|
||||||
grid-column: 1 / -1;
|
grid-column: 1 / -1;
|
||||||
|
|
||||||
grid-template-rows: subgrid;
|
grid-template-rows: subgrid;
|
||||||
grid-template-columns: subgrid;
|
grid-template-columns: subgrid;
|
||||||
|
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@ -282,10 +342,26 @@
|
|||||||
gap: 0.5rem;
|
gap: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
& .Basiswerte {
|
& .Basiswerte {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(4, minmax(0, 1fr));
|
grid-template-columns: minmax(0, max-content) repeat(5, minmax(0, 1fr));
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
& .list-header :not(:nth-child(1)), .list-item :not(:nth-child(1)) {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
& .Sonderfertigkeiten {
|
||||||
|
grid-template-columns: minmax(min-content, max-content) auto min-content;
|
||||||
|
}
|
||||||
|
|
||||||
|
& .Vorteile {
|
||||||
|
grid-template-columns: minmax(min-content, max-content) auto min-content;
|
||||||
|
}
|
||||||
|
|
||||||
|
& .Nachteile {
|
||||||
|
grid-template-columns: minmax(min-content, max-content) auto min-content;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -322,6 +398,10 @@
|
|||||||
grid-template-columns: 2fr repeat(8, 1fr) repeat(2, 1.5fr);
|
grid-template-columns: 2fr repeat(8, 1fr) repeat(2, 1.5fr);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
& .Sonderfertigkeiten {
|
||||||
|
grid-template-columns: minmax(min-content, max-content) auto min-content;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -349,3 +429,13 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#tooltip.DSA41 {
|
||||||
|
max-width: 650px;
|
||||||
|
text-align: left;
|
||||||
|
|
||||||
|
& h4 {
|
||||||
|
font-size: large;
|
||||||
|
}
|
||||||
|
}
|
||||||
223
src/main.mjs
223
src/main.mjs
@ -14,10 +14,13 @@ Hooks.once("init", async function() {
|
|||||||
CONFIG.Actor.dataModels.Player = DSA41_CharacterData;
|
CONFIG.Actor.dataModels.Player = DSA41_CharacterData;
|
||||||
CONFIG.Actor.documentClass = DSA41_CharacterDocument;
|
CONFIG.Actor.documentClass = DSA41_CharacterDocument;
|
||||||
|
|
||||||
CONFIG.Item.dataModels.Gegenstand = DSA41_GegenstandData;
|
CONFIG.Item.dataModels.Gegenstand = DSA41_GegenstandData;
|
||||||
CONFIG.Item.dataModels.Ruestung = DSA41_RuestungData;
|
CONFIG.Item.dataModels.Ruestung = DSA41_RuestungData;
|
||||||
CONFIG.Item.dataModels.Bewaffnung = DSA41_BewaffnungData;
|
CONFIG.Item.dataModels.Bewaffnung = DSA41_BewaffnungData;
|
||||||
CONFIG.Item.dataModels.Talent = DSA41_TalentData;
|
CONFIG.Item.dataModels.Talent = DSA41_TalentData;
|
||||||
|
CONFIG.Item.dataModels.Kampftalent = DSA41_KampftalentData;
|
||||||
|
CONFIG.Item.dataModels.Sonderfertigkeit = DSA41_SonderfertigkeitData;
|
||||||
|
CONFIG.Item.dataModels.VorNachteil = DSA41_VorNachteilData;
|
||||||
|
|
||||||
DocumentSheetConfig.unregisterSheet(Actor, "core", ActorSheet);
|
DocumentSheetConfig.unregisterSheet(Actor, "core", ActorSheet);
|
||||||
DocumentSheetConfig.registerSheet(Actor, "dsa41", DSA41_ActorSheet, {
|
DocumentSheetConfig.registerSheet(Actor, "dsa41", DSA41_ActorSheet, {
|
||||||
@ -35,14 +38,22 @@ Hooks.once("init", async function() {
|
|||||||
"Ruestung",
|
"Ruestung",
|
||||||
"Bewaffnung",
|
"Bewaffnung",
|
||||||
"Talent",
|
"Talent",
|
||||||
|
"Kampftalent",
|
||||||
|
"Sonderfertigkeit",
|
||||||
|
"VorNachteil",
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
Handlebars.registerHelper({
|
Handlebars.registerHelper({
|
||||||
maybeLocalize: (value, options) => {
|
maybeLocalize: (value, options) => {
|
||||||
const prefix = options.hash.prefix ? options.hash.prefix.string : null;
|
const prefix = options.hash.prefix ? options.hash.prefix.string : null;
|
||||||
if (prefix)
|
if (prefix) {
|
||||||
return game.i18n.localize(prefix + "." + value);
|
const id = prefix + "." + value;
|
||||||
|
const localized = game.i18n.localize(id);
|
||||||
|
|
||||||
|
return id === localized ? value : localized;
|
||||||
|
}
|
||||||
|
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -121,18 +132,6 @@ class AttributeField extends SchemaField {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class CombatTalentField extends SchemaField {
|
|
||||||
constructor() {
|
|
||||||
return super({
|
|
||||||
talentwert: new NumberField({ integer: true, initial: 0 }),
|
|
||||||
attacke: new NumberField({ integer: true, initial: 0 }),
|
|
||||||
parade: new NumberField({ integer: true, initial: 0 }),
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class DSA41_CharacterDocument extends Actor {
|
class DSA41_CharacterDocument extends Actor {
|
||||||
static async create(data, operation) {
|
static async create(data, operation) {
|
||||||
const actor = await super.create(data, operation);
|
const actor = await super.create(data, operation);
|
||||||
@ -174,6 +173,14 @@ class DSA41_CharacterDocument extends Actor {
|
|||||||
"Lederarbeiten",
|
"Lederarbeiten",
|
||||||
"Malen/Zeichnen",
|
"Malen/Zeichnen",
|
||||||
"Schneidern",
|
"Schneidern",
|
||||||
|
|
||||||
|
// Basis Kampftalente
|
||||||
|
"Dolche",
|
||||||
|
"Hiebwaffen",
|
||||||
|
"Raufen",
|
||||||
|
"Ringen",
|
||||||
|
"Säbel",
|
||||||
|
"Wurfmesser",
|
||||||
]});
|
]});
|
||||||
|
|
||||||
await actor.createEmbeddedDocuments("Item", talente);
|
await actor.createEmbeddedDocuments("Item", talente);
|
||||||
@ -186,9 +193,10 @@ class DSA41_CharacterDocument extends Actor {
|
|||||||
class DSA41_CharacterData extends TypeDataModel {
|
class DSA41_CharacterData extends TypeDataModel {
|
||||||
static defineSchema() {
|
static defineSchema() {
|
||||||
return {
|
return {
|
||||||
race: new StringField(),
|
race: new StringField(),
|
||||||
culture: new StringField(),
|
culture: new StringField(),
|
||||||
profession: new StringField(),
|
profession: new StringField(),
|
||||||
|
sozialstatus: new NumberField({ integer: true, inital: 1 }),
|
||||||
|
|
||||||
attributes: new SchemaField({
|
attributes: new SchemaField({
|
||||||
courage: new AttributeField(),
|
courage: new AttributeField(),
|
||||||
@ -201,35 +209,41 @@ class DSA41_CharacterData extends TypeDataModel {
|
|||||||
strength: new AttributeField(),
|
strength: new AttributeField(),
|
||||||
}),
|
}),
|
||||||
|
|
||||||
kampf_talente: new SchemaField({
|
lebenspunkte: new SchemaField({
|
||||||
anderthalbhaender: new CombatTalentField(),
|
modifikator: new NumberField({integer: true, initial: 0}),
|
||||||
armbrust: new CombatTalentField(),
|
zukauf: new NumberField({integer: true, initial: 0}),
|
||||||
belagerungswaffen: new CombatTalentField(),
|
verlust: new NumberField({integer: true, initial: 0}),
|
||||||
blasrohr: new CombatTalentField(),
|
|
||||||
bogen: new CombatTalentField(),
|
aktuell: new NumberField({integer: true, initial: 0}),
|
||||||
diskus: new CombatTalentField(),
|
|
||||||
dolche: new CombatTalentField(),
|
|
||||||
fechtwaffen: new CombatTalentField(),
|
|
||||||
hiebwaffen: new CombatTalentField(),
|
|
||||||
infanteriewaffen: new CombatTalentField(),
|
|
||||||
kettenstaebe: new CombatTalentField(),
|
|
||||||
kettenwaffen: new CombatTalentField(),
|
|
||||||
lanzenreiten: new CombatTalentField(),
|
|
||||||
peitsche: new CombatTalentField(),
|
|
||||||
raufen: new CombatTalentField(),
|
|
||||||
ringen: new CombatTalentField(),
|
|
||||||
saebel: new CombatTalentField(),
|
|
||||||
schleuder: new CombatTalentField(),
|
|
||||||
schwerter: new CombatTalentField(),
|
|
||||||
speere: new CombatTalentField(),
|
|
||||||
staebe: new CombatTalentField(),
|
|
||||||
wurfbeile: new CombatTalentField(),
|
|
||||||
wurfmesser: new CombatTalentField(),
|
|
||||||
wurfspeere: new CombatTalentField(),
|
|
||||||
zweihandflegel: new CombatTalentField(),
|
|
||||||
zweihand_hiebwaffen: new CombatTalentField(),
|
|
||||||
zweihandschwerter: new CombatTalentField(),
|
|
||||||
}),
|
}),
|
||||||
|
|
||||||
|
ausdauer: new SchemaField({
|
||||||
|
modifikator: new NumberField({integer: true, initial: 0}),
|
||||||
|
zukauf: new NumberField({integer: true, initial: 0}),
|
||||||
|
verlust: new NumberField({integer: true, initial: 0}),
|
||||||
|
|
||||||
|
aktuell: new NumberField({integer: true, initial: 0}),
|
||||||
|
}),
|
||||||
|
|
||||||
|
astralenergie: new SchemaField({
|
||||||
|
modifikator: new NumberField({integer: true, initial: 0}),
|
||||||
|
zukauf: new NumberField({integer: true, initial: 0}),
|
||||||
|
verlust: new NumberField({integer: true, initial: 0}),
|
||||||
|
|
||||||
|
aktuell: new NumberField({integer: true, initial: 0}),
|
||||||
|
}),
|
||||||
|
|
||||||
|
magieresistenz: new SchemaField({
|
||||||
|
modifikator: new NumberField({integer: true, initial: 0}),
|
||||||
|
zukauf: new NumberField({integer: true, initial: 0}),
|
||||||
|
|
||||||
|
aktuell: new NumberField({integer: true, initial: 0}),
|
||||||
|
}),
|
||||||
|
|
||||||
|
modifikator_initiative: new NumberField({integer: true, initial: 0}),
|
||||||
|
modifikator_attacke: new NumberField({integer: true, initial: 0}),
|
||||||
|
modifikator_parade: new NumberField({integer: true, initial: 0}),
|
||||||
|
modifikator_fernkampf: new NumberField({integer: true, initial: 0}),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -265,15 +279,40 @@ class DSA41_CharacterData extends TypeDataModel {
|
|||||||
this.computed.attributes_without_modifiers[attribute] = values.initial + values.advancement;
|
this.computed.attributes_without_modifiers[attribute] = values.initial + values.advancement;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.computed.max_lebenspunkte = Math.round((this.computed.attributes_without_modifiers.constitution + this.computed.attributes_without_modifiers.constitution + this.computed.attributes_without_modifiers.strength) / 2);
|
this.computed.lebenspunkte = {};
|
||||||
this.computed.max_ausdauer = Math.round((this.computed.attributes_without_modifiers.courage + this.computed.attributes_without_modifiers.constitution + this.computed.attributes_without_modifiers.agility) / 2);
|
this.computed.ausdauer = {};
|
||||||
this.computed.max_atralenergie = Math.round((this.computed.attributes_without_modifiers.courage + this.computed.attributes_without_modifiers.intuition + this.computed.attributes_without_modifiers.charisma) / 2);
|
this.computed.astralenergie = {};
|
||||||
|
this.computed.magieresistenz = {};
|
||||||
|
|
||||||
this.computed.magieresistenz = Math.round((this.computed.attributes_without_modifiers.courage + this.computed.attributes_without_modifiers.cleverness + this.computed.attributes_without_modifiers.constitution) / 5);
|
this.computed.lebenspunkte.basiswert = Math.round((this.computed.attributes_without_modifiers.constitution + this.computed.attributes_without_modifiers.constitution + this.computed.attributes_without_modifiers.strength) / 2);
|
||||||
this.computed.ini_basiswert = Math.round((this.computed.attributes_without_modifiers.courage + this.computed.attributes_without_modifiers.courage + this.computed.attributes_without_modifiers.intuition + this.computed.attributes_without_modifiers.agility) / 5);
|
this.computed.ausdauer.basiswert = Math.round((this.computed.attributes_without_modifiers.courage + this.computed.attributes_without_modifiers.constitution + this.computed.attributes_without_modifiers.agility) / 2);
|
||||||
this.computed.at_basiswert = Math.round((this.computed.attributes_without_modifiers.courage + this.computed.attributes_without_modifiers.agility + this.computed.attributes_without_modifiers.strength) / 5);;
|
this.computed.astralenergie.basiswert = Math.round((this.computed.attributes_without_modifiers.courage + this.computed.attributes_without_modifiers.intuition + this.computed.attributes_without_modifiers.charisma) / 2);
|
||||||
this.computed.pa_basiswert = Math.round((this.computed.attributes_without_modifiers.intuition + this.computed.attributes_without_modifiers.agility + this.computed.attributes_without_modifiers.strength) / 5);;
|
this.computed.magieresistenz.basiswert = Math.round((this.computed.attributes_without_modifiers.courage + this.computed.attributes_without_modifiers.cleverness + this.computed.attributes_without_modifiers.constitution) / 5);
|
||||||
this.computed.fk_basiswert = Math.round((this.computed.attributes_without_modifiers.intuition + this.computed.attributes_without_modifiers.dexterity + this.computed.attributes_without_modifiers.strength) / 5);;
|
|
||||||
|
this.computed.lebenspunkte.max = this.computed.lebenspunkte.basiswert + this.lebenspunkte.modifikator + this.lebenspunkte.zukauf - this.lebenspunkte.verlust;
|
||||||
|
this.computed.ausdauer.max = this.computed.ausdauer.basiswert + this.ausdauer.modifikator + this.ausdauer.zukauf - this.ausdauer.verlust;
|
||||||
|
this.computed.astralenergie.max = this.computed.astralenergie.basiswert + this.astralenergie.modifikator + this.astralenergie.zukauf - this.astralenergie.verlust;
|
||||||
|
this.computed.magieresistenz.max = this.computed.magieresistenz.basiswert + this.magieresistenz.modifikator + this.magieresistenz.zukauf;
|
||||||
|
|
||||||
|
this.computed.lebenspunkte.prozent = this.lebenspunkte.aktuell / this.computed.lebenspunkte.max * 100;
|
||||||
|
this.computed.ausdauer.prozent = this.ausdauer.aktuell / this.computed.ausdauer.max * 100;
|
||||||
|
this.computed.astralenergie.prozent = this.astralenergie.aktuell / this.computed.astralenergie.max * 100;
|
||||||
|
this.computed.magieresistenz.prozent = this.magieresistenz.aktuell / this.computed.magieresistenz.max * 100;
|
||||||
|
|
||||||
|
this.computed.initiative = {};
|
||||||
|
this.computed.attacke = {};
|
||||||
|
this.computed.parade = {};
|
||||||
|
this.computed.fernkampf = {};
|
||||||
|
|
||||||
|
this.computed.initiative.basiswert = Math.round((this.computed.attributes_without_modifiers.courage + this.computed.attributes_without_modifiers.courage + this.computed.attributes_without_modifiers.intuition + this.computed.attributes_without_modifiers.agility) / 5);
|
||||||
|
this.computed.attacke.basiswert = Math.round((this.computed.attributes_without_modifiers.courage + this.computed.attributes_without_modifiers.agility + this.computed.attributes_without_modifiers.strength) / 5);
|
||||||
|
this.computed.parade.basiswert = Math.round((this.computed.attributes_without_modifiers.intuition + this.computed.attributes_without_modifiers.agility + this.computed.attributes_without_modifiers.strength) / 5);
|
||||||
|
this.computed.fernkampf.basiswert = Math.round((this.computed.attributes_without_modifiers.intuition + this.computed.attributes_without_modifiers.dexterity + this.computed.attributes_without_modifiers.strength) / 5);
|
||||||
|
|
||||||
|
this.computed.initiative.wert = this.computed.initiative.basiswert + this.modifikator_initiative;
|
||||||
|
this.computed.attacke.wert = this.computed.attacke.basiswert + this.modifikator_attacke;
|
||||||
|
this.computed.parade.wert = this.computed.parade.basiswert + this.modifikator_parade;
|
||||||
|
this.computed.fernkampf.wert = this.computed.fernkampf.basiswert + this.modifikator_fernkampf;
|
||||||
|
|
||||||
const equipped_ruestungen = this.parent.items.filter((x) => x.type === "Ruestung");
|
const equipped_ruestungen = this.parent.items.filter((x) => x.type === "Ruestung");
|
||||||
for (const item of equipped_ruestungen) {
|
for (const item of equipped_ruestungen) {
|
||||||
@ -295,10 +334,14 @@ class DSA41_CharacterData extends TypeDataModel {
|
|||||||
this.computed.kampf.ruestungen_gesamt[key] = Math.round(value);
|
this.computed.kampf.ruestungen_gesamt[key] = Math.round(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
for(const [name, values] of Object.entries(this.kampf_talente)) {
|
this.kampftalente = this.parent.items.filter((x) => x.type === "Kampftalent").sort((a, b) => a.name > b.name);
|
||||||
this.computed.kampf.talente[name] = {};
|
for(const talent of this.kampftalente) {
|
||||||
this.computed.kampf.talente[name].attacke = this.computed.at_basiswert + values.attacke;
|
this.computed.kampf.talente[talent.name] = {};
|
||||||
this.computed.kampf.talente[name].parade = this.computed.pa_basiswert + values.parade;
|
this.computed.kampf.talente[talent.name].attacke = this.computed.at_basiswert + talent.system.attacke;
|
||||||
|
this.computed.kampf.talente[talent.name].parade = this.computed.pa_basiswert + talent.system.parade;
|
||||||
|
|
||||||
|
this.computed.kampf.talente[talent.name].talent_attacke = talent.system.attacke;
|
||||||
|
this.computed.kampf.talente[talent.name].talent_parade = talent.system.parade;
|
||||||
}
|
}
|
||||||
|
|
||||||
const equipped_bewaffnung = this.parent.items.filter((x) => x.type === "Bewaffnung");
|
const equipped_bewaffnung = this.parent.items.filter((x) => x.type === "Bewaffnung");
|
||||||
@ -339,8 +382,8 @@ class DSA41_CharacterData extends TypeDataModel {
|
|||||||
|
|
||||||
const talent = item.system.nahkampfwaffe.kampftalente;
|
const talent = item.system.nahkampfwaffe.kampftalente;
|
||||||
|
|
||||||
computed.talent_attacke = this.kampf_talente[talent]?.attacke ?? 0;
|
computed.talent_attacke = this.computed.kampf.talente[talent]?.talent_attacke ?? 0;
|
||||||
computed.talent_parade = this.kampf_talente[talent]?.parade ?? 0;
|
computed.talent_parade = this.computed.kampf.talente[talent]?.talent_parade ?? 0;
|
||||||
|
|
||||||
computed.modifikator_attacke = item.system.nahkampfwaffe.modifikator_attacke;
|
computed.modifikator_attacke = item.system.nahkampfwaffe.modifikator_attacke;
|
||||||
computed.modifikator_parade = item.system.nahkampfwaffe.modifikator_parade;
|
computed.modifikator_parade = item.system.nahkampfwaffe.modifikator_parade;
|
||||||
@ -385,7 +428,7 @@ class DSA41_CharacterData extends TypeDataModel {
|
|||||||
computed.basis_attacke = this.computed.fk_basiswert;
|
computed.basis_attacke = this.computed.fk_basiswert;
|
||||||
|
|
||||||
const talent = item.system.nahkampfwaffe.kampftalente;
|
const talent = item.system.nahkampfwaffe.kampftalente;
|
||||||
computed.talent_attacke = this.kampf_talente[talent]?.attacke ?? 0;
|
computed.talent_attacke = this.computed.kampf.talente[talent]?.talent_attacke ?? 0;
|
||||||
|
|
||||||
computed.attacke = computed.basis_attacke + computed.talent_attacke;
|
computed.attacke = computed.basis_attacke + computed.talent_attacke;
|
||||||
|
|
||||||
@ -516,7 +559,7 @@ class DSA41_BewaffnungData extends TypeDataModel {
|
|||||||
class DSA41_TalentData extends TypeDataModel {
|
class DSA41_TalentData extends TypeDataModel {
|
||||||
static defineSchema() {
|
static defineSchema() {
|
||||||
return {
|
return {
|
||||||
kategorie: new StringField(),
|
kategorie: new StringField(),
|
||||||
behinderung: new StringField(),
|
behinderung: new StringField(),
|
||||||
|
|
||||||
attribute1: new StringField(),
|
attribute1: new StringField(),
|
||||||
@ -528,6 +571,45 @@ class DSA41_TalentData extends TypeDataModel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class DSA41_KampftalentData extends TypeDataModel {
|
||||||
|
static defineSchema() {
|
||||||
|
return {
|
||||||
|
kategorie: new StringField(),
|
||||||
|
behinderung: new StringField(),
|
||||||
|
steigern: new StringField(),
|
||||||
|
|
||||||
|
beschreibung: new StringField(),
|
||||||
|
|
||||||
|
talentwert: new NumberField({ integer: true, initial: 0 }),
|
||||||
|
attacke: new NumberField({ integer: true, initial: 0 }),
|
||||||
|
parade: new NumberField({ integer: true, initial: 0 }),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class DSA41_SonderfertigkeitData extends TypeDataModel {
|
||||||
|
static defineSchema() {
|
||||||
|
return {
|
||||||
|
kategorie: new StringField(),
|
||||||
|
kosten: new NumberField({ integer: true, initial: 0 }),
|
||||||
|
verbreitung: new NumberField({ integer: true, initial: 0 }),
|
||||||
|
|
||||||
|
beschreibung: new StringField(),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class DSA41_VorNachteilData extends TypeDataModel {
|
||||||
|
static defineSchema() {
|
||||||
|
return {
|
||||||
|
kategorie: new StringField(),
|
||||||
|
kosten: new NumberField({ integer: true, initial: 0 }),
|
||||||
|
|
||||||
|
beschreibung: new StringField(),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function DSA41_ApplicationMixin(BaseApplication) {
|
function DSA41_ApplicationMixin(BaseApplication) {
|
||||||
class DSA41_Application extends HandlebarsApplicationMixin(BaseApplication) {
|
class DSA41_Application extends HandlebarsApplicationMixin(BaseApplication) {
|
||||||
static DEFAULT_OPTIONS= {
|
static DEFAULT_OPTIONS= {
|
||||||
@ -859,10 +941,13 @@ class DSA41_ActorSheet extends DSA41_ApplicationMixin(ActorSheetV2) {
|
|||||||
|
|
||||||
class DSA41_ItemSheetV2 extends DSA41_ApplicationMixin(ItemSheetV2) {
|
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" },
|
||||||
Talent: { template: "systems/dsa-4th-edition/src/ItemSheets/Talent.hbs" },
|
Talent: { template: "systems/dsa-4th-edition/src/ItemSheets/Talent.hbs" },
|
||||||
|
Kampftalent: { template: "systems/dsa-4th-edition/src/ItemSheets/Kampftalent.hbs" },
|
||||||
|
Sonderfertigkeit: { template: "systems/dsa-4th-edition/src/ItemSheets/Sonderfertigkeit.hbs" },
|
||||||
|
VorNachteil: { template: "systems/dsa-4th-edition/src/ItemSheets/VorNachteil.hbs" },
|
||||||
};
|
};
|
||||||
|
|
||||||
static DEFAULT_OPTIONS = {
|
static DEFAULT_OPTIONS = {
|
||||||
|
|||||||
@ -14,7 +14,10 @@
|
|||||||
"Ruestung": {},
|
"Ruestung": {},
|
||||||
"Bewaffnung": {},
|
"Bewaffnung": {},
|
||||||
|
|
||||||
"Talent": {}
|
"Talent": {},
|
||||||
|
"Kampftalent": {},
|
||||||
|
"Sonderfertigkeit": {},
|
||||||
|
"VorNachteil": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@ -8,17 +8,17 @@ const talente: system.ItemCompendium = .{ .entries = &.{
|
|||||||
.{ .Folder = .{ .name = "Körperliche Talente", .entries = &.{
|
.{ .Folder = .{ .name = "Körperliche Talente", .entries = &.{
|
||||||
.{ .Talent = .{ .name = "Akrobatik", .system = .{ .kategorie = .koerperliche, .attribute1 = .MU, .attribute2 = .GE, .attribute3 = .KK, .behinderung = "@BE * 2" } } },
|
.{ .Talent = .{ .name = "Akrobatik", .system = .{ .kategorie = .koerperliche, .attribute1 = .MU, .attribute2 = .GE, .attribute3 = .KK, .behinderung = "@BE * 2" } } },
|
||||||
.{ .Talent = .{ .name = "Athletik", .system = .{ .kategorie = .koerperliche, .attribute1 = .GE, .attribute2 = .KO, .attribute3 = .KK, .behinderung = "@BE * 2" } } },
|
.{ .Talent = .{ .name = "Athletik", .system = .{ .kategorie = .koerperliche, .attribute1 = .GE, .attribute2 = .KO, .attribute3 = .KK, .behinderung = "@BE * 2" } } },
|
||||||
.{ .Talent = .{ .name = "Fliegen", .system = .{ .kategorie = .koerperliche, .attribute1 = .MU, .attribute2 = .IN, .attribute3 = .GE, .behinderung = "" } } },
|
.{ .Talent = .{ .name = "Fliegen", .system = .{ .kategorie = .koerperliche, .attribute1 = .MU, .attribute2 = .IN, .attribute3 = .GE, .behinderung = "@BE" } } },
|
||||||
.{ .Talent = .{ .name = "Gaukeleien", .system = .{ .kategorie = .koerperliche, .attribute1 = .MU, .attribute2 = .CH, .attribute3 = .FF, .behinderung = "" } } },
|
.{ .Talent = .{ .name = "Gaukeleien", .system = .{ .kategorie = .koerperliche, .attribute1 = .MU, .attribute2 = .CH, .attribute3 = .FF, .behinderung = "@BE * 2" } } },
|
||||||
.{ .Talent = .{ .name = "Klettern", .system = .{ .kategorie = .koerperliche, .attribute1 = .MU, .attribute2 = .GE, .attribute3 = .KK, .behinderung = "" } } },
|
.{ .Talent = .{ .name = "Klettern", .system = .{ .kategorie = .koerperliche, .attribute1 = .MU, .attribute2 = .GE, .attribute3 = .KK, .behinderung = "@BE * 2" } } },
|
||||||
.{ .Talent = .{ .name = "Körperbeherrschung", .system = .{ .kategorie = .koerperliche, .attribute1 = .MU, .attribute2 = .IN, .attribute3 = .GE, .behinderung = "@BE * 2" } } },
|
.{ .Talent = .{ .name = "Körperbeherrschung", .system = .{ .kategorie = .koerperliche, .attribute1 = .MU, .attribute2 = .IN, .attribute3 = .GE, .behinderung = "@BE * 2" } } },
|
||||||
.{ .Talent = .{ .name = "Reiten", .system = .{ .kategorie = .koerperliche, .attribute1 = .CH, .attribute2 = .GE, .attribute3 = .KK, .behinderung = "@BE - 2" } } },
|
.{ .Talent = .{ .name = "Reiten", .system = .{ .kategorie = .koerperliche, .attribute1 = .CH, .attribute2 = .GE, .attribute3 = .KK, .behinderung = "@BE - 2" } } },
|
||||||
.{ .Talent = .{ .name = "Schleichen", .system = .{ .kategorie = .koerperliche, .attribute1 = .MU, .attribute2 = .IN, .attribute3 = .GE, .behinderung = "@BE" } } },
|
.{ .Talent = .{ .name = "Schleichen", .system = .{ .kategorie = .koerperliche, .attribute1 = .MU, .attribute2 = .IN, .attribute3 = .GE, .behinderung = "@BE" } } },
|
||||||
.{ .Talent = .{ .name = "Schwimmen", .system = .{ .kategorie = .koerperliche, .attribute1 = .GE, .attribute2 = .KO, .attribute3 = .KK, .behinderung = "@BE * 2" } } },
|
.{ .Talent = .{ .name = "Schwimmen", .system = .{ .kategorie = .koerperliche, .attribute1 = .GE, .attribute2 = .KO, .attribute3 = .KK, .behinderung = "@BE * 2" } } },
|
||||||
.{ .Talent = .{ .name = "Selbstbeherrschung", .system = .{ .kategorie = .koerperliche, .attribute1 = .MU, .attribute2 = .KO, .attribute3 = .KK, .behinderung = "" } } },
|
.{ .Talent = .{ .name = "Selbstbeherrschung", .system = .{ .kategorie = .koerperliche, .attribute1 = .MU, .attribute2 = .KO, .attribute3 = .KK, .behinderung = "" } } },
|
||||||
.{ .Talent = .{ .name = "Sich Verstecken", .system = .{ .kategorie = .koerperliche, .attribute1 = .MU, .attribute2 = .IN, .attribute3 = .GE, .behinderung = "@BE * 2" } } },
|
.{ .Talent = .{ .name = "Sich Verstecken", .system = .{ .kategorie = .koerperliche, .attribute1 = .MU, .attribute2 = .IN, .attribute3 = .GE, .behinderung = "@BE - 2" } } },
|
||||||
.{ .Talent = .{ .name = "Singen", .system = .{ .kategorie = .koerperliche, .attribute1 = .IN, .attribute2 = .CH, .attribute3 = .CH, .behinderung = "" } } },
|
.{ .Talent = .{ .name = "Singen", .system = .{ .kategorie = .koerperliche, .attribute1 = .IN, .attribute2 = .CH, .attribute3 = .CH, .behinderung = "@BE - 3" } } },
|
||||||
.{ .Talent = .{ .name = "Singen", .system = .{ .kategorie = .koerperliche, .attribute1 = .IN, .attribute2 = .CH, .attribute3 = .KO, .behinderung = "" } } },
|
.{ .Talent = .{ .name = "Singen", .system = .{ .kategorie = .koerperliche, .attribute1 = .IN, .attribute2 = .CH, .attribute3 = .KO, .behinderung = "@BE - 3" } } },
|
||||||
.{ .Talent = .{ .name = "Sinnenschärfe", .system = .{ .kategorie = .koerperliche, .attribute1 = .KL, .attribute2 = .IN, .attribute3 = .IN, .behinderung = "" } } },
|
.{ .Talent = .{ .name = "Sinnenschärfe", .system = .{ .kategorie = .koerperliche, .attribute1 = .KL, .attribute2 = .IN, .attribute3 = .IN, .behinderung = "" } } },
|
||||||
.{ .Talent = .{ .name = "Sinnenschärfe", .system = .{ .kategorie = .koerperliche, .attribute1 = .KL, .attribute2 = .IN, .attribute3 = .FF, .behinderung = "" } } },
|
.{ .Talent = .{ .name = "Sinnenschärfe", .system = .{ .kategorie = .koerperliche, .attribute1 = .KL, .attribute2 = .IN, .attribute3 = .FF, .behinderung = "" } } },
|
||||||
.{ .Talent = .{ .name = "Skifahren", .system = .{ .kategorie = .koerperliche, .attribute1 = .GE, .attribute2 = .GE, .attribute3 = .KO, .behinderung = "@BE - 2" } } },
|
.{ .Talent = .{ .name = "Skifahren", .system = .{ .kategorie = .koerperliche, .attribute1 = .GE, .attribute2 = .GE, .attribute3 = .KO, .behinderung = "@BE - 2" } } },
|
||||||
@ -131,6 +131,37 @@ const talente: system.ItemCompendium = .{ .entries = &.{
|
|||||||
.{ .Talent = .{ .name = "Winzer", .system = .{ .kategorie = .handwerks, .attribute1 = .KL, .attribute2 = .FF, .attribute3 = .KK, .behinderung = "" } } },
|
.{ .Talent = .{ .name = "Winzer", .system = .{ .kategorie = .handwerks, .attribute1 = .KL, .attribute2 = .FF, .attribute3 = .KK, .behinderung = "" } } },
|
||||||
.{ .Talent = .{ .name = "Zimmermann", .system = .{ .kategorie = .handwerks, .attribute1 = .KL, .attribute2 = .FF, .attribute3 = .KK, .behinderung = "" } } },
|
.{ .Talent = .{ .name = "Zimmermann", .system = .{ .kategorie = .handwerks, .attribute1 = .KL, .attribute2 = .FF, .attribute3 = .KK, .behinderung = "" } } },
|
||||||
}}},
|
}}},
|
||||||
|
|
||||||
|
// Kampftalente
|
||||||
|
.{ .Folder = .{ .name = "Kampftalente", .entries = &.{
|
||||||
|
.{ .Kampftalent = .{ .name = "Anderthalbhänder", .system = .{ .kategorie = .nahkampf, .steigern = .E, .behinderung = "@BE - 2" } } },
|
||||||
|
.{ .Kampftalent = .{ .name = "Armbrust", .system = .{ .kategorie = .fernkampf, .steigern = .C, .behinderung = "@BE - 5" } } },
|
||||||
|
.{ .Kampftalent = .{ .name = "Belagerungswaffen", .system = .{ .kategorie = .fernkampf, .steigern = .D, .behinderung = "" } } },
|
||||||
|
.{ .Kampftalent = .{ .name = "Blasrohr", .system = .{ .kategorie = .fernkampf, .steigern = .D, .behinderung = "@BE - 5" } } },
|
||||||
|
.{ .Kampftalent = .{ .name = "Bogen", .system = .{ .kategorie = .fernkampf, .steigern = .E, .behinderung = "@BE - 3" } } },
|
||||||
|
.{ .Kampftalent = .{ .name = "Diskus", .system = .{ .kategorie = .fernkampf, .steigern = .D, .behinderung = "@BE - 2" } } },
|
||||||
|
.{ .Kampftalent = .{ .name = "Dolche", .system = .{ .kategorie = .nahkampf, .steigern = .D, .behinderung = "@BE - 1" } } },
|
||||||
|
.{ .Kampftalent = .{ .name = "Fechtwaffen", .system = .{ .kategorie = .nahkampf, .steigern = .E, .behinderung = "@BE - 1" } } },
|
||||||
|
.{ .Kampftalent = .{ .name = "Hiebwaffen", .system = .{ .kategorie = .nahkampf, .steigern = .D, .behinderung = "@BE - 4" } } },
|
||||||
|
.{ .Kampftalent = .{ .name = "Infanteriewaffen", .system = .{ .kategorie = .nahkampf, .steigern = .D, .behinderung = "@BE - 3" } } },
|
||||||
|
.{ .Kampftalent = .{ .name = "Kettenstäbe", .system = .{ .kategorie = .nahkampf, .steigern = .E, .behinderung = "@BE - 1" } } },
|
||||||
|
.{ .Kampftalent = .{ .name = "Kettenwaffen", .system = .{ .kategorie = .nahkampf, .steigern = .D, .behinderung = "@BE - 3" } } },
|
||||||
|
// .{ .Kampftalent = .{ .name = "Lanzenreiten", .system = .{ .kategorie = .???, .steigern = .E, .behinderung = "" } } },
|
||||||
|
// .{ .Kampftalent = .{ .name = "Peitsche", .system = .{ .kategorie = .???, .steigern = .E, .behinderung = "@BE - 1" } } },
|
||||||
|
.{ .Kampftalent = .{ .name = "Raufen", .system = .{ .kategorie = .waffenlos, .steigern = .C, .behinderung = "@BE" } } },
|
||||||
|
.{ .Kampftalent = .{ .name = "Ringen", .system = .{ .kategorie = .waffenlos, .steigern = .D, .behinderung = "@BE" } } },
|
||||||
|
.{ .Kampftalent = .{ .name = "Saebel", .system = .{ .kategorie = .nahkampf, .steigern = .D, .behinderung = "@BE - 2" } } },
|
||||||
|
.{ .Kampftalent = .{ .name = "Schleuder", .system = .{ .kategorie = .fernkampf, .steigern = .E, .behinderung = "@BE - 2" } } },
|
||||||
|
.{ .Kampftalent = .{ .name = "Schwerter", .system = .{ .kategorie = .nahkampf, .steigern = .E, .behinderung = "@BE - 2" } } },
|
||||||
|
.{ .Kampftalent = .{ .name = "Speere", .system = .{ .kategorie = .nahkampf, .steigern = .D, .behinderung = "@BE - 3" } } },
|
||||||
|
.{ .Kampftalent = .{ .name = "Stäbe", .system = .{ .kategorie = .nahkampf, .steigern = .D, .behinderung = "@BE - 2" } } },
|
||||||
|
.{ .Kampftalent = .{ .name = "Wurfbeile", .system = .{ .kategorie = .fernkampf, .steigern = .D, .behinderung = "@BE - 2" } } },
|
||||||
|
.{ .Kampftalent = .{ .name = "Wurfmesser", .system = .{ .kategorie = .fernkampf, .steigern = .C, .behinderung = "@BE - 3" } } },
|
||||||
|
.{ .Kampftalent = .{ .name = "Wurfspeere", .system = .{ .kategorie = .fernkampf, .steigern = .C, .behinderung = "@BE - 2" } } },
|
||||||
|
.{ .Kampftalent = .{ .name = "Zweihandflegel", .system = .{ .kategorie = .nahkampf, .steigern = .D, .behinderung = "@BE - 3" } } },
|
||||||
|
.{ .Kampftalent = .{ .name = "Zweihand-Hiebwaffen", .system = .{ .kategorie = .nahkampf, .steigern = .D, .behinderung = "@BE - 3" } } },
|
||||||
|
.{ .Kampftalent = .{ .name = "Zweihandschwerter/-säbel", .system = .{ .kategorie = .nahkampf, .steigern = .E, .behinderung = "@BE - 2" } } },
|
||||||
|
}}},
|
||||||
}};
|
}};
|
||||||
|
|
||||||
pub fn main() !void {
|
pub fn main() !void {
|
||||||
|
|||||||
@ -120,6 +120,32 @@ pub const ItemCompendium = foundry.Compendium(.Item, union(enum) {
|
|||||||
|
|
||||||
talentwert: u8 = 0,
|
talentwert: u8 = 0,
|
||||||
}),
|
}),
|
||||||
|
Kampftalent: foundry.Item("Kampftalent", struct {
|
||||||
|
kategorie: enum {
|
||||||
|
waffenlos,
|
||||||
|
nahkampf,
|
||||||
|
fernkampf,
|
||||||
|
},
|
||||||
|
|
||||||
|
steigern: enum {
|
||||||
|
A_Star,
|
||||||
|
A,
|
||||||
|
B,
|
||||||
|
C,
|
||||||
|
D,
|
||||||
|
E,
|
||||||
|
F,
|
||||||
|
G,
|
||||||
|
H,
|
||||||
|
},
|
||||||
|
|
||||||
|
behinderung: String = "",
|
||||||
|
beschreibung: String = "",
|
||||||
|
|
||||||
|
talentwert: u8 = 0,
|
||||||
|
attacke: u8 = 0,
|
||||||
|
parade: u8 = 0,
|
||||||
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
const Attribute = enum {
|
const Attribute = enum {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user