from random import choice
from .supportive_functions import (
    generate_female_name,
    generate_male_name,
    remove_duplicates,
)


female_prefix = [
    "az",
    "barg",
    "bruz",
    "dolg",
    "drak",
    "gash",
    "ghor",
    "grish",
    "groth",
    "gul",
    "haz",
    "karg",
    "krash",
    "morg",
    "narg",
    "naz",
    "raz",
    "shag",
    "shar",
    "skar",
    "snag",
    "snar",
    "snaz",
    "thrak",
    "ug",
    "uruk",
    "varg",
    "zarg",
]

female_suffix = [
    "a",
    "ba",
    "da",
    "ga",
    "gga",
    "gla",
    "gra",
    "gsha",
    "gza",
    "ka",
    "kra",
    "la",
    "lga",
    "lka",
    "lsha",
    "mga",
    "mka",
    "nga",
    "nka",
    "nsha",
    "ra",
    "rak",
    "rga",
    "rka",
    "rsha",
    "sa",
    "sha",
    "ska",
    "sla",
    "tka",
    "tra",
    "tsha",
    "uka",
    "urka",
    "zga",
    "zka",
    "zsha",
]

male_prefix = [
    "az",
    "bal",
    "bolg",
    "dorg",
    "drak",
    "grom",
    "gruk",
    "gul",
    "karg",
    "kru",
    "laz",
    "log",
    "mog",
    "mok",
    "narg",
    "nok",
    "org",
    "rag",
    "rak",
    "shag",
    "shar",
    "skar",
    "skul",
    "snag",
    "snok",
    "thok",
    "thug",
    "thrak",
    "ug",
    "urk",
    "yaz",
    "yur",
]

male_suffix = [
    "dak",
    "dor",
    "gol",
    "grom",
    "gul",
    "karg",
    "krak",
    "kul",
    "lurk",
    "mok",
    "nak",
    "nok",
    "rag",
    "rak",
    "shak",
    "shok",
    "skar",
    "skul",
    "snik",
    "snok",
    "thak",
    "thok",
    "thug",
    "urk",
    "warg",
    "yak",
    "yuk",
    "zog",
]

surnames = [
    "Bor'ruk",
    "Darg'gash",
    "Dor'gon",
    "Drak'thul",
    "Drek'gash",
    "Drek'ka",
    "Drok'gar",
    "Drok'mog",
    "Dush'nak",
    "Gash'nak",
    "Gol'burz",
    "Gol'dur",
    "Gol'mok",
    "Gor'ak",
    "Gor'mok",
    "Grom'gul",
    "Kur'don",
    "Lug'gor",
    "Mog'ash",
    "Mog'dor",
    "Mog'lok",
    "Mok'gar",
    "Mol'dok",
    "Nar'gul",
    "Narg'hul",
    "Raz'nak",
    "Rok'gron",
    "Rok'mog",
    "Skul'gron",
    "Skul'mog",
    "Skul'rok",
    "Thrag'ash",
    "Thrak'gor",
    "Thruk'dar",
    "Thruk'dor",
    "Ur'burz",
    "Urz'gol",
    "Vor'gol",
    "Vor'grom",
    "Vor'shak",
    "Zog'dor",
    "Zog'gar",
    "Zogdu",
    "Zur'kosh",
]

female_names = [
    "Azogha",
    "Bashka",
    "Bazhga",
    "Borgula",
    "Brugha",
    "Dorashka",
    "Dorga",
    "Dorgha",
    "Dorgula",
    "Dorza",
    "Drogula",
    "Dugdush",
    "Dugha",
    "Dugula",
    "Durgarz",
    "Gashna",
    "Ghashka",
    "Ghazga",
    "Ghoragha",
    "Ghorga",
    "Gogla",
    "Golga",
    "Gorga",
    "Gorgula",
    "Gorka",
    "Gorza",
    "Gorzha",
    "Graga",
    "Grakga",
    "Grakha",
    "Grashka",
    "Grazha",
    "Grishna",
    "Grogula",
    "Grugula",
    "Grukha",
    "Grukka",
    "Gruna",
    "Guzhga",
    "Kazga",
    "Kazhga",
    "Korgula",
    "Kraga",
    "Kragula",
    "Krakka",
    "Krashka",
    "Krazga",
    "Krazha",
    "Krogla",
    "Krukka",
    "Krushna",
    "Lugdusha",
    "Mauzgash",
    "Mazhga",
    "Mogdush",
    "Mogha",
    "Mogula",
    "Mugdusha",
    "Mugha",
    "Mugla",
    "Mugula",
    "Muzga",
    "Muzgash",
    "Muzgha",
    "Nagha",
    "Nargha",
    "Nargula",
    "Nashga",
    "Nashgrodha",
    "Nashka",
    "Nazhga",
    "Nokha",
    "Norgula",
    "Nugdusha",
    "Nugha",
    "Nugula",
    "Nuzga",
    "Shagra",
    "Shagula",
    "Shakka",
    "Shakra",
    "Sharka",
    "Shazga",
    "Snagha",
    "Snagula",
    "Snashga",
    "Snazha",
    "Snogula",
    "Thogla",
    "Thogula",
    "Thokka",
    "Thragla",
    "Thraza",
    "Thrazna",
    "Throgla",
    "Throkga",
    "Throkgula",
    "Throkha",
    "Throkka",
    "Thrukha",
    "Thugdusha",
    "Ugga",
    "Ugla",
    "Uglasha",
    "Ugula",
    "Urzogga",
    "Uzgasha",
    "Uzha",
    "Zagula",
    "Zashga",
    "Zashka",
    "Zazhga",
    "Zogga",
    "Zogha",
    "Zogula",
    "Zogzha",
    "Zugla",
    "Zugula",
    "Zuzha",
]

