diff --git a/CHANGELOG.md b/CHANGELOG.md index 715bcd2c68a489277524bf2777124b109f7c0521..267d1308c0e89142d28646d32a7932383399d482 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ## Unreleased * Arcade DOM conversion +* Farmyard DOM conversion ## 0.10.7.1-4.0.0-alpha.4 - 2021-06-26 diff --git a/src/endWeek/nextWeek/resetGlobals.js b/src/endWeek/nextWeek/resetGlobals.js index e3dac2a4ce278c4cbbca0dc48b4bf33f503adca9..183ec6d4a276d3683134c081fe34191162536b14 100644 --- a/src/endWeek/nextWeek/resetGlobals.js +++ b/src/endWeek/nextWeek/resetGlobals.js @@ -19,6 +19,7 @@ App.EndWeek.resetGlobals = function() { V.PETSevent = []; V.FSNonconformistEvents = []; V.REButtholeCheckinIDs = []; + V.eligibleSlaves = []; // Slave Objects using 0 instead of null. Second most memory eaten up. V.activeSlave = 0; diff --git a/src/events/RE/reBusyServantsQuarters.js b/src/events/RE/reBusyServantsQuarters.js index efe6fb52312f6766d66fc9eb4629a225c9224cc8..fd47a24e6688e70f51e8f0615d7afdab705a75c5 100644 --- a/src/events/RE/reBusyServantsQuarters.js +++ b/src/events/RE/reBusyServantsQuarters.js @@ -21,7 +21,19 @@ App.Events.REBusyServantsQuarters = class REBusyServantsQuarters extends App.Eve for (const slave of V.slaves) { if (slave.assignment !== Job.QUARTER) { slave.devotion += 4; - actX(slave, "oral", 3); + if (canPenetrate(slave)) { + actX(slave, "penetrative", 2); + if (canDoVaginal(slave)) { + actX(slave, "vaginal", 1); + } else { + actX(slave, "penetrative", 1); + } + } else if (canDoVaginal(slave)) { + actX(slave, "vaginal", 2); + actX(slave, "penetrative", 1); + } else { + actX(slave, "penetrative", 3); + } } else { slave.devotion -= 5; if (canDoVaginal(slave) && slave.vagina > 0) { diff --git a/src/js/utilsSlaves.js b/src/js/utilsSlaves.js index 49338f9dfd6ec1506c6b94baa421952b63fc19b8..86b3b0590ed39c12ea680637bb598ecff511a78d 100644 --- a/src/js/utilsSlaves.js +++ b/src/js/utilsSlaves.js @@ -1,13 +1,9 @@ globalThis.cumSlaves = function() { return V.slaves.filter(s => (s.assignment === Job.MILKED || s.assignment === Job.DAIRY) && s.balls > 0 && s.ballType === "human"); -}; +} globalThis.fuckSlavesLength = function() { return V.slaves.filter(s => [Job.FUCKTOY, Job.MASTERSUITE, Job.CONCUBINE].includes(s.assignment)).length; -}; - -globalThis.getRieEligibleSlaves = function() { - return V.slaves.filter(s => assignmentVisible(s) || [Job.MASTERSUITE, Job.CONCUBINE, Job.HOUSE].includes(s.assignment) && s.fuckdoll === 0); -}; +} globalThis.SlaveSort = function() { const effectivePreg = (slave) => { diff --git a/src/uncategorized/randomIndividualEvent.tw b/src/uncategorized/randomIndividualEvent.tw index c0aa662f7e22f1b3eca95cb6aa26cc5054685042..30c5424c9e4f1751959225506830d6759e377273 100644 --- a/src/uncategorized/randomIndividualEvent.tw +++ b/src/uncategorized/randomIndividualEvent.tw @@ -1,7 +1,6 @@ :: Random Individual Event [nobr] <<if $eventSlave == 0>> - <<set _eligibleSlaves = getRieEligibleSlaves()>> <<if ($debugMode > 0 && $debugModeEventSelection > 0)>> <<set $nextButton = "Refresh", $nextLink = "Random Individual Event", $returnTo = "Random Individual Event", $encyclopedia = "Random Events">> @@ -10,25 +9,32 @@ ''One of the following eligible slaves would have been selected for an individual random event:'' <br> - <<for _slave range _eligibleSlaves>> - <<set _slaveName = SlaveFullName(_slave)>> - <br><<print "[[_slaveName|Random Individual Event][$eventSlave = getSlave(_slave)]]">> + <<for $i = 0; $i < $eligibleSlaves.length; $i++>> + <<capture $i>> + <<set $eventSlave = getSlave($eligibleSlaves[$i])>> + <<set _slaveName = SlaveFullName($eventSlave)>> + <br><<print "[[_slaveName|Random Individual Event][$eventSlave = getSlave($eligibleSlaves[$i])]]">> + <</capture>> <</for>> <br><br>[[Switch to Random Nonindividual Event|Random Nonindividual Event][$activeSlave = 0, $eventSlave = 0]] <<else>> - <<set $eventSlave = getSlave(_eligibleSlaves.random())>> + <<set $eventSlave = getSlave($eligibleSlaves.random())>> <<goto "Random Individual Event">> <</if>> <<else>> + /* initialize event lists as arrays [], not objects {} */ <<set $events = [], $RESSevent = [], $RESSTRevent = [], $RETSevent = [], $RECIevent = [], $activeSlave = 0, $legendaryFacility = 0>> <<run generateRandomEventPool($eventSlave)>> + /* EVENT RANDOMIZATION */ <<set $events = populateEventArray().concat(App.Events.getIndividualEventsPassageList($eventSlave))>> + <<if ($debugMode > 0 && $debugModeEventSelection > 0)>> <<goto "random event select">> <<else>> <<goto "random event roll">> <</if>> + <</if>> /* CLOSES SLAVE SELECT */ diff --git a/src/uncategorized/rieEligibilityCheck.tw b/src/uncategorized/rieEligibilityCheck.tw index da8ad9786309e34c79b01e6733de59729629d42d..21e47a71f33576a6a8660d4bdc4209bd90179b56 100644 --- a/src/uncategorized/rieEligibilityCheck.tw +++ b/src/uncategorized/rieEligibilityCheck.tw @@ -1,12 +1,23 @@ :: RIE Eligibility Check <<silently>> -<<set $eventSlave = 0>> + +<<set $eventSlave = 0, $eligibleSlaves = []>> + +<<for $i = 0; $i < $slaves.length; $i++>> + <<if assignmentVisible($slaves[$i]) || $slaves[$i].assignment == "serve in the master suite" || $slaves[$i].assignment == "be your Concubine" || $slaves[$i].assignment == "work as a servant">> + <<if $slaves[$i].fuckdoll == 0>> + <<set $eligibleSlaves.push($slaves[$i].ID)>> + <</if>> + <</if>> +<</for>> + <<if $hostageRescued == 1>> <<goto "P hostage acquisition">> -<<elseif getRieEligibleSlaves().length === 0>> +<<elseif $eligibleSlaves.length == 0>> <<goto "Next Week">> <<else>> <<goto "Random Individual Event">> <</if>> + <</silently>>