Edit in skill view (#32)

* added editing to SkillView
* added bonus for leiteigenschaft to skill
This commit is contained in:
Bardioc26
2026-02-17 23:05:42 +01:00
committed by GitHub
parent 3d0a1b86de
commit b3ed03bf40
3 changed files with 231 additions and 7 deletions
+32
View File
@@ -191,6 +191,12 @@ func ToFeChar(object *models.Char) *models.FeChar {
feC := &models.FeChar{
Char: *object,
}
for idx, fertigkeit := range object.Fertigkeiten {
fertigkeit.Bonus = GetSkillBonus(&object.Eigenschaften, &fertigkeit)
if fertigkeit.Bonus > 0 {
object.Fertigkeiten[idx].Bonus = fertigkeit.Bonus
}
}
skills, innateSkills, categories := splitSkills(object.Fertigkeiten)
feC.Fertigkeiten = skills
feC.InnateSkills = innateSkills
@@ -199,6 +205,32 @@ func ToFeChar(object *models.Char) *models.FeChar {
return feC
}
func GetSkillBonus(eigenschaften *[]models.Eigenschaft, skill *models.SkFertigkeit) int {
bonus := 0
gsmsk := skill.GetSkillByName()
if gsmsk.Bonuseigenschaft != "check" {
for _, eigenschaft := range *eigenschaften {
if eigenschaft.Name == gsmsk.Bonuseigenschaft {
if eigenschaft.Value < 6 {
bonus = -2
break
} else if eigenschaft.Value < 21 {
bonus = -1
break
} else if eigenschaft.Value > 81 && eigenschaft.Value < 96 {
bonus = 1
break
} else if eigenschaft.Value >= 96 {
bonus = 2
break
}
}
}
}
skill.Bonus = bonus
return bonus
}
func splitSkills(object []models.SkFertigkeit) ([]models.SkFertigkeit, []models.SkFertigkeit, map[string][]models.SkFertigkeit) {
var normSkills []models.SkFertigkeit
var innateSkills []models.SkFertigkeit