diff --git a/internal/characters/character.go b/internal/characters/character.go index 10136fb3..081439df 100644 --- a/internal/characters/character.go +++ b/internal/characters/character.go @@ -1381,6 +1381,10 @@ func (c *Character) RecalculateStats() { if raceInfo := races.GetRace(c.RaceId); raceInfo != nil { c.TNLScale = raceInfo.TNLScale + // Safety check: ensure TNLScale is never 0 + if c.TNLScale == 0 { + c.TNLScale = 1.0 + } c.Stats.Strength.Base = raceInfo.Stats.Strength.Base c.Stats.Speed.Base = raceInfo.Stats.Speed.Base c.Stats.Smarts.Base = raceInfo.Stats.Smarts.Base diff --git a/internal/races/races.go b/internal/races/races.go index c42cb23f..0dc7b20a 100644 --- a/internal/races/races.go +++ b/internal/races/races.go @@ -113,6 +113,11 @@ func (r *Race) Validate() error { r.Damage.FormatDiceRoll() } + // Ensure TNLScale is never 0, default to 1.0 + if r.TNLScale == 0 { + r.TNLScale = 1.0 + } + return nil }