Konfusuin mit Charakterklasse und Rasse entfernt

This commit is contained in:
2025-07-27 14:35:25 +02:00
parent 91df300e47
commit bd7c077267
2 changed files with 13 additions and 6 deletions
+10 -3
View File
@@ -788,6 +788,13 @@ func LearnSkill(c *gin.Context) {
if request.Type == "" {
request.Type = "skill" // Default zu skill für Learning
}
// Verwende Klassenabkürzung wenn der Typ länger als 3 Zeichen ist
var characterClass string
if len(character.Typ) > 3 {
characterClass = gsmaster.GetClassAbbreviation(character.Typ)
} else {
characterClass = character.Typ
}
// Bestimme das finale Level
finalLevel := request.TargetLevel
@@ -818,10 +825,10 @@ func LearnSkill(c *gin.Context) {
// Berechne Kosten für diesen einen Level
var costResult gsmaster.SkillCostResultNew
costResult.CharacterID = fmt.Sprintf("%d", character.ID)
costResult.CharacterClass = character.Typ
costResult.CharacterClass = characterClass
costResult.SkillName = request.Name
err = gsmaster.GetLernCostNextLevel(&tempRequest, &costResult, request.Reward, nextLevel, character.Typ)
err = gsmaster.GetLernCostNextLevel(&tempRequest, &costResult, request.Reward, nextLevel, character.Rasse)
if err != nil {
respondWithError(c, http.StatusBadRequest, fmt.Sprintf("Fehler bei Level %d: %v", nextLevel, err))
return
@@ -1030,7 +1037,7 @@ func ImproveSkill(c *gin.Context) {
costResult.CharacterClass = characterClass
costResult.SkillName = request.Name
err = gsmaster.GetLernCostNextLevel(&tempRequest, &costResult, request.Reward, nextLevel, character.Typ)
err = gsmaster.GetLernCostNextLevel(&tempRequest, &costResult, request.Reward, nextLevel, character.Rasse)
if err != nil {
respondWithError(c, http.StatusBadRequest, fmt.Sprintf("Fehler bei Level %d: %v", nextLevel, err))
return
+3 -3
View File
@@ -821,7 +821,7 @@ func CalcSpellLernCost(costResult *SkillCostResultNew, reward *string) error {
return nil
}
func GetLernCostNextLevel(request *LernCostRequest, costResult *SkillCostResultNew, reward *string, level int, characterTyp string) error {
func GetLernCostNextLevel(request *LernCostRequest, costResult *SkillCostResultNew, reward *string, level int, characterRasse string) error {
// Diese Funktion berechnet die Kosten für das Erlernen oder Verbessern einer Fertigkeit oder eines Zaubers
// abhängig von der Aktion (learn/improve) und der Belohnung.
// die Berechnung erfolgt immer für genau 1 Level
@@ -838,7 +838,7 @@ func GetLernCostNextLevel(request *LernCostRequest, costResult *SkillCostResultN
return fmt.Errorf("fehler bei der Kostenberechnung: %w", err)
}
// extrakosten für elfen
if characterTyp == "Elf" {
if characterRasse == "Elf" {
costResult.EP += 6
}
case request.Action == "learn" && request.Type == "spell":
@@ -847,7 +847,7 @@ func GetLernCostNextLevel(request *LernCostRequest, costResult *SkillCostResultN
return fmt.Errorf("fehler bei der Kostenberechnung: %w", err)
}
// extrakosten für elfen
if characterTyp == "Elf" {
if characterRasse == "Elf" {
costResult.EP += 6
}
case request.Action == "improve" && request.Type == "skill":