add Gegenstaende

This commit is contained in:
Sven Balzer 2024-10-05 00:02:23 +02:00
parent 442cae2598
commit d099e32fcc
11 changed files with 80 additions and 71 deletions

View File

@ -0,0 +1,29 @@
{{#*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}}
<form 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">
{{>editable-input type="text" name="name" value=item.name placeholder=(localize "DSA41.name")}}
<div class="row">
{{>editable-input type="number" name="system.gewicht" value=item.system.gewicht placeholder=(localize "DSA41.weight")}}
{{>editable-input type="number" name="system.preis" value=item.system.preis placeholder=(localize "DSA41.price")}}
</div>
</div>
</div>
</form>

View File

@ -1,11 +0,0 @@
<form class="item-sheet {{ cssClass }}" autocomplete="off">
<header>
{{#if editable}}
<img src="{{ item.img }}" title="{{ item.name }}" data-edit="img" >
<input name="name" type="text" value="{{ item.name }}" placeholder="Name">
{{else}}
<img src="{{ item.img }}" title="{{ item.name }}">
<div>{{ item.name }}</div>
{{/if}}
</header>
</form>

View File

@ -1,11 +0,0 @@
<form class="item-sheet {{ cssClass }}" autocomplete="off">
<header>
{{#if editable}}
<img src="{{ item.img }}" title="{{ item.name }}" data-edit="img" >
<input name="name" type="text" value="{{ item.name }}" placeholder="Name">
{{else}}
<img src="{{ item.img }}" title="{{ item.name }}">
<div>{{ item.name }}</div>
{{/if}}
</header>
</form>

View File

@ -1,11 +0,0 @@
<form class="item-sheet {{ cssClass }}" autocomplete="off">
<header>
{{#if editable}}
<img src="{{ item.img }}" title="{{ item.name }}" data-edit="img" >
<input name="name" type="text" value="{{ item.name }}" placeholder="Name">
{{else}}
<img src="{{ item.img }}" title="{{ item.name }}">
<div>{{ item.name }}</div>
{{/if}}
</header>
</form>

View File

@ -1,9 +1,19 @@
{ {
"TYPES": {
"Item": {
"Gegenstaende": "Gegenstände",
"Waffen": "Waffen",
"Ruestungen": "Rüstungen"
}
},
"DSA41": { "DSA41": {
"name": "Name", "name": "Name",
"race": "Rasse", "race": "Rasse",
"culture": "Kultur", "culture": "Kultur",
"profession": "Profession", "profession": "Profession",
"weight": "Gewicht",
"price": "Preis",
"attributes": { "attributes": {
"label": "Eigenschaften", "label": "Eigenschaften",

View File

@ -1,9 +1,19 @@
{ {
"TYPES": {
"Item": {
"Gegenstaende": "Generic",
"Waffen": "Weapons",
"Ruestungen": "Armor"
}
},
"DSA41": { "DSA41": {
"name": "Name", "name": "Name",
"race": "Race", "race": "Race",
"culture": "Culture", "culture": "Culture",
"profession": "Profession", "profession": "Profession",
"weight": "Weight",
"price": "Price",
"attributes": { "attributes": {
"label": "Attributes", "label": "Attributes",

View File

@ -1,11 +1,13 @@
.row { .row {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
flex: 1;
} }
.col { .col {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
flex: 1;
} }
.wrap { .wrap {
@ -38,11 +40,6 @@
.character-image {
width: 115px;
height: 115px;
}
.die { .die {
width: 48px; width: 48px;
height: 48px; height: 48px;
@ -65,6 +62,18 @@
.die-constitution { background-color: #a3a3a3; } .die-constitution { background-color: #a3a3a3; }
.die-strength { background-color: #d5a877; } .die-strength { background-color: #d5a877; }
.character-image {
width: 115px;
height: 115px;
}
.item-image {
width: 80px;
height: 80px;
}
.actor-sheet fieldset { .actor-sheet fieldset {
width: 100%; width: 100%;
} }
@ -74,25 +83,3 @@
background: none; background: none;
table-layout: fixed; table-layout: fixed;
} }
.item-sheet header {
display: flex;
flex-flow: row wrap;
justify-content: flex-start;
align-items: center;
}
.item-sheet header img {
flex: 0 0 64px;
height: 64px;
margin-right: 6px;
}
.item-sheet header input,
.item-sheet header div {
flex: 1;
height: 48px;
line-height: 48px;
margin: 8px;
font-size: 2em;
}

View File

@ -2,6 +2,7 @@ Hooks.once("init", function() {
console.log("INIT"); console.log("INIT");
CONFIG.Actor.dataModels.Player = DSA41_CharacterData; CONFIG.Actor.dataModels.Player = DSA41_CharacterData;
CONFIG.Item.dataModels.Gegenstaende = DSA41_GegenstaendeData;
//DocumentSheetConfig.unregisterSheet(Actor, "core", ActorSheet); //DocumentSheetConfig.unregisterSheet(Actor, "core", ActorSheet);
DocumentSheetConfig.registerSheet(Actor, "dsa41", DSA41_ActorSheet, { DocumentSheetConfig.registerSheet(Actor, "dsa41", DSA41_ActorSheet, {
@ -15,11 +16,9 @@ Hooks.once("init", function() {
DocumentSheetConfig.registerSheet(Item, "dsa41", DSA41_ItemSheet, { DocumentSheetConfig.registerSheet(Item, "dsa41", DSA41_ItemSheet, {
makeDefault: true, makeDefault: true,
types: [ types: [
"Generic Item", "Gegenstaende",
"Melee Weapon", "Waffen",
"Ranged Weapon", "Ruestungen",
"Armor",
"Shield",
] ]
}); });
}); });
@ -234,6 +233,15 @@ class DSA41_CharacterData extends foundry.abstract.TypeDataModel {
} }
} }
class DSA41_GegenstaendeData extends foundry.abstract.TypeDataModel {
static defineSchema() {
return {
gewicht: new NumberField({ integer: false, initial: 0, min: 0 }),
preis: new NumberField({ integer: true, initial: 0, min: 0 }),
};
}
}
class DSA41_ActorSheet extends ActorSheet { class DSA41_ActorSheet extends ActorSheet {
get template() { get template() {
return "systems/dsa-4th-edition/src/ActorSheet.html"; return "systems/dsa-4th-edition/src/ActorSheet.html";

View File

@ -6,11 +6,9 @@
}, },
"Item": { "Item": {
"types": [ "types": [
"Generic Item", "Gegenstaende",
"Melee Weapon", "Waffen",
"Ranged Weapon", "Ruestungen"
"Armor",
"Shield"
] ]
} }
} }