male_names = [
    "Azgog",
    "Bashnag",
    "Bolash",
    "Bolgakh",
    "Bolmog",
    "Bolug",
    "Borzog",
    "Burzash",
    "Buzgash",
    "Dorgakh",
    "Dorgor",
    "Dorgoth",
    "Durbat",
    "Durgash",
    "Dushgol",
    "Dushgor",
    "Dushgrish",
    "Dushnak",
    "Ghashdor",
    "Ghashdug",
    "Ghashduk",
    "Ghashnag",
    "Ghashnakh",
    "Ghashrak",
    "Ghazdush",
    "Ghazgol",
    "Ghazgor",
    "Ghorg",
    "Gimlak",
    "Gimnash",
    "Gimrak",
    "Gimrash",
    "Golgakh",
    "Golgash",
    "Golmog",
    "Golnaz",
    "Golug",
    "Gorbag",
    "Gorbagh",
    "Gorblag",
    "Gorblud",
    "Gorgakh",
    "Gorgash",
    "Gorgol",
    "Gorgrak",
    "Gorgrim",
    "Gorgrish",
    "Gorluk",
    "Gorzug",
    "Gothmog",
    "Gothuz",
    "Grishnakh",
    "Grumash",
    "Grushnakh",
    "Lagduf",
    "Lugdush",
    "Luggrish",
    "Lugmog",
    "Lugnash",
    "Lugor",
    "Mauhur",
    "Mazgash",
    "Maznash",
    "Mogar",
    "Mogulg",
    "Morgak",
    "Morgluk",
    "Mugash",
    "Murgash",
    "Nargash",
    "Narzog",
    "Narzug",
    "Razgash",
    "Raznak",
    "Raznash",
    "Rugnash",
    "Rugor",
    "Shagblud",
    "Shagdor",
    "Shagdug",
    "Shagdush",
    "Shaggor",
    "Shagnaz",
    "Shagrat",
    "Shargash",
    "Sharku",
    "Snaga",
    "Snargash",
    "Snash",
    "Snashnag",
    "Tharku",
    "Tharzog",
    "Uglog",
    "Uglug",
    "Ugluk",
    "Uglur",
    "Uruk",
    "Urzash",
    "Urzgash",
    "Urzog",
    "Urzogar",
    "Urzul",
    "Ushdug",
    "Ushgash",
    "Ushgol",
    "Ushnag",
    "Uzgash",
    "Uzgol",
    "Zargash",
    "Zargol",
    "Zugdug",
    "Zugdush",
    "Zugluk",
    "Zugmog",
    "Zugthak",
]

titles = [
    "the Annihilator",
    "the Ashmaker",
    "the Axe",
    "the Bane",
    "the Blackhand",
    "the Blade",
    "the Blight",
    "the Bloodbane",
    "the Bloodfang",
    "the Bloodscourge",
    "the Bloodthirsty",
    "the Bone",
    "the Bonecrusher",
    "the Brutal",
    "the Brute",
    "the Butcher",
    "the Conqueror",
    "the Corpsemaker",
    "the Crazed",
    "the Crusher",
    "the Darkblade",
    "the Darkheart",
    "the Deathbringer",
    "the Deathdealer",
    "the Deathgaze",
    "the Deathgrip",
    "the Deathmask",
    "the Desecrator",
    "the Desolation",
    "the Despair",
    "the Despoiler",
    "the Destroyer",
    "the Devourer",
    "the Dismemberer",
    "the Doom",
    "the Doombringer",
    "the Doomclaw",
    "the Doomgaze",
    "the Doomhammer",
    "the Fearmonger",
    "the Fierce",
    "the Fleshrend",
    "the Gloom",
    "the Gloomfang",
    "the Gorefist",
    "the Gorehowl",
    "the Gravewalker",
    "the Grim",
    "the Grimdark",
    "the Grimface",
    "the Grimjaw",
    "the Grimskull",
    "the Gruesome",
    "the Gutslicer",
    "the Harbinger",
    "the Hellraiser",
    "the Horned",
    "the Howler",
    "the Impaler",
    "the Inferno",
    "the Ironfist",
    "the Ironhide",
    "the Marauder",
    "the Maul",
    "the Mauler",
    "the Merciless",
    "the Mocker",
    "the Nightstalker",
    "the Pestilence",
    "the Pitiless",
    "the Plaguebringer",
    "the Plunderer",
    "the Rage",
    "the Rager",
    "the Rampage",
    "the Ravager",
    "the Rend",
    "the Ruin",
    "the Ruiner",
    "the Ruthless",
    "the Savage",
    "the Scar",
    "the Scarface",
    "the Scourge",
    "the Scrapper",
    "the Shadow",
    "the Shadowhand",
    "the Shatterer",
    "the Sinister",
    "the Skull",
    "the Skullcrusher",
    "the Skullsplitter",
    "the Slasher",
    "the Slaughterer",
    "the Slayer",
    "the Sludge",
    "the Smasher",
    "the Snarler",
    "the Spinebreaker",
    "the Spite",
    "the Stalker",
    "the Swiftblade",
    "the Throatripper",
    "the Tormentor",
    "the Torturer",
    "the Venom",
    "the Venomfang",
    "the Vex",
    "the Vicious",
    "the Vile",
    "the Warbringer",
    "the Warcry",
    "the Warg",
    "the Warlord",
    "the Wicked",
    "the Wound",
    "the Wrecking Ball",
]

female = generate_female_name(female_prefix, female_suffix, min=0, max=1)
male = generate_male_name(male_prefix, male_suffix, min=0, max=1)
surname = choice(titles)

female_lbr = choice(female_names)
male_lbr = choice(male_names)
surname_lbr = choice(surnames)
