From f141db4e29949ad4e8e1a9e3532875cf16af124e Mon Sep 17 00:00:00 2001 From: Trinidad <anchaiscastilla@gmail.com> Date: Tue, 25 Jun 2024 10:17:45 +0200 Subject: [PATCH] Clothes fixes, more neg body parts & fuckdoll fix --- src/art/genAI/prompts/arousalPromptPart.js | 3 +++ src/art/genAI/prompts/clothesPromptPart.js | 10 +++++++++- src/art/genAI/prompts/stylePromptPart.js | 10 +++++----- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/art/genAI/prompts/arousalPromptPart.js b/src/art/genAI/prompts/arousalPromptPart.js index a29a101338a..b7945789378 100644 --- a/src/art/genAI/prompts/arousalPromptPart.js +++ b/src/art/genAI/prompts/arousalPromptPart.js @@ -5,6 +5,9 @@ App.Art.GenAI.ArousalPromptPart = class ArousalPromptPart extends App.Art.GenAI. positive() { let prompt = {terms: [], weight: 1}; if (this.slave.visualAge < 18 && V.aiAgeFilter) { + if (asSlave(this.slave)?.fuckdoll > 0) { + return undefined; + } if (this.slave.energy > 60) { prompt.terms.push("blush"); } diff --git a/src/art/genAI/prompts/clothesPromptPart.js b/src/art/genAI/prompts/clothesPromptPart.js index 77269412db5..024103dff90 100644 --- a/src/art/genAI/prompts/clothesPromptPart.js +++ b/src/art/genAI/prompts/clothesPromptPart.js @@ -65,6 +65,10 @@ const clothesPrompts = { "positive": "lingerie, cupless bra, nipples, thong", "negative": "clothes, jeans, pants", }, + "attractive lingerie for a pregnant woman": { // Cupless part doesn't work well + "positive": "lingerie, cupless bra, nipples, thong", + "negative": "clothes, jeans, pants", + }, "kitty lingerie": { // Broken for photorealistic models, probably works for anime models "positive": "kitty lingerie, cat lingerie, kawaii lingerie", "negative": "cat ears, jeans, nude, pussy, nipples", @@ -477,6 +481,10 @@ const clothesPromptsAgeControl = { "positive": "strapless hello kitty swimsuit, visible shoulders", "negative": "cat ears, jeans", }, + "a maternity dress": { + "positive": "wide dress, loose dress", + "negative": "jeans, nude, pussy, nipples", + }, "a succubus outfit": { "positive": "demon costume, red leather top, red leather miniskirt, black demon horns", "negative": "jeans, nude, pussy, nipples", @@ -760,7 +768,7 @@ App.Art.GenAI.ClothesPromptPart = class ClothesPromptPart extends App.Art.GenAI. * @returns {string} */ addNegativeControl(negPrompt) { - const toAdd = ["penis", "pussy", "nipples", "nude", "scrotum", "clitoris"]; + const toAdd = ["penis", "pussy", "nude", "scrotum", "clitoris"]; if (this.slave.visualAge < 18 && V.aiAgeFilter) { toAdd.forEach(w => { if (!negPrompt.includes(w)) { diff --git a/src/art/genAI/prompts/stylePromptPart.js b/src/art/genAI/prompts/stylePromptPart.js index 9b5870a6a90..2949f729e73 100644 --- a/src/art/genAI/prompts/stylePromptPart.js +++ b/src/art/genAI/prompts/stylePromptPart.js @@ -12,13 +12,13 @@ App.Art.GenAI.StylePromptPart = class StylePromptPart extends App.Art.GenAI.Prom } case 1: // photorealistic if (this.slave.visualAge < 18 && V.aiAgeFilter) { - return "<lora:LowRA:0.5> front-up portrait, (tight medium shot:1.2), photorealistic, dark theme, black background"; + return "<lora:LowRA:0.5> front-up portrait, (tight medium shot:1.2), focus on face, photorealistic, dark theme, black background"; } else { return "<lora:LowRA:0.5> full body portrait, photorealistic, dark theme, black background"; } case 2: // anime/hentai if (this.slave.visualAge < 18 && V.aiAgeFilter) { - return "front-up portrait, (tight medium shot:1.1), 2d, anime, hentai, dark theme, black background"; + return "front-up portrait, (tight medium shot:1.1), focus on face, 2d, anime, hentai, dark theme, black background"; } else { return "full body portrait, 2d, anime, hentai, dark theme, black background"; } @@ -32,19 +32,19 @@ App.Art.GenAI.StylePromptPart = class StylePromptPart extends App.Art.GenAI.Prom switch (V.aiStyle) { case 0: // custom if (this.slave.visualAge < 18 && V.aiAgeFilter) { - return "(head out of frame), full shot, medium full shot, full body portrait, waist, hips, bottom, " + V.aiCustomStyleNeg; + return "(head out of frame), full shot, medium full shot, full body portrait, waist, hips, bottom, navel, legs, " + V.aiCustomStyleNeg; } else { return V.aiCustomStyleNeg; } case 1: // photorealistic if (this.slave.visualAge < 18 && V.aiAgeFilter) { - return "greyscale, monochrome, cg, render, unreal engine, (head out of frame), full shot, medium full shot, full body portrait, waist, hips, bottom"; + return "greyscale, monochrome, cg, render, unreal engine, (head out of frame), full shot, medium full shot, full body portrait, waist, hips, navel, bottom, legs"; } else { return "greyscale, monochrome, cg, render, unreal engine, closeup, medium shot"; } case 2: // anime/hentai if (this.slave.visualAge < 18 && V.aiAgeFilter) { - return "greyscale, monochrome, photography, 3d render, text, speech bubble, (head out of frame), full shot, medium full shot, full body portrait, waist, hips, bottom"; + return "greyscale, monochrome, photography, 3d render, text, speech bubble, (head out of frame), full shot, medium full shot, full body portrait, waist, hips, navel, bottom, legs"; } else { return "greyscale, monochrome, photography, 3d render, text, speech bubble, closeup, medium shot"; } -- GitLab