add Abenteuerpunkte to Eigenschaften tab

This commit is contained in:
Sven Balzer 2025-02-04 23:37:16 +01:00
parent 53bff7a4a6
commit b1da5ff6f2
4 changed files with 43 additions and 7 deletions

View File

@ -63,6 +63,14 @@
</nav> </nav>
<div class="tab {{#if (eq tabGroups.primary 'tab1')}}active{{/if}}" data-group="primary" data-tab="tab1"> <div class="tab {{#if (eq tabGroups.primary 'tab1')}}active{{/if}}" data-group="primary" data-tab="tab1">
<div class="Abenteuerpunkte">
<span>{{localize "DSA41.abenteuerpunkte"}}:</span>
{{>editable-input type="number" name="system.abenteuerpunkte.ausgegeben" value=actor.system.abenteuerpunkte.ausgegeben}}
/
{{>editable-input type="number" name="system.abenteuerpunkte.gesamt" value=actor.system.abenteuerpunkte.gesamt}}
<span>({{actor.system.computed.abenteuerpunkte.uebrig}})</span>
</div>
<div class="list Eigenschaften"> <div class="list Eigenschaften">
<div class="list-header"> <div class="list-header">
<span></span> <span></span>

View File

@ -23,6 +23,7 @@
"sozialstatus": "Sozialstatus", "sozialstatus": "Sozialstatus",
"weight": "Gewicht", "weight": "Gewicht",
"price": "Preis", "price": "Preis",
"abenteuerpunkte": "Abenteuerpunkte",
"list_empty": "Keine", "list_empty": "Keine",

View File

@ -281,6 +281,7 @@ html {
width: 7ch; width: 7ch;
& input { & input {
background: transparent;
padding: 0; padding: 0;
} }
} }
@ -291,6 +292,24 @@ html {
} }
} }
& .Abenteuerpunkte {
width: min-content;
margin-left: auto;
align-items: center;
display: flex;
gap: 1em;
& .editable-input {
display: inline-block;
width: 5ch;
& input {
background: transparent;
padding: 0;
}
}
}
& .tabs { & .tabs {
padding: .5rem; padding: .5rem;

View File

@ -294,6 +294,11 @@ class DSA41_CharacterData extends TypeDataModel {
profession: new StringField(), profession: new StringField(),
sozialstatus: new NumberField({ integer: true, inital: 1 }), sozialstatus: new NumberField({ integer: true, inital: 1 }),
abenteuerpunkte: new SchemaField({
ausgegeben: new NumberField({ integer: true, initial: 0 }),
gesamt: new NumberField({ integer: true, initial: 0 }),
}),
currency: new SchemaField({ currency: new SchemaField({
dukaten: new NumberField({ integer: true, initial: 0 }), dukaten: new NumberField({ integer: true, initial: 0 }),
silbertaler: new NumberField({ integer: true, initial: 0 }), silbertaler: new NumberField({ integer: true, initial: 0 }),
@ -355,6 +360,7 @@ class DSA41_CharacterData extends TypeDataModel {
async prepareDerivedData() { async prepareDerivedData() {
super.prepareDerivedData(); super.prepareDerivedData();
this.computed = { this.computed = {
abenteuerpunkte: {},
attributes: {}, attributes: {},
attributes_without_modifiers: {}, attributes_without_modifiers: {},
@ -386,6 +392,8 @@ class DSA41_CharacterData extends TypeDataModel {
}, },
}; };
this.computed.abenteuerpunkte.uebrig = this.abenteuerpunkte.gesamt - this.abenteuerpunkte.ausgegeben;
for (const [attribute, values] of Object.entries(this.attributes)) { for (const [attribute, values] of Object.entries(this.attributes)) {
this.computed.attributes[attribute] = values.initial + values.advancement + values.modifier; this.computed.attributes[attribute] = values.initial + values.advancement + values.modifier;
this.computed.attributes_without_modifiers[attribute] = values.initial + values.advancement; this.computed.attributes_without_modifiers[attribute] = values.initial + values.advancement;