From 3237ee1aaa41b5dd6974e69759933356d870204f Mon Sep 17 00:00:00 2001 From: Svornost <11434-svornost@users.noreply.gitgud.io> Date: Tue, 31 Oct 2023 14:45:39 -0400 Subject: [PATCH] Make nationality prompting optional. --- js/003-data/gameVariableData.js | 1 + src/art/genAI/nationalityPromptPart.js | 8 +++++++- src/gui/options/options.js | 3 +++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js index 635f2b522be..1e18d4fb675 100644 --- a/js/003-data/gameVariableData.js +++ b/js/003-data/gameVariableData.js @@ -179,6 +179,7 @@ App.Data.defaultGameStateVariables = { aiCustomStyleNeg: "", aiCustomStylePos: "", aiHeight: 768, + aiNationality: 2, aiSamplingMethod: "DPM++ 2M SDE Karras", aiSamplingSteps: 20, aiStyle: 1, diff --git a/src/art/genAI/nationalityPromptPart.js b/src/art/genAI/nationalityPromptPart.js index aec2b4ded3f..2318e4b0050 100644 --- a/src/art/genAI/nationalityPromptPart.js +++ b/src/art/genAI/nationalityPromptPart.js @@ -35,7 +35,13 @@ App.Art.GenAI.NationalityPromptPart = class NationalityPromptPart extends App.Ar if (this.slave.nationality.endsWith("Revivalist")) { return; } - return microstateFix[this.slave.nationality] || this.slave.nationality; + const nationalityPrompt = microstateFix[this.slave.nationality] || this.slave.nationality; + switch (V.aiNationality) { + case 0: return; // disabled + case 1: return `[${nationalityPrompt}]`; // weak + case 2: return nationalityPrompt; // strong; + default: throw new Error("Unexpected value for aiNationality"); + } } /** diff --git a/src/gui/options/options.js b/src/gui/options/options.js index 5656e386cf3..a67528845f7 100644 --- a/src/gui/options/options.js +++ b/src/gui/options/options.js @@ -1147,6 +1147,9 @@ App.UI.aiPromptingOptions = function(options) { } else if (V.aiStyle === 2) { options.addComment("For best results, use an appropriately-trained hentai base model, such as Hassaku."); } + options.addOption("Nationality factor in prompt", "aiNationality") + .addValue("Strong", 2).addValue("Weak", 1).on().addValue("Disabled", 0).off() + .addComment("Helps differentiate between ethnicities that share a Free Cities race, like Japanese and Korean or Spanish and Greek. May cause flags/national colors to appear unexpectedly, and can have a negative impact on slaves that belong to a minority race for their nationality."); }; App.UI.artOptions = function() { -- GitLab