From b46c1c72b54f42c17230bfb1bf03e060eb6d560c Mon Sep 17 00:00:00 2001 From: Arkerthan <arkerthan@mailbox.org> Date: Sun, 23 Mar 2025 13:32:08 +0100 Subject: [PATCH 1/5] Option to hide Main Menu Arcology Tab --- js/003-data/gameVariableData.js | 1 + src/gui/options/options.js | 3 +++ src/js/slaveListing.js | 8 +++++--- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js index 6b703ed3408..e128f157d2b 100644 --- a/js/003-data/gameVariableData.js +++ b/js/003-data/gameVariableData.js @@ -421,6 +421,7 @@ App.Data.defaultGameStateVariables = { useSlaveListInPageJSNavigation: 0, useSlaveSummaryOverviewTab: 0, useSlaveSummaryTabs: 0, + useSlaveArcologyTab: 0, useTabs: 0, verboseDescriptions: 0, verticalizeArcologyLinks: 0, diff --git a/src/gui/options/options.js b/src/gui/options/options.js index dc90d275dd2..366bfbf1185 100644 --- a/src/gui/options/options.js +++ b/src/gui/options/options.js @@ -979,6 +979,9 @@ App.Intro.display = function(isIntro) { options.addOption("Condense special slaves into their own tab", "useSlaveSummaryOverviewTab") .addValue("Enabled", 1).on().addValue("Disabled", 0).off(); + options.addOption("Main Menu category with all slaves", "useSlaveArcologyTab") + .addValue("Enabled", 1).on().addValue("Disabled", 0).off(); + options.addOption("Interactions with your fucktoys are", "fucktoyInteractionsPosition") .addValueList([["next to them", 1], ["at page bottom", 0]]); diff --git a/src/js/slaveListing.js b/src/js/slaveListing.js index 1512342fa9a..6ee4b86dd55 100644 --- a/src/js/slaveListing.js +++ b/src/js/slaveListing.js @@ -980,12 +980,12 @@ App.UI.SlaveList.penthousePage = function() { tabs.push(makeTabDesc("overview", "Special Roles", overviewTabContent())); } - tabs.push(penthouseTab()); - if (V.favorites.length > 0 || V.useSlaveSummaryTabs === 0) { tabs.push(favorites()); } + tabs.push(penthouseTab()); + // tabs for each assignment for (const jn of ph.jobsNames) { const slaves = _slavesForJob(jn); @@ -996,7 +996,9 @@ App.UI.SlaveList.penthousePage = function() { } } - tabs.push(arcologyTab()); + if (V.useSlaveArcologyTab) { + tabs.push(arcologyTab()); + } const tabBar = new App.UI.Tabs.TabBar("Main"); let buttonClass = undefined; -- GitLab From 9be2d125c8d3334e640662b81216720a4e159a4a Mon Sep 17 00:00:00 2001 From: Arkerthan <arkerthan@mailbox.org> Date: Tue, 25 Mar 2025 16:43:30 +0100 Subject: [PATCH 2/5] Fix arcology ownership is not updated correctly --- src/004-base/arcologyBuilding.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/004-base/arcologyBuilding.js b/src/004-base/arcologyBuilding.js index 162162f5a4f..53c712a9083 100644 --- a/src/004-base/arcologyBuilding.js +++ b/src/004-base/arcologyBuilding.js @@ -176,9 +176,9 @@ App.Arcology.Cell.BaseCell = class extends App.Entity.Serializable { span.append(App.Arcology.getCellLink("Sell", that.name, () => that.cellPassage(containingBuilding), () => { cashX(price(false), "capEx"); - App.Arcology.updateOwnership(); A.demandFactor -= DEMAND_FACTOR_DIFF; cell.owner = 0; + App.Arcology.updateOwnership(); })); fragment.append(" ", span); } @@ -192,8 +192,8 @@ App.Arcology.Cell.BaseCell = class extends App.Entity.Serializable { () => { cashX(-(price(true) + 10000), "capEx"); A.demandFactor += DEMAND_FACTOR_DIFF; - App.Arcology.updateOwnership(); cell.owner = 1; + App.Arcology.updateOwnership(); })); fragment.append(" ", buySpan); @@ -207,8 +207,8 @@ App.Arcology.Cell.BaseCell = class extends App.Entity.Serializable { () => { repX(-(repPrice), "capEx"); A.demandFactor += DEMAND_FACTOR_DIFF; - App.Arcology.updateOwnership(); cell.owner = 1; + App.Arcology.updateOwnership(); })); fragment.append(repDiv); } -- GitLab From 1651c678b8c8bf09e9d27d0eeeadde6190f7a0ed Mon Sep 17 00:00:00 2001 From: Arkerthan <arkerthan@mailbox.org> Date: Fri, 21 Mar 2025 22:21:02 +0100 Subject: [PATCH 3/5] Fix player pregnancy text condition --- src/endWeek/player/prPregnancy.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/endWeek/player/prPregnancy.js b/src/endWeek/player/prPregnancy.js index b2826c8b50b..803117e24e7 100644 --- a/src/endWeek/player/prPregnancy.js +++ b/src/endWeek/player/prPregnancy.js @@ -354,7 +354,7 @@ App.EndWeek.Player.pregnancy = function(PC = V.PC) { } } } else if (boobSize < boobTarget) { - if (PC.weight <= 35 && random(random(1, 100) > 50)) { + if (PC.weight <= 35 && random(1, 100) > 50) { r.push(`You can't help but <span class="change negative">put on a little baby weight</span> due to your increased appetite.`); PC.weight += 1; } -- GitLab From 74260024ad3c73118d61663c6402af1c52d47aee Mon Sep 17 00:00:00 2001 From: Arkerthan <arkerthan@mailbox.org> Date: Tue, 25 Mar 2025 17:02:34 +0100 Subject: [PATCH 4/5] Display proper icon for incubator notify --- src/arcologyBuilding/penthouse.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/arcologyBuilding/penthouse.js b/src/arcologyBuilding/penthouse.js index 396383f95e4..5581f0c629a 100644 --- a/src/arcologyBuilding/penthouse.js +++ b/src/arcologyBuilding/penthouse.js @@ -69,7 +69,7 @@ App.Arcology.Cell.Penthouse = class extends App.Arcology.Cell.BaseCell { (tankSlaveCount() + FetusGlobalReserveCount("incubator")), "empty tank")})`; if (App.Facilities.Incubator.readySlaves() > 0) { - wrapper.append(createFacilityDiv(link, App.UI.DOM.combineNodes(desc, App.UI.DOM.makeElement("span", "[!]", ["noteworthy"])))); + wrapper.append(createFacilityDiv(link, App.UI.DOM.combineNodes(desc, App.UI.DOM.makeElement("span", "\uf06a", ["noteworthy", "icons"])))); } else { wrapper.append(createFacilityDiv(link, desc)); } -- GitLab From 2c0fb31baa619f5aa2a0537b600c0f9cba01f1b5 Mon Sep 17 00:00:00 2001 From: Arkerthan <arkerthan@mailbox.org> Date: Tue, 25 Mar 2025 17:14:09 +0100 Subject: [PATCH 5/5] Fix slave anal/vaginal skill resets --- src/npc/startingGirls/startingGirls.js | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/npc/startingGirls/startingGirls.js b/src/npc/startingGirls/startingGirls.js index e3d43ed274f..2f8d9e377f7 100644 --- a/src/npc/startingGirls/startingGirls.js +++ b/src/npc/startingGirls/startingGirls.js @@ -149,14 +149,20 @@ App.StartingGirls.cleanup = function(slave) { if (slave.anus <= 0) { slave.skill.anal = 0; - } else if ((slave.anus > 2 && slave.skill.anal <= 10) || (slave.anus === 0 && slave.skill.anal > 30)) { - slave.skill.anal = 15; + } else if (slave.anus <= 1) { + slave.skill.anal = Math.min(slave.skill.anal, 35); + } else if (slave.anus > 2) { + slave.skill.anal = Math.max(slave.skill.anal, 15); } - if (slave.vagina < 0) { + + if (slave.vagina <= 0) { slave.skill.vaginal = 0; - } else if ((slave.vagina > 2 && slave.skill.vaginal <= 10) || (slave.vagina === 0 && slave.skill.vaginal > 30)) { - slave.skill.vaginal = 15; + } else if (slave.vagina <= 1) { + slave.skill.vaginal = Math.min(slave.skill.vaginal, 35); + } else if (slave.vagina > 2) { + slave.skill.vaginal = Math.max(slave.skill.vaginal, 15); } + if (slave.dick > 0 && slave.physicalAge >= slave.pubertyAgeXY + 2 && slave.skill.penetrative <= 10) { slave.skill.penetrative = 15; } -- GitLab