Skip to content
Snippets Groups Projects
Commit 307376e9 authored by svornost's avatar svornost
Browse files

AI prompt tweaks.

1. Adopt the proposed hormone balance overrides from my comments in !11560, since the discussion is dead there.  Should help folks with futas (or attempting hormone-assisted sissification) without breaking boys.
2. Rewrite hair prompts. Fixes a bunch of hairstyles that just wouldn't work before, and drops a couple of redundant tokens. Also, change the user-visible description of "tails" from "in tails" to "in pigtails" which seems clearer for both human and AI readers (you can verify this with a google image search, for example).
3. Tweak muscles prompts to more accurately represent heavily-muscled slaves, and add an additional visible tier of musculature corresponding to exceeding the Physical Idealist Fit Feminine Ideal policy threshold.
parent 7a75f330
No related branches found
No related tags found
1 merge request!11579AI prompt tweaks and a couple fixes
......@@ -326,7 +326,7 @@ App.Medicine.Modification.hairStyles = {
value: "ponytail"
},
{
title: "In tails",
title: "In pigtails",
value: "tails"
},
{
......
App.Art.GenAI.GenderPromptPart = class GenderPromptPart extends App.Art.GenAI.PromptPart {
get isFeminine() {
const hormoneTransitionThreshold = 100;
if (this.slave.hormoneBalance >= hormoneTransitionThreshold) {
return true; // transwoman (or hormone-boosted natural woman)
}
return this.slave.genes === "XX" && (this.slave.hormoneBalance > -hormoneTransitionThreshold); // natural woman, and NOT transman
}
/**
* @returns {string}
*/
positive() {
if (this.slave.genes === "XX") {
if (this.slave.visualAge > 20) {
if (this.isFeminine) {
if (this.slave.visualAge >= 20) {
return "woman";
} else {
return "girl";
}
} else {
if (this.slave.visualAge > 20) {
if (this.slave.visualAge >= 20) {
return "man";
} else {
return "boy";
......@@ -22,11 +30,8 @@ App.Art.GenAI.GenderPromptPart = class GenderPromptPart extends App.Art.GenAI.Pr
* @returns {string}
*/
negative() {
let facialHair = ``;
if (this.slave.hormoneBalance > -20) {
facialHair = "beard, mustache, ";
}
if (this.slave.genes === "XX") {
let facialHair = this.slave.hormoneBalance > -20 ? "beard, mustache, " : "";
if (this.isFeminine) {
return `${facialHair}boy, man`;
} else {
return `${facialHair}woman, girl`;
......
......@@ -3,10 +3,14 @@ App.Art.GenAI.HairPromptPart = class HairPromptPart extends App.Art.GenAI.Prompt
* @returns {string}
*/
positive() {
if (this.slave.hStyle === "bald" || this.slave.hLength === 0) {
if (this.slave.hStyle === "bald" || this.slave.hStyle === "shaved" || this.slave.hLength === 0) {
return `bald`;
}
const styleObj = App.Medicine.Modification.hairStyles.Normal.find(hs => hs.value === this.slave.hStyle);
let styleStr = (styleObj?.title || this.slave.hStyle).toLowerCase();
const stylePostfix = styleStr.startsWith("in") || styleStr === "up";
const heightVhLength = this.slave.hLength / this.slave.height;
let hairLength = '';
if (heightVhLength > 0.9) {
......@@ -22,14 +26,18 @@ App.Art.GenAI.HairPromptPart = class HairPromptPart extends App.Art.GenAI.Prompt
} else {
hairLength = `short`;
}
return `${this.slave.hStyle} hair, ${hairLength} hair, ${this.slave.hColor} hair`;
if (stylePostfix) {
return `${hairLength} ${this.slave.hColor} hair ${styleStr}`;
} else {
return `${this.slave.hStyle} hair, ${hairLength} ${this.slave.hColor} hair`;
}
}
/**
* @returns {string}
*/
negative() {
if (this.slave.hStyle === "bald" || this.slave.hLength === 0) {
if (this.slave.hStyle === "bald" || this.slave.hStyle === "shaved" || this.slave.hLength === 0) {
return `hair, long hair, short hair`;
}
return;
......
......@@ -4,6 +4,8 @@ App.Art.GenAI.MusclesPromptPart = class MusclesPromptPart extends App.Art.GenAI.
*/
positive() {
if (this.slave.muscles > 95) {
return `(very muscular:1.3), bodybuilder`;
} else if (this.slave.muscles > 50) {
return `(muscular:1.3)`;
} else if (this.slave.muscles > 30) {
return `(muscular:1.2)`;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment