Compare commits

...

2 Commits

Author SHA1 Message Date
Sven Balzer
d099e32fcc add Gegenstaende 2024-10-05 00:02:23 +02:00
Sven Balzer
442cae2598 add talents 2024-10-04 22:30:12 +02:00
12 changed files with 504 additions and 71 deletions

View File

@ -33,12 +33,14 @@
{{>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")}}
</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}} {{#each actor.system.attributes}}
{{>die-value type=@key}} {{>die-value type=@key}}
{{/each}} {{/each}}
</div> </div>
<div class="row"> <div class="row">
<fieldset> <fieldset>
<legend>{{localize "DSA41.attributes.label"}}</legend> <legend>{{localize "DSA41.attributes.label"}}</legend>
@ -70,4 +72,52 @@
</table> </table>
</fieldset> </fieldset>
</div> </div>
<div class="row">
<fieldset>
<legend>{{localize "DSA41.talente.kampf_talente.label"}}</legend>
<table>
<tr>
<th>{{localize "DSA41.talente.label"}}</th>
<th>{{localize "DSA41.talente.label_talentwert"}}</th>
<th>{{localize "DSA41.talente.kampf.label_attacke"}}</th>
<th>{{localize "DSA41.talente.kampf.label_parade"}}</th>
<th>{{localize "DSA41.talente.kampf.label_attacke_total"}}</th>
<th>{{localize "DSA41.talente.kampf.label_parade_total"}}</th>
</tr>
{{#each actor.system.kampf_talente}}
<tr>
<td>{{localize (concat "DSA41.talente.kampf.name." @key)}}</td>
<td>{{>editable-input type="number" name=(concat "system.kampf_talente." @key ".talentwert") value=(lookup this "talentwert")}}</td>
<td>{{>editable-input type="number" name=(concat "system.kampf_talente." @key ".attacke") value=(lookup this "attacke")}}</td>
<td>{{>editable-input type="number" name=(concat "system.kampf_talente." @key ".parade") value=(lookup this "parade")}}</td>
<td class="center">0</td>
<td class="center">0</td>
</tr>
{{/each}}
</table>
</fieldset>
</div>
{{#each actor.system.talente}}
<div class="row">
<fieldset>
<legend>{{localize (concat "DSA41.talente." @key ".label")}}</legend>
<table>
<tr>
<th>{{localize "DSA41.talente.label"}}</th>
<th>{{localize "DSA41.talente.label_eigenschaften"}}</th>
<th>{{localize "DSA41.talente.label_talentwert"}}</th>
</tr>
{{#each @this}}
<tr>
<td>{{localize (concat "DSA41.talente." @../key ".name." @key)}}</td>
<td></td>
<td>{{>editable-input type="number" name=(concat "system.talente." @../key "." @key) value=@this}}</td>
</tr>
{{/each}}
</table>
</fieldset>
</div>
{{/each}}
</form> </form>

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",
@ -32,6 +42,109 @@
"constitution": "KO", "constitution": "KO",
"strength": "KK" "strength": "KK"
} }
},
"talente":{
"label": "Talent",
"label_eigenschaften": "Eigenschaften",
"label_talentwert": "Talentwert",
"kampf": {
"label": "Kampf Talente",
"label_attacke": "Attacke",
"label_parade": "Parade",
"label_attacke_total": "Attacke",
"label_parade_total": "Parade",
"name": {
"anderthalbhaender": "Anderthalbhänder",
"armbrust": "Armbrust"
}
},
"koerperliche": {
"label": "Körperliche Talente",
"name": {
"akrobatik": "Akrobatik",
"athletik": "Athletik",
"fliegen": "Fliegen",
"gaukeleien": "Gaukeleien",
"klettern": "Klettern",
"koerperbeherrschung": "Körperbeherrschung",
"reiten": "Reiten",
"schleichen": "Schleichen",
"schwimmen": "Schwimmen",
"selbstbeherrschung": "Selbstbeherrschung",
"sich_verstecken": "Sich Verstecken",
"singen": "Singen",
"sinnenschärfe": "Sinnenschärfe",
"skifahren": "Skifahren",
"stimmen_imitieren": "Stimmen Imitieren",
"tanzen": "Tanzen",
"taschendiebstahl": "Taschendiebstahl",
"zechen": "Zechen"
}
},
"gesellschaftliche": {
"label": "Gesellschaftliche Talente",
"name": {
"betoeren": "Betören",
"etikette": "Etikette",
"gassenwissen": "Gassenwissen",
"lehren": "Lehren",
"menschenkenntnis": "Menschenkenntnis",
"schauspielerei": "Schauspielerei",
"schriftlicher_ausdruck": "Schriftlicher Ausdruck",
"sich_verkleiden": "Sich Verkleiden",
"ueberreden": "Überreden",
"ueberzeugen": "Überzeugen"
}
},
"natur": {
"label": "Natur-Talente",
"name": {
"faehrtensuchen": "Fährtensuchen",
"fallenstellen": "Fallenstellen",
"fesseln": "Fesseln/Entfesseln",
"fischen": "Fischen/Angeln",
"orientierung": "Orientierung",
"wettervorhersage": "Wettervorhersage",
"wildnisleben": "Wildnisleben"
}
},
"wissens": {
"label": "Wissenstalente",
"name": {
"anatomie": "Anatomie",
"baukunst": "Baukunst"
}
},
"sprachen": {
"label": "Sprachen und Schriften",
"name": {
"lesen_schreiben": "Lesen/Schreiben [Schrift]",
"muttersprache": "Sprachen [Muttersprache]",
"fremdsprache": "Sprachen [Fremdsprache]"
}
},
"handwerks": {
"label": "Handwerkstalente",
"name": {
"abrichten": "Abrichten",
"ackerbau": "Ackerbau"
}
}
} }
} }
} }

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",
@ -32,6 +42,109 @@
"constitution": "CN", "constitution": "CN",
"strength": "ST" "strength": "ST"
} }
},
"talente": {
"label": "Talent",
"label_eigenschaften": "Attributes",
"label_talentwert": "Talent Prowess",
"kampf": {
"label": "Combat Talents",
"label_attacke": "!!TODO!!",
"label_parade": "!!TODO!!",
"label_attacke_total": "!!TODO!!",
"label_parade_total": "!!TODO!!",
"name": {
"anderthalbhaender": "!!TODO!!",
"armbrust": "!!TODO!!"
}
},
"koerperliche": {
"label": "!!TODO!!",
"name": {
"akrobatik": "!!TODO!!",
"athletik": "!!TODO!!",
"fliegen": "!!TODO!!",
"gaukeleien": "!!TODO!!",
"klettern": "!!TODO!!",
"koerperbeherrschung": "!!TODO!!",
"reiten": "!!TODO!!",
"schleichen": "!!TODO!!",
"schwimmen": "!!TODO!!",
"selbstbeherrschung": "!!TODO!!",
"sich_verstecken": "!!TODO!!",
"singen": "!!TODO!!",
"sinnenschärfe": "!!TODO!!",
"skifahren": "!!TODO!!",
"stimmen_imitieren": "!!TODO!!",
"tanzen": "!!TODO!!",
"taschendiebstahl": "!!TODO!!",
"zechen": "!!TODO!!"
}
},
"gesellschaftliche": {
"label": "!!TODO!!",
"name": {
"betoeren": "!!TODO!!",
"etikette": "!!TODO!!",
"gassenwissen": "!!TODO!!",
"lehren": "!!TODO!!",
"menschenkenntnis": "!!TODO!!",
"schauspielerei": "!!TODO!!",
"schriftlicher_ausdruck": "!!TODO!!",
"sich_verkleiden": "!!TODO!!",
"ueberreden": "!!TODO!!",
"ueberzeugen": "!!TODO!!"
}
},
"natur": {
"label": "Nature Talents",
"name": {
"faehrtensuchen": "Track",
"fallenstellen": "Traps",
"fesseln": "Bind/Escape",
"fischen": "Fish",
"orientierung": "Orientation",
"wettervorhersage": "Weather Sense",
"wildnisleben": "Survival"
}
},
"wissens": {
"label": "!!TODO!!",
"name": {
"anatomie": "!!TODO!!",
"baukunst": "!!TODO!!"
}
},
"sprachen": {
"label": "!!TODO!!",
"name": {
"lesen_schreiben": "!!TODO!!",
"muttersprache": "!!TODO!!",
"fremdsprache": "!!TODO!!"
}
},
"handwerks": {
"label": "!!TODO!!",
"name": {
"abrichten": "!!TODO!!",
"ackerbau": "!!TODO!!"
}
}
} }
} }
} }

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

