added base value for untrained skills

This commit is contained in:
2026-01-04 11:38:13 +01:00
parent 03f16112c7
commit 96de592352
8 changed files with 126 additions and 0 deletions
+1
View File
@@ -52,6 +52,7 @@ type Skill struct {
SourceID uint `gorm:"index" json:"source_id,omitempty"` // Verweis auf strukturierte Quelle
PageNumber int `json:"page_number,omitempty"` // Seitenzahl im Quellenbuch
Initialwert int `gorm:"default:5" json:"initialwert"`
BasisWert int `gorm:"default:0" json:"basiswert"`
Bonuseigenschaft string `json:"bonuseigenschaft,omitempty"`
Improvable bool `gorm:"default:true" json:"improvable"`
InnateSkill bool `gorm:"default:false" json:"innateskill"`
@@ -0,0 +1,49 @@
package models
import (
"testing"
)
func TestSkillBasisWert(t *testing.T) {
// Test that BasisWert defaults to 0 in master skill data
skill := Skill{
Name: "TestSkill",
GameSystem: "midgard",
Initialwert: 5,
}
// BasisWert should default to 0
if skill.BasisWert != 0 {
t.Errorf("Expected BasisWert to default to 0, got %d", skill.BasisWert)
}
}
func TestSkillBasisWertSet(t *testing.T) {
// Test that BasisWert can be set in master skill data
skill := Skill{
Name: "TestSkill",
GameSystem: "midgard",
Initialwert: 5,
BasisWert: 3,
}
if skill.BasisWert != 3 {
t.Errorf("Expected BasisWert to be 3, got %d", skill.BasisWert)
}
}
func TestWeaponSkillBasisWert(t *testing.T) {
// Test that BasisWert works for WeaponSkill (inherited from Skill)
weaponSkill := WeaponSkill{
Skill: Skill{
Name: "TestWeaponSkill",
GameSystem: "midgard",
Initialwert: 5,
BasisWert: 2,
},
}
if weaponSkill.BasisWert != 2 {
t.Errorf("Expected BasisWert to be 2, got %d", weaponSkill.BasisWert)
}
}
+1
View File
@@ -6,6 +6,7 @@ type SkFertigkeit struct {
BamortCharTrait
Beschreibung string `json:"beschreibung"`
Fertigkeitswert int `json:"fertigkeitswert"`
BasisWert int `json:"basiswert"`
Bonus int `json:"bonus,omitempty"`
Pp int `json:"pp,omitempty"` //Praxispunkte
Bemerkung string `json:"bemerkung"`
@@ -0,0 +1,62 @@
package models
import (
"testing"
)
func TestSkFertigkeitBasisWert(t *testing.T) {
// Test that BasisWert defaults to 0
skill := SkFertigkeit{
Fertigkeitswert: 10,
}
skill.Name = "TestSkill"
// BasisWert should default to 0
if skill.BasisWert != 0 {
t.Errorf("Expected BasisWert to default to 0, got %d", skill.BasisWert)
}
}
func TestSkFertigkeitBasisWertSet(t *testing.T) {
// Test that BasisWert can be set
skill := SkFertigkeit{
Fertigkeitswert: 10,
BasisWert: 5,
}
skill.Name = "TestSkill"
if skill.BasisWert != 5 {
t.Errorf("Expected BasisWert to be 5, got %d", skill.BasisWert)
}
}
func TestSkWaffenfertigkeitBasisWert(t *testing.T) {
// Test that BasisWert works for SkWaffenfertigkeit (inherited from SkFertigkeit)
weaponSkill := SkWaffenfertigkeit{
SkFertigkeit: SkFertigkeit{
Fertigkeitswert: 8,
BasisWert: 3,
},
}
weaponSkill.Name = "TestWeaponSkill"
if weaponSkill.BasisWert != 3 {
t.Errorf("Expected BasisWert to be 3, got %d", weaponSkill.BasisWert)
}
}
func TestSkAngeboreneFertigkeitBasisWert(t *testing.T) {
// Test that BasisWert works for SkAngeboreneFertigkeit (inherited from SkFertigkeit)
innateSkill := SkAngeboreneFertigkeit{
SkFertigkeit: SkFertigkeit{
Fertigkeitswert: 12,
BasisWert: 7,
},
}
innateSkill.Name = "TestInnateSkill"
if innateSkill.BasisWert != 7 {
t.Errorf("Expected BasisWert to be 7, got %d", innateSkill.BasisWert)
}
}
@@ -69,6 +69,7 @@
</th>
<th class="cd-table-header">{{ $t('skill.difficulty') }}</th>
<th class="cd-table-header">{{ $t('skill.initialwert') }}</th>
<th class="cd-table-header">{{ $t('skill.basiswert') }}</th>
<th class="cd-table-header">{{ $t('skill.improvable') }}</th>
<th class="cd-table-header">{{ $t('skill.innateskill') }}</th>
<th class="cd-table-header">{{ $t('skill.description') }}</th>
@@ -87,6 +88,7 @@
<td>{{ dtaItem.name || '-' }}</td>
<td>{{ formatDifficulties(dtaItem.difficulties) }}</td>
<td>{{ dtaItem.initialwert || '0' }}</td>
<td>{{ dtaItem.basiswert || '0' }}</td>
<td><input type="checkbox" :checked="dtaItem.improvable" disabled /></td>
<td><input type="checkbox" :checked="dtaItem.innateskill" disabled /></td>
<td>{{ dtaItem.beschreibung || '-' }}</td>
@@ -113,6 +115,10 @@
<label>{{ $t('skill.initialwert') }}:</label>
<input v-model.number="editedItem.initialwert" type="number" style="width:60px;" />
</div>
<div class="edit-field">
<label>{{ $t('skill.basiswert') }}:</label>
<input v-model.number="editedItem.basiswert" type="number" style="width:60px;" />
</div>
<div class="edit-field">
<label>{{ $t('skill.bonusskill') }}:</label>
<select v-model="editedItem.bonuseigenschaft" style="width:80px;">
@@ -440,6 +446,7 @@ export default {
beschreibung: this.editedItem.beschreibung,
game_system: this.editedItem.game_system || 'midgard',
initialwert: this.editedItem.initialwert,
basiswert: this.editedItem.basiswert || 0,
bonuseigenschaft: this.editedItem.bonuseigenschaft,
improvable: this.editedItem.improvable,
innateskill: this.editedItem.innateskill,
+1
View File
@@ -107,6 +107,7 @@ export default {
improvable:'verbesserbar',
category:'Kategorie',
initialwert:'Startwert',
basiswert:'Basiswert (ungelernt)',
difficulty:'Schwierigkeit',
},
spell:{
+1
View File
@@ -104,6 +104,7 @@ export default {
improvable:'improvable',
category:'Category',
initialwert:'Initial value',
basiswert:'Base value (untrained)',
},
spell:{
id:'ID',
+4
View File
@@ -69,8 +69,12 @@ echo "1. Review changes: git diff"
if [ "$BACKEND_VERSION" = "$FRONTEND_VERSION" ]; then
echo "2. Commit changes: git commit -am 'Bump version to $BACKEND_VERSION'"
echo "3. Tag release: git tag v$BACKEND_VERSION"
git tag v$BACKEND_VERSION
else
echo "2. Commit changes: git commit -am 'Bump backend to $BACKEND_VERSION, frontend to $FRONTEND_VERSION'"
echo "3. Tag releases: git tag backend-v$BACKEND_VERSION && git tag frontend-v$FRONTEND_VERSION"
git tag backend-v$BACKEND_VERSION
git tag frontend-v$FRONTEND_VERSION
git tag v$BACKEND_VERSION -m "Backend version $BACKEND_VERSION, Frontend version $FRONTEND_VERSION"
fi
echo "4. Push: git push && git push --tags"