From cd20faf0a24194df3547e8b2bea37c19656af53e Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Sat, 3 Aug 2019 17:39:17 -0400
Subject: [PATCH] child name respects settings?

---
 src/pregmod/widgets/pregmodWidgets.tw | 46 +++++++++++++++++++--------
 1 file changed, 32 insertions(+), 14 deletions(-)

diff --git a/src/pregmod/widgets/pregmodWidgets.tw b/src/pregmod/widgets/pregmodWidgets.tw
index ae8d24df58f..93b2f10a13b 100644
--- a/src/pregmod/widgets/pregmodWidgets.tw
+++ b/src/pregmod/widgets/pregmodWidgets.tw
@@ -1205,20 +1205,38 @@ extremely pale -5
 
 <<widget "ParentNames">>
 <<set _currentSlaveNames = $slaves.map(s => s.slaveName)>>
-<<set _sanityCheck = '>>', /* to appease sanityCheck */
-	$args[1].slaveName = generateName($args[0].nationality, $args[1].race, $args[1].genes === "XY", sn => !_currentSlaveNames.includes(sn))>>
-<<if !$args[1].slaveName>>
-	/* we ran out of names ... How? */
-	<<set _maxTries = 10>>
-	<<for _maxTries > 0 && !$args[1].slaveName>>
-		<<set _continentNationality = hashChoice($nationalities)>>
-		<<set _sanityCheck = '>>', /* to appease sanityCheck */
-			$args[1].slaveName = generateName(_continentNationality, $args[1].race, $args[1].genes === "XY", sn => !_currentSlaveNames.includes(sn))>>
-	<</for>>
-<</if>>
-<<if !$args[1].slaveName>>
-	/* give up, duplicate name is fine I guess */
-	<<set $args[1].slaveName = generateName($args[0].nationality, $args[1].race, $args[1].genes === "XY")>>
+<<if $allowMaleSlaveNames>>
+	<<set _sanityCheck = '>>', /* to appease sanityCheck */
+		$args[1].slaveName = generateName($args[0].nationality, $args[1].race, $args[1].genes === "XY", sn => !_currentSlaveNames.includes(sn))>>
+	<<if !$args[1].slaveName>>
+		/* we ran out of names ... How? */
+		<<set _maxTries = 10>>
+		<<for _maxTries > 0 && !$args[1].slaveName>>
+			<<set _continentNationality = hashChoice($nationalities)>>
+			<<set _sanityCheck = '>>', /* to appease sanityCheck */
+				$args[1].slaveName = generateName(_continentNationality, $args[1].race, $args[1].genes === "XY", sn => !_currentSlaveNames.includes(sn))>>
+		<</for>>
+	<</if>>
+	<<if !$args[1].slaveName>>
+		/* give up, duplicate name is fine I guess */
+		<<set $args[1].slaveName = generateName($args[0].nationality, $args[1].race, $args[1].genes === "XY")>>
+	<</if>>
+<<else>>
+	<<set _sanityCheck = '>>', /* to appease sanityCheck */
+		$args[1].slaveName = generateName($args[0].nationality, $args[1].race, false, sn => !_currentSlaveNames.includes(sn))>>
+	<<if !$args[1].slaveName>>
+		/* we ran out of names ... How? */
+		<<set _maxTries = 10>>
+		<<for _maxTries > 0 && !$args[1].slaveName>>
+			<<set _continentNationality = hashChoice($nationalities)>>
+			<<set _sanityCheck = '>>', /* to appease sanityCheck */
+				$args[1].slaveName = generateName(_continentNationality, $args[1].race, false, sn => !_currentSlaveNames.includes(sn))>>
+		<</for>>
+	<</if>>
+	<<if !$args[1].slaveName>>
+		/* give up, duplicate name is fine I guess */
+		<<set $args[1].slaveName = generateName($args[0].nationality, $args[1].race, false)>>
+	<</if>>
 <</if>>
 <<unset _currentSlaveNames, _maxTries, _continentNationality>>
 <</widget>>
-- 
GitLab