Konfusuin mit Charakterklasse und Rasse entfernt
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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":
|
||||
|
||||
Reference in New Issue
Block a user