diff --git a/devNotes/twine JS.txt b/devNotes/twine JS.txt index 7410a16019ab8dd868113fb115654934f8ee94d5..c71ca5ca4f1ddbb02c006f70b0f95a03c33db285 100644 --- a/devNotes/twine JS.txt +++ b/devNotes/twine JS.txt @@ -6596,6 +6596,112 @@ window.properTitle = function properTitle() { else return "Ma'am"; }; +window.newSlave = function newSlave(slave) { + const V = State.variables; + + switch (slave.eyeColor) { + case "blind blue": + slave.origEye = "deep blue"; + break; + case "milky white": + case "implant": + slave.origEye = jsEither(["blue", "green", "brown", "hazel", "light blue", "light green", "dark green", "dark blue"]); + break; + default: + slave.origEye = slave.eyeColor; + break; + } + slave.origHColor = slave.hColor; + slave.underArmHColor = slave.hColor; + slave.pubicHColor = slave.hColor; + slave.origSkin = slave.skin; + + if (V.surnamesForbidden === 1) { + slave.slaveSurname = 0; + } + + if (slave.preg > 0) { + slave.pregWeek = slave.preg; + } else { + slave.pregWeek = 0; + } + + if (V.familyTesting === 1) { + slave.sisters = 0; + slave.daughters = 0; + if (slave.mother === -1 || slave.father === -1) { + V.PC.daughters += 1; + } + if (areSisters(V.PC, slave) > 0) { + V.PC.sisters += 1; + } + for (let k = 0; k < V.slaves.length; k++) { + if (V.slaves[k].mother === slave.ID || V.slaves[k].father === slave.ID) { + slave.daughters++; + } + if (slave.mother === V.slaves[k].ID || slave.father === V.slaves[k].ID) { + V.slaves[k].daughters++; + } + if (areSisters(V.slaves[k], slave) > 0) { + slave.sisters++; + V.slaves[k].sisters++; + } + } + } + + if (slave.dick > 0 && + slave.balls > 0 && + slave.devotion <= 50 && + (slave.fetish !== "buttslut" || slave.fetishKnown !== 1) && + slave.sexualFlaw !== "hates women") { + V.REFeminizationCheckinIDs.push(slave.ID); + } + if (slave.actualAge > 35 && slave.face < 40 && slave.analSkill <= 30) { + V.REMILFCheckinIDs.push(slave.ID); + } + if (slave.attrXY <= 60 && slave.attrXX > 60 ) { + V.REOrientationCheckinIDs.push(slave.ID); + } + if (slave.face < -10) { + V.REUglyCheckinIDs.push(slave.ID); + } + if (slave.anus < 2) { + V.REButtholeCheckinIDs.push(slave.ID); + } + if (slave.boobs < 800) { + V.REReductionCheckinIDs.push(slave.ID); + } + + if (slave.fuckdoll > 0) { + slave.pronoun = "it", slave.possessivePronoun = "its", slave.possessive = "its", slave.object = "it", slave.objectReflexive = "itself", slave.noun = "toy"; + } else if (slave.dick > 0 && slave.vagina === -1 && V.diversePronouns === 1) { + slave.pronoun = "he", slave.possessivePronoun = "his", slave.possessive = "his", slave.object = "him", slave.objectReflexive = "himself", slave.noun = "boy"; + } else { + slave.pronoun = "she", slave.possessivePronoun = "hers", slave.possessive = "her", slave.object = "her", slave.objectReflexive = "herself", slave.noun = "girl"; + } + + SetBellySize(slave); + addSlave(slave); + + if (slave.origin !== "She was your slave, but you freed her, which she repaid by participating in a coup attempt against you. It failed, and she is again your chattel." && slave.ID !== V.boomerangSlave.ID) { + V.genePool.push(slave); + } else { + if (V.genePool.findIndex(function(s) { return s.ID === slave.ID; }) === -1) { + V.genePool.push(slave); + } + } + + /* add to facilities array if needed */ + if (slave.assignment !== "rest") { + assignJob(slave, slave.assignment); + } + + /** do not run the Rules Assistant before adding the new slave to the slaves list! **/ + if (V.ui !== "start" && V.universalRulesNewSlavesRA === 1 && V.rulesAssistantAuto !== 0) { + DefaultRules(slave); + } +}; + window.addSlave = function addSlave(slave) { State.variables.slaves.push(slave); State.variables.slaveIndices[slave.ID] = State.variables.slaves.length - 1; @@ -7620,6 +7726,59 @@ window.SlaveSort = function SlaveSort(slaves, main=false) { } }; +window.MenialPopCap = function MenialPopCap () { + const V = State.variables; + let popCap = 500; + let r = ""; + + for (let mwi = 20; mwi < V.sectors.length; mwi++) { + if (V.sectors[mwi].type === "Pens") { + popCap += 500; + } + } + let overMenialCap = V.helots + V.fuckdolls + V.menialBioreactors - popCap; + if (overMenialCap > 0) { + let price = menialSlaveCost(); + if (V.helots > 0) { + if (V.helots > overMenialCap) { + V.cash += overMenialCap * price; + V.menialDemandFactor -= overMenialCap; + V.helots -= overMenialCap; + overMenialCap = 0; + r += "You don't have enough room for all your menials and are obliged to sell some."; + } else { + V.cash += V.helots * price; + V.menialDemandFactor -= V.helots; + overMenialCap -= V.helots; + V.helots = 0; + r += "You don't have enough room for your menials and are obliged to sell them."; + } + } + if (overMenialCap > 0 && V.fuckdolls > 0) { + if (V.fuckdolls > overMenialCap) { + V.cash += overMenialCap * (price * 2); + V.menialDemandFactor -= overMenialCap; + V.fuckdolls -= overMenialCap; + overMenialCap = 0; + r += "You don't have enough room for all your fuckdolls and are obliged to sell some."; + } else { + V.cash += V.fuckdolls * (price * 2); + V.menialDemandFactor -= V.fuckdolls; + overMenialCap -= V.fuckdolls; + V.fuckdolls = 0; + r += "You don't have enough room for your fuckdolls and are obliged to sell them."; + } + } + if (overMenialCap > 0 && V.menialBioreactors > 0) { + V.cash += overMenialCap * (price - 100); + V.menialDemandFactor -= overMenialCap; + V.menialBioreactors -= overMenialCap; + r += "You don't have enough room for all your menial bioreactors and are obliged to sell some."; + } + } + return r; +}; + /*:: Summary Widgets JS [script]*/ window.SlaveStatClamp = function SlaveStatClamp(slave) { diff --git a/src/SecExp/secBarracks.tw b/src/SecExp/secBarracks.tw index ba68110ef72d2289859ef1fee5a5bf158567a28d..c621fb3f53857f4b231f3651d05dfae0c45330c6 100644 --- a/src/SecExp/secBarracks.tw +++ b/src/SecExp/secBarracks.tw @@ -180,7 +180,7 @@ __Security Drones__ __Slaves__ <br>/* slaves */ You are free to organize your menial slaves into fighting units. Currently you have <<print commaNum($helots)>> slaves available, while <<print commaNum($slavesEmployedManpower)>> are already employed as soldiers. During all your battles you lost a total of <<print commaNum($slavesTotalCasualties)>>. -<<silently>><<MenialPopCap>><</silently>> +<<silently>><<= MenialPopCap()>><</silently>> <<set _menialPrice = menialSlaveCost()>> <<if $cash > _menialPrice>> <<if $PopCap > $helots+$fuckdolls+$menialBioreactors>> diff --git a/src/SecExp/secExpOptions.tw b/src/SecExp/secExpOptions.tw index 4ce4be5c242ee104fd86b749cff3ebd9c66cddef..1e0eae270ceedb2af9fe5090270dde3a50151ad2 100644 --- a/src/SecExp/secExpOptions.tw +++ b/src/SecExp/secExpOptions.tw @@ -409,7 +409,7 @@ __Rebellions buildup speed__: <br> __Debug/cheats:__ -<<silently>><<MenialPopCap>><</silently>> +<<silently>><<= MenialPopCap()>><</silently>> <br> <<link "Set loyalty high" "secExpOptions">> <<for _i = 0; _i < $militiaUnits.length; _i++>> diff --git a/src/SecExp/securityHQ.tw b/src/SecExp/securityHQ.tw index 78cfca082308ed3b0f03860860248433c513817c..40d44e15172e84ffb1cd3a35e3e69dd31291700c 100644 --- a/src/SecExp/securityHQ.tw +++ b/src/SecExp/securityHQ.tw @@ -21,7 +21,7 @@ You have <span id="secHel"><<print $secHelots>></span> slaves working in the HQ. <<else>> You have enough slaves to man all security systems. <</if>> -<<silently>><<MenialPopCap>><</silently>> +<<silently>><<= MenialPopCap()>><</silently>> <<set _menialPrice = menialSlaveCost()>> <<if $cash > _menialPrice>> <<if $PopCap > $helots+$fuckdolls+$menialBioreactors || $helots+$fuckdolls+$menialBioreactors == 0>> diff --git a/src/SecExp/weaponsManufacturing.tw b/src/SecExp/weaponsManufacturing.tw index 87a8c7b51ecef4abdbe6f744f97a14636c02beec..339b434aa738fab80187fa0a79fb8eeab57fc03d 100644 --- a/src/SecExp/weaponsManufacturing.tw +++ b/src/SecExp/weaponsManufacturing.tw @@ -32,7 +32,7 @@ many small old world nations as the advanced technology that free cities have av <<if $weapHelots> 0>>Assigned here are $weapHelots slaves working to produce as much equipment as possible<<else>>There are no assigned menial slaves here. The spaces is manned exclusively by low rank citizens.<</if>> You own <<print commaNum($helots)>> free menial slaves. This manufacturing complex can house 500 at most, with <<print 500 - $weapHelots>> free slots. <br> -<<silently>><<MenialPopCap>><</silently>> +<<silently>><<= MenialPopCap()>><</silently>> <<set _menialPrice = menialSlaveCost()>> <<if $cash > _menialPrice>> <<if $PopCap > $helots+$fuckdolls+$menialBioreactors || $helots+$fuckdolls+$menialBioreactors == 0>> diff --git a/src/js/assayJS.tw b/src/js/assayJS.tw index 172de1fc76c7899782654ae068b16488b93fa9c0..76303be830a69013e8af655f18fe2034769f3463 100644 --- a/src/js/assayJS.tw +++ b/src/js/assayJS.tw @@ -236,6 +236,112 @@ window.properTitle = function properTitle() { else return "Ma'am"; }; +window.newSlave = function newSlave(slave) { + const V = State.variables; + + switch (slave.eyeColor) { + case "blind blue": + slave.origEye = "deep blue"; + break; + case "milky white": + case "implant": + slave.origEye = jsEither(["blue", "green", "brown", "hazel", "light blue", "light green", "dark green", "dark blue"]); + break; + default: + slave.origEye = slave.eyeColor; + break; + } + slave.origHColor = slave.hColor; + slave.underArmHColor = slave.hColor; + slave.pubicHColor = slave.hColor; + slave.origSkin = slave.skin; + + if (V.surnamesForbidden === 1) { + slave.slaveSurname = 0; + } + + if (slave.preg > 0) { + slave.pregWeek = slave.preg; + } else { + slave.pregWeek = 0; + } + + if (V.familyTesting === 1) { + slave.sisters = 0; + slave.daughters = 0; + if (slave.mother === -1 || slave.father === -1) { + V.PC.daughters += 1; + } + if (areSisters(V.PC, slave) > 0) { + V.PC.sisters += 1; + } + for (let k = 0; k < V.slaves.length; k++) { + if (V.slaves[k].mother === slave.ID || V.slaves[k].father === slave.ID) { + slave.daughters++; + } + if (slave.mother === V.slaves[k].ID || slave.father === V.slaves[k].ID) { + V.slaves[k].daughters++; + } + if (areSisters(V.slaves[k], slave) > 0) { + slave.sisters++; + V.slaves[k].sisters++; + } + } + } + + if (slave.dick > 0 && + slave.balls > 0 && + slave.devotion <= 50 && + (slave.fetish !== "buttslut" || slave.fetishKnown !== 1) && + slave.sexualFlaw !== "hates women") { + V.REFeminizationCheckinIDs.push(slave.ID); + } + if (slave.actualAge > 35 && slave.face < 40 && slave.analSkill <= 30) { + V.REMILFCheckinIDs.push(slave.ID); + } + if (slave.attrXY <= 60 && slave.attrXX > 60 ) { + V.REOrientationCheckinIDs.push(slave.ID); + } + if (slave.face < -10) { + V.REUglyCheckinIDs.push(slave.ID); + } + if (slave.anus < 2) { + V.REButtholeCheckinIDs.push(slave.ID); + } + if (slave.boobs < 800) { + V.REReductionCheckinIDs.push(slave.ID); + } + + if (slave.fuckdoll > 0) { + slave.pronoun = "it", slave.possessivePronoun = "its", slave.possessive = "its", slave.object = "it", slave.objectReflexive = "itself", slave.noun = "toy"; + } else if (slave.dick > 0 && slave.vagina === -1 && V.diversePronouns === 1) { + slave.pronoun = "he", slave.possessivePronoun = "his", slave.possessive = "his", slave.object = "him", slave.objectReflexive = "himself", slave.noun = "boy"; + } else { + slave.pronoun = "she", slave.possessivePronoun = "hers", slave.possessive = "her", slave.object = "her", slave.objectReflexive = "herself", slave.noun = "girl"; + } + + SetBellySize(slave); + addSlave(slave); + + if (slave.origin !== "She was your slave, but you freed her, which she repaid by participating in a coup attempt against you. It failed, and she is again your chattel." && slave.ID !== V.boomerangSlave.ID) { + V.genePool.push(slave); + } else { + if (V.genePool.findIndex(function(s) { return s.ID === slave.ID; }) === -1) { + V.genePool.push(slave); + } + } + + /* add to facilities array if needed */ + if (slave.assignment !== "rest") { + assignJob(slave, slave.assignment); + } + + /** do not run the Rules Assistant before adding the new slave to the slaves list! **/ + if (V.ui !== "start" && V.universalRulesNewSlavesRA === 1 && V.rulesAssistantAuto !== 0) { + DefaultRules(slave); + } +}; + window.addSlave = function addSlave(slave) { State.variables.slaves.push(slave); State.variables.slaveIndices[slave.ID] = State.variables.slaves.length - 1; @@ -1259,3 +1365,56 @@ window.SlaveSort = function SlaveSort(slaves, main=false) { slaves.sort((a, b) => V.slaveIndices[a] - V.slaveIndices[b]); } }; + +window.MenialPopCap = function MenialPopCap () { + const V = State.variables; + let popCap = 500; + let r = ""; + + for (let mwi = 20; mwi < V.sectors.length; mwi++) { + if (V.sectors[mwi].type === "Pens") { + popCap += 500; + } + } + let overMenialCap = V.helots + V.fuckdolls + V.menialBioreactors - popCap; + if (overMenialCap > 0) { + let price = menialSlaveCost(); + if (V.helots > 0) { + if (V.helots > overMenialCap) { + V.cash += overMenialCap * price; + V.menialDemandFactor -= overMenialCap; + V.helots -= overMenialCap; + overMenialCap = 0; + r += "You don't have enough room for all your menials and are obliged to sell some."; + } else { + V.cash += V.helots * price; + V.menialDemandFactor -= V.helots; + overMenialCap -= V.helots; + V.helots = 0; + r += "You don't have enough room for your menials and are obliged to sell them."; + } + } + if (overMenialCap > 0 && V.fuckdolls > 0) { + if (V.fuckdolls > overMenialCap) { + V.cash += overMenialCap * (price * 2); + V.menialDemandFactor -= overMenialCap; + V.fuckdolls -= overMenialCap; + overMenialCap = 0; + r += "You don't have enough room for all your fuckdolls and are obliged to sell some."; + } else { + V.cash += V.fuckdolls * (price * 2); + V.menialDemandFactor -= V.fuckdolls; + overMenialCap -= V.fuckdolls; + V.fuckdolls = 0; + r += "You don't have enough room for your fuckdolls and are obliged to sell them."; + } + } + if (overMenialCap > 0 && V.menialBioreactors > 0) { + V.cash += overMenialCap * (price - 100); + V.menialDemandFactor -= overMenialCap; + V.menialBioreactors -= overMenialCap; + r += "You don't have enough room for all your menial bioreactors and are obliged to sell some."; + } + } + return r; +}; diff --git a/src/uncategorized/arcmgmt.tw b/src/uncategorized/arcmgmt.tw index aee0913f8daddb17ed2dd3630f9f1281a4bbf654..8b6568038493540edb409fb06c59c5ab57d9cbc8 100644 --- a/src/uncategorized/arcmgmt.tw +++ b/src/uncategorized/arcmgmt.tw @@ -779,7 +779,7 @@ The Hippolyta Academy have a <<if $HA.schoolProsperity > 4>>very prosperous<<els <</if>> <<if $marketAssistantLimit != 0>> -<<silently>><<MenialPopCap>><</silently>> +<<silently>><<= MenialPopCap()>><</silently>> <<set $seed = menialSlaveCost()>> <br> Your ''business assistant'' manages the menial slave market. @@ -814,5 +814,5 @@ Your ''business assistant'' manages the menial slave market. <<else>> Prices are average, so <<if $assistant == 0>>it<<else>>she<</if>> does not make any significant moves. <</if>> -<<silently>><<MenialPopCap>><</silently>> +<<silently>><<= MenialPopCap()>><</silently>> <</if>> diff --git a/src/uncategorized/buySlaves.tw b/src/uncategorized/buySlaves.tw index 11536381a54c195e746e650cc28bfc65cb4a0cad..7262d941600aab7dc7ef7eb9a926f072975bc2cb 100644 --- a/src/uncategorized/buySlaves.tw +++ b/src/uncategorized/buySlaves.tw @@ -272,7 +272,7 @@ __Sex Slave Purchase Options__ __Menial Slaves__ <br> -<<MenialPopCap>> +<<= MenialPopCap()>> The parts of your arcology you own can house a total of $PopCap menial slaves. <<set _menialPrice = menialSlaveCost()>> diff --git a/src/utility/miscWidgets.tw b/src/utility/miscWidgets.tw index db16b0d2803e0632c773c57b7558c452990f455d..af245756fe09a2d9692ee9035af692e3d739d132 100644 --- a/src/utility/miscWidgets.tw +++ b/src/utility/miscWidgets.tw @@ -1060,52 +1060,6 @@ <</widget>> -/% - Call as <<MenialPopCap>> - Applies the menial popcap without asking. -%/ -<<widget "MenialPopCap">> - -<<set $PopCap = 500>> -<<for _mwi = 20; _mwi < $sectors.length; _mwi++>> - <<if $sectors[_mwi].type == "Pens">> - <<set $PopCap += 500>> - <</if>> -<</for>> -<<set _OverMenialCap = ($helots+$fuckdolls+$menialBioreactors)-$PopCap>> -<<if _OverMenialCap > 0>> - <<set _Price = menialSlaveCost()>> - <<if $helots > 0>> - <<if $helots > _OverMenialCap>> - <<set $cash += _OverMenialCap*_Price, $menialDemandFactor -= _OverMenialCap, - $helots -= _OverMenialCap, _OverMenialCap = 0>> - You don't have enough room for all your menials and are obliged to sell some. - <<else>> - <<set $cash += $helots*_Price, $menialDemandFactor -= $helots, - _OverMenialCap -= $helots, $helots = 0>> - You don't have enough room for your menials and are obliged to sell them. - <</if>> - <</if>> - <<if (_OverMenialCap > 0) && ($fuckdolls > 0)>> - <<if $fuckdolls > _OverMenialCap>> - <<set $cash += _OverMenialCap*(_Price*2), $menialDemandFactor -= _OverMenialCap, - $fuckdolls -= _OverMenialCap, _OverMenialCap = 0>> - You don't have enough room for all your fuckdolls and are obliged to sell some. - <<else>> - <<set $cash += $fuckdolls*(_Price*2), $menialDemandFactor -= $fuckdolls, - _OverMenialCap -= $fuckdolls, $fuckdolls = 0>> - You don't have enough room for your fuckdolls and are obliged to sell them. - <</if>> - <</if>> - <<if (_OverMenialCap > 0) && ($menialBioreactors > 0)>> - <<set $cash += _OverMenialCap*(_Price-100), $menialDemandFactor -= _OverMenialCap, - $menialBioreactors -= _OverMenialCap>> - You don't have enough room for all your menial bioreactors and are obliged to sell some. - <</if>> -<</if>> - -<</widget>> - /% Call as <<OralSkillIncrease>> $args[0]: Slave. @@ -1292,119 +1246,9 @@ $args[0]: Slave. %/ <<widget "AddSlave">> - -<<switch $args[0].eyeColor>> -<<case "blind blue">><<set $args[0].origEye = "deep blue">> -<<case "milky white" "implant">><<set $args[0].origEye = either("blue", "green", "brown", "hazel", "light blue", "light green", "dark green", "dark blue")>> -<<default>><<set $args[0].origEye = $args[0].eyeColor>> -<</switch>> -<<set $args[0].origHColor = $args[0].hColor>> -<<set $args[0].underArmHColor = $args[0].hColor>> -<<set $args[0].pubicHColor = $args[0].hColor>> -<<set $args[0].origSkin = $args[0].skin>> - -<<if $surnamesForbidden == 1>> - <<set $args[0].slaveSurname = 0>> -<</if>> - -<<if $args[0].preg > 0>> - <<set $args[0].pregWeek = $args[0].preg>> -<<else>> - <<set $args[0].pregWeek = 0>> -<</if>> - -<<if $familyTesting == 1>> - <<set $args[0].sisters = 0>> - <<set $args[0].daughters = 0>> - <<if $args[0].mother == -1 || $args[0].father == -1>> - <<set $PC.daughters += 1>> - <</if>> - <<if areSisters($PC, $args[0]) > 0>> - <<set $PC.sisters += 1>> - <</if>> - <<for _k = 0; _k < $slaves.length; _k++>> - <<if $slaves[_k].mother == $args[0].ID || $slaves[_k].father == $args[0].ID>> - <<set $args[0].daughters += 1>> - <</if>> - <<if $args[0].mother == $slaves[_k].ID || $args[0].father == $slaves[_k].ID>> - <<set $slaves[_k].daughters += 1>> - <</if>> - <<if areSisters($slaves[_k], $args[0]) > 0>> - <<set $args[0].sisters += 1>> - <<set $slaves[_k].sisters += 1>> - <</if>> - <</for>> -<</if>> - -<<if $args[0].dick > 0>> - <<if $args[0].balls > 0>> - <<if $args[0].devotion <= 50>> - <<if ($args[0].fetish != "buttslut") || ($args[0].fetishKnown != 1)>> - <<if $args[0].sexualFlaw != "hates women">> - <<set $REFeminizationCheckinIDs.push($args[0].ID)>> - <</if>> - <</if>> - <</if>> - <</if>> -<</if>> -<<if $args[0].actualAge > 35>> - <<if $args[0].face < 40>> - <<if $args[0].analSkill <= 30>> - <<set $REMILFCheckinIDs.push($args[0].ID)>> - <</if>> - <</if>> -<</if>> -<<if $args[0].attrXY <= 60>> - <<if $args[0].attrXX > 60>> - <<set $REOrientationCheckinIDs.push($args[0].ID)>> - <</if>> -<</if>> -<<if $args[0].face < -10>> - <<set $REUglyCheckinIDs.push($args[0].ID)>> -<</if>> -<<if $args[0].anus < 2>> - <<set $REButtholeCheckinIDs.push($args[0].ID)>> -<</if>> -<<if $args[0].boobs < 800>> - <<set $REReductionCheckinIDs.push($args[0].ID)>> -<</if>> - -<<if $args[0].fuckdoll > 0>> - <<set $args[0].pronoun = "it", $args[0].possessivePronoun = "its", $args[0].possessive = "its", $args[0].object = "it", $args[0].objectReflexive = "itself", $args[0].noun = "toy">> -<<elseif $args[0].dick > 0 && $args[0].vagina == -1 && $diversePronouns == 1>> - <<set $args[0].pronoun = "he", $args[0].possessivePronoun = "his", $args[0].possessive = "his", $args[0].object = "him", $args[0].objectReflexive = "himself", $args[0].noun = "boy">> -<<else>> - <<set $args[0].pronoun = "she", $args[0].possessivePronoun = "hers", $args[0].possessive = "her", $args[0].object = "her", $args[0].objectReflexive = "herself", $args[0].noun = "girl">> -<</if>> - -<<run SetBellySize($args[0])>> - -<<run addSlave($args[0])>> -<<if $args[0].origin != "She was your slave, but you freed her, which she repaid by participating in a coup attempt against you. It failed, and she is again your chattel." && $args[0].ID != $boomerangSlave.ID>> - <<set $genePool.push($args[0])>> -<<else>> - <<set _t = $genePool.findIndex(function(s) { return s.ID == $args[0].ID; })>> - <<if _t == -1>> /* traitor or boomerang somehow not found */ - <<set $genePool.push($args[0])>> - <</if>> -<</if>> - -/* add to facilities array if needed */ -<<if $args[0].assignment != "rest">> - <<= assignJob($args[0], $args[0].assignment)>> -<</if>> - -/** do not run the Rules Assistant before adding the new slave to the slaves list! **/ -<<if $ui != "start">> -<<if $universalRulesNewSlavesRA == 1>> -<<if $rulesAssistantAuto != 0>> - <<silently>> - <<run DefaultRules($args[0])>> - <</silently>> -<</if>> -<</if>> -<</if>> - +<<silently>> /* making absolutely sure the call to DefaultRules() doesn't print anything */ + <<run newSlave($args[0])>> +<</silently>> <</widget>> <<widget "Master">><<if def $args[0]>><<run Enunciate($args[0])>><<elseif ndef $titleEnunciate>><<run Enunciate($activeSlave)>><</if>>$titleEnunciate<</widget>>