give every data field an initial value and update zig structs

This commit is contained in:
Sven Balzer 2025-02-15 14:04:38 +01:00
parent abb0405035
commit 151e6d3e13
2 changed files with 56 additions and 30 deletions

View File

@ -617,9 +617,9 @@ class DSA41_BewaffnungData extends TypeDataModel {
preis: new NumberField({ integer: true, initial: 0, min: 0 }), preis: new NumberField({ integer: true, initial: 0, min: 0 }),
nahkampfwaffe: new SchemaField({ nahkampfwaffe: new SchemaField({
aktiv: new BooleanField(), aktiv: new BooleanField({ initial: false }),
basis: new StringField(), basis: new StringField({ initial: "1d4" }),
schwellenwert: new NumberField({ integer: true, initial: 0, min: 0 }), schwellenwert: new NumberField({ integer: true, initial: 0, min: 0 }),
schadensschritte: new NumberField({ integer: true, initial: 0, min: 0 }), schadensschritte: new NumberField({ integer: true, initial: 0, min: 0 }),
@ -629,19 +629,19 @@ class DSA41_BewaffnungData extends TypeDataModel {
initiative: new NumberField({ integer: true, initial: 0 }), initiative: new NumberField({ integer: true, initial: 0 }),
bruchfaktor: new NumberField({ integer: true, initial: 0 }), bruchfaktor: new NumberField({ integer: true, initial: 0 }),
distanzklasse: new StringField(), distanzklasse: new StringField({ initial: "" }),
kampftalente: new StringField(), kampftalente: new StringField({ initial: "" }),
laenge: new NumberField({ integer: true, initial: 0, min: 0 }), laenge: new NumberField({ integer: true, initial: 0, min: 0 }),
zweihaendig: new BooleanField(), zweihaendig: new BooleanField({ initial: false }),
werfbar: new BooleanField(), werfbar: new BooleanField({ initial: false }),
improvisiert: new BooleanField(), improvisiert: new BooleanField({ initial: false }),
priviligiert: new BooleanField(), priviligiert: new BooleanField({ initial: false }),
}), }),
parierwaffe: new SchemaField({ parierwaffe: new SchemaField({
aktiv: new BooleanField(), aktiv: new BooleanField({ initial: false }),
modifikator_attacke: new NumberField({ integer: true, initial: 0 }), modifikator_attacke: new NumberField({ integer: true, initial: 0 }),
modifikator_parade: new NumberField({ integer: true, initial: 0 }), modifikator_parade: new NumberField({ integer: true, initial: 0 }),
@ -651,9 +651,9 @@ class DSA41_BewaffnungData extends TypeDataModel {
}), }),
schild: new SchemaField({ schild: new SchemaField({
aktiv: new BooleanField(), aktiv: new BooleanField({ initial: false }),
groesse: new StringField(), groesse: new StringField({ initial: "klein" }),
modifikator_attacke: new NumberField({ integer: true, initial: 0 }), modifikator_attacke: new NumberField({ integer: true, initial: 0 }),
modifikator_parade: new NumberField({ integer: true, initial: 0 }), modifikator_parade: new NumberField({ integer: true, initial: 0 }),
@ -663,7 +663,7 @@ class DSA41_BewaffnungData extends TypeDataModel {
}), }),
fernkampfwaffe: new SchemaField({ fernkampfwaffe: new SchemaField({
aktiv: new BooleanField(), aktiv: new BooleanField({ initial: false }),
basis: new StringField({ initial: "1d6 + 1" }), basis: new StringField({ initial: "1d6 + 1" }),
laden: new NumberField({ integer: true, initial: 0 }), laden: new NumberField({ integer: true, initial: 0 }),
@ -691,11 +691,11 @@ class DSA41_TalentData extends TypeDataModel {
static defineSchema() { static defineSchema() {
return { return {
kategorie: new StringField({ initial: "koerperliche" }), kategorie: new StringField({ initial: "koerperliche" }),
behinderung: new StringField(), behinderung: new StringField({ initial: "" }),
attribute1: new StringField(), attribute1: new StringField({ initial: "courage" }),
attribute2: new StringField(), attribute2: new StringField({ initial: "courage" }),
attribute3: new StringField(), attribute3: new StringField({ initial: "courage" }),
talentwert: new NumberField({ integer: true, initial: 0 }), talentwert: new NumberField({ integer: true, initial: 0 }),
}; };
@ -706,10 +706,10 @@ class DSA41_KampftalentData extends TypeDataModel {
static defineSchema() { static defineSchema() {
return { return {
kategorie: new StringField({ initial: "waffenlos" }), kategorie: new StringField({ initial: "waffenlos" }),
behinderung: new StringField(), behinderung: new StringField({ initial: "" }),
steigern: new StringField(), steigern: new StringField({ initial: "A_Star"}),
beschreibung: new StringField(), beschreibung: new StringField({ initial: "" }),
talentwert: new NumberField({ integer: true, initial: 0 }), talentwert: new NumberField({ integer: true, initial: 0 }),
attacke: new NumberField({ integer: true, initial: 0 }), attacke: new NumberField({ integer: true, initial: 0 }),
@ -725,7 +725,7 @@ class DSA41_SonderfertigkeitData extends TypeDataModel {
kosten: new NumberField({ integer: true, initial: 0 }), kosten: new NumberField({ integer: true, initial: 0 }),
verbreitung: new NumberField({ integer: true, initial: 0 }), verbreitung: new NumberField({ integer: true, initial: 0 }),
beschreibung: new StringField(), beschreibung: new StringField({ initial: "" }),
}; };
} }
} }
@ -736,7 +736,7 @@ class DSA41_VorNachteilData extends TypeDataModel {
kategorie: new StringField({ initial: "vorteil" }), kategorie: new StringField({ initial: "vorteil" }),
kosten: new NumberField({ integer: true, initial: 0 }), kosten: new NumberField({ integer: true, initial: 0 }),
beschreibung: new StringField(), beschreibung: new StringField({ initial: "" }),
}; };
} }
} }

View File

@ -17,6 +17,8 @@ pub const ItemCompendium = foundry.Compendium(.Item, union(enum) {
preis: f64 = 0, preis: f64 = 0,
}), }),
Ruestung: foundry.Item("Ruestung", struct { Ruestung: foundry.Item("Ruestung", struct {
angelegt: bool = false,
gewicht: f64 = 0, gewicht: f64 = 0,
preis: f64 = 0, preis: f64 = 0,
@ -33,6 +35,8 @@ pub const ItemCompendium = foundry.Compendium(.Item, union(enum) {
gesamt_behinderung: f64 = 0, gesamt_behinderung: f64 = 0,
}), }),
Bewaffnung: foundry.Item("Bewaffnung", struct { Bewaffnung: foundry.Item("Bewaffnung", struct {
angelegt: bool = false,
gewicht: f64 = 0, gewicht: f64 = 0,
preis: f64 = 0, preis: f64 = 0,
@ -52,7 +56,7 @@ pub const ItemCompendium = foundry.Compendium(.Item, union(enum) {
distanzklasse: String = "", distanzklasse: String = "",
kampftalente: String = "", kampftalente: String = "",
laenge: u8 = 0, laenge: u64 = 0,
zweihaendig: bool = false, zweihaendig: bool = false,
werfbar: bool = false, werfbar: bool = false,
@ -85,7 +89,7 @@ pub const ItemCompendium = foundry.Compendium(.Item, union(enum) {
fernkampfwaffe: struct { fernkampfwaffe: struct {
aktiv: bool = false, aktiv: bool = false,
basis: String = "1d4", basis: String = "1d6 + 1",
laden: u8 = 0, laden: u8 = 0,
reichweite1: u8 = 0, reichweite1: u8 = 0,
@ -111,12 +115,12 @@ pub const ItemCompendium = foundry.Compendium(.Item, union(enum) {
natur, natur,
wissens, wissens,
handwerks, handwerks,
}, } = .koerperliche,
behinderung: String = "", behinderung: String = "",
attribute1: Attribute, attribute1: Attribute = .MU,
attribute2: Attribute, attribute2: Attribute = .MU,
attribute3: Attribute, attribute3: Attribute = .MU,
talentwert: u8 = 0, talentwert: u8 = 0,
}), }),
@ -125,7 +129,7 @@ pub const ItemCompendium = foundry.Compendium(.Item, union(enum) {
waffenlos, waffenlos,
nahkampf, nahkampf,
fernkampf, fernkampf,
}, } = .waffenlos,
steigern: enum { steigern: enum {
A_Star, A_Star,
@ -137,7 +141,7 @@ pub const ItemCompendium = foundry.Compendium(.Item, union(enum) {
F, F,
G, G,
H, H,
}, } = .A_Star,
behinderung: String = "", behinderung: String = "",
beschreibung: String = "", beschreibung: String = "",
@ -146,6 +150,28 @@ pub const ItemCompendium = foundry.Compendium(.Item, union(enum) {
attacke: u8 = 0, attacke: u8 = 0,
parade: u8 = 0, parade: u8 = 0,
}), }),
Sonderfertigkeit: foundry.Item("Sonderfertigkeit", struct {
kategorie: enum {
allgemein,
kampf,
magisch,
klerikal,
} = .allgemein,
kosten: u64 = 0,
verbreitung: u64 = 0,
beschreibung: String = "",
}),
VorNachteil: foundry.Item("VorNachteil", struct {
kategorie: enum {
vorteil,
nachteil
} = .vorteil,
kosten: u64 = 0,
beschreibung: String = "",
}),
}); });
const Attribute = enum { const Attribute = enum {