CalculateStaticFieldsLogic

calculation of Bonus values defence zaubern and other values that depend on base stats
This commit is contained in:
2025-12-27 08:33:42 +01:00
parent fb63ef72fb
commit 3a7e699507
17 changed files with 858 additions and 142 deletions
+8 -1
View File
@@ -716,7 +716,7 @@ func TestFinalizeCharacterCreation(t *testing.T) {
// Verify character exists in database
var createdChar models.Char
err = database.DB.Preload("Fertigkeiten").Preload("Waffenfertigkeiten").Preload("Zauber").
err = database.DB.Preload("Lp").Preload("Ap").Preload("B").Preload("Eigenschaften").Preload("Fertigkeiten").Preload("Waffenfertigkeiten").Preload("Zauber").
First(&createdChar, "id = ?", characterID).Error
assert.NoError(t, err, "Created character should exist in database")
@@ -756,6 +756,13 @@ func TestFinalizeCharacterCreation(t *testing.T) {
assert.Equal(t, 8, createdChar.B.Max, "B Max should match session")
assert.Equal(t, 8, createdChar.B.Value, "B Value should equal Max initially")
// Validate static derived values (Resistenz, Abwehr, Zaubern, Raufen)
assert.Equal(t, 11, createdChar.ResistenzKoerper, "Resistenz Körper should match session")
assert.Equal(t, 11, createdChar.ResistenzGeist, "Resistenz Geist should match session")
assert.Equal(t, 11, createdChar.Abwehr, "Abwehr should match session")
assert.Equal(t, 11, createdChar.Zaubern, "Zaubern should match session")
assert.Equal(t, 8, createdChar.Raufen, "Raufen should match session")
// Validate skills were transferred (session has 10 skills: 6 regular skills + 4 weapon skills)
// Regular skills: Klettern, Reiten, Sprache, Athletik, Heilkunde, Naturkunde (6)
// Weapon skills: Spießwaffen, Stielwurfwaffen, Waffenloser Kampf, Stichwaffen (4)