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