enum class AdmiralNameFlavor {
MECHYRDIA, TYLA, CALIBOR, OLYMPIA, // Mechyrdia-aligned
DUTCH, // NdRC-aliged
- DIADOCHI, // Masra Draetsen-aligned
+ NORTHERN_DIADOCHI, SOUTHERN_DIADOCHI, // Masra Draetsen-aligned
FULKREYKK, // Isarnareykk-aligned
AMERICAN, HISPANIC_AMERICAN; // Vestigium-aligned
CALIBOR -> "Caliborese"
OLYMPIA -> "Olympian"
DUTCH -> "Dutch"
- DIADOCHI -> "Diadochi"
+ NORTHERN_DIADOCHI -> "Northern Diadochi"
+ SOUTHERN_DIADOCHI -> "Southern Diadochi"
FULKREYKK -> "Thedish"
AMERICAN -> "American"
HISPANIC_AMERICAN -> "Hispanic-American"
"Jimpaq",
"Bivat",
"Durash",
- "Elifas"
+ "Elifas",
+ "Ogus",
+ "Yuli",
+ "Saret",
+ "Mher",
+ "Tyver",
+ "Ghraq",
+ "Niran",
+ "Galik"
)
private val diadochiFemaleNames = listOf(
"Althani",
"Tzyrina",
"Daghasi",
+ "Kloya",
)
- private val diadochiEpithetParts = listOf(
+ private val northernDiadochiEpithetParts = listOf(
"Skull",
"Blood",
"Death",
"Talon",
)
- private fun randomDiadochiName(isFemale: Boolean) = (if (isFemale) diadochiFemaleNames else diadochiMaleNames).random() + " " + diadochiEpithetParts.random() + diadochiEpithetParts.random().lowercase()
+ private fun randomNorthernDiadochiName(isFemale: Boolean) = (if (isFemale) diadochiFemaleNames else diadochiMaleNames).random() + " " + northernDiadochiEpithetParts.random() + northernDiadochiEpithetParts.random().lowercase()
+
+ private val southernDiadochiClans = listOf(
+ "Arkai",
+ "Avado",
+ "Djahhim",
+ "Khankhen",
+ "Porok",
+ "Miras",
+ "Terok",
+ "Empok",
+ "Noragh",
+ "Nuunian",
+ "Soung",
+ "Akhero",
+ "Qozaq",
+ "Kherus",
+ "Axina",
+ "Ghaizas",
+ "Saxha",
+ "Meshu",
+ "Khopesh",
+ "Qitemar",
+ "Vang",
+ "Lugal",
+ "Galla",
+ "Hheka",
+ "Nesut",
+ "Koquon",
+ "Molekh"
+ )
+
+ private fun randomSouthernDiadochiClan() = when {
+ Random.nextInt(5) == 0 -> southernDiadochiClans.random() + "-" + southernDiadochiClans.random()
+ else -> southernDiadochiClans.random()
+ }
+
+ private fun randomSouthernDiadochiName(isFemale: Boolean) = (if (isFemale) diadochiFemaleNames else diadochiMaleNames).random() + (if (isFemale && Random.nextBoolean()) " ka-" else " am-") + diadochiMaleNames.random() + " " + randomSouthernDiadochiClan()
private val thedishMaleNames = listOf(
"Praethoris",
AdmiralNameFlavor.CALIBOR -> randomCaliboreseName(isFemale)
AdmiralNameFlavor.OLYMPIA -> randomLatinName(isFemale)
AdmiralNameFlavor.DUTCH -> randomDutchName(isFemale)
- AdmiralNameFlavor.DIADOCHI -> randomDiadochiName(isFemale)
+ AdmiralNameFlavor.NORTHERN_DIADOCHI -> randomNorthernDiadochiName(isFemale)
+ AdmiralNameFlavor.SOUTHERN_DIADOCHI -> randomSouthernDiadochiName(isFemale)
AdmiralNameFlavor.FULKREYKK -> randomThedishName(isFemale)
AdmiralNameFlavor.AMERICAN -> randomAmericanName(isFemale)
AdmiralNameFlavor.HISPANIC_AMERICAN -> randomHispanicName(isFemale)