diff --git a/src/Mods/DinnerParty/dinnerPartyExecution.tw b/src/Mods/DinnerParty/dinnerPartyExecution.tw index 5b2c353a5f27c641303656c9dc39fc5f3e5a7045..a78bdb119d45e9bf6fb30c9259c754586490b4a7 100644 --- a/src/Mods/DinnerParty/dinnerPartyExecution.tw +++ b/src/Mods/DinnerParty/dinnerPartyExecution.tw @@ -420,7 +420,7 @@ /% Head Girl abuse %/ <<if ($HeadGirlID != 0) && ($activeSlave.assignment != "be your Head Girl")>> - <<setLocalPronouns _S.HeadGirl 2>> + <<run App.Utils.setLocalPronouns(_S.HeadGirl, 2)>> <br><br> You notice a group of guests corner your Head Girl. The group consists of some very powerful people. Most of them arcology owners themselves, some of them have more powerful arcologies than yours. _S.HeadGirl.slaveName tries to slip away, but _he2 was grabbed at the neck by the leader of the pack. He pulls _him2 down to the ground forcefully. @@ -466,7 +466,7 @@ /% Clean up and slaves reactions %/ When the last of your guests has stumbled drunkenly out your door, your slaves begin the daunting task of cleanup. <<for _dpe = 0; _dpe < $slaves.length; _dpe++>> - <<setLocalPronouns $slaves[_dpe] 2>> + <<run App.Utils.setLocalPronouns($slaves[_dpe], 2)>> <<if $activeSlave.mother == $slaves[_dpe].ID>> $slaves[_dpe].slaveName is @@.mediumorchid;distraught@@ that you ate _his2 $daughter. _He2 also @@.gold;fears@@ that _he2 will be next. <br><br> @@ -504,7 +504,7 @@ <</for>> <<if $activeSlave.relationship != 0>> <<for _dpe = 0; _dpe < $slaves.length; _dpe++>> - <<setLocalPronouns $slaves[_dpe]>> + <<run App.Utils.setLocalPronouns($slaves[_dpe])>> <<if ($slaves[_dpe].ID == $activeSlave.relationshipTarget) && ($slaves[_dpe].fetish != "mindbroken")>> $slaves[_dpe].slaveName is @@.mediumorchid;distraught@@ that you ate _his2 best source of comfort and companionship in a life of bondage. <<set $slaves[_dpe].devotion -= $slaves[_dpe].relationship*5>> diff --git a/src/cheats/mod_EditChildCheatNew.tw b/src/cheats/mod_EditChildCheatNew.tw index 4ae66c670630f4b593c74843a0a29771b4b8ff5d..7c66c1620ddf281f8b70c6fdd05423e222dd0436 100644 --- a/src/cheats/mod_EditChildCheatNew.tw +++ b/src/cheats/mod_EditChildCheatNew.tw @@ -1,7 +1,7 @@ :: MOD_Edit Child Cheat New [nobr] <<set $nextButton = "Continue", $nextLink = "MOD_Edit Child Cheat Datatype Cleanup New", $tempSlave = clone($activeSlave)>> -<<setLocalPronouns $tempSlave>> +<<run App.Utils.setLocalPronouns($tempSlave)>> <<widget COptions>> <<link "[$args[0]]">> diff --git a/src/cheats/mod_EditInfantCheatNew.tw b/src/cheats/mod_EditInfantCheatNew.tw index b3b21515221befea796a45a868eef66dadd4a2b7..eef125b22ec6db3d223c498ddd0ddfab4abef7f8 100644 --- a/src/cheats/mod_EditInfantCheatNew.tw +++ b/src/cheats/mod_EditInfantCheatNew.tw @@ -3,7 +3,7 @@ /* TODO: all of this */ <<set $nextButton = "Continue", $nextLink = "MOD_Edit Child Cheat Datatype Cleanup New", $tempSlave = clone($activeChild)>> -<<setLocalPronouns $tempSlave>> +<<run App.Utils.setLocalPronouns($tempSlave)>> <<widget COptions>> <<link "[$args[0]]">> diff --git a/src/gui/Encyclopedia/encyclopedia.tw b/src/gui/Encyclopedia/encyclopedia.tw index 60ceda22c95ddbbe4ef9d18351a524fa381683da..5597c5ed227b69e64c1a75492a98c3d12913207a 100644 --- a/src/gui/Encyclopedia/encyclopedia.tw +++ b/src/gui/Encyclopedia/encyclopedia.tw @@ -2310,8 +2310,7 @@ MODS <br><br><<includeDOM terrainAndTactics()>> <br><br>Leaders: - <<setAssistantPronouns>> - <br><strong>The Assistant</strong>: The assistant can lead the troops. _HisA performance will entirely depend on the computational power _heA has available. Human soldiers will be not happy to be lead by a computer however and will fight with less ardor, unless your own reputation or authority is high enough. + <br><strong>The Assistant</strong>: The assistant can lead the troops. <<= capFirstChar(getPronouns(assistant.pronouns().main).possessive)>> performance will entirely depend on the computational power <<= getPronouns(assistant.pronouns().main).pronoun>> has available. Human soldiers will be not happy to be lead by a computer however and will fight with less ardor, unless your own reputation or authority is high enough. <br><strong>The Arcology Owner</strong>: You can join the fray yourself. Your performance will depend greatly on your warfare skill and your past. The troops will react to your presence depending on your social standing and your past as well. Do note however there is the possibility of getting wounded, which makes you unable to focus on any task for a few weeks. diff --git a/src/npc/infants/infantInteract.tw b/src/npc/infants/infantInteract.tw index 8f77e8fd46e06e259d15fd34cd9730bca359477f..b282fcde36030c255cb7de2062298f859bd679db 100644 --- a/src/npc/infants/infantInteract.tw +++ b/src/npc/infants/infantInteract.tw @@ -7,7 +7,7 @@ <<set _i = App.Facilities.Nursery.childIndexForID($activeChild.ID)>> <<set $nextButton = "Confirm changes", $nextLink = "AC Dump", $returnTo = "Nursery", _SL = $slaves.length, _CL = $cribs.length, $cribs[_i] = $activeChild>> -<<setLocalPronouns $activeChild>> +<<run App.Utils.setLocalPronouns($activeChild)>> /* TODO: the encyclopedia will need to be updated for children as well */ <<set $encyclopedia = "Nursery">> diff --git a/src/pregmod/widgets/pregmodWidgets.tw b/src/pregmod/widgets/pregmodWidgets.tw deleted file mode 100644 index afe4adaf36893a46998d5355df75f5cc69172615..0000000000000000000000000000000000000000 --- a/src/pregmod/widgets/pregmodWidgets.tw +++ /dev/null @@ -1,147 +0,0 @@ -:: pregmod widgets [nobr widget] - -<<widget "setLocalPronouns">> -/* - "He has a camera. The camera belongs to him. It is his camera. The camera is his." - "She has a diamond ring. The diamond ring belongs to her. It is her diamond ring. The diamond ring is hers." - - Pronouns are tricky to get right, and this widget should make it easier to use variables naturally in writing. There are two problems in English pronouns that matter here: - - 1. Her/her vs his/him. To solve this ambiguity, variables use male pronouns throughout, although players will of course see the contents of the variable. "$He glared" can be printed as "She glared." - - 2. Her/hers vs his/his. Here, the opposite problem. In this one case and this alone, where you would use "hers," (the possessive pronoun) the variable is female, since the distinction is only important there. I am very sorry for English. -*/ - <<run App.Utils.setLocalPronouns($args[0], $args[1])>> -<</widget>> - -<<widget "setNonlocalPronouns">> - /* a fake slave object, we need the .pronoun attribute only */ - <<set _fSlave = {pronoun: App.Data.Pronouns.Kind.female}>> - /* Used for generic slaves, citizens, security, etc. */ - <<if $diversePronouns == 1>> - <<if $args[0] === 100>> - <<set _fSlave.pronoun = App.Data.Pronouns.Kind.male>> - <<elseif ($args[0] > 0) && (random(1,100) <= $args[0])>> - <<set _fSlave.pronoun = App.Data.Pronouns.Kind.male>> - <</if>> - <</if>> - <<run App.Utils.setLocalPronouns(_fSlave, 'U')>> -<</widget>> - -<<widget "setPlayerPronouns">> - <<set _pl = ["he", "his", "hers", "him", "himself", "woman", "women", "loli", "girl", "daughter", "sister", "wife", "wives", - "He", "His", "Hers", "Him", "Himself", "Woman", "Women", "Loli", "Girl", "Daughter", "Sister", "Wife", "Wives"]>> - <<run App.Utils.setLocalPronouns($PC, 'P', _pl)>> - <<unset _pl>> -<</widget>> - -<<widget "setAssistantPronouns">> - <<set _apl = ["he", "his", "hers", "him", "himself", "woman", "women", "loli", "girl", "daughter", "sister", "wife", "wives", - "He", "His", "Hers", "Him", "Himself", "Woman", "Women", "Loli", "Girl", "Daughter", "Sister", "Wife", "Wives"]>> - - <<run App.Utils.setLocalPronouns(assistant.pronouns().main, 'A', _apl)>> - <<if $assistant.market>> - <<run App.Utils.setLocalPronouns(assistant.pronouns().market, 'M', _apl)>> - <</if>> - <<unset _apl>> -<</widget>> - -/* - Should be called with two slave objects as arguments, the primary and secondary. E.g. <<setSpokenLocalPronouns $activeSlave $subSlave>> - _primarySlaveLisp and _secondarySlaveLisp only exist so that we don't have to rely on using the exact variables $activeSlave and $subSlave -*/ -<<widget "setSpokenLocalPronouns">> - <<set _primarySlaveLisp = SlaveStatsChecker.checkForLisp($args[0])>> - - <<set _heLisp = lispReplace($he)>> - <<set _hisLisp = lispReplace($his)>> - <<set _hersLisp = lispReplace($hers)>> - <<set _himselfLisp = lispReplace($himself)>> - <<set _daughterLisp = lispReplace($daughter)>> - <<set _sisterLisp = lispReplace($sister)>> - <<set _loliLisp = lispReplace($loli)>> - <<set _wifeLisp = lispReplace($wife)>> - <<set _wivesLisp = lispReplace($wives)>> - - <<set _HeLisp = lispReplace($He)>> - <<set _HisLisp = lispReplace($His)>> - <<set _HersLisp = lispReplace($Hers)>> - <<set _HimselfLisp = lispReplace($Himself)>> - <<set _DaughterLisp = lispReplace($Daughter)>> - <<set _SisterLisp = lispReplace($Sister)>> - <<set _LoliLisp = lispReplace($Loli)>> - <<set _WifeLisp = lispReplace($Wife)>> - <<set _WivesLisp = lispReplace($Wives)>> - - <<if def _he2>> - <<set _secondarySlaveLisp = SlaveStatsChecker.checkForLisp($args[1])>> - - <<set _he2Lisp = lispReplace(_he2)>> - <<set _his2Lisp = lispReplace(_his2)>> - <<set _hers2Lisp = lispReplace(_hers2)>> - <<set _himself2Lisp = lispReplace(_himself2)>> - <<set _daughter2Lisp = lispReplace(_daughter2)>> - <<set _sister2Lisp = lispReplace(_sister2)>> - <<set _loli2Lisp = lispReplace(_loli2)>> - <<set _wife2Lisp = lispReplace(_wife2)>> - <<set _wives2Lisp = lispReplace(_wives2)>> - - <<set _He2Lisp = lispReplace(_He2)>> - <<set _His2Lisp = lispReplace(_His2)>> - <<set _Hers2Lisp = lispReplace(_Hers2)>> - <<set _Himself2Lisp = lispReplace(_Himself2)>> - <<set _Daughter2Lisp = lispReplace(_Daughter2)>> - <<set _Sister2Lisp = lispReplace(_Sister2)>> - <<set _Loli2Lisp = lispReplace(_Loli2)>> - <<set _Wife2Lisp = lispReplace(_Wife2)>> - <<set _Wives2Lisp = lispReplace(_Wives2)>> - <</if>> -<</widget>> - -<<widget "setSpokenPlayerPronouns">> - <<set _playerSlaveLisp = SlaveStatsChecker.checkForLisp($args[0])>> - - <<set _hePLisp = lispReplace(_heP)>> - <<set _hisPLisp = lispReplace(_hisP)>> - <<set _hersPLisp = lispReplace(_hersP)>> - <<set _himselfPLisp = lispReplace(_himselfP)>> - <<set _daughterPLisp = lispReplace(_daughterP)>> - <<set _sisterPLisp = lispReplace(_sisterP)>> - <<set _loliPLisp = lispReplace(_loliP)>> - <<set _wifePLisp = lispReplace(_wifeP)>> - <<set _wivesPLisp = lispReplace(_wivesP)>> - - <<set _HePLisp = lispReplace(_HeP)>> - <<set _HisPLisp = lispReplace(_HisP)>> - <<set _HersPLisp = lispReplace(_HersP)>> - <<set _HimselfPLisp = lispReplace(_HimselfP)>> - <<set _DaughterPLisp = lispReplace(_DaughterP)>> - <<set _SisterPLisp = lispReplace(_SisterP)>> - <<set _LoliPLisp = lispReplace(_LoliP)>> - <<set _WifePLisp = lispReplace(_WifeP)>> - <<set _WivesPLisp = lispReplace(_WivesP)>> -<</widget>> - -<<widget "setSpokenAssistantPronouns">> - <<set _assistantSlaveLisp = SlaveStatsChecker.checkForLisp($args[0])>> - - <<set _heALisp = lispReplace(_heA)>> - <<set _hisALisp = lispReplace(_hisA)>> - <<set _hersALisp = lispReplace(_hersA)>> - <<set _himselfALisp = lispReplace(_himselfA)>> - <<set _daughterALisp = lispReplace(_daughterA)>> - <<set _sisterALisp = lispReplace(_sisterA)>> - <<set _loliALisp = lispReplace(_loliA)>> - <<set _wifeALisp = lispReplace(_wifeA)>> - <<set _wivesALisp = lispReplace(_wivesA)>> - - <<set _HeALisp = lispReplace(_HeA)>> - <<set _HisALisp = lispReplace(_HisA)>> - <<set _HersALisp = lispReplace(_HersA)>> - <<set _HimselfALisp = lispReplace(_HimselfA)>> - <<set _DaughterALisp = lispReplace(_DaughterA)>> - <<set _SisterALisp = lispReplace(_SisterA)>> - <<set _LoliALisp = lispReplace(_LoliA)>> - <<set _WifeALisp = lispReplace(_WifeA)>> - <<set _WivesALisp = lispReplace(_WivesA)>> -<</widget>> diff --git a/src/uncategorized/dairy.tw b/src/uncategorized/dairy.tw index 640200d3c636c0cd5507a949d98ab29c4072eaaf..27ec66d4bcadc5017202d0edfd029de9f63b8da3 100644 --- a/src/uncategorized/dairy.tw +++ b/src/uncategorized/dairy.tw @@ -19,7 +19,7 @@ <p> <<if ($MilkmaidID != 0) && ($dairyRestraintsSetting == 2)>> - <<setLocalPronouns _S.Milkmaid>> + <<run App.Utils.setLocalPronouns(_S.Milkmaid)>> _S.Milkmaid.slaveName has been removed from $his position as Milkmaid, since an industrialized dairy automates $his duties. <<= removeJob(_S.Milkmaid, "be the Milkmaid")>> <</if>> @@ -37,7 +37,7 @@ <<if $dairyPregSettingChanged == 1>> <<set _purgedSlaves = false>> <<for _slave range _slaves>> - <<setLocalPronouns _slave>> + <<run App.Utils.setLocalPronouns(_slave)>> <<if (_slave.vagina > -1) && (_slave.vagina < 3)>> _slave.slaveName's milking machine ejects $him, since it cannot fit the mandated dildo into $his tight cunt. <<= removeJob(_slave, Job.DAIRY)>> @@ -80,7 +80,7 @@ <<set _purgedSlaves = false>> <<for _slave range _slaves>> <<if (_slave.anus < 3)>> - <<setLocalPronouns _slave>> + <<run App.Utils.setLocalPronouns(_slave)>> _slave.slaveName's milking machine ejects $him, since it cannot fit its massive anal dildo up $his tight asshole. <<= removeJob(_slave, Job.DAIRY)>> <<set _purgedSlaves = true>> @@ -107,13 +107,23 @@ as their sphincters gradually recover from wide open to merely gaping. The machines switch out the withdrawn dildos for phalli that are just large, but the slaves barely react at all as they are penetrated. After what their sphincters have been through, a merely big dick is nothing to them. <</if>> </p> - <<setNonlocalPronouns $seeDicks>> + /* a fake slave object, we need the .pronoun attribute only */ + <<set _fSlave = {pronoun: App.Data.Pronouns.Kind.female}>> + /* Used for generic slaves, citizens, security, etc. */ + <<if $diversePronouns == 1>> + <<if $seeDicks === 100>> + <<set _fSlave.pronoun = App.Data.Pronouns.Kind.male>> + <<elseif ($seeDicks > 0) && (random(1,100) <= $seeDicks)>> + <<set _fSlave.pronoun = App.Data.Pronouns.Kind.male>> + <</if>> + <</if>> + <<run App.Utils.setLocalPronouns(_fSlave, 'U')>> <p> <<if $dairyRestraintsSettingChanged == 1>> <<if $dairyRestraintsSetting == 1>> <<set _purgedSlaves = false>> <<for _slave range _slaves>> - <<setLocalPronouns _slave>> + <<run App.Utils.setLocalPronouns(_slave)>> <<if (_slave.indentureRestrictions >= 2)>> _slave.slaveName's milking machine declines to restrain $him, since $he is encoded as an indentured servant protected from restraint for milking. <<= removeJob(_slave, Job.DAIRY)>> @@ -133,7 +143,7 @@ <<set _purgedSlaves = false>> <<for _slave range _slaves>> <<if (_slave.indentureRestrictions >= 1)>> - <<setLocalPronouns _slave>> + <<run App.Utils.setLocalPronouns(_slave)>> _slave.slaveName's milking machine declines to restrain $him, since $he is encoded as an indentured servant protected from being restrained for milking. <<= removeJob(_slave, "work in the dairy")>> <<set _purgedSlaves = true>> @@ -761,7 +771,7 @@ <<if (_S.Milkmaid)>> <<includeDOM App.UI.SlaveList.displayManager(_facility)>> <<if canAchieveErection(_S.Milkmaid) && _S.Milkmaid.pubertyXY == 1>> - <<setLocalPronouns _S.Milkmaid>> + <<run App.Utils.setLocalPronouns(_S.Milkmaid)>> <<if $milkmaidImpregnates == 1>> Keeping the cows pregnant is part of $his job. <div class="choices">