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": {
"name": "Name",
"race": "Rasse",
"culture": "Kultur",
"profession": "Profession",
"weight": "Gewicht",
"price": "Preis",
"attributes": {
"label": "Eigenschaften",

View File

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

View File

@ -1,11 +1,13 @@
.row {
display: flex;
flex-direction: row;
flex: 1;
}
.col {
display: flex;
flex-direction: column;
flex: 1;
}
.wrap {
@ -38,11 +40,6 @@
.character-image {
width: 115px;
height: 115px;
}
.die {
width: 48px;
height: 48px;
@ -65,6 +62,18 @@
.die-constitution { background-color: #a3a3a3; }
.die-strength { background-color: #d5a877; }
.character-image {
width: 115px;
height: 115px;
}
.item-image {
width: 80px;
height: 80px;
}
.actor-sheet fieldset {
width: 100%;
}
@ -74,25 +83,3 @@
background: none;
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

@ -1,7 +1,8 @@
Hooks.once("init", function() {
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.registerSheet(Actor, "dsa41", DSA41_ActorSheet, {
@ -15,11 +16,9 @@ Hooks.once("init", function() {
DocumentSheetConfig.registerSheet(Item, "dsa41", DSA41_ItemSheet, {
makeDefault: true,
types: [
"Generic Item",
"Melee Weapon",
"Ranged Weapon",
"Armor",
"Shield",
"Gegenstaende",
"Waffen",
"Ruestungen",
]
});
});
@ -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 {
get template() {
return "systems/dsa-4th-edition/src/ActorSheet.html";

View File

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