@ -1,7 +1,8 @@
Hooks.once("init", function() { 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",
] ]
}); });
}); });
@ -36,6 +35,16 @@ class AttributeField extends foundry.data.fields.SchemaField {
} }
} }
class CombatTalentField extends foundry.data.fields.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_CharacterData extends foundry.abstract.TypeDataModel { class DSA41_CharacterData extends foundry.abstract.TypeDataModel {
static defineSchema() { static defineSchema() {
return { return {
@ -53,6 +62,164 @@ class DSA41_CharacterData extends foundry.abstract.TypeDataModel {
constitution: new AttributeField(), constitution: new AttributeField(),
strength: new AttributeField(), strength: new AttributeField(),
}), }),
kampf_talente: new SchemaField({
anderthalbhaender: new CombatTalentField(),
armbrust: new CombatTalentField(),
belagerungswaffen: new CombatTalentField(),
blasrohr: new CombatTalentField(),
bogen: new CombatTalentField(),
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(),
}),
talente: new SchemaField({
koerperliche: new SchemaField({
akrobatik: new NumberField({ integer: true, initial: 0 }),
athletik: new NumberField({ integer: true, initial: 0 }),
fliegen: new NumberField({ integer: true, initial: 0 }),
gaukeleien: new NumberField({ integer: true, initial: 0 }),
klettern: new NumberField({ integer: true, initial: 0 }),
koerperbeherrschung: new NumberField({ integer: true, initial: 0 }),
reiten: new NumberField({ integer: true, initial: 0 }),
schleichen: new NumberField({ integer: true, initial: 0 }),
schwimmen: new NumberField({ integer: true, initial: 0 }),
selbstbeherrschung: new NumberField({ integer: true, initial: 0 }),
sich_verstecken: new NumberField({ integer: true, initial: 0 }),
singen: new NumberField({ integer: true, initial: 0 }),
sinnenschärfe: new NumberField({ integer: true, initial: 0 }),
skifahren: new NumberField({ integer: true, initial: 0 }),
stimmen_imitieren: new NumberField({ integer: true, initial: 0 }),
tanzen: new NumberField({ integer: true, initial: 0 }),
taschendiebstahl: new NumberField({ integer: true, initial: 0 }),
zechen: new NumberField({ integer: true, initial: 0 }),
}),
gesellschaftliche: new SchemaField({
betoeren: new NumberField({ integer: true, initial: 0 }),
etikette: new NumberField({ integer: true, initial: 0 }),
gassenwissen: new NumberField({ integer: true, initial: 0 }),
lehren: new NumberField({ integer: true, initial: 0 }),
menschenkenntnis: new NumberField({ integer: true, initial: 0 }),
schauspielerei: new NumberField({ integer: true, initial: 0 }),
schriftlicher_ausdruck: new NumberField({ integer: true, initial: 0 }),
sich_verkleiden: new NumberField({ integer: true, initial: 0 }),
ueberreden: new NumberField({ integer: true, initial: 0 }),
ueberzeugen: new NumberField({ integer: true, initial: 0 }),
}),
natur: new SchemaField({
faehrtensuchen: new NumberField({ integer: true, initial: 0 }),
fallenstellen: new NumberField({ integer: true, initial: 0 }),
fesseln: new NumberField({ integer: true, initial: 0 }),
fischen: new NumberField({ integer: true, initial: 0 }),
orientierung: new NumberField({ integer: true, initial: 0 }),
wettervorhersage: new NumberField({ integer: true, initial: 0 }),
wildnisleben: new NumberField({ integer: true, initial: 0 }),
}),
wissens: new SchemaField({
anatomie: new NumberField({ integer: true, initial: 0 }),
baukunst: new NumberField({ integer: true, initial: 0 }),
brett_kartenspiel: new NumberField({ integer: true, initial: 0 }),
geographie: new NumberField({ integer: true, initial: 0 }),
geschichtswissen: new NumberField({ integer: true, initial: 0 }),
gesteinskunde: new NumberField({ integer: true, initial: 0 }),
goetter_kulte: new NumberField({ integer: true, initial: 0 }),
heraldik: new NumberField({ integer: true, initial: 0 }),
huettenkunde: new NumberField({ integer: true, initial: 0 }),
kriegskunst: new NumberField({ integer: true, initial: 0 }),
kryptographie: new NumberField({ integer: true, initial: 0 }),
magiekunde: new NumberField({ integer: true, initial: 0 }),
mechanik: new NumberField({ integer: true, initial: 0 }),
pflanzenkunde: new NumberField({ integer: true, initial: 0 }),
philosophie: new NumberField({ integer: true, initial: 0 }),
rechnen: new NumberField({ integer: true, initial: 0 }),
rechtskunde: new NumberField({ integer: true, initial: 0 }),
sagen_legenden: new NumberField({ integer: true, initial: 0 }),
schaetzen: new NumberField({ integer: true, initial: 0 }),
sprachenkunde: new NumberField({ integer: true, initial: 0 }),
staatskunst: new NumberField({ integer: true, initial: 0 }),
sternkunde: new NumberField({ integer: true, initial: 0 }),
tierkunde: new NumberField({ integer: true, initial: 0 }),
}),
sprachen: new SchemaField({
lesen_schreiben: new NumberField({ integer: true, initial: 0 }),
muttersprache: new NumberField({ integer: true, initial: 0 }),
fremdsprache: new NumberField({ integer: true, initial: 0 }),
}),
handwerks: new SchemaField({
abrichten: new NumberField({ integer: true, initial: 0 }),
ackerbau: new NumberField({ integer: true, initial: 0 }),
alchimie: new NumberField({ integer: true, initial: 0 }),
bergbau: new NumberField({ integer: true, initial: 0 }),
bogenbau: new NumberField({ integer: true, initial: 0 }),
boote_fahren: new NumberField({ integer: true, initial: 0 }),
brauer: new NumberField({ integer: true, initial: 0 }),
drucker: new NumberField({ integer: true, initial: 0 }),
fahrzeug_lenken: new NumberField({ integer: true, initial: 0 }),
falschspiel: new NumberField({ integer: true, initial: 0 }),
feinmechanik: new NumberField({ integer: true, initial: 0 }),
feuersteinbearbeitung: new NumberField({ integer: true, initial: 0 }),
fleischer: new NumberField({ integer: true, initial: 0 }),
gerber: new NumberField({ integer: true, initial: 0 }),
glaskunst: new NumberField({ integer: true, initial: 0 }),
grobschmied: new NumberField({ integer: true, initial: 0 }),
handel: new NumberField({ integer: true, initial: 0 }),
hauswirtschaft: new NumberField({ integer: true, initial: 0 }),
heilkunde_gift: new NumberField({ integer: true, initial: 0 }),
heilkunde_krankheiten: new NumberField({ integer: true, initial: 0 }),
heilkunde_seele: new NumberField({ integer: true, initial: 0 }),
heilkunde_wunden: new NumberField({ integer: true, initial: 0 }),
holzbearbeitung: new NumberField({ integer: true, initial: 0 }),
instrumentenbauer: new NumberField({ integer: true, initial: 0 }),
kartographie: new NumberField({ integer: true, initial: 0 }),
kochen: new NumberField({ integer: true, initial: 0 }),
kristallzucht: new NumberField({ integer: true, initial: 0 }),
lederarbeiten: new NumberField({ integer: true, initial: 0 }),
malen_zeichnen: new NumberField({ integer: true, initial: 0 }),
maurer: new NumberField({ integer: true, initial: 0 }),
metallguss: new NumberField({ integer: true, initial: 0 }),
musizieren: new NumberField({ integer: true, initial: 0 }),
schloesser_knacken: new NumberField({ integer: true, initial: 0 }),
schnapps_brennen: new NumberField({ integer: true, initial: 0 }),
schneidern: new NumberField({ integer: true, initial: 0 }),
seefahrt: new NumberField({ integer: true, initial: 0 }),
seiler: new NumberField({ integer: true, initial: 0 }),
steinmetz: new NumberField({ integer: true, initial: 0 }),
juwelier: new NumberField({ integer: true, initial: 0 }),
stellmacher: new NumberField({ integer: true, initial: 0 }),
stoffe_faerben: new NumberField({ integer: true, initial: 0 }),
taetowieren: new NumberField({ integer: true, initial: 0 }),
toepfern: new NumberField({ integer: true, initial: 0 }),
viehzucht: new NumberField({ integer: true, initial: 0 }),
webkunst: new NumberField({ integer: true, initial: 0 }),
winzer: new NumberField({ integer: true, initial: 0 }),
zimmermann: new NumberField({ integer: true, initial: 0 }),
}),
}),
} }
} }
@ -66,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"
] ]
} }
} }