diff --git a/devNotes/Useful JS Function Documentation.txt b/devNotes/Useful JS Function Documentation.txt index 8faea827966d6336569f053c48597e22f77b4bce..b51924b0d311744fbea9a488ca648782825fc94a 100644 --- a/devNotes/Useful JS Function Documentation.txt +++ b/devNotes/Useful JS Function Documentation.txt @@ -28,8 +28,6 @@ canImproveHeight(slave) - Returns if slave height can be improved with growth st sameAssignmentP(slave, slave) - Returns if slaves are on the same assignment. -haveRelationP(slave1, slave2) - Returns if slave1 is related to second slave2. (NOT extended family mode compliant). - haveRelationshipP(slave1, slave2) - Returns if slave1 is in a relationship with slave2. isRivalP(slave1, slave2) - Returns if slave1 is in a rivalry with slave2. diff --git a/src/facilities/farmyard/farmyardReport.tw b/src/facilities/farmyard/farmyardReport.tw index 31c5009c61ce7f69a230479ac57931b78043fb3f..022948b8e2bed8ecba760f006aef077ac4e86975 100644 --- a/src/facilities/farmyard/farmyardReport.tw +++ b/src/facilities/farmyard/farmyardReport.tw @@ -121,12 +121,9 @@ <<elseif $Farmer.relationshipTarget == $slaves[$i].ID>> _He2 dotes over _his2 <<print relationshipTerm($Farmer)>>, $slaves[$i].slaveName, making sure $he isn't worked too hard, but unfortunately manages to get in the way of $his work. <<set $slaves[$i].devotion++, $FarmerCashBonus -= 0.05>> - <<elseif $familyTesting == 1 && areRelated($Farmer, $slaves[$i]) > 0>> + <<elseif areRelated($Farmer, $slaves[$i])>> _He2 pays special attention to _his2 <<print relativeTerm($Farmer.ID,$slaves[$i].ID)>>, $slaves[$i].slaveName, making sure $he is treated well and showing off $his skills. /* TODO: does this need rewriting? */ <<set $slaves[$i].trust++, $FarmerCashBonus += 0.05>> - <<elseif $Farmer.relationTarget == $slaves[$i].ID && $familyTesting == 0>> - _He2 pays special attention to _his2 $slaves[$i].relation, $slaves[$i].slaveName, making sure $he is treated well and showing off $his skills. /* TODO: does this need rewriting? */ - <<set $slaves[$i].trust++, $FarmerCashBonus += 0.05>> <</if>> <</for>> diff --git a/src/facilities/farmyard/farmyardWidgets.js b/src/facilities/farmyard/farmyardWidgets.js index 40946fe274441511839eeb4231640906b68629aa..8ebf31666ae40667dd4b61a8e2078df9cecc6601 100644 --- a/src/facilities/farmyard/farmyardWidgets.js +++ b/src/facilities/farmyard/farmyardWidgets.js @@ -96,9 +96,7 @@ App.Facilities.Farmyard.farmyardReport = () => { if (Farmer.relationshipTarget === slave.ID) { FarmerCashBonus -= 0.05; - } else if (V.familyTesting && areRelated(Farmer, slave) > 0) { - FarmerCashBonus += 0.05; - } else if (Farmer.relationTarget === slave.ID && !V.familyTesting) { + } else if (areRelated(Farmer, slave)) { FarmerCashBonus += 0.05; } @@ -149,11 +147,8 @@ App.Facilities.Farmyard.farmyardReport = () => { } else if (Farmer.relationshipTarget === slave.ID) { t += `${p.He} dotes over ${p.his} ${relationshipTerm(Farmer)}, ${slave.slaveName}, making sure ${he} isn't worked too hard, but unfortunately manages to get in the way of ${his} work. `; slave.devotion++; - } else if (V.familyTesting && areRelated(Farmer, slave) > 0) { - t += `${p.He} pays special attention to ${p.his} ${relativeTerm(Farmer.ID, slave.ID)}, ${slave.slaveName}, making sure ${he} is treated well and showing off ${his} skills. `; // TODO: does this need rewriting? - slave.trust++; - } else if (Farmer.relationTarget === slave.ID && !V.familyTesting) { - t += `${p.He} pays special attention to ${p.his} ${slave.relation}, ${slave.slaveName}, making sure ${he} is treated well and showing off ${his} skills. `; // TODO: does this need rewriting? + } else if (areRelated(Farmer, slave)) { + t += `${p.He} pays special attention to ${p.his} ${relativeTerm(Farmer.ID, slave.ID)}, ${slave.slaveName}, making sure ${he} is treated well and showing off ${his} skills. `; slave.trust++; } diff --git a/src/js/assayJS.js b/src/js/assayJS.js index 425529c834aeba211b220b8414d93c8a18ad972f..4190785dd6ba934a70aef69c497288a650fd8c81 100644 --- a/src/js/assayJS.js +++ b/src/js/assayJS.js @@ -38,15 +38,6 @@ window.canImproveHeight = function canImproveHeight(slave) { return slave.height < maxHeight(slave); }; -/** - * @param {App.Entity.SlaveState} slave - * @param {App.Entity.SlaveState} target - * @returns {boolean} - */ -window.haveRelationP = function haveRelationP(slave, target) { - return slave.relationTarget === target.ID; -}; - /** * @param {App.Entity.SlaveState} slave * @param {App.Entity.SlaveState} target diff --git a/src/js/economyJS.js b/src/js/economyJS.js index 2feac509d9dbdece4209aeec30c33b1feaf84df9..13afca367d9fd99086bc6d027aabe43b4f9e5dfe 100644 --- a/src/js/economyJS.js +++ b/src/js/economyJS.js @@ -1273,9 +1273,7 @@ window.slaveJobValues = function(lowerClassSexDemandRef, middleClassSexDemandRef let i = V.slaveIndices[V.BrothiIDs[dI]]; if (V.Madam.relationshipTarget === V.slaves[i].ID) { V.MadamCashBonus -= 0.05; - } else if (V.familyTesting === 1 && areRelated(V.Madam, V.slaves[i]) > 0) { - V.MadamCashBonus += 0.05; - } else if (V.Madam.relationTarget === V.slaves[i].ID && V.familyTesting === 0) { + } else if (areRelated(V.Madam, V.slaves[i])) { V.MadamCashBonus += 0.05; } if (V.slaves[i].prestigeDesc === "$He is a famed Free Cities whore, and commands top prices.") { diff --git a/src/js/extendedFamilyModeJS.js b/src/js/extendedFamilyModeJS.js index ee2a22d680559560b4c88971ed1ebd6b9cda3898..e10f433f13b2e1e2efd383fe75ff328f9483819c 100644 --- a/src/js/extendedFamilyModeJS.js +++ b/src/js/extendedFamilyModeJS.js @@ -48,7 +48,7 @@ window.sameMom = function(slave1, slave2) { return false; }; -window.sameParent = function isParentP(slave1, slave2) { +window.sameParent = function(slave1, slave2) { return sameMom(slave1, slave2) || sameDad(slave1, slave2); }; @@ -148,29 +148,6 @@ window.areSisters = function(slave1, slave2) { } }; -/* -//3 = half-sisters, 2 = sisters, 1 = twins, 0 = not related -window.areSisters = function(c1, c2) { - if(c1.ID === c2.ID) { - return 0; - } - var sib = 4; - if(sameMom(c1, c2)) { - sib -= 1; - } - if(sameDad(c1, c2)) { - sib -=1; - } - if (sib === 2 && c1.actualAge === c2.actualAge && c1.birthWeek === c2.birthWeek) { - sib -= 1; - } - if(sib === 4) { - return 0 - } else { - return sib; - } -} -*/ /** * @param {App.Entity.SlaveState} slave1 * @param {App.Entity.SlaveState} slave2 @@ -204,14 +181,19 @@ window.areCousins = function(slave1, slave2) { }; /** + * Returns whether two slaves are *closely* related (i.e. siblings or parent/child). + * Distant relatives are not checked by this function. * @param {App.Entity.SlaveState} slave1 * @param {App.Entity.SlaveState} slave2 * @returns {boolean} */ -window.areRelated = - function(slave1, slave2) { +window.areRelated = function(slave1, slave2) { + if (V.familyTesting === 1) { return (slave1.father === slave2.ID || slave1.mother === slave2.ID || slave2.father === slave1.ID || slave2.mother === slave1.ID || areSisters(slave1, slave2) > 0); - }; + } else { + return slave1.relationTarget === slave2.ID; + } +}; /** * @param {App.Entity.SlaveState} slave @@ -246,14 +228,6 @@ window.mutualChildren = function(slave1, slave2, slaves) { }).length; }; -/* OLD -window.randomRelatedSlave = function(slave, filterFunction) { - if(!slave || !SugarCube) { return undefined; } - if(typeof filterFunction !== 'function') { filterFunction = function(s, index, array) { return true; }; } - return State.variables.slaves.filter(filterFunction).shuffle().find(function(s, index, array) {return areSisters(slave, s) || s.mother === slave.ID || s.father === slave.ID || slave.ID === s.mother || slave.ID === s.father; }) -} -*/ - /** * @param {App.Entity.SlaveState} slave * @param {function(App.Entity.SlaveState): boolean} filterFunction @@ -428,55 +402,82 @@ window.totalPlayerRelatives = function(pc) { }; /** + * Returns the term for slave2's relationship to slave1 (i.e. "daughter" if slave2 is slave1's daughter). + * Performs distant relative checking if enabled. * @param {App.Entity.SlaveState} slave1 * @param {App.Entity.SlaveState} slave2 - * @returns {string} + * @returns {string|null} - returns null if the slaves are not related, even distantly. */ -window.relativeTerm = - function(slave1, slave2) { +window.relativeTerm = function(slave1, slave2) { + if (V.familyTesting === 1) { if (slave2.mother === slave1.ID || slave2.father === slave1.ID) { - if (slave2.genes === "XY" && State.variables.diversePronouns) { + if (slave2.genes === "XY" && V.diversePronouns) { return "son"; } else { return "daughter"; } + } else if (slave1.mother === slave2.ID && slave1.father === slave2.ID) { + return "sole parent"; } else if (slave1.mother === slave2.ID) { return "mother"; } else if (slave1.father === slave2.ID) { return "father"; } else if (areSisters(slave2, slave1) === 1) { - if (slave2.genes === "XY" && State.variables.diversePronouns) { + if (slave2.genes === "XY" && V.diversePronouns) { return "twin brother"; } else { return "twin sister"; } } else if (areSisters(slave2, slave1) === 2) { - if (slave2.genes === "XY" && State.variables.diversePronouns) { + if (slave2.genes === "XY" && V.diversePronouns) { return "brother"; } else { return "sister"; } } else if (areSisters(slave2, slave1) === 3) { - if (slave2.genes === "XY" && State.variables.diversePronouns) { + if (slave2.genes === "XY" && V.diversePronouns) { return "half-brother"; } else { return "half-sister"; } } else if (isAunt(slave1, slave2)) { - if (slave2.genes === "XY" && State.variables.diversePronouns) { + if (slave2.genes === "XY" && V.diversePronouns) { return "nephew"; } else { return "niece"; } } else if (isAunt(slave2, slave1)) { - if (slave2.genes === "XY" && State.variables.diversePronouns) { + if (slave2.genes === "XY" && V.diversePronouns) { return "uncle"; } else { return "aunt"; } } else if (areCousins(slave2, slave1)) { return "cousin"; - } else { - return "some unknown blood connection"; + } else if (isGrandfatherP(slave1, slave2)) { + return "grandfather"; + } else if (isGrandmotherP(slave1, slave2)) { + return "grandmother"; + } else if (isGrandparentP(slave2, slave1)) { + if (slave2.genes === "XY" && V.diversePronouns) { + return "grandson"; + } else { + return "granddaughter"; + } } - }; + } else { + if (slave2.relationTarget === slave1.ID && slave2.relation !== 0) { + if (slave2.relation === "sister" || slave2.relation === "twin") { + let r = (slave1.actualAge === slave2.actualAge) ? "twin " : ""; + if (slave2.genes === "XY" && V.diversePronouns) { + return r + "brother"; + } else { + return r + "sister"; + } + } + return slave2.relation; + } + } + + return null; +}; diff --git a/src/js/releaseRules.js b/src/js/releaseRules.js index ed9a20e8d5796ca03b798771f3a58c54e9a4a1a5..2f1775813bc17846822897fddd0abd4aa9e774b6 100644 --- a/src/js/releaseRules.js +++ b/src/js/releaseRules.js @@ -12,9 +12,7 @@ App.Utils.sexAllowed = function sexAllowed(slaveA, slaveB) { return slaveA.rules.release.master === 1; } else if (haveRelationshipP(slaveA, slaveB)) { return (slaveA.rules.release.partner === 1) && (slaveB.rules.release.partner === 1); - } else if (V.familyTesting === 0 && haveRelationP(slaveA, slaveB)) { - return V.seeIncest && (slaveA.rules.release.family === 1) && (slaveB.rules.release.family === 1); - } else if (V.familyTesting === 1 && areRelated(slaveA, slaveB)) { + } else if (areRelated(slaveA, slaveB)) { return V.seeIncest && (slaveA.rules.release.family === 1) && (slaveB.rules.release.family === 1); } else { return (slaveA.rules.release.slaves === 1) && (slaveB.rules.release.slaves === 1); diff --git a/src/js/utilsFC.js b/src/js/utilsFC.js index 3f6607a557af17ba8c725405ffd6910eea2f3bb5..961b7914cb47d4a1579b811a041d8b11a0576fd9 100644 --- a/src/js/utilsFC.js +++ b/src/js/utilsFC.js @@ -2769,7 +2769,7 @@ window.randomRapeRivalryTarget = function(slave, predicate) { function canRape(rapist, rapee) { const opportunity = (assignmentVisible(rapist) && assignmentVisible(rapee)) || rapist.assignment === rapee.assignment; - const taboo = V.seeIncest === 0 && (V.familyTesting === 1 ? areRelated(rapist, rapee) : haveRelationP(rapist, rapee)); + const taboo = V.seeIncest === 0 && areRelated(rapist, rapee); const desire = !(rapist.relationship >= 3 && rapist.relationshipTarget === rapee.id) && !taboo; const permission = willIgnoreRules || App.Utils.sexAllowed(rapist, rapee); return opportunity && desire && permission; diff --git a/src/npc/fSlaveImpreg.tw b/src/npc/fSlaveImpreg.tw index 79660309dd23610f79553caa57ea114a27cbab81..0c4f65c4f64f50224329ea00a40b92fe19a80f22 100644 --- a/src/npc/fSlaveImpreg.tw +++ b/src/npc/fSlaveImpreg.tw @@ -17,7 +17,7 @@ __Select an eligible slave to serve as the semen donatrix:__ <<if _eligibles[_i].custom.label>> (@@.yellow;''<<print _eligibles[_i].custom.label>>''@@)<</if>> <<if $familyTesting == 1 && totalRelatives($activeSlave) > 0>> <<set _relTerm = relativeTerm($activeSlave, _eligibles[_i])>> - <<if _relTerm != "some unknown blood connection">> + <<if _relTerm != null>> @@.lightgreen;<<= capFirstChar(_relTerm)>>@@ <</if>> <</if>> /* closes extended family mode */ diff --git a/src/npc/newSlaveIncestSex.tw b/src/npc/newSlaveIncestSex.tw index 9c44977e0b5666014c29236cec1d024633635c6b..a4f489ff0be037eef808a189786fef322aa03e7c 100644 --- a/src/npc/newSlaveIncestSex.tw +++ b/src/npc/newSlaveIncestSex.tw @@ -26,29 +26,10 @@ <<setLocalPronouns $relative2 2>> /* setup identifiers */ -<<if $familyTesting == 1 >> - <<set _one = relativeTerm($relative2, $relative)>> /* relative is relative2's blank */ - <<set _other = relativeTerm($relative, $relative2)>> /* relative2 is relative's blank */ -<<else>> - <<if $relative.actualAge == $relative2.actualAge>> - <<set _one = "twin">> - <<set _other = "twin">> - <<else>> - <<set _one = $relative.relation>> - <<set _other = $relative2.relation>> - <</if>> -<</if>> +<<set _one = relativeTerm($relative2, $relative)>> /* relative is relative2's blank */ +<<set _other = relativeTerm($relative, $relative2)>> /* relative2 is relative's blank */ -/* gender relation descriptions */ -/* TODO: is there a function for gender-aware relationships? */ -<<if $relative.vagina == -1 >> - <<set _one = _one.replace("mother", "father").replace("sister", "brother").replace("daughter", "son") >> -<</if>> -<<if $relative2.vagina == -1 >> - <<set _other = _other.replace("mother", "father").replace("sister", "brother").replace("daughter", "son") >> -<</if>> - -<<if _one == _other >> +<<if _one == _other>> /* two sisters / brothers: identify by age, in the case of same age twins check their birthWeek */ <<if $relative.actualAge == $relative2.actualAge>> <<if $relative.birthWeek >= $relative2.birthWeek>> @@ -62,20 +43,8 @@ <<set _onelong = "older "+_one >> <<set _otherlong = "younger "+_other >> <<elseif $relative.actualAge < $relative2.actualAge>> - /* Note: this is never true (at least without extended family mode) */ <<set _onelong = "younger "+_one >> <<set _otherlong = "older "+_other >> - <<elseif $familyTesting != 1>> /* twins, no real differentiation */ - <<if $relative.vagina == -1 && _one != "brother">> - <<set _onelong = _one + " brother">> - <<elseif _one != "sister">> - <<set _onelong = _one + " sister">> - <</if>> - <<if $relative2.vagina == -1 && _one != "brother">> - <<set _otherlong = _other + " brother" >> - <<elseif _one != "sister">> - <<set _otherlong = _other + " sister" >> - <</if>> <</if>> <<else>> <<set _onelong = _one>> diff --git a/src/pregmod/fSlaveSlaveDick.tw b/src/pregmod/fSlaveSlaveDick.tw index 6d88595f2b6a8ec7c469731b6c1dc81a2de218a8..181de817f8b699e944144409f4ca43d18f2f8ace 100644 --- a/src/pregmod/fSlaveSlaveDick.tw +++ b/src/pregmod/fSlaveSlaveDick.tw @@ -20,7 +20,7 @@ __Select an eligible slave:__ <</if>> <<if $familyTesting == 1 && totalRelatives($activeSlave) > 0>> <<set _relTerm = relativeTerm($activeSlave, _eligibles[_i])>> - <<if _relTerm != "some unknown blood connection">> + <<if _relTerm != null>> @@.lightgreen;<<= capFirstChar(_relTerm)>>@@ <</if>> <</if>> /* closes extended family mode */ diff --git a/src/pregmod/fSlaveSlaveDickConsummate.tw b/src/pregmod/fSlaveSlaveDickConsummate.tw index 798e975be8051ade53425041bb3cc6ad2216fc80..075701944792f4e117ed1c50b2b832e8fe837e0e 100644 --- a/src/pregmod/fSlaveSlaveDickConsummate.tw +++ b/src/pregmod/fSlaveSlaveDickConsummate.tw @@ -28,7 +28,7 @@ <</if>> <</if>> -<<if $activeSlave.mother == $slaverapistx.ID || $activeSlave.father == $slaverapistx.ID || $slaverapistx.mother == $activeSlave.ID || $slaverapistx.father == $activeSlave.ID || (areSisters($activeSlave, $slaverapistx) > 0)>> +<<if areRelated($activeSlave, $slaverapistx)>> <<set _isIncest = 1>> <</if>> @@ -138,7 +138,7 @@ You call $slaverapistx.slaveName into the room. $his own mother, <<elseif $activeSlave.father == $slaverapistx.ID>> the slave that fathered $him, - <<elseif (areSisters($activeSlave, $slaverapistx) > 0)>> + <<else>> $his <<print relativeTerm($activeSlave, $slaverapistx)>>, <</if>> <<else>> @@ -156,7 +156,7 @@ You call $slaverapistx.slaveName into the room. $his own mother, <<elseif $activeSlave.father == $slaverapistx.ID>> the slave that fathered $him, - <<elseif (areSisters($activeSlave, $slaverapistx) > 0)>> + <<else>> $his <<print relativeTerm($activeSlave, $slaverapistx)>>, <</if>> <<else>> @@ -175,7 +175,7 @@ You call $slaverapistx.slaveName into the room. $his own mother, <<elseif $activeSlave.father == $slaverapistx.ID>> the slave that fathered $him, - <<elseif (areSisters($activeSlave, $slaverapistx) > 0)>> + <<else>> $his <<print relativeTerm($activeSlave, $slaverapistx)>>, <</if>> <<if ($activeSlave.sexualQuirk == "perverted") || ($activeSlave.sexualQuirk == "sinful")>> @@ -234,7 +234,7 @@ You call $slaverapistx.slaveName into the room. _his2 own mother <<elseif $slaverapistx.father == $activeSlave.ID>> the slave that fathered _him2 - <<elseif (areSisters($slaverapistx, $activeSlave) > 0)>> + <<else>> _his2 <<print relativeTerm($activeSlave, $slaverapistx)>> <</if>> tied to the bed, diff --git a/src/pregmod/fSlaveSlaveVag.tw b/src/pregmod/fSlaveSlaveVag.tw index 8e5ac20e9ac8491f6d658292a511e5c4e191aac0..918ddf181b3c761c52aebaf7404b0704cd2f956d 100644 --- a/src/pregmod/fSlaveSlaveVag.tw +++ b/src/pregmod/fSlaveSlaveVag.tw @@ -20,7 +20,7 @@ __Select an eligible slave:__ <</if>> <<if $familyTesting == 1 && totalRelatives($activeSlave) > 0>> <<set _relTerm = relativeTerm($activeSlave, _eligibles[_i])>> - <<if _relTerm != "some unknown blood connection">> + <<if _relTerm != null>> @@.lightgreen;<<= capFirstChar(_relTerm)>>@@ <</if>> <</if>> /* closes extended family mode */ diff --git a/src/pregmod/fSlaveSlaveVagConsummate.tw b/src/pregmod/fSlaveSlaveVagConsummate.tw index 91d144f7f76dd2fd344daed69948b49c513f53d7..090bca27ba3281090b52efe19fb525c84fd8cbca 100644 --- a/src/pregmod/fSlaveSlaveVagConsummate.tw +++ b/src/pregmod/fSlaveSlaveVagConsummate.tw @@ -31,7 +31,7 @@ <<set _dicksize = "obscene">> <</if>> -<<if $activeSlave.mother == $slaverapistx.ID || $activeSlave.father == $slaverapistx.ID || $slaverapistx.mother == $activeSlave.ID || $slaverapistx.father == $activeSlave.ID || (areSisters($activeSlave, $slaverapistx) > 0)>> +<<if areRelated($activeSlave, $slaverapistx)>> <<set _isIncest = 1>> <</if>> @@ -70,7 +70,7 @@ You take a look at the slave you selected. _his2 own mother, <<elseif $slaverapistx.mother == $activeSlave.ID>> the slave that fathered _him2, - <<elseif (areSisters($activeSlave, $slaverapistx) > 0)>> + <<else>> _his2 <<print relativeTerm($slaverapistx, $activeSlave)>>, <</if>> <<if ($slaverapistx.sexualQuirk == "perverted") || ($slaverapistx.sexualQuirk == "sinful")>> @@ -109,7 +109,7 @@ Next, you see to $activeSlave.slaveName. $his own mother, <<elseif $activeSlave.father == $slaverapistx.ID>> the slave that fathered $him, - <<elseif (areSisters($activeSlave, $slaverapistx) > 0)>> + <<else>> $his <<print relativeTerm($activeSlave, $slaverapistx)>>, <</if>> <<if ($activeSlave.sexualQuirk == "perverted") || ($activeSlave.sexualQuirk == "sinful")>> diff --git a/src/pregmod/slaveOnSlaveFeedingWorkAround.tw b/src/pregmod/slaveOnSlaveFeedingWorkAround.tw index 7dd9cbb6a79058f9da866389d4ae0e75bfa8dddb..3fd432e7361eb38e669f6d56c04480c9f250d48e 100644 --- a/src/pregmod/slaveOnSlaveFeedingWorkAround.tw +++ b/src/pregmod/slaveOnSlaveFeedingWorkAround.tw @@ -45,7 +45,7 @@ __2 Liters__ <<if ($slaves[_i].ID != $activeSlave.ID) && $slaves[_i].nipples != "fuckable">> <<set _name = SlaveFullName($slaves[_i])>> <<print "[[_name|FSlaveFeed][$milkTap = $slaves[" + _i + "], $activeSlave.inflation = 1, $activeSlave.inflationType = _descM, $activeSlave.inflationMethod = 3]]">> - <<if relativeTerm($activeSlave, $slaves[_i]) != "some unknown blood connection">> + <<if relativeTerm($activeSlave, $slaves[_i]) != null>> <<print relativeTerm($activeSlave, $slaves[_i])>> <</if>> <<if $slaves[_i].relationshipTarget == $activeSlave.ID>> @@ -89,7 +89,7 @@ __4 Liters__ <<if ($slaves[_i].ID != $activeSlave.ID) && $slaves[_i].nipples != "fuckable">> <<set _name = SlaveFullName($slaves[_i])>> <<print "[[_name|FSlaveFeed][$milkTap = $slaves[" + _i + "], $activeSlave.inflation = 2, $activeSlave.inflationType = _descM, $activeSlave.inflationMethod = 3]]">> - <<if relativeTerm($activeSlave, $slaves[_i]) != "some unknown blood connection">> + <<if relativeTerm($activeSlave, $slaves[_i]) != null>> <<print relativeTerm($activeSlave, $slaves[_i])>> <</if>> <<if $slaves[_i].relationshipTarget == $activeSlave.ID>> @@ -132,7 +132,7 @@ __4 Liters__ <<if ($slaves[_i].ID != $activeSlave.ID) && $slaves[_i].nipples != "fuckable">> <<set _name = SlaveFullName($slaves[_i])>> <<print "[[_name|FSlaveFeed][$milkTap = $slaves[" + _i + "], $activeSlave.inflation = 3, $activeSlave.inflationType = _descM, $activeSlave.inflationMethod = 3]]">> - <<if relativeTerm($activeSlave, $slaves[_i]) != "some unknown blood connection">> + <<if relativeTerm($activeSlave, $slaves[_i]) != null>> <<print relativeTerm($activeSlave, $slaves[_i])>> <</if>> <<if $slaves[_i].relationshipTarget == $activeSlave.ID>> diff --git a/src/uncategorized/brothelReport.tw b/src/uncategorized/brothelReport.tw index 46c4650b86f9258d1cf68db1d40657c079727c88..1e6fa3ba0ab4b63abbd52360982e634eb4e8e208 100644 --- a/src/uncategorized/brothelReport.tw +++ b/src/uncategorized/brothelReport.tw @@ -100,14 +100,10 @@ <<setLocalPronouns $slaves[$i] 2>> $He dotes over $his <<print relationshipTerm($Madam)>>, $slaves[$i].slaveName, making sure _he2 is safe, but unfortunately driving potential customers away from _him2. <<set $slaves[$i].devotion++>> - <<elseif $familyTesting == 1 && areRelated($Madam, $slaves[$i]) > 0>> + <<elseif areRelated($Madam, $slaves[$i])>> <<setLocalPronouns $slaves[$i] 2>> $He pays special attention to $his <<print relativeTerm($Madam,$slaves[$i])>>, $slaves[$i].slaveName, making sure _he2 is treated well and showing off _his2 skills. <<set $slaves[$i].trust++>> - <<elseif $Madam.relationTarget == $slaves[$i].ID && $familyTesting == 0>> - <<setLocalPronouns $slaves[$i] 2>> - $He pays special attention to $his $slaves[$i].relation, $slaves[$i].slaveName, making sure _he2 is treated well and showing off _his2 skills. - <<set $slaves[$i].trust++>> <</if>> <<if $slaves[$i].prestigeDesc == "$He is a famed Free Cities whore, and commands top prices.">> <<setLocalPronouns $slaves[$i] 2>> diff --git a/src/uncategorized/cellblockReport.tw b/src/uncategorized/cellblockReport.tw index fc7d032af4309216d914739489cd6dae4b5d545a..215ced49ecf477c11db116ffed040ad8dd0e0a91 100644 --- a/src/uncategorized/cellblockReport.tw +++ b/src/uncategorized/cellblockReport.tw @@ -105,14 +105,10 @@ $His and $slaves[$i].slaveName's relationship has been shattered by these events. <<set $Wardeness.relationship = 0, $Wardeness.relationshipTarget = 0, $slaves[_FLs].relationship = 0, $slaves[_FLs].relationshipTarget = 0, $slaves[$i].relationship = 0, $slaves[$i].relationshipTarget = 0>> <</if>> - <<elseif $familyTesting == 1 && areRelated($Wardeness, $slaves[$i])>> + <<elseif areRelated($Wardeness, $slaves[$i])>> <<setLocalPronouns $slaves[$i] 2>> $He shows $his <<print relativeTerm($Wardeness,$slaves[$i])>> $slaves[$i].slaveName no mercy, making sure _he2 understands _his2 place. <<set $slaves[$i].devotion++, $slaves[$i].trust-->> - <<elseif $Wardeness.relationTarget == $slaves[$i].ID && $familyTesting == 0>> - <<setLocalPronouns $slaves[$i] 2>> - $He shows $his $slaves[$i].relation $slaves[$i].slaveName no mercy, making sure _he2 understands _his2 place. - <<set $slaves[$i].devotion++, $slaves[$i].trust-->> <</if>> <</for>> <<if (_DL < $cellblock)>> diff --git a/src/uncategorized/clinicReport.tw b/src/uncategorized/clinicReport.tw index 98b84d44f1c0564f72e2e3eae232eb8353c8136b..ca96d227f4b8bf6c2b60bf24f6858b4dbd7e4838 100644 --- a/src/uncategorized/clinicReport.tw +++ b/src/uncategorized/clinicReport.tw @@ -93,14 +93,10 @@ $He dedicates most of $his attention to $his <<print relationshipTerm($Nurse)>>, $slaves[$i].slaveName, making sure _he2 has everything _he2 needs and more. This lavish attention detracts from $his overall effectiveness. <<set _idleBonus -= 3, $slaves[$i].devotion++, $slaves[$i].trust++>> <<run improveCondition($slaves[$i], 3)>> - <<elseif $familyTesting == 1 && areRelated($Nurse, $slaves[$i]) > 0>> + <<elseif areRelated($Nurse, $slaves[$i])>> $He makes sure to spend extra time caring for $his <<print relativeTerm($Nurse,$slaves[$i])>>, $slaves[$i].slaveName. <<set $slaves[$i].trust++>> <<run improveCondition($slaves[$i], 1)>> - <<elseif $Nurse.relationTarget == $slaves[$i].ID && $familyTesting == 0>> - $He makes sure to spend extra time caring for $his $slaves[$i].relation, $slaves[$i].slaveName. - <<set $slaves[$i].trust++>> - <<run improveCondition($slaves[$i], 1)>> <</if>> <<switch $slaves[$i].prestigeDesc>> <<case "$He is a famed Free Cities whore, and commands top prices.">> diff --git a/src/uncategorized/dairyReport.tw b/src/uncategorized/dairyReport.tw index dc7f7d9b32f5746d10eed941133e494b6b2bdbb9..969f2fc0d7daf485b3968822dfa07a85b088f444 100644 --- a/src/uncategorized/dairyReport.tw +++ b/src/uncategorized/dairyReport.tw @@ -233,14 +233,10 @@ <<setLocalPronouns $slaves[$i] 2>> $He dotes over $his <<print relationshipTerm($Milkmaid)>>, $slaves[$i].slaveName, making sure _he2 is happy and comfortable. <<set $slaves[$i].devotion++, $slaves[$i].trust++>> - <<elseif $familyTesting == 1 && areRelated($Milkmaid, $slaves[$i]) > 0>> + <<elseif areRelated($Milkmaid, $slaves[$i])>> <<setLocalPronouns $slaves[$i] 2>> $He pays special attention to $his <<print relativeTerm($Milkmaid,$slaves[$i])>>, $slaves[$i].slaveName, making sure _he2 is well kept and happy. <<set $slaves[$i].trust++>> - <<elseif $Milkmaid.relationTarget == $slaves[$i].ID && $familyTesting == 0>> - <<setLocalPronouns $slaves[$i] 2>> - $He pays special attention to $his $slaves[$i].relation, $slaves[$i].slaveName, making sure _he2 is well kept and happy. - <<set $slaves[$i].trust++>> <</if>> <<if $slaves[$i].prestigeDesc == "$He is remembered for winning best in show as a dairy cow.">> <<if ($slaves[$i].lactation > 0) && (($slaves[$i].boobs-$slaves[$i].boobsImplant) > 6000)>> diff --git a/src/uncategorized/freeRangeDairyAssignmentScene.tw b/src/uncategorized/freeRangeDairyAssignmentScene.tw index d245d0e7fcfab1a240e7c414f9e82ef7d79b2bd8..ad3cf8c3df054be206da4f878a85ee80d1b741dd 100644 --- a/src/uncategorized/freeRangeDairyAssignmentScene.tw +++ b/src/uncategorized/freeRangeDairyAssignmentScene.tw @@ -116,39 +116,12 @@ /* GETTING IN */ Eventually, $activeSlave.slaveName arrives at $his designated milking stall. <<set _assayedSlaveAvailable = 0>> - <<if $familyTesting == 1>> - <<if totalRelatives($activeSlave) > 0>> - <<set _relativeCattle = $slaves.filter(function(s) { return (areRelated(s, $activeSlave) && s.assignment == "work in the dairy") ; })>> - <<if _relativeCattle.length > 0>> - <<set _assayedSlave = _relativeCattle.random()>> - <<set _assayedSlaveAvailable = 1>> - <<if $activeSlave.mother == _assayedSlave.ID>> - <<set _assayType = "mother">> - <<elseif _assayedSlave.mother == $activeSlave.ID || _assayedSlave.father == $activeSlave.ID>> - <<set _assayType = "daughter">> - <<elseif $activeSlave.father == _assayedSlave.ID>> - <<set _assayType = "father">> - <<else>> - <<switch areSisters($activeSlave, _assayedSlave)>> - <<case 1>> - <<set _assayType = "twin">> - <<case 2>> - <<set _assayType = "sister">> - <<case 3>> - <<set _assayType = "half-sister">> - <</switch>> - <</if>> - <</if>> - <</if>> - <<else>> - <<if ($activeSlave.relation != 0)>> - <<set _assayedSlave = getSlave($activeSlave.relationTarget)>> - <<if (def _assayedSlave) && _assayedSlave.assignment == "work in the dairy">> - <<set _assayedSlaveAvailable = 1>> - <<set _assayType = $activeSlave.relation>> - <</if>> - <</if>> - <</if>> /*closes extended family mode */ + <<set _relativeCattle = $slaves.filter(function(s) { return (areRelated(s, $activeSlave) && s.assignment == "work in the dairy") ; })>> + <<if _relativeCattle.length > 0>> + <<set _assayedSlave = _relativeCattle.random()>> + <<set _assayedSlaveAvailable = 1>> + <<set _assayType = relativeTerm($activeSlave, _assayedSlave)>> + <</if>> <<if _assayedSlaveAvailable == 0 && $activeSlave.relationship > 0>> <<set _assayedSlave = getSlave($activeSlave.relationshipTarget)>> <<if (def _assayedSlave) && _assayedSlave.assignment == "work in the dairy">> diff --git a/src/uncategorized/longSlaveDescription.tw b/src/uncategorized/longSlaveDescription.tw index ce246bfad8eb5a8c5e70d605a34f33abf3e1d1b0..dc4d10ed8ec4ca6b71def1db09f5d9a103dcd74b 100644 --- a/src/uncategorized/longSlaveDescription.tw +++ b/src/uncategorized/longSlaveDescription.tw @@ -957,66 +957,15 @@ is <<if $activeSlave.relationship >= 3 && totalRelatives($activeSlave) > 0>> <<set _lover = getSlave($activeSlave.relationshipTarget)>> <<if def _lover>> - <<setLocalPronouns _lover 2>> - <<if $activeSlave.mother == _lover.ID>> - $He is in an <span class="lightgreen">incestuous relationship with $his mother, <<= SlaveFullName(_lover)>>.</span> - <<elseif $activeSlave.father == _lover.ID>> - $He is in an <span class="lightgreen">incestuous relationship with $his father, <<= SlaveFullName(_lover)>>.</span> - <<elseif _lover.mother == $activeSlave.ID || _lover.father == $activeSlave.ID>> - $He is in an <span class="lightgreen">incestuous relationship with $his _daughter2, <<= SlaveFullName(_lover)>>.</span> - <<elseif (def $showDistantRelatives) && $showDistantRelatives == 1>> - <<if isAunt($activeSlave, _lover)>> - $He is in an <span class="lightgreen">incestuous relationship with $his aunt, <<= SlaveFullName(_lover)>>.</span> - <<elseif isAunt(_lover, $activeSlave)>> - $He is in an <span class="lightgreen">incestuous relationship with $his niece, <<= SlaveFullName(_lover)>>.</span> - <<elseif areCousins($activeSlave, _lover)>> - $He is in an <span class="lightgreen">incestuous relationship with $his cousin, <<= SlaveFullName(_lover)>>.</span> - <</if>> - <<else>> - <<switch areSisters($activeSlave, _lover)>> - <<case 1>> - $He is in an <span class="lightgreen">incestuous relationship with $his twin, <<= SlaveFullName(_lover)>>.</span> - <<case 2>> - $He is in an <span class="lightgreen">incestuous relationship with $his _sister2, <<= SlaveFullName(_lover)>>.</span> - <<case 3>> - $He is in an <span class="lightgreen">incestuous relationship with $his half-<<= _sister2>>, <<= SlaveFullName(_lover)>>.</span> - <</switch>> + <<set _relTerm = relativeTerm($activeSlave, _lover)>> + <<if def _relTerm>> + $He is in an <span class="lightgreen">incestuous relationship with $his _relTerm, <<= SlaveFullName(_lover)>>.</span> <</if>> <</if>> <<elseif $activeSlave.relationship <= -2>> - <<setPlayerPronouns>> - <<if ($activeSlave.mother == -1 || $activeSlave.father == -1)>> - <<if ($activeSlave.mother == -1 && $activeSlave.father == -1)>> - $He is in an <span class="lightgreen">incestuous relationship with $his sole parent, you.</span> - <<elseif $activeSlave.mother == -1>> - $He is in an <span class="lightgreen">incestuous relationship with $his mother, you.</span> - <<elseif $activeSlave.father == -1>> - $He is in an <span class="lightgreen">incestuous relationship with $his father, you.</span> - <</if>> - <<elseif $PC.mother == $activeSlave.ID || $PC.father == $activeSlave.ID>> - $He is in an <span class="lightgreen">incestuous relationship with $his _daughterP, you.</span> - <<elseif (def $showDistantRelatives) && $showDistantRelatives == 1>> - <<if isAunt($activeSlave, $PC)>> - <<if $PC.title == 1>> - $He is in an <span class="lightgreen">incestuous relationship with $his uncle, you.</span> - <<elseif $PC.title == 0>> - $He is in an <span class="lightgreen">incestuous relationship with $his aunt, you.</span> - <</if>> - <<elseif isAunt($PC, $activeSlave) && $PC.title == 0>> - <<if $PC.title == 1>> - $He is in an <span class="lightgreen">incestuous relationship with $his nephew, you.</span> - <<elseif $PC.title == 0>> - $He is in an <span class="lightgreen">incestuous relationship with $his niece, you.</span> - <</if>> - <<elseif areCousins($PC, $activeSlave)>> - $He is in an <span class="lightgreen">incestuous relationship with $his cousin, you.</span> - <</if>> - <<elseif areSisters($PC, $activeSlave) == 1>> - $He is in an <span class="lightgreen">incestuous relationship with $his twin _sisterP, you.</span> - <<elseif areSisters($PC, $activeSlave) == 2>> - $He is in an <span class="lightgreen">incestuous relationship with $his _sisterP, you.</span> - <<elseif areSisters($PC, $activeSlave) == 3>> - $He is in an <span class="lightgreen">incestuous relationship with $his half-<<= _sisterP>>, you.</span> + <<set _relTerm = relativeTerm($activeSlave, $PC)>> + <<if def _relTerm>> + $He is in an <span class="lightgreen">incestuous relationship with $his _relTerm, you.</span> <</if>> <</if>> diff --git a/src/uncategorized/neighborsFSAdoption.tw b/src/uncategorized/neighborsFSAdoption.tw index 243903eef8d02bbb66d2719b9e8467d8aba3966f..0ec292191497c1bcb0158481af06a252d5b27fd1 100644 --- a/src/uncategorized/neighborsFSAdoption.tw +++ b/src/uncategorized/neighborsFSAdoption.tw @@ -479,13 +479,9 @@ societal development. <</if>> <</if>> <<if ($arcologies[$i].FSIncestFetishist == "unset")>> - <<if $familyTesting == 1>> - <<set _lover = $slaves.find(function(s) { return s.ID == $leaders[$j].relationshipTarget && areRelated(s, $leaders[$j]) && s.assignment == "live with your agent"; })>> - <<else>> - <<set _lover = $slaves.find(function(s) { return s.ID == $leaders[$j].relationshipTarget && s.ID == $leaders[$j].relationTarget && s.assignment == "live with your agent"; })>> - <</if>> + <<set _lover = $slaves.find(function(s) { return s.ID == $leaders[$j].relationshipTarget && areRelated(s, $leaders[$j]) && s.assignment == "live with your agent"; })>> <<if ($leaders[$j].behavioralQuirk == "sinful" || $leaders[$j].sexualQuirk == "perverted") && def _lover && $seeIncest == 1>> - Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Incest Festishism,@@ to share the love and joy $he holds with $his relativeTerm($leaders[$j], _lover). + Your agent @@.pink;$leaders[$j].slaveName@@ successfully pushes it to @@.yellow;adopt Incest Festishism,@@ to share the love and joy $he holds with $his <<print relativeTerm($leaders[$j], _lover)>>. <<set $arcologies[$i].FSIncestFetishist = 5>><<break>> <</if>> <</if>> diff --git a/src/uncategorized/randomNonindividualEvent.tw b/src/uncategorized/randomNonindividualEvent.tw index 8fce0e6d77011dab9b5164110090ba38c9a2af5f..dd4804cf31744ff66b8f7ca70b67990a8c78796f 100644 --- a/src/uncategorized/randomNonindividualEvent.tw +++ b/src/uncategorized/randomNonindividualEvent.tw @@ -766,42 +766,24 @@ <</if>> <<if $familyTesting == 1>> - <<set _recruiterSlaves = $slaves.filter(function(s) { return s.fuckdoll == 0 && s.canRecruit == 1 && s.devotion > 50 && canWalk(s); })>> - <<for _recruiterSlaves.length > 0>> - <<set $recruiterSlave = _recruiterSlaves.pluck()>> - <<if (random(1,100) > 90+(totalRelatives($recruiterSlave)*2) || $cheatMode)>> - <<set $j = $genePool.findIndex(function(o) { return o.ID == $recruiterSlave.ID; })>> - <<if $j != -1>> - <<set $events.push("RE relative recruiter")>> - <<set $recruiterSlave = $recruiterSlave.ID>> - <<break>> - <<else>> /* no matching slave object in the slavesOriginal array */ - <<set $i = $slaveIndices[$recruiterSlave.ID]>> - <<set $slaves[$i].canRecruit = 0>> - <<set $recruiterSlave = -1>> - <</if>> - <</if>> - <</for>> - - <<else>> /* extended family mode == 0 */ - + <<else>> <<set _recruiterSlaves = $slaves.filter(function(s) { return s.recruiter != 0 && s.fuckdoll == 0 && s.devotion > 50 && s.relation == 0 && canWalk(s); })>> - <<for _recruiterSlaves.length > 0>> - <<set $recruiterSlave = _recruiterSlaves.pluck()>> - <<set $j = $genePool.findIndex(function(o) { return o.ID == $recruiterSlave.ID; })>> - <<if $j != -1>> - <<set $events.push("RE relative recruiter")>> - <<set $recruiterSlave = $recruiterSlave.ID>> - <<break>> - <<else>> /* no matching slave object in the slavesOriginal array -- bug? */ - <<set $i = $slaveIndices[$recruiterSlave.ID]>> - <<set $slaves[$i].canRecruit = 0>> - <<set $recruiterSlave = -1>> - <</if>> - <</for>> + <</if>> - <</if>> /* closes extended family mode */ + <<for _recruiterSlaves.length > 0>> + <<set $recruiterSlave = _recruiterSlaves.pluck()>> + <<set $j = $genePool.findIndex(function(o) { return o.ID == $recruiterSlave.ID; })>> + <<if $j != -1>> + <<set $events.push("RE relative recruiter")>> + <<set $recruiterSlave = $recruiterSlave.ID>> + <<break>> + <<else>> /* no matching slave object in the slavesOriginal array -- bug? */ + <<set $i = $slaveIndices[$recruiterSlave.ID]>> + <<set $slaves[$i].canRecruit = 0>> + <<set $recruiterSlave = -1>> + <</if>> + <</for>> <<if $FSAnnounced == 1>> <<set $FSAcquisitionEvents = []>> diff --git a/src/uncategorized/saLiveWithHG.tw b/src/uncategorized/saLiveWithHG.tw index 566ba58c518b9cf9a7cc9128010cc1a09289cf4c..aa6ab7c9106388bb6df1ff8feb5114898d492a81 100644 --- a/src/uncategorized/saLiveWithHG.tw +++ b/src/uncategorized/saLiveWithHG.tw @@ -172,121 +172,39 @@ $HeadGirl.slaveName @@.lightgreen;resolves the rivalry@@ between _him2 and $slaves[$i].slaveName, mostly by the expedient of punishing $slaves[$i].slaveName savagely whenever $he gives any trouble. <<set $HeadGirl.rivalry = 0, $HeadGirl.rivalryTarget = 0, $slaves[$i].rivalry = 0, $slaves[$i].rivalryTarget = 0>> <<elseif ($HeadGirl.relationship == 0)>> - <<if $familyTesting == 1>> - <<if $slaves[$i].mother == $HeadGirl.ID || $slaves[$i].father == $HeadGirl.ID || $slaves[$i].ID == $HeadGirl.mother || $slaves[$i].ID == $HeadGirl.father || areSisters($HeadGirl, $slaves[$i]) > 0>> - $HeadGirl.slaveName - <<if $HeadGirl.devotion > 95>> - is so inured to the perversities of slavery that _he2 @@.hotpink;enjoys@@ the prospect of sexual service from _his2 - <<set $HeadGirl.devotion += 1>> - <<elseif $HeadGirl.devotion > 60>> - is so devoted to you that _he2 accepts the prospect of sexual service from _his2 - <<else>> - is somewhat @@.mediumorchid;disturbed@@ by the prospect of sexual service from _his2 - <<set $HeadGirl.devotion -= 2>> - <</if>> - <<if $slaves[$i].mother == $HeadGirl.ID || $slaves[$i].father == $HeadGirl.ID>> - $daughter. - <<elseif $HeadGirl.mother == $slaves[$i].ID>> - mother. - <<elseif $HeadGirl.father == $slaves[$i].ID>> - father. - <<else>> - <<switch areSisters($HeadGirl, $slaves[$i])>> - <<case 1>> - twin. - <<case 2>> - $sister. - <<case 3>> - half-<<= $sister>>. - <</switch>> - <</if>> - $slaves[$i].slaveName - <<if $slaves[$i].devotion > 95>> - is so inured to the perversities of slavery that $he @@.hotpink;enjoys@@ the prospect of sexually servicing $his - <<set $slaves[$i].devotion += 1>> - <<elseif $slaves[$i].devotion > 60>> - is so devoted to you that $he accepts the prospect of sexually servicing $his - <<elseif $slaves[$i].devotion > 40>> - is somewhat @@.mediumorchid;disturbed@@ by the prospect of sexually servicing $his - <<set $slaves[$i].devotion -= 2>> - <<elseif $slaves[$i].devotion > 20>> - is @@.mediumorchid;disturbed@@ by the prospect of sexually servicing $his - <<set $slaves[$i].devotion -= 4>> - <<elseif $slaves[$i].devotion >= -20>> - is @@.mediumorchid;strongly disturbed@@ by the prospect of sexually servicing $his - <<set $slaves[$i].devotion -= 5>> - <<else>> - is @@.mediumorchid;revolted@@ by the prospect of sexually servicing $his - <<set $slaves[$i].devotion -= 10>> - <</if>> - <<if $HeadGirl.mother == $slaves[$i].ID || $HeadGirl.father == $slaves[$i].ID>> - _daughter2. - <<elseif $slaves[$i].mother == $HeadGirl.ID>> - mother. - <<elseif $slaves[$i].father == $HeadGirl.ID>> - father. - <<else>> - <<switch areSisters($HeadGirl, $slaves[$i])>> - <<case 1>> - twin. - <<case 2>> - _sister2. - <<case 3>> - half-<<= _sister2>>. - <</switch>> - <</if>> + <<if areRelated($slaves[$i], $HeadGirl)>> + $HeadGirl.slaveName + <<if $HeadGirl.devotion > 95>> + is so inured to the perversities of slavery that _he2 @@.hotpink;enjoys@@ the prospect of sexual service from _his2 + <<set $HeadGirl.devotion += 1>> + <<elseif $HeadGirl.devotion > 60>> + is so devoted to you that _he2 accepts the prospect of sexual service from _his2 + <<else>> + is somewhat @@.mediumorchid;disturbed@@ by the prospect of sexual service from _his2 + <<set $HeadGirl.devotion -= 2>> <</if>> - <<else>> - <<if $slaves[$i].relation != 0 && $slaves[$i].relationTarget == $HeadGirl.ID>> - $HeadGirl.slaveName - <<if $HeadGirl.devotion > 95>> - is so inured to the perversities of slavery that _he2 @@.hotpink;enjoys@@ the prospect of sexual service from _his2 - <<set $HeadGirl.devotion += 1>> - <<elseif $HeadGirl.devotion > 60>> - is so devoted to you that _he2 accepts the prospect of sexual service from _his2 - <<else>> - is somewhat @@.mediumorchid;disturbed@@ by the prospect of sexual service from _his2 - <<set $HeadGirl.devotion -= 2>> - <</if>> - <<if $HeadGirl.relation == "twin">> - twin. - <<elseif $HeadGirl.relation == "sister">> - $sister. - <<elseif $HeadGirl.relation == "mother">> - $daughter. - <<elseif $HeadGirl.relation == "daughter">> - mother. - <</if>> - $slaves[$i].slaveName - <<if $slaves[$i].devotion > 95>> - is so inured to the perversities of slavery that $he @@.hotpink;enjoys@@ the prospect of sexually servicing $his - <<set $slaves[$i].devotion += 1>> - <<elseif $slaves[$i].devotion > 60>> - is so devoted to you that $he accepts the prospect of sexually servicing $his - <<elseif $slaves[$i].devotion > 40>> - is somewhat @@.mediumorchid;disturbed@@ by the prospect of sexually servicing $his - <<set $slaves[$i].devotion -= 2>> - <<elseif $slaves[$i].devotion > 20>> - is @@.mediumorchid;disturbed@@ by the prospect of sexually servicing $his - <<set $slaves[$i].devotion -= 4>> - <<elseif $slaves[$i].devotion >= -20>> - is @@.mediumorchid;strongly disturbed@@ by the prospect of sexually servicing $his - <<set $slaves[$i].devotion -= 5>> - <<else>> - is @@.mediumorchid;revolted@@ by the prospect of sexually servicing $his - <<set $slaves[$i].devotion -= 10>> - <</if>> - <<if $slaves[$i].relation == "twin">> - twin. - <<elseif $slaves[$i].relation == "sister">> - _sister2. - <<elseif $slaves[$i].relation == "mother">> - _daughter2. - <<elseif $slaves[$i].relation == "daughter">> - mother. - <</if>> + <<print relativeTerm($HeadGirl, $slaves[$i])>>. + $slaves[$i].slaveName + <<if $slaves[$i].devotion > 95>> + is so inured to the perversities of slavery that $he @@.hotpink;enjoys@@ the prospect of sexually servicing $his + <<set $slaves[$i].devotion += 1>> + <<elseif $slaves[$i].devotion > 60>> + is so devoted to you that $he accepts the prospect of sexually servicing $his + <<elseif $slaves[$i].devotion > 40>> + is somewhat @@.mediumorchid;disturbed@@ by the prospect of sexually servicing $his + <<set $slaves[$i].devotion -= 2>> + <<elseif $slaves[$i].devotion > 20>> + is @@.mediumorchid;disturbed@@ by the prospect of sexually servicing $his + <<set $slaves[$i].devotion -= 4>> + <<elseif $slaves[$i].devotion >= -20>> + is @@.mediumorchid;strongly disturbed@@ by the prospect of sexually servicing $his + <<set $slaves[$i].devotion -= 5>> + <<else>> + is @@.mediumorchid;revolted@@ by the prospect of sexually servicing $his + <<set $slaves[$i].devotion -= 10>> <</if>> - <</if>> /*closes extended family mode */ + <<print relativeTerm($slaves[$i], $HeadGirl)>>. + <</if>> <<if ($slaves[$i].relationship == 0) && ($slaves[$i].devotion > 20)>> $slaves[$i].slaveName sees $HeadGirl.slaveName constantly, and does $his best to @@.lightgreen;become _his2 friend.@@ <<set $HeadGirl.relationship = 1, $HeadGirl.relationshipTarget = $slaves[$i].ID, $slaves[$i].relationship = 1, $slaves[$i].relationshipTarget = $HeadGirl.ID>> diff --git a/src/uncategorized/saRecruitGirls.tw b/src/uncategorized/saRecruitGirls.tw index d2128598523c2bfa318c6c75177b139aa0ad16cb..70e1fce44d86e1b4889b1c5d746b3113609a2e67 100644 --- a/src/uncategorized/saRecruitGirls.tw +++ b/src/uncategorized/saRecruitGirls.tw @@ -293,7 +293,7 @@ <</if>> <<elseif $arcologies[0].FSEgyptianRevivalist != "unset">> <<if $arcologies[_j].FSEgyptianRevivalist != "unset">> - $He advances Egyptian Revivalism there by playing $his part in the endless round of voluptuous entertainments<<if $slaves[$i].relationship && $slaves[$i].relation && $slaves[$i].relationshipTarget == $slaves[$i].relationTarget>>, which $he's perfect for, since everyone knows that at the end of the day $he'll go home and make love to a blood relative<<set $arcologies[_j].FSEgyptianRevivalist++>><</if>>. + $He advances Egyptian Revivalism there by playing $his part in the endless round of voluptuous entertainments<<if hasFamilySex($slaves[$i])>>, which $he's perfect for, since everyone knows that at the end of the day $he'll go home and make love to a blood relative<<set $arcologies[_j].FSEgyptianRevivalist++>><</if>>. <<set $arcologies[_j].FSEgyptianRevivalist += _influence>> <</if>> <<elseif $arcologies[0].FSEdoRevivalist != "unset">> @@ -739,25 +739,11 @@ <</if>> <</if>> <<elseif $arcologies[0].FSEgyptianRevivalist != "unset">> - <<if $familyTesting == 1>> - <<if totalRelatives($slaves[$i]) > 0>> - <<set _recruiterRelation = randomRelatedAvailableSlave($slaves[$i])>> - <<if def _recruiterRelation>> - <<if ($slaves[$i].energy > 60 || $slaves[$i].sexualQuirk == "tease" || $slaves[$i].sexualQuirk == "perverted") && (_recruiterRelation.energy > 60 || _recruiterRelation.sexualQuirk == "tease" || _recruiterRelation.sexualQuirk == "perverted")>> - <<set _seed += 6, _FSmatch++, $arcologies[0].FSEgyptianRevivalist += 0.02*$FSSingleSlaveRep>> - <</if>> - <</if>> - <</if>> - <<else>> - <<if $slaves[$i].relation != 0>> - <<set _recruiterRelation = getSlave($slaves[$i].relationTarget)>> - /* availability */ - <<if isSlaveAvailable(_recruiterRelation)>> - /* willingness; protip: relationSHIP optional */ - <<if ($slaves[$i].energy > 60 || $slaves[$i].sexualQuirk == "tease" || $slaves[$i].sexualQuirk == "perverted") && (_recruiterRelation.energy > 60 || _recruiterRelation.sexualQuirk == "tease" || _recruiterRelation.sexualQuirk == "perverted")>> - <<set _seed += 6, _FSmatch++, $arcologies[0].FSEgyptianRevivalist += 0.02*$FSSingleSlaveRep>> - <</if>> - <</if>> + <<set _recruiterRelation = ($familyTesting === 1) ? randomAvailableRelatedSlave($slaves[$i]) : getSlave($slaves[$i].relationTarget)>> + <<if def _recruiterRelation>> + /* willingness; protip: relationship optional, and actual sex doesn't need to be allowed */ + <<if ($slaves[$i].energy > 60 || $slaves[$i].sexualQuirk == "tease" || $slaves[$i].sexualQuirk == "perverted") && (_recruiterRelation.energy > 60 || _recruiterRelation.sexualQuirk == "tease" || _recruiterRelation.sexualQuirk == "perverted")>> + <<set _seed += 6, _FSmatch++, $arcologies[0].FSEgyptianRevivalist += 0.02*$FSSingleSlaveRep>> <</if>> <</if>> <<elseif $arcologies[0].FSEdoRevivalist != "unset">> @@ -1131,19 +1117,7 @@ <<if totalRelatives($slaves[$i]) > 0>> <<if def _recruiterRelation>> <<setLocalPronouns _recruiterRelation 2>> - <<if _recruiterRelation.mother == $slaves[$i].ID || _recruiterRelation.father == $slaves[$i].ID>> - <<set _relationType = _daughter2>> - <<elseif $slaves[$i].mother == _recruiterRelation.ID>> - <<set _relationType = "mother">> - <<elseif $slaves[$i].father == _recruiterRelation.ID>> - <<set _relationType = "father">> - <<elseif areSisters($slaves[$i], _recruiterRelation) == 1>> - <<set _relationType = "twin">> - <<elseif areSisters($slaves[$i], _recruiterRelation) == 2>> - <<set _relationType = _sister2>> - <<elseif areSisters($slaves[$i], _recruiterRelation) == 3>> - <<set _relationType = "half-<<= _sister2>>">> - <</if>> + <<set _relationType = relativeTerm($slaves[$i], _recruiterRelation)>> <<if $slaves[$i].energy > 60 || $slaves[$i].sexualQuirk == "tease" || $slaves[$i].sexualQuirk == "perverted">> <<if _recruiterRelation.energy > 60 || _recruiterRelation.sexualQuirk == "tease" || _recruiterRelation.sexualQuirk == "perverted">> $slaves[$i].slaveName and $his _relationType _recruiterRelation.slaveName collaborate on a series of short commercials showing them <<if canWalk($slaves[$i]) || canWalk(_recruiterRelation)>>walking and <</if>>playing in your arcology's public spaces. A little <<if hasAnyArms($slaves[$i]) || hasAnyArms(_recruiterRelation)>>hand on the ass<<else>>cuddling<</if>> here, a little lips almost touching there, and it's enough to tease your Ancient Egyptian sensibility about incest without running afoul of too many old world censors. @@ -1165,7 +1139,7 @@ <</if>> <<else>> <<if $slaves[$i].relation != 0 && (!(_recruiterRelation.assignment == "be your agent" || _recruiterRelation.assignment == "live with your agent"))>> - <<if (_recruiterRelation.assignment == "work in the dairy" && $dairyRestraintsSetting > 1) || _recruiterRelation.assignment == "stay confined" || _recruiterRelation.assignment == "be confined in the cellblock">> + <<if !isSlaveAvailable(_recruiterRelation)>> One idea that comes up while brainstorming is to act out Ancient Egyptian incest with $his _recruiterRelation.relation, but _recruiterRelation.slaveName is confined and unavailable. <<else>> <<if $slaves[$i].energy > 60 || $slaves[$i].sexualQuirk == "tease" || $slaves[$i].sexualQuirk == "perverted">> diff --git a/src/uncategorized/saRelationships.tw b/src/uncategorized/saRelationships.tw index 4b1f9b05c531f4352644c095e8abc5bd5c99d9d2..d1990706c0888485601912e1eab9b87d224b0739 100644 --- a/src/uncategorized/saRelationships.tw +++ b/src/uncategorized/saRelationships.tw @@ -985,10 +985,7 @@ <<set _SlaveI.relationship = -2>> <</if>> <<set _SlaveJ.relationship = 0, _SlaveJ.relationshipTarget = 0, _SlaveI.relationshipTarget = 0>> - <<elseif $familyTesting == 1 && areRelated(_SlaveI, _SlaveJ) && (random(1,100) > 80)>> - They build on their family relationship and become @@.lightgreen;best friends.@@ - <<set _SlaveI.relationship++, _SlaveJ.relationship = _SlaveI.relationship>> - <<elseif (_SlaveI.relation != 0) && (_SlaveI.relationTarget == _SlaveI.relationshipTarget) && (random(1, 100) > 80)>> + <<elseif areRelated(_SlaveI, _SlaveJ) && (random(1,100) > 80)>> They build on their family relationship and become @@.lightgreen;best friends.@@ <<set _SlaveI.relationship++, _SlaveJ.relationship = _SlaveI.relationship>> <<elseif mutualChildren(_SlaveI, _SlaveJ, $slaves) > 0 && (random(1, 100) < (50+(10*mutualChildren(_SlaveI, _SlaveJ, $slaves))))>> @@ -1033,22 +1030,13 @@ <<elseif mutualChildren(_SlaveI, _SlaveJ, $slaves) > 0 && (random(1, 100) < (50+(10*mutualChildren(_SlaveI, _SlaveJ, $slaves))+_seed))>> Having already had kids together, their relationship turns sexual once again and they become @@.lightgreen;friends with benefits.@@ <<set _SlaveI.relationship++, _SlaveJ.relationship = _SlaveI.relationship>> - <<elseif $seeIncest == 1 && $familyTesting == 1 && (_SlaveI.energy > 95) && areRelated(_SlaveI, _SlaveJ) && (random(1,100) > (90-_seed))>> - Driven by nymphomania to attempt to have sex with everyone, _SlaveI.slaveName successfully seduces _SlaveJ.slaveName and they become @@.lightgreen;friends with benefits.@@ - <<set _SlaveI.relationship++, _SlaveJ.relationship = _SlaveI.relationship>> - <<elseif $seeIncest == 1 && (_SlaveI.energy > 95) && (_SlaveI.relation != 0) && (_SlaveI.relationTarget == _SlaveI.relationshipTarget) && (random(1, 100) > (90 - _seed))>> + <<elseif $seeIncest == 1 && (_SlaveI.energy > 95) && areRelated(_SlaveI, _SlaveJ) && (random(1,100) > (90-_seed))>> Driven by nymphomania to attempt to have sex with everyone, _SlaveI.slaveName successfully seduces _SlaveJ.slaveName and they become @@.lightgreen;friends with benefits.@@ <<set _SlaveI.relationship++, _SlaveJ.relationship = _SlaveI.relationship>> - <<elseif $seeIncest == 1 && $familyTesting == 1 && (_SlaveI.sexualQuirk == "perverted") && areRelated(_SlaveI, _SlaveJ) && (random(1,100) > (80-_seed))>> - Reveling in the taboo nature of $his attraction to _SlaveJ.slaveName, _SlaveI.slaveName successfully seduces _him2 and they become @@.lightgreen;friends with benefits.@@ - <<set _SlaveI.relationship++, _SlaveJ.relationship = _SlaveI.relationship>> - <<elseif $seeIncest == 1 && (_SlaveI.sexualQuirk == "perverted") && (_SlaveI.relation != 0) && (_SlaveI.relationTarget == _SlaveI.relationshipTarget) && (random(1, 100) > (80 - _seed))>> + <<elseif $seeIncest == 1 && (_SlaveI.sexualQuirk == "perverted") && areRelated(_SlaveI, _SlaveJ) && (random(1,100) > (80-_seed))>> Reveling in the taboo nature of $his attraction to _SlaveJ.slaveName, _SlaveI.slaveName successfully seduces _him2 and they become @@.lightgreen;friends with benefits.@@ <<set _SlaveI.relationship++, _SlaveJ.relationship = _SlaveI.relationship>> - <<elseif $seeIncest == 1 && $familyTesting == 1 && (_SlaveI.behavioralQuirk == "sinful") && areRelated(_SlaveI, _SlaveJ) && (random(1,100) > (80-_seed))>> - Aroused by the chance to commit the sin of incest, _SlaveI.slaveName successfully seduces _SlaveJ.slaveName and they become @@.lightgreen;friends with benefits.@@ - <<set _SlaveI.relationship++, _SlaveJ.relationship = _SlaveI.relationship>> - <<elseif $seeIncest == 1 && (_SlaveI.behavioralQuirk == "sinful") && (_SlaveI.relation != 0) && (_SlaveI.relationTarget == _SlaveI.relationshipTarget) && (random(1, 100) > (80 - _seed))>> + <<elseif $seeIncest == 1 && (_SlaveI.behavioralQuirk == "sinful") && areRelated(_SlaveI, _SlaveJ) && (random(1,100) > (80-_seed))>> Aroused by the chance to commit the sin of incest, _SlaveI.slaveName successfully seduces _SlaveJ.slaveName and they become @@.lightgreen;friends with benefits.@@ <<set _SlaveI.relationship++, _SlaveJ.relationship = _SlaveI.relationship>> <<elseif (_SlaveI.energy > 95) && (random(1, 100) > (80 - _seed))>> @@ -1064,16 +1052,11 @@ _SlaveI.slaveName successfully seduces _SlaveJ.slaveName and they become @@.lightgreen;friends with benefits.@@ <<set _SlaveI.relationship++, _SlaveJ.relationship = _SlaveI.relationship>> <</if>> - <<elseif $seeIncest == 1 && $familyTesting == 1 && areRelated(_SlaveI, _SlaveJ)>> + <<elseif $seeIncest == 1 && areRelated(_SlaveI, _SlaveJ)>> <<if random(1,100) > (95-_seed)>> Eventually, they happen to be together and horny, and find themselves fucking without thinking. They have become incestuous @@.lightgreen;friends with benefits.@@ <<set _SlaveI.relationship++, _SlaveJ.relationship = _SlaveI.relationship>> <</if>> - <<elseif $seeIncest == 1 && (_SlaveI.relation != 0) && (_SlaveI.relationTarget == _SlaveI.relationshipTarget)>> - <<if random(1, 100) > (95 - _seed)>> - Eventually, they happen to be together and horny, and find themselves fucking without thinking. They have become incestuous @@.lightgreen;friends with benefits.@@ - <<set _SlaveI.relationship++, _SlaveJ.relationship = _SlaveI.relationship>> - <</if>> <<elseif (random(1, 100) > (95 - _seed))>> <<if (_SlaveJ.vagina != -1) && (_SlaveI.behavioralFlaw == "hates women") && (random(1, 2) == 1)>> Despite _SlaveI.slaveName's dislike of pussy, @@ -1091,22 +1074,13 @@ $His romantic bent drives $him to do $his best to advance $his relationship to an emotional level. <<set _seed = 10>> <</if>> - <<if $seeIncest == 1 && $familyTesting == 1 && _SlaveI.energy > 95 && areRelated(_SlaveI, _SlaveJ) && (random(1,100) > (90-_seed))>> - $He's such a desperate nympho that constant incest is nothing to $him. $He develops real feelings for _SlaveJ.slaveName as a romantic partner. Their relationship becomes @@.lightgreen;romantically emotional@@ as well as physical and familial. - <<set _SlaveI.relationship++, _SlaveJ.relationship = _SlaveI.relationship>> - <<elseif $seeIncest == 1 && (_SlaveI.energy > 95) && (_SlaveI.relation != 0) && (_SlaveI.relationTarget == _SlaveI.relationshipTarget) && (random(1, 100) > (90 - _seed))>> + <<if $seeIncest == 1 && _SlaveI.energy > 95 && areRelated(_SlaveI, _SlaveJ) && (random(1,100) > (90-_seed))>> $He's such a desperate nympho that constant incest is nothing to $him. $He develops real feelings for _SlaveJ.slaveName as a romantic partner. Their relationship becomes @@.lightgreen;romantically emotional@@ as well as physical and familial. <<set _SlaveI.relationship++, _SlaveJ.relationship = _SlaveI.relationship>> - <<elseif $seeIncest == 1 && $familyTesting == 1 && (_SlaveI.sexualQuirk == "perverted") && areRelated(_SlaveI, _SlaveJ) && (random(1,100) > (80-_seed))>> - Reveling in the taboo nature of $his sexual relationship with _SlaveJ.slaveName, $he not only enjoys _SlaveJ.slaveName's body, but looks after _his2 pleasure, too. Their relationship becomes @@.lightgreen;romantically emotional@@ as well as physical and familial. - <<set _SlaveI.relationship++, _SlaveJ.relationship = _SlaveI.relationship>> - <<elseif $seeIncest == 1 && (_SlaveI.sexualQuirk == "perverted") && (_SlaveI.relation != 0) && (_SlaveI.relationTarget == _SlaveI.relationshipTarget) && (random(1, 100) > (80 - _seed))>> + <<elseif $seeIncest == 1 && (_SlaveI.sexualQuirk == "perverted") && areRelated(_SlaveI, _SlaveJ) && (random(1,100) > (80-_seed))>> Reveling in the taboo nature of $his sexual relationship with _SlaveJ.slaveName, $he not only enjoys _SlaveJ.slaveName's body, but looks after _his2 pleasure, too. Their relationship becomes @@.lightgreen;romantically emotional@@ as well as physical and familial. <<set _SlaveI.relationship++, _SlaveJ.relationship = _SlaveI.relationship>> - <<elseif $seeIncest == 1 && $familyTesting == 1 && (_SlaveI.behavioralQuirk == "sinful") && areRelated(_SlaveI, _SlaveJ) && (random(1,100) > (80-_seed))>> - $He gets deep, perverse satisfaction by constant commission of the sin of incest, which is extreme enough to appease even $his appetite for transgression. $His incestuous relationship becomes @@.lightgreen;romantically emotional@@ as well as physical and familial. - <<set _SlaveI.relationship++, _SlaveJ.relationship = _SlaveI.relationship>> - <<elseif $seeIncest == 1 && (_SlaveI.behavioralQuirk == "sinful") && (_SlaveI.relation != 0) && (_SlaveI.relationTarget == _SlaveI.relationshipTarget) && (random(1, 100) > (80 - _seed))>> + <<elseif $seeIncest == 1 && && (_SlaveI.behavioralQuirk == "sinful") && areRelated(_SlaveI, _SlaveJ) && (random(1,100) > (80-_seed))>> $He gets deep, perverse satisfaction by constant commission of the sin of incest, which is extreme enough to appease even $his appetite for transgression. $His incestuous relationship becomes @@.lightgreen;romantically emotional@@ as well as physical and familial. <<set _SlaveI.relationship++, _SlaveJ.relationship = _SlaveI.relationship>> <<elseif mutualChildren(_SlaveI, _SlaveJ, $slaves) > 0 && (random(1, 100) < (50+(10*mutualChildren(_SlaveI, _SlaveJ, $slaves))+_seed))>> @@ -1186,173 +1160,77 @@ <</if>> /% FWB, lovers, slave wives %/ <<if _SlaveI.relationship > 2>> - <<if $familyTesting == 1>> - <<if totalRelatives(_SlaveI) > 0>> - <<set $relation = 0>> - <<set $relationType = 0>> - <<set _sr = getSlave(_SlaveI.relationshipTarget)>> - <<if def _sr>> - <<setLocalPronouns _sr 2>> - <<if areRelated(_SlaveI, _sr)>> - <<set $relationType = relativeTerm(_SlaveI, _sr)>> - <<set $relation = _sr>> - <</if>> - <</if>> - <<if $relation != 0>> - _SlaveI.slaveName - <<if _SlaveI.origin == "$He offered $himself to you for enslavement hoping you would preserve $his incestuous relationship with $his sibling." || _SlaveI.origin == "$He offered to become your slave to protect $his incestuous relationship.">> - is @@.hotpink;grateful@@ and @@.mediumaquamarine;trusting@@ towards you for protecting $him in $his long-standing incestuous relationship. - <<set _SlaveI.devotion += 2>> - <<set _SlaveI.trust += 2>> - <<elseif _SlaveI.sexualQuirk == "perverted">> - is such a pervert that $he @@.hotpink;enjoys@@ carrying on an incestuous relationship with $his own $relationType. - <<set _SlaveI.devotion += 1>> - <<elseif _SlaveI.devotion > 95>> - is so inured to the perversities of slavery that $he @@.hotpink;enjoys@@ carrying on an incestuous relationship with $his own $relationType. - <<set _SlaveI.devotion += 1>> - <<elseif _SlaveI.behavioralQuirk == "sinful">> - is torn between sinful delight and deep disgust that $he's carrying on an incestuous relationship with $his own $relationType. - <<elseif _SlaveI.devotion > 75>> - is so devoted to you that $he accepts carrying on an incestuous relationship with $his own $relationType. - <<elseif _SlaveI.devotion > 50>> - is somewhat @@.mediumorchid;disturbed@@ that $he's carrying on an incestuous relationship with $his own $relationType. - <<set _SlaveI.devotion -= 2>> - <<elseif _SlaveI.devotion > 20>> - is @@.mediumorchid;disturbed@@ and @@.gold;scared@@ that $he's carrying on an incestuous relationship with $his own $relationType. - <<set _SlaveI.devotion -= 2>> - <<set _SlaveI.trust -= 2>> - <<else>> - is @@.mediumorchid;revolted@@ and @@.gold;scared@@ that $he's carrying on an incestuous relationship with $his own $relationType. - <<set _SlaveI.devotion -= 4>> - <<set _SlaveI.trust -= 4>> - <</if>> - <<if _SlaveI.pregKnown == 1>> - <<if _SlaveI.pregSource == $relation.ID>> - <<if _SlaveI.origin == "$He offered $himself to you for enslavement hoping you would preserve $his incestuous relationship with $his sibling.">> - $He's @@.hotpink;overjoyed@@ to be carrying $his _sister2's child<<if _SlaveI.pregType > 1>>ren<</if>>. - <<set _SlaveI.devotion += 2>> - <<elseif _SlaveI.origin == "$He offered to become your slave to protect $his incestuous relationship.">> - $He's @@.hotpink;overjoyed@@ to be carrying $his <<print $relationType>>'s child<<if _SlaveI.pregType > 1>>ren<</if>>. - <<set _SlaveI.devotion += 2>> - <<elseif _SlaveI.sexualQuirk == "perverted">> - $He's even @@.hotpink;aroused@@ by the constant awareness that $his $relationType is the parent of the daughter<<if _SlaveI.pregType > 1>>s<</if>> $he's carrying. - <<set _SlaveI.devotion += 1>> - <<elseif _SlaveI.behavioralQuirk == "sinful">> - $His feelings about carrying $his <<print $relationType>>'s child<<if _SlaveI.pregType > 1>>ren<</if>> are @@.hotpink;secretly less mixed,@@ though. - <<set _SlaveI.devotion += 1>> - <<elseif _SlaveI.devotion > 95>> - $He occasionally remembers that $he's carrying $his <<print $relationType>>'s child<<if _SlaveI.pregType > 1>>ren<</if>>, but does $his best to accept it by not thinking about it. - <<elseif _SlaveI.devotion > 50>> - $He's @@.mediumorchid;disgusted@@ that the bab<<if _SlaveI.pregType > 1>>ies $he's carrying are<<else>>y $he's carrying is<</if>> $his <<print $relationType>>'s, though $he tries $his best not to think about it. - <<set _SlaveI.devotion -= 1>> - <<elseif _SlaveI.devotion > 20>> - $He's so @@.mediumorchid;disgusted@@ that the bab<<if _SlaveI.pregType > 1>>ies $he's carrying are<<else>>y $he's carrying is<</if>> $his <<print $relationType>>'s that $he often wakes up crying about it. - <<set _SlaveI.devotion -= 2>> - <<else>> - $He's @@.mediumorchid;passionately hateful@@ of you for making $him carry an incestuous pregnancy. - <<set _SlaveI.devotion -= 4>> - <</if>> - <</if>> - <</if>> - <<if $arcologies[0].FSEgyptianRevivalist != "unset">> - Society @@.green;strongly approves@@ of their incestuous relationship, which advances the Egyptian revivalist ideal of slave incest. - <<run repX(2*$FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), "SlaveRelationships", _SlaveI)>> - <<set $arcologies[0].FSEgyptianRevivalist += 0.1*$FSSingleSlaveRep>> - <<if _SlaveI.bellyPreg >= 1500>> - <<if _SlaveI.pregSource == $relation.ID>> - @@.green;The effect is greatly enhanced@@ by _SlaveI.slaveName's pureblooded pregnancy. - <<run repX($FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), "SlaveRelationships", _SlaveI)>> - <<set $arcologies[0].FSEgyptianRevivalist += 0.05*$FSSingleSlaveRep*$pornFameBonus>> - <</if>> - <</if>> - <<elseif $arcologies[0].FSEgyptianRevivalistIncestPolicy == 1>> - Society @@.green;enjoys@@ their incestuous relationship since incest is currently trendy. - <<run repX(1.5*$FSSingleSlaveRep, "SlaveRelationships", _SlaveI)>> - <<if _SlaveI.bellyPreg >= 1500>> - <<if _SlaveI.pregSource == $relation.ID>> - @@.green;The effect is enhanced@@ by _SlaveI.slaveName's pureblooded pregnancy. - <<run repX($FSSingleSlaveRep, "SlaveRelationships", _SlaveI)>> - <</if>> - <</if>> - <</if>> - <</if>> - <<set $relation = 0>> - <<set $relationType = 0>> + <<set _relation = areRelated(_SlaveI, _SlaveJ) ? _SlaveJ : 0>> + <<set _relationType = relativeTerm(_SlaveI, _SlaveJ)>> + <<if _relation != 0>> + _SlaveI.slaveName + <<if _SlaveI.origin == "$He offered $himself to you for enslavement hoping you would preserve $his incestuous relationship with $his sibling." || _SlaveI.origin == "$He offered to become your slave to protect $his incestuous relationship.">> + is @@.hotpink;grateful@@ and @@.mediumaquamarine;trusting@@ towards you for protecting $him in $his long-standing incestuous relationship. + <<set _SlaveI.devotion += 2>> + <<set _SlaveI.trust += 2>> + <<elseif _SlaveI.sexualQuirk == "perverted">> + is such a pervert that $he @@.hotpink;enjoys@@ carrying on an incestuous relationship with $his own _relationType. + <<set _SlaveI.devotion += 1>> + <<elseif _SlaveI.devotion > 95>> + is so inured to the perversities of slavery that $he @@.hotpink;enjoys@@ carrying on an incestuous relationship with $his own _relationType. + <<set _SlaveI.devotion += 1>> + <<elseif _SlaveI.behavioralQuirk == "sinful">> + is torn between sinful delight and deep disgust that $he's carrying on an incestuous relationship with $his own _relationType. + <<elseif _SlaveI.devotion > 75>> + is so devoted to you that $he accepts carrying on an incestuous relationship with $his own _relationType. + <<elseif _SlaveI.devotion > 50>> + is somewhat @@.mediumorchid;disturbed@@ that $he's carrying on an incestuous relationship with $his own _relationType. + <<set _SlaveI.devotion -= 2>> + <<elseif _SlaveI.devotion > 20>> + is @@.mediumorchid;disturbed@@ and @@.gold;scared@@ that $he's carrying on an incestuous relationship with $his own _relationType. + <<set _SlaveI.devotion -= 2>> + <<set _SlaveI.trust -= 2>> + <<else>> + is @@.mediumorchid;revolted@@ and @@.gold;scared@@ that $he's carrying on an incestuous relationship with $his own _relationType. + <<set _SlaveI.devotion -= 4>> + <<set _SlaveI.trust -= 4>> <</if>> - <<else>> - <<if _SlaveI.relation != 0 && (_SlaveI.relationTarget == _SlaveI.relationshipTarget)>> - <<set _sr = getSlave(_SlaveI.relationshipTarget)>> - <<if def _sr>> - <<setLocalPronouns _sr 2>> - <</if>> - _SlaveI.slaveName is - <<if _SlaveI.origin == "$He offered $himself to you for enslavement hoping you would preserve $his incestuous relationship with $his sibling.">> - @@.hotpink;grateful@@ and @@.mediumaquamarine;trusting@@ towards you for protecting $him in $his long-standing incestuous relationship. - <<set _SlaveI.devotion += 2, _SlaveI.trust += 2>> + <<if _SlaveI.pregKnown == 1 && _SlaveI.pregSource == _relation.ID>> + <<if _SlaveI.origin == "$He offered $himself to you for enslavement hoping you would preserve $his incestuous relationship with $his sibling." || _SlaveI.origin == "$He offered to become your slave to protect $his incestuous relationship.">> + $He's @@.hotpink;overjoyed@@ to be carrying $his <<print _relationType>>'s child<<if _SlaveI.pregType > 1>>ren<</if>>. + <<set _SlaveI.devotion += 2>> <<elseif _SlaveI.sexualQuirk == "perverted">> - such a pervert that $he @@.hotpink;enjoys@@ carrying on an incestuous relationship with $his own <<print relationTargetWord(_SlaveI)>>. - <<set _SlaveI.devotion++>> - <<elseif _SlaveI.devotion > 95>> - so inured to the perversities of slavery that $he @@.hotpink;enjoys@@ carrying on an incestuous relationship with $his own <<print relationTargetWord(_SlaveI)>>. - <<set _SlaveI.devotion++>> + $He's even @@.hotpink;aroused@@ by the constant awareness that $his _relationType is the parent of the daughter<<if _SlaveI.pregType > 1>>s<</if>> $he's carrying. + <<set _SlaveI.devotion += 1>> <<elseif _SlaveI.behavioralQuirk == "sinful">> - torn between sinful delight and deep disgust that $he's carrying on an incestuous relationship with $his own <<print relationTargetWord(_SlaveI)>>. - <<elseif _SlaveI.devotion > 75>> - so devoted to you that $he accepts carrying on an incestuous relationship with $his own <<print relationTargetWord(_SlaveI)>>. + $His feelings about carrying $his <<print _relationType>>'s child<<if _SlaveI.pregType > 1>>ren<</if>> are @@.hotpink;secretly less mixed,@@ though. + <<set _SlaveI.devotion += 1>> + <<elseif _SlaveI.devotion > 95>> + $He occasionally remembers that $he's carrying $his <<print _relationType>>'s child<<if _SlaveI.pregType > 1>>ren<</if>>, but does $his best to accept it by not thinking about it. <<elseif _SlaveI.devotion > 50>> - somewhat @@.mediumorchid;disturbed@@ that $he's carrying on an incestuous relationship with $his own <<print relationTargetWord(_SlaveI)>>. - <<set _SlaveI.devotion -= 2>> + $He's @@.mediumorchid;disgusted@@ that the bab<<if _SlaveI.pregType > 1>>ies $he's carrying are<<else>>y $he's carrying is<</if>> $his <<print _relationType>>'s, though $he tries $his best not to think about it. + <<set _SlaveI.devotion -= 1>> <<elseif _SlaveI.devotion > 20>> - @@.mediumorchid;disturbed@@ and @@.gold;scared@@ that $he's carrying on an incestuous relationship with $his own <<print relationTargetWord(_SlaveI)>>. - <<set _SlaveI.devotion -= 2, _SlaveI.trust -= 2>> + $He's so @@.mediumorchid;disgusted@@ that the bab<<if _SlaveI.pregType > 1>>ies $he's carrying are<<else>>y $he's carrying is<</if>> $his <<print _relationType>>'s that $he often wakes up crying about it. + <<set _SlaveI.devotion -= 2>> <<else>> - @@.mediumorchid;revolted@@ and @@.gold;scared@@ that $he's carrying on an incestuous relationship with $his own <<print relationTargetWord(_SlaveI)>>. - <<set _SlaveI.devotion -= 4, _SlaveI.trust -= 4>> + $He's @@.mediumorchid;passionately hateful@@ of you for making $him carry an incestuous pregnancy. + <<set _SlaveI.devotion -= 4>> <</if>> - <<if (_SlaveI.pregKnown == 1) && (_SlaveI.pregSource == _SlaveI.relationTarget)>> - <<if _SlaveI.origin == "$He offered $himself to you for enslavement hoping you would preserve $his incestuous relationship with $his sibling.">> - $He's @@.hotpink;overjoyed@@ to be carrying $his _sister2's child<<if _SlaveI.pregType > 1>>ren<</if>>. - <<set _SlaveI.devotion += 2>> - <<elseif _SlaveI.sexualQuirk == "perverted">> - $He's even @@.hotpink;aroused@@ by the constant awareness that $his <<print relationTargetWord(_SlaveI)>> is the parent of the daughter<<if _SlaveI.pregType > 1>>s<</if>> $he's carrying. - <<set _SlaveI.devotion++>> - <<elseif _SlaveI.behavioralQuirk == "sinful">> - $His feelings about carrying $his <<print relationTargetWord(_SlaveI)>>'s child<<if _SlaveI.pregType > 1>>ren<</if>> are @@.hotpink;secretly less mixed,@@ though. - <<set _SlaveI.devotion++>> - <<elseif _SlaveI.devotion > 95>> - $He occasionally remembers that $he's carrying $his <<print relationTargetWord(_SlaveI)>>'s child<<if _SlaveI.pregType > 1>>ren<</if>>, but does $his best to accept it by not thinking about it. - <<elseif _SlaveI.devotion > 50>> - $He's @@.mediumorchid;disgusted@@ that the bab<<if _SlaveI.pregType > 1>>ies $he's carrying are<<else>>y $he's carrying is<</if>> $his <<print relationTargetWord(_SlaveI)>>'s, though $he tries $his best not to think about it. - <<set _SlaveI.devotion-->> - <<elseif _SlaveI.devotion > 20>> - $He's so @@.mediumorchid;disgusted@@ that the bab<<if _SlaveI.pregType > 1>>ies $he's carrying are<<else>>y $he's carrying is<</if>> $his <<print relationTargetWord(_SlaveI)>>'s that $he often wakes up crying about it. - <<set _SlaveI.devotion -= 2>> - <<else>> - $He's @@.mediumorchid;passionately hateful@@ of you for making $him carry an incestuous pregnancy. - <<set _SlaveI.devotion -= 4>> - <</if>> + <</if>> + <<if $arcologies[0].FSEgyptianRevivalist != "unset">> + Society @@.green;strongly approves@@ of their incestuous relationship, which advances the Egyptian revivalist ideal of slave incest. + <<run repX(2*$FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), "SlaveRelationships", _SlaveI)>> + <<set $arcologies[0].FSEgyptianRevivalist += 0.1*$FSSingleSlaveRep>> + <<if _SlaveI.bellyPreg >= 1500 && _SlaveI.pregSource == _relation.ID>> + @@.green;The effect is greatly enhanced@@ by _SlaveI.slaveName's pureblooded pregnancy. + <<run repX($FSSingleSlaveRep*($arcologies[0].FSEgyptianRevivalist/$FSLockinLevel), "SlaveRelationships", _SlaveI)>> + <<set $arcologies[0].FSEgyptianRevivalist += 0.05*$FSSingleSlaveRep*$pornFameBonus>> + <</if>> + <<elseif $arcologies[0].FSEgyptianRevivalistIncestPolicy == 1>> + Society @@.green;enjoys@@ their incestuous relationship since incest is currently trendy. + <<run repX(1.5*$FSSingleSlaveRep, "SlaveRelationships", _SlaveI)>> + <<if _SlaveI.bellyPreg >= 1500 && _SlaveI.pregSource == _relation.ID>> + @@.green;The effect is enhanced@@ by _SlaveI.slaveName's pureblooded pregnancy. + <<run repX($FSSingleSlaveRep, "SlaveRelationships", _SlaveI)>> <</if>> - <<if $arcologies[0].FSEgyptianRevivalist != "unset">> - Society @@.green;strongly approves@@ of their incestuous relationship, which advances the Egyptian revivalist ideal of slave incest. - <<set $arcologies[0].FSEgyptianRevivalist += 0.1 * $FSSingleSlaveRep>> - <<run repX(2 * $FSSingleSlaveRep * ($arcologies[0].FSEgyptianRevivalist / $FSLockinLevel), "SlaveRelationships", _SlaveI)>> - <<if (_SlaveI.bellyPreg >= 1500) && (_SlaveI.pregSource == _SlaveI.relationTarget)>> - @@.green;The effect is greatly enhanced@@ by _SlaveI.slaveName's pureblooded pregnancy. - <<set $arcologies[0].FSEgyptianRevivalist += 0.05 * $FSSingleSlaveRep * $pornFameBonus>> - <<run repX($FSSingleSlaveRep * ($arcologies[0].FSEgyptianRevivalist / $FSLockinLevel), "SlaveRelationships", _SlaveI)>> - <</if>> - <<elseif $arcologies[0].FSEgyptianRevivalistIncestPolicy == 1>> - Society @@.green;enjoys@@ their incestuous relationship since incest is currently trendy. - <<run repX(1.5*$FSSingleSlaveRep, "SlaveRelationships", _SlaveI)>> - <<if _SlaveI.bellyPreg >= 1500>> - <<if _SlaveI.pregSource == $relation.ID>> - @@.green;The effect is enhanced@@ by _SlaveI.slaveName's pureblooded pregnancy. - <<run repX($FSSingleSlaveRep, "SlaveRelationships", _SlaveI)>> - <</if>> - <</if>> - <</if>> <</if>> - <</if>> /* closes extended family mode */ + <</if>> <<if App.Utils.sexAllowed(_SlaveI, _SlaveJ)>> <<if (_SlaveI.sexualQuirk == "size queen") && (canPenetrate(_SlaveJ))>> diff --git a/src/uncategorized/saRivalries.tw b/src/uncategorized/saRivalries.tw index 223f4e856ad06d7c425503105d4ce6e1340ac9f4..ab48315c0df43b30721452f8941dc325d881917f 100644 --- a/src/uncategorized/saRivalries.tw +++ b/src/uncategorized/saRivalries.tw @@ -241,25 +241,13 @@ <</if>> <</if>> <</if>> - <<if $familyTesting>> - <<if areRelated($slaves[$i], $slaves[_j])>> - <<if _roll > 70 && $slaves[$i].rivalry < 3 && _lightenedRivalry != 1>> - $slaves[$i].slaveName and <<= SlaveFullName($slaves[_j])>> @@.lightsalmon;pursue their family rivalry.@@ - <<set $slaves[_j].rivalry += 1, $slaves[$i].rivalry += 1>> - <<elseif _roll > 40 && $slaves[$i].rivalry > 0 && _worsenedRivalry != 1>> - $slaves[$i].slaveName and <<= SlaveFullName($slaves[_j])>> @@.lightgreen;patch up their family relationship.@@ - <<set $slaves[_j].rivalry -= 1, $slaves[$i].rivalry -= 1, _lightenedRivalry = 1>> - <</if>> - <</if>> - <<else>> - <<if $slaves[$i].relation && $slaves[$i].relationTarget == $slaves[$i].rivalryTarget>> - <<if _roll > 70 && $slaves[$i].rivalry < 3 && _lightenedRivalry != 1>> - $slaves[$i].slaveName and <<= SlaveFullName($slaves[_j])>> @@.lightsalmon;pursue their family rivalry.@@ - <<set $slaves[_j].rivalry += 1, $slaves[$i].rivalry += 1>> - <<elseif _roll > 40 && $slaves[$i].rivalry > 0 && _worsenedRivalry != 1>> - $slaves[$i].slaveName and <<= SlaveFullName($slaves[_j])>> @@.lightgreen;patch up their family relationship.@@ - <<set $slaves[_j].rivalry -= 1, $slaves[$i].rivalry -= 1, _lightenedRivalry = 1>> - <</if>> + <<if areRelated($slaves[$i], $slaves[_j])>> + <<if _roll > 70 && $slaves[$i].rivalry < 3 && _lightenedRivalry != 1>> + $slaves[$i].slaveName and <<= SlaveFullName($slaves[_j])>> @@.lightsalmon;pursue their family rivalry.@@ + <<set $slaves[_j].rivalry += 1, $slaves[$i].rivalry += 1>> + <<elseif _roll > 40 && $slaves[$i].rivalry > 0 && _worsenedRivalry != 1>> + $slaves[$i].slaveName and <<= SlaveFullName($slaves[_j])>> @@.lightgreen;patch up their family relationship.@@ + <<set $slaves[_j].rivalry -= 1, $slaves[$i].rivalry -= 1, _lightenedRivalry = 1>> <</if>> <</if>> <<if $slaves[_j].origBodyOwnerID == $slaves[$i].ID && _lightenedRivalry != 1>> diff --git a/src/uncategorized/schoolroomReport.tw b/src/uncategorized/schoolroomReport.tw index c7048109cdbfda10cc67746c5b5da985820c5c8e..ee0525e681493b9e844dda29d3a27b3a2018d2cb 100644 --- a/src/uncategorized/schoolroomReport.tw +++ b/src/uncategorized/schoolroomReport.tw @@ -87,12 +87,9 @@ <<elseif $Schoolteacher.relationshipTarget == $slaves[$i].ID>> $He dedicates most of $his attention to $his <<print relationshipTerm($Schoolteacher)>>, $slaves[$i].slaveName, making sure _he2 understands that day's lesson. <<set $slaves[$i].devotion += 2, $slaves[$i].trust += 2>> - <<elseif $familyTesting == 1 && areRelated($Schoolteacher, $slaves[$i]) > 0>> + <<elseif areRelated($Schoolteacher, $slaves[$i])>> $He makes sure to spend extra time teaching $his <<print relativeTerm($Schoolteacher,$slaves[$i])>>, $slaves[$i].slaveName. <<set $slaves[$i].trust++>> - <<elseif $Schoolteacher.relationTarget == $slaves[$i].ID && $familyTesting == 0>> - $He makes sure to spend extra time teaching $his $slaves[$i].relation, $slaves[$i].slaveName. - <<set $slaves[$i].trust++>> <</if>> <</for>> <<if (_DL < $schoolroom)>> diff --git a/src/uncategorized/seLethalPit.tw b/src/uncategorized/seLethalPit.tw index 2ede093158121f708b3c3aff288d76f1d40e8339..714a55dc859e6e82f5911e2459acab2cd29670f9 100644 --- a/src/uncategorized/seLethalPit.tw +++ b/src/uncategorized/seLethalPit.tw @@ -630,30 +630,12 @@ In any case, <<if $pitAnimal == 0>>both of the slaves have<<else>>the slave and <<set _winner.fetish = "mindbroken">> <<set _winner.fetishKnown = 1>> <</if>> - <<elseif _winner.mother == _loser.ID>> + <<elseif isParentP(_winner, _loser) || isParentP(_loser, _winner)>> <<if (_winner.devotion > 95)>> - $He is so worshipful of you that $he sees the death of $his mother at $his own hand as an @@.hotpink;honorable@@ end to their doomed family. + $He is so worshipful of you that $he sees the death of $his <<print relativeTerm(_winner, _loser)>> at $his own hand as an @@.hotpink;honorable@@ end to their doomed family. <<set _winner.devotion += 4>> <<else>> - $He shows little reaction to the death of $his mother at $his own hand. In the coming days, it becomes clear that this is because $he is @@.red;no longer capable@@ of reacting to anything on an emotional level. Ever again. - <<set _winner.fetish = "mindbroken">> - <<set _winner.fetishKnown = 1>> - <</if>> - <<elseif _winner.father == _loser.ID>> - <<if (_winner.devotion > 95)>> - $He is so worshipful of you that $he sees the death of $his father at $his own hand as an @@.hotpink;honorable@@ end to their doomed family. - <<set _winner.devotion += 4>> - <<else>> - $He shows little reaction to the death of $his father at $his own hand. In the coming days, it becomes clear that this is because $he is @@.red;no longer capable@@ of reacting to anything on an emotional level. Ever again. - <<set _winner.fetish = "mindbroken">> - <<set _winner.fetishKnown = 1>> - <</if>> - <<elseif _loser.mother == _winner.ID || _loser.father == _winner.ID>> - <<if (_winner.devotion > 95)>> - $He is so worshipful of you that $he sees the death of $his _daughter2 at $his own hand as an @@.hotpink;honorable@@ end to their doomed family. - <<set _winner.devotion += 4>> - <<else>> - $He shows little reaction to the death of $his _daughter2 at $his own hand. In the coming days, it becomes clear that this is because $he is @@.red;no longer capable@@ of reacting to anything on an emotional level. Ever again. + $He shows little reaction to the death of $his <<print relativeTerm(_winner, _loser)>> at $his own hand. In the coming days, it becomes clear that this is because $he is @@.red;no longer capable@@ of reacting to anything on an emotional level. Ever again. <<set _winner.fetish = "mindbroken">> <<set _winner.fetishKnown = 1>> <</if>> @@ -661,19 +643,19 @@ In any case, <<if $pitAnimal == 0>>both of the slaves have<<else>>the slave and <<switch areSisters(_winner, _loser)>> <<case 1>> <<if (_winner.devotion > 95)>> - $He is so worshipful of you that $he sees the death of $his twin at $his own hand as an @@.hotpink;honorable@@ end to their doomed family. + $He is so worshipful of you that $he sees the death of $his <<print relativeTerm(_winner, _loser)>> at $his own hand as an @@.hotpink;honorable@@ end to their doomed family. <<set _winner.devotion += 4>> <<else>> - $He shows little reaction to the death of $his twin at $his own hand. In the coming days, it becomes clear that this is because $he is @@.red;no longer capable@@ of reacting to anything on an emotional level. Ever again. + $He shows little reaction to the death of $his <<print relativeTerm(_winner, _loser)>> at $his own hand. In the coming days, it becomes clear that this is because $he is @@.red;no longer capable@@ of reacting to anything on an emotional level. Ever again. <<set _winner.fetish = "mindbroken">> <<set _winner.fetishKnown = 1>> <</if>> <<case 2>> <<if (_winner.devotion > 95)>> - $He is so worshipful of you that $he sees the death of $his _sister2 at $his own hand as an @@.hotpink;honorable@@ end to their doomed family. + $He is so worshipful of you that $he sees the death of $his <<print relativeTerm(_winner, _loser)>> at $his own hand as an @@.hotpink;honorable@@ end to their doomed family. <<set _winner.devotion += 4>> <<else>> - $He shows little reaction to the death of $his _sister2 at $his own hand. In the coming days, it becomes clear that this is because $he is @@.red;no longer capable@@ of reacting to anything on an emotional level. Ever again. + $He shows little reaction to the death of $his <<print relativeTerm(_winner, _loser)>> at $his own hand. In the coming days, it becomes clear that this is because $he is @@.red;no longer capable@@ of reacting to anything on an emotional level. Ever again. <<set _winner.fetish = "mindbroken">> <<set _winner.fetishKnown = 1>> <</if>> @@ -688,10 +670,10 @@ In any case, <<if $pitAnimal == 0>>both of the slaves have<<else>>the slave and <</switch>> <<elseif (_winner.relation != 0) && (_loser.ID == _winner.relationTarget)>> <<if (_winner.devotion > 95)>> - $He is so worshipful of you that $he sees the death of $his _loser.relation at $his own hand as an @@.hotpink;honorable@@ end to their doomed family. + $He is so worshipful of you that $he sees the death of $his <<print relativeTerm(_winner, _loser)>> at $his own hand as an @@.hotpink;honorable@@ end to their doomed family. <<set _winner.devotion += 4>> <<else>> - $He shows little reaction to the death of $his _loser.relation at $his own hand. In the coming days, it becomes clear that this is because $he is @@.red;no longer capable@@ of reacting to anything on an emotional level. Ever again. + $He shows little reaction to the death of $his <<print relativeTerm(_winner, _loser)>> at $his own hand. In the coming days, it becomes clear that this is because $he is @@.red;no longer capable@@ of reacting to anything on an emotional level. Ever again. <<set _winner.fetish = "mindbroken">> <<set _winner.fetishKnown = 1>> <</if>> diff --git a/src/uncategorized/seNonlethalPit.tw b/src/uncategorized/seNonlethalPit.tw index 572351d77c1e404aace3bb94a94a7dfeaa2ca6bd..9527e44303df8cb5b7e617c205d3471e4e0e8928 100644 --- a/src/uncategorized/seNonlethalPit.tw +++ b/src/uncategorized/seNonlethalPit.tw @@ -868,55 +868,10 @@ <<elseif (_winner.relationship >= 0) && (_loser.ID == _winner.relationshipTarget)>> $He @@.mediumorchid;hates@@ having to abuse _loser.slaveName. <<set _winner.devotion -= 10>> -<<elseif _winner.mother == _loser.ID>> - <<if _winner.devotion > 20>> - $He accepts having to abuse $his mother, _loser.slaveName, and plans to make it up to _him2 later. - <<else>> - _winner.slaveName is unenthusiastic and just thrusts mechanically, to avoid being punished. $He @@.mediumorchid;resents@@ having to fight and fuck. The audience barely pays attention. - <<set _winner.devotion -= 2>> - <</if>> -<<elseif _winner.father == _loser.ID>> - <<if _winner.devotion > 20>> - $He accepts having to abuse $his father, _loser.slaveName, and plans to make it up to _him2 later. - <<else>> - $He @@.mediumorchid;hates@@ having to abuse $his father, _loser.slaveName. - <<set _winner.devotion -= 10>> - <</if>> -<<elseif _loser.mother == _winner.ID || _loser.father == _winner.ID>> - <<if _winner.devotion > 20>> - $He accepts having to abuse $his _daughter2, _loser.slaveName, and plans to make it up to _him2 later. - <<else>> - $He @@.mediumorchid;hates@@ having to abuse $his _daughter2, _loser.slaveName. - <<set _winner.devotion -= 10>> - <</if>> -<<elseif _winner.sisters > 0>> - <<switch areSisters(_winner, _loser)>> - <<case 1>> - <<if _winner.devotion > 20>> - $He accepts having to abuse $his twin _sister2, _loser.slaveName, and plans to make it up to _him2 later. - <<else>> - $He @@.mediumorchid;hates@@ having to abuse $his twin _sister2, _loser.slaveName. - <<set _winner.devotion -= 10>> - <</if>> - <<case 2>> - <<if _winner.devotion > 20>> - $He accepts having to abuse $his _sister2, _loser.slaveName, and plans to make it up to _him2 later. - <<else>> - $He @@.mediumorchid;hates@@ having to abuse $his _sister2, _loser.slaveName. - <<set _winner.devotion -= 10>> - <</if>> - <<case 3>> - <<if _winner.devotion > 20>> - $He accepts having to abuse $his half-<<= _sister2>>, _loser.slaveName, and plans to make it up to _him2 later. - <<else>> - $He @@.mediumorchid;hates@@ having to abuse $his half-<<= _sister2>>, _loser.slaveName. - <<set _winner.devotion -= 10>> - <</if>> - <</switch>> -<<elseif (_winner.relation != 0) && (_loser.ID == _winner.relationTarget) && (_winner.devotion > 20)>> - $He accepts having to abuse _loser.slaveName, and plans to make it up to _him2 later. -<<elseif (_winner.relation != 0) && (_loser.ID == _winner.relationTarget)>> - $He @@.mediumorchid;hates@@ having to abuse _loser.slaveName. +<<elseif areRelated(_winner, _loser) && (_winner.devotion > 20)>> + $He accepts having to abuse $his <<print relativeTerm(_winner, _loser)>>, _loser.slaveName, and plans to make it up to _him2 later. +<<elseif areRelated(_winner, _loser)>> + $He @@.mediumorchid;hates@@ having to abuse $his <<print relativeTerm(_winner, _loser)>>, _loser.slaveName. <<set _winner.devotion -= 10>> <</if>> <<if _winner.fetish == "sadist" && _winner.fetishStrength > 90 && _winner.sexualFlaw != "malicious" && _winner.devotion > 20>> @@ -957,66 +912,11 @@ _He2 @@.mediumorchid;hates@@ having to accept rape from _winner.slaveName, and @@.gold;fears@@ that it will happen again. <<set _loser.trust -= 10>> <<set _loser.devotion -= 10>> -<<elseif _loser.mother == _winner.ID>> - <<if _loser.devotion > 20>> - _He2 accepts _his2 mother, _winner.slaveName, having to rape _him2, but _he2 @@.gold;fears@@ that it will happen again. - <<set _loser.trust -= 10>> - <<else>> - _He2 @@.mediumorchid;hates@@ having to accept rape from _his2 own mother, _winner.slaveName, and @@.gold;fears@@ that it will happen again. - <<set _loser.devotion -= 10>> - <<set _loser.trust -= 10>> - <</if>> -<<elseif _loser.father == _winner.ID>> - <<if _loser.devotion > 20>> - _He2 accepts _his2 father, _winner.slaveName, having to rape _him2, but _he2 @@.gold;fears@@ that it will happen again. - <<set _loser.trust -= 10>> - <<else>> - _He2 @@.mediumorchid;hates@@ having to accept rape from _his2 own father, _winner.slaveName, and @@.gold;fears@@ that it will happen again. - <<set _loser.devotion -= 10>> - <<set _loser.trust -= 10>> - <</if>> -<<elseif _winner.mother == _loser.ID || _winner.father == _loser.ID>> - <<if _loser.devotion > 20>> - _He2 accepts _his2 $daughter, _winner.slaveName, having to rape _him2, but _he2 @@.gold;fears@@ that it will happen again. - <<set _loser.trust -= 10>> - <<set _loser.devotion -= 10>> - <<set _loser.trust -= 10>> - <</if>> -<<elseif _loser.sisters > 0>> - <<switch areSisters(_winner, _loser)>> - <<case 1>> - <<if _loser.devotion > 20>> - _He2 accepts _his2 twin $sister, _winner.slaveName, having to rape _him2, but _he2 @@.gold;fears@@ that it will happen again. - <<set _loser.trust -= 10>> - <<else>> - _He2 @@.mediumorchid;hates@@ having to accept rape from _his2 own twin $sister, _winner.slaveName, and @@.gold;fears@@ that it will happen again. - <<set _loser.devotion -= 10>> - <<set _loser.trust -= 10>> - <</if>> - <<case 2>> - <<if _loser.devotion > 20>> - _He2 accepts _his2 $sister, _winner.slaveName, having to rape _him2, but _he2 @@.gold;fears@@ that it will happen again. - <<set _loser.trust -= 10>> - <<else>> - _He2 @@.mediumorchid;hates@@ having to accept rape from _his2 own $sister, _winner.slaveName, and @@.gold;fears@@ that it will happen again. - <<set _loser.devotion -= 10>> - <<set _loser.trust -= 10>> - <</if>> - <<case 3>> - <<if _loser.devotion > 20>> - _He2 accepts _his2 half-<<= $sister>>, _winner.slaveName, having to rape _him2, but _he2 @@.gold;fears@@ that it will happen again. - <<set _loser.trust -= 10>> - <<else>> - _He2 @@.mediumorchid;hates@@ having to accept rape from _his2 own half-<<= $sister>>, _winner.slaveName, and @@.gold;fears@@ that it will happen again. - <<set _loser.devotion -= 10>> - <<set _loser.trust -= 10>> - <</if>> - <</switch>> -<<elseif (_loser.relation != 0) && (_winner.ID == _loser.relationTarget) && (_loser.devotion > 20)>> - _He2 accepts _winner.slaveName having to rape _him2, but _he2 @@.gold;fears@@ that it will happen again. +<<elseif areRelated(_loser, _winner) && (_loser.devotion > 20)>> + _He2 accepts $his <<print relativeTerm(_loser, _winner)>>, _winner.slaveName, having to rape _him2, but _he2 @@.gold;fears@@ that it will happen again. <<set _loser.trust -= 10>> -<<elseif (_loser.relation != 0) && (_winner.ID == _loser.relationTarget)>> - _He2 @@.mediumorchid;hates@@ having to accept rape from _winner.slaveName, and @@.gold;fears@@ that it will happen again. +<<elseif areRelated(_loser, _winner)>> + _He2 @@.mediumorchid;hates@@ having to accept rape from $his <<print relativeTerm(_loser, _winner)>>, _winner.slaveName, and @@.gold;fears@@ that it will happen again. <<set _loser.devotion -= 10>> <<set _loser.trust -= 10>> <</if>> diff --git a/src/uncategorized/servantsQuartersReport.tw b/src/uncategorized/servantsQuartersReport.tw index 3db2eae19d40a48e6ad3698b2a84750e2c22fb6c..20e0066dfdeb5dd2ea5e1fb9d25361f4fe29e09a 100644 --- a/src/uncategorized/servantsQuartersReport.tw +++ b/src/uncategorized/servantsQuartersReport.tw @@ -122,12 +122,9 @@ <<elseif $Stewardess.relationshipTarget == $slaves[$i].ID>> $He dotes over $his <<print relationshipTerm($Stewardess)>>, $slaves[$i].slaveName, making sure _he2 knows how to do a good job and keeping _him2 well stocked with everything _he2 needs. <<set $slaves[$i].devotion++>> - <<elseif $familyTesting == 1 && areRelated($Stewardess, $slaves[$i]) > 0>> + <<elseif areRelated($Stewardess, $slaves[$i])>> $He pays special attention to $his <<print relativeTerm($Stewardess,$slaves[$i])>>, $slaves[$i].slaveName, making sure _he2 doesn't slack off just because they are related. <<set $slaves[$i].trust++>> - <<elseif $Stewardess.relationTarget == $slaves[$i].ID && $familyTesting == 0>> - $He pays special attention to $his $slaves[$i].relation, $slaves[$i].slaveName, making sure _he2 doesn't slack off just because they are related. - <<set $slaves[$i].trust++>> <</if>> <<switch $slaves[$i].prestigeDesc>> <<case "$He is a famed Free Cities whore, and commands top prices.">> diff --git a/src/uncategorized/spaReport.tw b/src/uncategorized/spaReport.tw index bc108dc5141f431b768213d2115f03fb4e79c54d..943ee0c4ff005866cd4cad908f4e12ab08e9f757 100644 --- a/src/uncategorized/spaReport.tw +++ b/src/uncategorized/spaReport.tw @@ -114,13 +114,10 @@ <<elseif $Attendant.relationshipTarget == $slaves[$i].ID>> $He dedicates most of $his attention to $his <<print relationshipTerm($Attendant)>>, $slaves[$i].slaveName, making _his2 stress, both physical and mental, wash away. <<set $slaves[$i].devotion += 3, $slaves[$i].trust += 3>> - <<elseif $familyTesting == 1 && areRelated($Attendant, $slaves[$i]) > 0>> + <<elseif areRelated($Attendant, $slaves[$i])>> $He makes sure to spend extra time caring for $his <<print relativeTerm($Attendant,$slaves[$i])>>, $slaves[$i].slaveName. <<set $slaves[$i].trust++>> <<run improveCondition($slaves[$i], 1)>> - <<elseif $Attendant.relationTarget == $slaves[$i].ID && $familyTesting == 0>> - $He makes sure to spend extra time caring for $his $slaves[$i].relation, $slaves[$i].slaveName. - <<set $slaves[$i].trust++>> <</if>> <<switch $slaves[$i].prestigeDesc>> <<case "$He is a famed Free Cities whore, and commands top prices.">> diff --git a/src/uncategorized/surgeryDegradation.tw b/src/uncategorized/surgeryDegradation.tw index 70e6a15d7997c4aa7e60fd71f7ed06ec89e996df..ae4ad678c509f9e14e6bdba03507e6e1c26d4d5c 100644 --- a/src/uncategorized/surgeryDegradation.tw +++ b/src/uncategorized/surgeryDegradation.tw @@ -128,55 +128,25 @@ As the remote surgery's long recovery cycle completes, <<run generatePronouns($activeSlave)>> <<setLocalPronouns $activeSlave>> <<if $familyTesting == 1>> - <<for $j = 0; $j < $slaves.length; $j++>> - <<if $activeSlave.mother == $slaves[$j].ID>> - <<setLocalPronouns $slaves[$j] 2>> - $slaves[$j].slaveName will be @@.mediumorchid;horrified@@ and @@.gold;afraid@@ when _he2 finds out that _his2 $daughter is now a Fuckdoll. - <<set $slaves[$j].devotion -= 40, $slaves[$j].trust -= 40>> - <</if>> - <<if $activeSlave.father == $slaves[$j].ID>> - <<setLocalPronouns $slaves[$j] 2>> - $slaves[$j].slaveName will be @@.mediumorchid;horrified@@ and @@.gold;afraid@@ when _he2 finds out that _his2 $daughter is now a Fuckdoll. - <<set $slaves[$j].devotion -= 40, $slaves[$j].trust -= 40>> + <<set _rels = $slaves.filter((s) => areRelated(s, $activeSlave) && !(s.ID === $activeSlave.relationshipTarget))>> + <<for _rel range _rels>> + <<setLocalPronouns _rel 2>> + <<if isParentP($activeSlave, _rel) || isParentP(_rel, $activeSlave)>> + _rel.slaveName will be @@.mediumorchid;horrified@@ and @@.gold;afraid@@ when _he2 finds out that _his2 <<print relativeTerm(_rel, $activeSlave)>> is now a Fuckdoll. + <<set _rel.devotion -= 40, _rel.trust -= 40>> <</if>> - <<if $activeSlave.ID == $slaves[$j].father>> - <<setLocalPronouns $slaves[$j] 2>> - $slaves[$j].slaveName will be @@.mediumorchid;horrified@@ and @@.gold;afraid@@ when _he2 finds out that _his2 father is now a Fuckdoll. - <<set $slaves[$j].devotion -= 40, $slaves[$j].trust -= 40>> - <</if>> - <<if $activeSlave.ID == $slaves[$j].mother>> - <<setLocalPronouns $slaves[$j] 2>> - $slaves[$j].slaveName will be @@.mediumorchid;horrified@@ and @@.gold;afraid@@ when _he2 finds out that _his2 mother is now a Fuckdoll. - <<set $slaves[$j].devotion -= 40, $slaves[$j].trust -= 40>> - <</if>> - <<switch areSisters($activeSlave, $slaves[$j])>> + <<switch areSisters($activeSlave, _rel)>> <<case 1>> - <<setLocalPronouns $slaves[$j] 2>> - $slaves[$j].slaveName will be @@.mediumorchid;horrified@@ and @@.gold;afraid@@ when _he2 finds out that _his2 twin is now a Fuckdoll. Is _he2 next? - <<set $slaves[$j].devotion -= 50, $slaves[$j].trust -= 50>> + _rel.slaveName will be @@.mediumorchid;horrified@@ and @@.gold;afraid@@ when _he2 finds out that _his2 twin is now a Fuckdoll. Is _he2 next? + <<set _rel.devotion -= 50, _rel.trust -= 50>> <<case 2>> - <<setLocalPronouns $slaves[$j] 2>> - $slaves[$j].slaveName will be @@.mediumorchid;horrified@@ and @@.gold;afraid@@ when _he2 finds out that _his2 $sister is now a Fuckdoll. - <<set $slaves[$j].devotion -= 40, $slaves[$j].trust -= 40>> + _rel.slaveName will be @@.mediumorchid;horrified@@ and @@.gold;afraid@@ when _he2 finds out that _his2 $sister is now a Fuckdoll. + <<set _rel.devotion -= 40, _rel.trust -= 40>> <<case 3>> - <<setLocalPronouns $slaves[$j] 2>> - $slaves[$j].slaveName will be @@.mediumorchid;horrified@@ and @@.gold;afraid@@ when _he2 finds out that _his2 half-<<= $sister>> is now a Fuckdoll. - <<set $slaves[$j].devotion -= 30, $slaves[$j].trust -= 30>> + _rel.slaveName will be @@.mediumorchid;horrified@@ and @@.gold;afraid@@ when _he2 finds out that _his2 half-<<= $sister>> is now a Fuckdoll. + <<set _rel.devotion -= 30,_rel.trust -= 30>> <</switch>> <</for>> - <<if $activeSlave.relationship > 0>> - <<set $j = $slaveIndices[$activeSlave.relationshipTarget]>> - <<if def $j>> - <<setLocalPronouns $slaves[$j] 2>> - $slaves[$j].slaveName will be @@.mediumorchid;horrified@@ and @@.gold;afraid@@ when _he2 finds out that _his2 <<if $activeSlave.relationship > 4>>$wife<<elseif $activeSlave.relationship > 3>>lover<<elseif $activeSlave.relationship > 2>>intimate friend<<elseif $activeSlave.relationship > 1>>best friend<<else>>friend<</if>> is now a Fuckdoll. - <<set $slaves[$j].devotion -= $activeSlave.relationship*10>> - <<set $slaves[$j].trust -= $activeSlave.relationship*10>> - <<set $slaves[$j].relationship = 0>> - <<set $slaves[$j].relationshipTarget = 0>> - <</if>> - <<elseif $activeSlave.relationship < 0>> - $His @@.lightsalmon;slave relationship to you is effectively over,@@ since everyone in the world outside $his suit is created equal to $him. $He'll probably forget to distinguish your <<if $PC.dick != 0>>dick if it's pushed inside $his<<else>>pussy if it's pressed against $his face hole<</if>> soon enough. - <</if>> <<else>> <<if $activeSlave.relation != 0>> <<set $j = $slaveIndices[$activeSlave.relationTarget]>> @@ -187,20 +157,21 @@ As the remote surgery's long recovery cycle completes, <<set $slaves[$j].trust -= 40>> <</if>> <</if>> - <<if $activeSlave.relationship > 0>> - <<set $j = $slaveIndices[$activeSlave.relationshipTarget]>> - <<if def $j>> - <<setLocalPronouns $slaves[$j] 2>> - $slaves[$j].slaveName will be @@.mediumorchid;horrified@@ and @@.gold;afraid@@ when _he2 finds out that _his2 <<if $activeSlave.relationshipTarget == $activeSlave.relationTarget>>$activeSlave.relation and<</if>> <<if $activeSlave.relationship > 4>>$wife<<elseif $activeSlave.relationship > 3>>lover<<elseif $activeSlave.relationship > 2>>intimate friend<<elseif $activeSlave.relationship > 1>>best friend<<else>>friend<</if>> is now a Fuckdoll. - <<set $slaves[$j].devotion -= $activeSlave.relationship*10>> - <<set $slaves[$j].trust -= $activeSlave.relationship*10>> - <<set $slaves[$j].relationship = 0>> - <<set $slaves[$j].relationshipTarget = 0>> - <</if>> - <<elseif $activeSlave.relationship < 0>> - $His @@.lightsalmon;slave relationship to you is effectively over,@@ since everyone in the world outside $his suit is created equal to $him. $He'll probably forget to distinguish your <<if $PC.dick != 0>>dick if it's pushed inside $his<<else>>pussy if it's pressed against $his face hole<</if>> soon enough. - <</if>> <</if>> /*closes extended family mode */ + <<if $activeSlave.relationship > 0>> + <<set $j = $slaveIndices[$activeSlave.relationshipTarget]>> + <<if def $j>> + <<setLocalPronouns $slaves[$j] 2>> + <<set _relTerm = relativeTerm($slaves[$j], $activeSlave)>> + $slaves[$j].slaveName will be @@.mediumorchid;horrified@@ and @@.gold;afraid@@ when _he2 finds out that _his2 <<if _relTerm != null>>_relTerm and<</if>> <<if $activeSlave.relationship > 4>>$wife<<elseif $activeSlave.relationship > 3>>lover<<elseif $activeSlave.relationship > 2>>intimate friend<<elseif $activeSlave.relationship > 1>>best friend<<else>>friend<</if>> is now a Fuckdoll. + <<set $slaves[$j].devotion -= $activeSlave.relationship*10>> + <<set $slaves[$j].trust -= $activeSlave.relationship*10>> + <<set $slaves[$j].relationship = 0>> + <<set $slaves[$j].relationshipTarget = 0>> + <</if>> + <<elseif $activeSlave.relationship < 0>> + $His @@.lightsalmon;slave relationship to you is effectively over,@@ since everyone in the world outside $his suit is created equal to $him. $He'll probably forget to distinguish your <<if $PC.dick != 0>>dick if it's pushed inside $his<<else>>pussy if it's pressed against $his face hole<</if>> soon enough. + <</if>> <<if $activeSlave.rivalry != 0>> <<set $j = $slaveIndices[$activeSlave.rivalryTarget]>> <<if def $j>>