Fix Generators

This commit is contained in:
2025-08-03 19:25:14 +01:00
parent e0bd9295c7
commit 702aaeb570
15 changed files with 13 additions and 39 deletions
-2
View File
@@ -4,7 +4,6 @@ import (
"encoding/json" "encoding/json"
"math/rand" "math/rand"
"os" "os"
"time"
) )
type AasimarData struct { type AasimarData struct {
@@ -39,7 +38,6 @@ func LoadAasimarData(path string) error {
} }
func GenerateAasimarName(gender string) string { func GenerateAasimarName(gender string) string {
rand.Seed(time.Now().UnixNano())
if gender == "female" { if gender == "female" {
return generateAasimarFemaleName() return generateAasimarFemaleName()
} }
-2
View File
@@ -4,7 +4,6 @@ import (
"encoding/json" "encoding/json"
"math/rand" "math/rand"
"os" "os"
"time"
) )
type BugbearArrays struct { type BugbearArrays struct {
@@ -29,7 +28,6 @@ func LoadBugbearArrays(path string) (*BugbearArrays, error) {
} }
func BugbearNameMas(arr *BugbearArrays, checkSwear func(string) bool) string { func BugbearNameMas(arr *BugbearArrays, checkSwear func(string) bool) string {
rand.Seed(time.Now().UnixNano())
nTp := rand.Intn(3) nTp := rand.Intn(3)
rnd := rand.Intn(len(arr.Nm1)) rnd := rand.Intn(len(arr.Nm1))
rnd2 := rand.Intn(len(arr.Nm4)) rnd2 := rand.Intn(len(arr.Nm4))
-2
View File
@@ -4,7 +4,6 @@ import (
"encoding/json" "encoding/json"
"math/rand" "math/rand"
"os" "os"
"time"
) )
type CentaurData struct { type CentaurData struct {
@@ -42,7 +41,6 @@ func LoadCentaurData(path string) error {
} }
func GenerateCentaurName(gender string) string { func GenerateCentaurName(gender string) string {
rand.Seed(time.Now().UnixNano())
var nMs string var nMs string
if gender == "female" { if gender == "female" {
nMs = generateCentaurFemaleName() nMs = generateCentaurFemaleName()
-2
View File
@@ -4,7 +4,6 @@ import (
"encoding/json" "encoding/json"
"math/rand" "math/rand"
"os" "os"
"time"
) )
type ChangelingArrays struct { type ChangelingArrays struct {
@@ -27,7 +26,6 @@ func LoadChangelingArrays(path string) (*ChangelingArrays, error) {
} }
func ChangelingNameMas(arr *ChangelingArrays, checkSwear func(string) bool) string { func ChangelingNameMas(arr *ChangelingArrays, checkSwear func(string) bool) string {
rand.Seed(time.Now().UnixNano())
rnd := rand.Intn(len(arr.Nm1)) rnd := rand.Intn(len(arr.Nm1))
rnd2 := rand.Intn(len(arr.Nm2)) rnd2 := rand.Intn(len(arr.Nm2))
rnd3 := rand.Intn(len(arr.Nm3)) rnd3 := rand.Intn(len(arr.Nm3))
-2
View File
@@ -4,7 +4,6 @@ import (
"encoding/json" "encoding/json"
"math/rand" "math/rand"
"os" "os"
"time"
) )
type DeepGnomeData struct { type DeepGnomeData struct {
@@ -40,7 +39,6 @@ func LoadDeepGnomeData(path string) error {
} }
func GenerateDeepGnomeName(gender string) string { func GenerateDeepGnomeName(gender string) string {
rand.Seed(time.Now().UnixNano())
var nMs string var nMs string
if gender == "female" { if gender == "female" {
nMs = generateDeepGnomeFemaleName() nMs = generateDeepGnomeFemaleName()
-2
View File
@@ -4,7 +4,6 @@ import (
"encoding/json" "encoding/json"
"math/rand" "math/rand"
"os" "os"
"time"
) )
type DevaData struct { type DevaData struct {
@@ -42,7 +41,6 @@ func LoadDevaData(path string) error {
} }
func GenerateDevaName(gender string) string { func GenerateDevaName(gender string) string {
rand.Seed(time.Now().UnixNano())
if gender == "female" { if gender == "female" {
return generateDevaFemaleName() return generateDevaFemaleName()
} }
-2
View File
@@ -6,7 +6,6 @@ import (
"math/rand" "math/rand"
"os" "os"
"strings" "strings"
"time"
) )
type DrowData struct { type DrowData struct {
@@ -38,7 +37,6 @@ func init() {
if err := json.NewDecoder(file).Decode(&drowData); err != nil { if err := json.NewDecoder(file).Decode(&drowData); err != nil {
panic(fmt.Errorf("failed to decode drow.json: %w", err)) panic(fmt.Errorf("failed to decode drow.json: %w", err))
} }
rand.Seed(time.Now().UnixNano())
} }
func DrowName(gender, surname string) string { func DrowName(gender, surname string) string {
+1 -3
View File
@@ -4,7 +4,6 @@ import (
"encoding/json" "encoding/json"
"math/rand" "math/rand"
"os" "os"
"time"
) )
type FairyArrays struct { type FairyArrays struct {
@@ -33,9 +32,8 @@ func LoadFairyArrays(path string) (FairyArrays, error) {
} }
func GenerateFairyNames(arr FairyArrays, gender string, swearFilter func(string) bool) []string { func GenerateFairyNames(arr FairyArrays, gender string, swearFilter func(string) bool) []string {
rand.Seed(time.Now().UnixNano())
var names []string var names []string
for i := 0; i < 10; i++ { for i := range 10 {
var n string var n string
if gender == "female" { if gender == "female" {
if i < 3 { if i < 3 {
+1 -1
View File
@@ -84,7 +84,7 @@ func GrungName(arr *GrungArrays, swearFilter func(string) bool) string {
func GenerateGrungNames(arr *GrungArrays, swearFilter func(string) bool) []string { func GenerateGrungNames(arr *GrungArrays, swearFilter func(string) bool) []string {
names := make([]string, 0, 10) names := make([]string, 0, 10)
for i := 0; i < 10; i++ { for range 10 {
n := GrungName(arr, swearFilter) n := GrungName(arr, swearFilter)
names = append(names, n) names = append(names, n)
} }
+8 -6
View File
@@ -58,13 +58,15 @@ func SatyrNameMas(arr *SatyrArrays, swearFilter func(string) bool) string {
} else { } else {
rnd6 := rand.Intn(len(arr.Nm4)) rnd6 := rand.Intn(len(arr.Nm4))
rnd7 := rand.Intn(len(arr.Nm5)) rnd7 := rand.Intn(len(arr.Nm5))
for arr.Nm3[rnd5] == arr.Nm5[rnd3] && arr.Nm3[rnd5] == arr.Nm1[rnd] { // Fix: ensure rnd5 is for Nm7, rnd3 is for Nm5, and check bounds
rnd5 = rand.Intn(len(arr.Nm3)) for (rnd5 >= len(arr.Nm7) || rnd3 >= len(arr.Nm5)) || (arr.Nm3[rnd5%len(arr.Nm3)] == arr.Nm5[rnd3%len(arr.Nm5)] && arr.Nm3[rnd5%len(arr.Nm3)] == arr.Nm1[rnd]) {
rnd5 = rand.Intn(len(arr.Nm7))
rnd3 = rand.Intn(len(arr.Nm5))
} }
for rnd6 == 0 && rnd4 == 0 { for rnd6 == 0 && rnd4 == 0 {
rnd6 = rand.Intn(len(arr.Nm4)) rnd6 = rand.Intn(len(arr.Nm4))
} }
nMs = arr.Nm1[rnd] + arr.Nm2[rnd2] + arr.Nm3[rnd3] + arr.Nm4[rnd6] + arr.Nm5[rnd7] + arr.Nm6[rnd4] + arr.Nm7[rnd5] nMs = arr.Nm1[rnd] + arr.Nm2[rnd2] + arr.Nm3[rnd3%len(arr.Nm3)] + arr.Nm4[rnd6] + arr.Nm5[rnd7] + arr.Nm6[rnd4] + arr.Nm7[rnd5]
} }
if swearFilter != nil && swearFilter(nMs) { if swearFilter != nil && swearFilter(nMs) {
return "" return ""
@@ -138,12 +140,12 @@ func GenerateSatyrNames(arr *SatyrArrays, gender string, swearFilter func(string
names := make([]string, 0, 10) names := make([]string, 0, 10)
switch gender { switch gender {
case "child": case "child":
for i := 0; i < 10; i++ { for range 10 {
n := SatyrNameChild(arr) n := SatyrNameChild(arr)
names = append(names, n) names = append(names, n)
} }
case "female": case "female":
for i := 0; i < 10; i++ { for range 10 {
n := SatyrNameFem(arr, swearFilter) n := SatyrNameFem(arr, swearFilter)
for n == "" { for n == "" {
n = SatyrNameFem(arr, swearFilter) n = SatyrNameFem(arr, swearFilter)
@@ -151,7 +153,7 @@ func GenerateSatyrNames(arr *SatyrArrays, gender string, swearFilter func(string
names = append(names, n) names = append(names, n)
} }
default: default:
for i := 0; i < 10; i++ { for range 10 {
n := SatyrNameMas(arr, swearFilter) n := SatyrNameMas(arr, swearFilter)
for n == "" { for n == "" {
n = SatyrNameMas(arr, swearFilter) n = SatyrNameMas(arr, swearFilter)
-2
View File
@@ -4,7 +4,6 @@ import (
"encoding/json" "encoding/json"
"math/rand" "math/rand"
"os" "os"
"time"
) )
type ShadarKaiArrays struct { type ShadarKaiArrays struct {
@@ -39,7 +38,6 @@ func LoadShadarKaiArrays(path string) (ShadarKaiArrays, error) {
} }
func GenerateShadarKaiName(arr ShadarKaiArrays, gender string) string { func GenerateShadarKaiName(arr ShadarKaiArrays, gender string) string {
rand.Seed(time.Now().UnixNano())
if gender == "female" { if gender == "female" {
return shadarKaiFemale(arr) return shadarKaiFemale(arr)
} }
+1 -3
View File
@@ -4,7 +4,6 @@ import (
"encoding/json" "encoding/json"
"math/rand" "math/rand"
"os" "os"
"time"
) )
type ShardmindArrays struct { type ShardmindArrays struct {
@@ -27,7 +26,6 @@ func LoadShardmindArrays(path string) (ShardmindArrays, error) {
} }
func GenerateShardmindName(arr ShardmindArrays) string { func GenerateShardmindName(arr ShardmindArrays) string {
rand.Seed(time.Now().UnixNano())
rnd := rand.Intn(len(arr.Nm1)) rnd := rand.Intn(len(arr.Nm1))
rnd2 := rand.Intn(len(arr.Nm2)) rnd2 := rand.Intn(len(arr.Nm2))
return arr.Nm1[rnd] + arr.Nm2[rnd2] return arr.Nm1[rnd] + arr.Nm2[rnd2]
@@ -35,7 +33,7 @@ func GenerateShardmindName(arr ShardmindArrays) string {
func GenerateShardmindNames(arr *ShardmindArrays, swearFilter func(string) bool) []string { func GenerateShardmindNames(arr *ShardmindArrays, swearFilter func(string) bool) []string {
names := make([]string, 0, 10) names := make([]string, 0, 10)
for i := 0; i < 10; i++ { for range 10 {
n := GenerateShardmindName(*arr) n := GenerateShardmindName(*arr)
for n == "" || swearFilter(n) { for n == "" || swearFilter(n) {
n = GenerateShardmindName(*arr) n = GenerateShardmindName(*arr)
+1 -3
View File
@@ -4,7 +4,6 @@ import (
"encoding/json" "encoding/json"
"math/rand" "math/rand"
"os" "os"
"time"
) )
type ShifterArrays struct { type ShifterArrays struct {
@@ -28,7 +27,6 @@ func LoadShifterArrays(path string) (ShifterArrays, error) {
// gender: "male" or "female" // gender: "male" or "female"
func GenerateShifterName(arr ShifterArrays, gender string) string { func GenerateShifterName(arr ShifterArrays, gender string) string {
rand.Seed(time.Now().UnixNano())
if gender == "female" { if gender == "female" {
rnd := rand.Intn(len(arr.Names2)) rnd := rand.Intn(len(arr.Names2))
return arr.Names2[rnd] return arr.Names2[rnd]
@@ -39,7 +37,7 @@ func GenerateShifterName(arr ShifterArrays, gender string) string {
func GenerateShifterNames(arr *ShifterArrays, gender string, swearFilter func(string) bool) []string { func GenerateShifterNames(arr *ShifterArrays, gender string, swearFilter func(string) bool) []string {
names := make([]string, 0, 10) names := make([]string, 0, 10)
for i := 0; i < 10; i++ { for range 10 {
var n string var n string
if gender == "female" { if gender == "female" {
n = GenerateShifterName(*arr, "female") n = GenerateShifterName(*arr, "female")
+1 -5
View File
@@ -4,7 +4,6 @@ import (
"encoding/json" "encoding/json"
"math/rand" "math/rand"
"os" "os"
"time"
) )
type SimicHybridArrays struct { type SimicHybridArrays struct {
@@ -35,7 +34,6 @@ func LoadSimicHybridArrays(path string) (SimicHybridArrays, error) {
} }
func simicHybridNameMas(a SimicHybridArrays) (string, int) { func simicHybridNameMas(a SimicHybridArrays) (string, int) {
rand.Seed(time.Now().UnixNano())
nTp := rand.Intn(4) nTp := rand.Intn(4)
rnd := rand.Intn(len(a.Nm1)) rnd := rand.Intn(len(a.Nm1))
rnd2 := rand.Intn(len(a.Nm2)) rnd2 := rand.Intn(len(a.Nm2))
@@ -57,14 +55,12 @@ func simicHybridNameMas(a SimicHybridArrays) (string, int) {
} }
func simicHybridNameFir(a SimicHybridArrays) string { func simicHybridNameFir(a SimicHybridArrays) string {
rand.Seed(time.Now().UnixNano())
rnd := rand.Intn(len(a.Nm7)) rnd := rand.Intn(len(a.Nm7))
rnd2 := rand.Intn(len(a.Nm8)) rnd2 := rand.Intn(len(a.Nm8))
return a.Nm7[rnd] + a.Nm8[rnd2] return a.Nm7[rnd] + a.Nm8[rnd2]
} }
func simicHybridNameSec(a SimicHybridArrays) string { func simicHybridNameSec(a SimicHybridArrays) string {
rand.Seed(time.Now().UnixNano())
rnd := rand.Intn(len(a.Nm9)) rnd := rand.Intn(len(a.Nm9))
rnd2 := rand.Intn(len(a.Nm10)) rnd2 := rand.Intn(len(a.Nm10))
return a.Nm9[rnd] + a.Nm10[rnd2] return a.Nm9[rnd] + a.Nm10[rnd2]
@@ -72,7 +68,7 @@ func simicHybridNameSec(a SimicHybridArrays) string {
func GenerateSimicHybridNames(arr *SimicHybridArrays, gender string, swearFilter func(string) bool) []string { func GenerateSimicHybridNames(arr *SimicHybridArrays, gender string, swearFilter func(string) bool) []string {
names := make([]string, 0, 10) names := make([]string, 0, 10)
for i := 0; i < 10; i++ { for i := range 10 {
var nMs string var nMs string
if i < 5 { if i < 5 {
var nTp int var nTp int
-2
View File
@@ -4,7 +4,6 @@ import (
"encoding/json" "encoding/json"
"math/rand" "math/rand"
"os" "os"
"time"
) )
type TieflingArrays struct { type TieflingArrays struct {
@@ -30,7 +29,6 @@ func LoadTieflingArrays(path string) (TieflingArrays, error) {
} }
func GenerateTieflingName(arr *TieflingArrays, gender string) string { func GenerateTieflingName(arr *TieflingArrays, gender string) string {
rand.Seed(time.Now().UnixNano())
switch gender { switch gender {
case "female": case "female":
rnd := rand.Intn(len(arr.Nm4)) rnd := rand.Intn(len(arr.Nm4))