diff --git a/build_dynamic_prompt.py b/build_dynamic_prompt.py index 9a509c4..3b758d8 100644 --- a/build_dynamic_prompt.py +++ b/build_dynamic_prompt.py @@ -117,6 +117,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all coveringlist = csv_to_list("coverings", antilist) facepartlist = csv_to_list("faceparts", antilist) outfitvomitlist = csv_to_list(csvfilename="outfitvomit",antilist=antilist,delimiter="?") + humanexpressionlist = csv_to_list(csvfilename="humanexpressions",antilist=antilist,delimiter="?") # additional descriptor lists @@ -271,6 +272,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all emojichance = 'legendary' buildfacechance = 'legendary' + humanexpressionchance = 'rare' joboractivitychance = 'normal' custominputmidrepeats = 2 @@ -422,8 +424,10 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all emojichance = item[1] if(hardturnoffemojis==True): emojichance='never' - if item[0] == 'emojichance': + if item[0] == 'buildfacechance': buildfacechance = item[1] + if item[0] == 'humanexpressionchance': + humanexpressionchance = item[1] if item[0] == 'joboractivitychance': joboractivitychance = item[1] @@ -720,6 +724,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all generatetimeperiod = bool(timeperiodlist) and not specialmode generateemoji = bool(emojilist) and not templatemode generateface = bool(buildfacelist) and not templatemode + generatehumanexpression = bool(humanexpressionlist) and not templatemode # specials: generatebackground = bool(backgroundtypelist) and not specialmode @@ -1811,6 +1816,10 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all # emoji, legendary if(subjectchooser in ["animal as human,","human","fictional", "non fictional", "humanoid", "manwomanrelation","manwomanmultiple","firstname"] and chance_roll(insanitylevel, emojichance) and generateemoji== True): completeprompt += "-emoji-, " + + # human expressions + if(subjectchooser in ["animal as human,","human","fictional", "non fictional", "humanoid", "manwomanrelation","manwomanmultiple","firstname"] and chance_roll(insanitylevel, humanexpressionchance) and generatehumanexpression== True): + completeprompt += "-humanexpression-, " # cosplaying @@ -2468,9 +2477,10 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all "-outfitvomit-" in completeprompt or "-locationdescriptor-" in completeprompt or "-basicbitchdescriptor-" in completeprompt or - "-animaldescriptor-" in completeprompt): - allwildcardslistnohybrid = [ "-color-","-object-", "-animal-", "-fictional-","-nonfictional-","-building-","-vehicle-","-location-","-conceptprefix-","-food-","-haircolor-","-hairstyle-","-job-", "-accessory-", "-humanoid-", "-manwoman-", "-human-", "-colorscheme-", "-mood-", "-genderdescription-", "-artmovement-", "-malefemale-", "-bodytype-", "-minilocation-", "-minilocationaddition-", "-pose-", "-season-", "-minioutfit-", "-elaborateoutfit-", "-minivomit-", "-vomit-", "-rpgclass-", "-subjectfromfile-","-subjectfromfile-", "-brand-", "-space-", "-artist-", "-imagetype-", "-othertype-", "-quality-", "-lighting-", "-camera-", "-lens-","-imagetypequality-", "-poemline-", "-songline-", "-greatwork-", "-artistfantasy-", "-artistpopular-", "-artistromanticism-", "-artistphotography-", "-emoji-", "-timeperiod-", "-shotsize-", "-musicgenre-", "-animaladdition-", "-addontolocationinside-", "-addontolocation-", "-objectaddition-", "-humanaddition-", "-overalladdition-", "-focus-", "-direction-", "-styletilora-", "-manwomanrelation-", "-waterlocation-", "-container-", "-firstname-", "-flora-", "-print-", "-miniactivity-", "-pattern-", "-animalsuffixaddition-", "-chair-", "-cardname-", "-covering-", "-heshe-", "-hisher-", "-himher-", "-outfitdescriptor-", "-hairdescriptor-", "-hairvomit-", "-humandescriptor-", "-manwomanmultiple-", "-facepart-", "-buildfacepart-", "-outfitvomit-", "-locationdescriptor-", "-basicbitchdescriptor-", "-animaldescriptor-"] - allwildcardslistnohybridlists = [colorlist, objectlist, animallist, fictionallist, nonfictionallist, buildinglist, vehiclelist, locationlist,conceptprefixlist,foodlist,haircolorlist, hairstylelist,joblist, accessorielist, humanoidlist, manwomanlist, humanlist, colorschemelist, moodlist, genderdescriptionlist, artmovementlist, malefemalelist, bodytypelist, minilocationlist, minilocationadditionslist, poselist, seasonlist, minioutfitlist, elaborateoutfitlist, minivomitlist, vomitlist, rpgclasslist, customsubjectslist, customoutfitslist, brandlist, spacelist, artistlist, imagetypelist, othertypelist, qualitylist, lightinglist, cameralist, lenslist, imagetypequalitylist, poemlinelist, songlinelist, greatworklist, fantasyartistlist, popularartistlist, romanticismartistlist, photographyartistlist, emojilist, timeperiodlist, shotsizelist, musicgenrelist, animaladditionlist, addontolocationinsidelist, addontolocationlist, objectadditionslist, humanadditionlist, overalladditionlist, focuslist, directionlist, stylestiloralist, manwomanrelationlist, waterlocationlist, containerlist, firstnamelist, floralist, printlist, miniactivitylist, patternlist, animalsuffixadditionlist, chairlist, cardnamelist, coveringlist, heshelist, hisherlist, himherlist, outfitdescriptorlist, hairdescriptorlist, hairvomitlist, humandescriptorlist, manwomanmultiplelist, facepartlist, buildfacepartlist, outfitvomitlist, locationdescriptorlist, basicbitchdescriptorlist, animaldescriptorlist] + "-animaldescriptor-" in completeprompt or + "-humanexpression-" in completeprompt): + allwildcardslistnohybrid = [ "-color-","-object-", "-animal-", "-fictional-","-nonfictional-","-building-","-vehicle-","-location-","-conceptprefix-","-food-","-haircolor-","-hairstyle-","-job-", "-accessory-", "-humanoid-", "-manwoman-", "-human-", "-colorscheme-", "-mood-", "-genderdescription-", "-artmovement-", "-malefemale-", "-bodytype-", "-minilocation-", "-minilocationaddition-", "-pose-", "-season-", "-minioutfit-", "-elaborateoutfit-", "-minivomit-", "-vomit-", "-rpgclass-", "-subjectfromfile-","-subjectfromfile-", "-brand-", "-space-", "-artist-", "-imagetype-", "-othertype-", "-quality-", "-lighting-", "-camera-", "-lens-","-imagetypequality-", "-poemline-", "-songline-", "-greatwork-", "-artistfantasy-", "-artistpopular-", "-artistromanticism-", "-artistphotography-", "-emoji-", "-timeperiod-", "-shotsize-", "-musicgenre-", "-animaladdition-", "-addontolocationinside-", "-addontolocation-", "-objectaddition-", "-humanaddition-", "-overalladdition-", "-focus-", "-direction-", "-styletilora-", "-manwomanrelation-", "-waterlocation-", "-container-", "-firstname-", "-flora-", "-print-", "-miniactivity-", "-pattern-", "-animalsuffixaddition-", "-chair-", "-cardname-", "-covering-", "-heshe-", "-hisher-", "-himher-", "-outfitdescriptor-", "-hairdescriptor-", "-hairvomit-", "-humandescriptor-", "-manwomanmultiple-", "-facepart-", "-buildfacepart-", "-outfitvomit-", "-locationdescriptor-", "-basicbitchdescriptor-", "-animaldescriptor-", "-humanexpression-"] + allwildcardslistnohybridlists = [colorlist, objectlist, animallist, fictionallist, nonfictionallist, buildinglist, vehiclelist, locationlist,conceptprefixlist,foodlist,haircolorlist, hairstylelist,joblist, accessorielist, humanoidlist, manwomanlist, humanlist, colorschemelist, moodlist, genderdescriptionlist, artmovementlist, malefemalelist, bodytypelist, minilocationlist, minilocationadditionslist, poselist, seasonlist, minioutfitlist, elaborateoutfitlist, minivomitlist, vomitlist, rpgclasslist, customsubjectslist, customoutfitslist, brandlist, spacelist, artistlist, imagetypelist, othertypelist, qualitylist, lightinglist, cameralist, lenslist, imagetypequalitylist, poemlinelist, songlinelist, greatworklist, fantasyartistlist, popularartistlist, romanticismartistlist, photographyartistlist, emojilist, timeperiodlist, shotsizelist, musicgenrelist, animaladditionlist, addontolocationinsidelist, addontolocationlist, objectadditionslist, humanadditionlist, overalladditionlist, focuslist, directionlist, stylestiloralist, manwomanrelationlist, waterlocationlist, containerlist, firstnamelist, floralist, printlist, miniactivitylist, patternlist, animalsuffixadditionlist, chairlist, cardnamelist, coveringlist, heshelist, hisherlist, himherlist, outfitdescriptorlist, hairdescriptorlist, hairvomitlist, humandescriptorlist, manwomanmultiplelist, facepartlist, buildfacepartlist, outfitvomitlist, locationdescriptorlist, basicbitchdescriptorlist, animaldescriptorlist, humanexpressionlist] allwildcardslistwithhybrid = ["-material-", "-descriptor-", "-outfit-", "-conceptsuffix-","-culture-", "-objecttotal-", "-outfitprinttotal-"] allwildcardslistwithhybridlists = [materiallist, descriptorlist,outfitlist,conceptsuffixlist,culturelist, objecttotallist, outfitprinttotallist] @@ -2625,6 +2635,7 @@ def createpromptvariant(prompt = "", insanitylevel = 5, antivalues = "" , gender cardnamelist = csv_to_list("card_names", antilist) coveringlist = csv_to_list("coverings", antilist) facepartlist = csv_to_list("faceparts", antilist) + humanexpressionlist = csv_to_list(csvfilename="humanexpressions",antilist=antilist,delimiter="?") outfitdescriptorlist = csv_to_list("outfitdescriptors",antilist) hairdescriptorlist = csv_to_list("hairdescriptors",antilist) @@ -2823,7 +2834,10 @@ def createpromptvariant(prompt = "", insanitylevel = 5, antivalues = "" , gender if lowercase_combination in [x.lower() for x in emojilist] and chance_roll(insanitylevel, "uncommon"): prompt = prompt.replace(combination," -emoji- ") - + + if lowercase_combination in [x.lower() for x in humanexpressionlist] and chance_roll(insanitylevel, "uncommon"): + prompt = prompt.replace(combination," -humanexpression- ") + if lowercase_combination in [x.lower() for x in eventlist] and chance_roll(insanitylevel, "uncommon"): prompt = prompt.replace(combination," -event- ") @@ -3038,9 +3052,10 @@ def createpromptvariant(prompt = "", insanitylevel = 5, antivalues = "" , gender "-facepart-" in completeprompt or "-locationdescriptor-" in completeprompt or "-basicbitchdescriptor-" in completeprompt or - "-animaldescriptor-" in completeprompt): - allwildcardslistnohybrid = [ "-color-","-object-", "-animal-", "-fictional-","-nonfictional-","-building-","-vehicle-","-location-","-conceptprefix-","-food-","-haircolor-","-hairstyle-","-job-", "-accessory-", "-humanoid-", "-manwoman-", "-human-", "-colorscheme-", "-mood-", "-genderdescription-", "-artmovement-", "-malefemale-", "-bodytype-", "-minilocation-", "-minilocationaddition-", "-pose-", "-season-", "-minioutfit-", "-elaborateoutfit-", "-minivomit-", "-vomit-", "-rpgclass-", "-subjectfromfile-", "-subjectfromfile-", "-brand-", "-space-", "-artist-", "-imagetype-", "-othertype-", "-quality-", "-lighting-", "-camera-", "-lens-","-imagetypequality-", "-poemline-", "-songline-", "-greatwork-", "-artistfantasy-", "-artistpopular-", "-artistromanticism-", "-artistphotography-", "-emoji-", "-timeperiod-", "-shotsize-", "-musicgenre-", "-animaladdition-", "-objectaddition-", "-humanaddition-", "-overalladdition-", "-focus-", "-direction-", "-styletilora-", "-manwomanrelation-", "-waterlocation-", "-container-", "-firstname-", "-flora-", "-print-", "-miniactivity-", "-pattern-", "-chair-", "-cardname-", "-covering-", "-outfitdescriptor-", "-hairdescriptor-", "-hairvomit-", "-humandescriptor-", "-manwomanmultiple-", "-facepart-", "-locationdescriptor-", "-basicbitchdescriptor-", "-animaldescriptor-"] - allwildcardslistnohybridlists = [colorlist, objectlist, animallist, fictionallist, nonfictionallist, buildinglist, vehiclelist, locationlist,conceptprefixlist,foodlist,haircolorlist, hairstylelist,joblist, accessorielist, humanoidlist, manwomanlist, humanlist, colorschemelist, moodlist, genderdescriptionlist, artmovementlist, malefemalelist, bodytypelist, minilocationlist, minilocationadditionslist, poselist, seasonlist, minioutfitlist, elaborateoutfitlist, minivomitlist, vomitlist, rpgclasslist, customsubjectslist, customoutfitslist, brandlist, spacelist, artistlist, imagetypelist, othertypelist, qualitylist, lightinglist, cameralist, lenslist, imagetypequalitylist, poemlinelist, songlinelist, greatworklist, fantasyartistlist, popularartistlist, romanticismartistlist, photographyartistlist, emojilist, timeperiodlist, shotsizelist, musicgenrelist, animaladditionlist, objectadditionslist, humanadditionlist, overalladditionlist, focuslist, directionlist, stylestiloralist, manwomanrelationlist, waterlocationlist, containerlist, firstnamelist, floralist, printlist, miniactivitylist, patternlist, chairlist, cardnamelist, coveringlist, outfitdescriptorlist, hairdescriptorlist, hairvomitlist, humandescriptorlist, manwomanmultiplelist, facepartlist, locationdescriptorlist, basicbitchdescriptorlist, animaldescriptorlist] + "-animaldescriptor-" in completeprompt or + "-humanexpression-" in completeprompt): + allwildcardslistnohybrid = [ "-color-","-object-", "-animal-", "-fictional-","-nonfictional-","-building-","-vehicle-","-location-","-conceptprefix-","-food-","-haircolor-","-hairstyle-","-job-", "-accessory-", "-humanoid-", "-manwoman-", "-human-", "-colorscheme-", "-mood-", "-genderdescription-", "-artmovement-", "-malefemale-", "-bodytype-", "-minilocation-", "-minilocationaddition-", "-pose-", "-season-", "-minioutfit-", "-elaborateoutfit-", "-minivomit-", "-vomit-", "-rpgclass-", "-subjectfromfile-", "-subjectfromfile-", "-brand-", "-space-", "-artist-", "-imagetype-", "-othertype-", "-quality-", "-lighting-", "-camera-", "-lens-","-imagetypequality-", "-poemline-", "-songline-", "-greatwork-", "-artistfantasy-", "-artistpopular-", "-artistromanticism-", "-artistphotography-", "-emoji-", "-timeperiod-", "-shotsize-", "-musicgenre-", "-animaladdition-", "-objectaddition-", "-humanaddition-", "-overalladdition-", "-focus-", "-direction-", "-styletilora-", "-manwomanrelation-", "-waterlocation-", "-container-", "-firstname-", "-flora-", "-print-", "-miniactivity-", "-pattern-", "-chair-", "-cardname-", "-covering-", "-outfitdescriptor-", "-hairdescriptor-", "-hairvomit-", "-humandescriptor-", "-manwomanmultiple-", "-facepart-", "-locationdescriptor-", "-basicbitchdescriptor-", "-animaldescriptor-", "-humanexpression-"] + allwildcardslistnohybridlists = [colorlist, objectlist, animallist, fictionallist, nonfictionallist, buildinglist, vehiclelist, locationlist,conceptprefixlist,foodlist,haircolorlist, hairstylelist,joblist, accessorielist, humanoidlist, manwomanlist, humanlist, colorschemelist, moodlist, genderdescriptionlist, artmovementlist, malefemalelist, bodytypelist, minilocationlist, minilocationadditionslist, poselist, seasonlist, minioutfitlist, elaborateoutfitlist, minivomitlist, vomitlist, rpgclasslist, customsubjectslist, customoutfitslist, brandlist, spacelist, artistlist, imagetypelist, othertypelist, qualitylist, lightinglist, cameralist, lenslist, imagetypequalitylist, poemlinelist, songlinelist, greatworklist, fantasyartistlist, popularartistlist, romanticismartistlist, photographyartistlist, emojilist, timeperiodlist, shotsizelist, musicgenrelist, animaladditionlist, objectadditionslist, humanadditionlist, overalladditionlist, focuslist, directionlist, stylestiloralist, manwomanrelationlist, waterlocationlist, containerlist, firstnamelist, floralist, printlist, miniactivitylist, patternlist, chairlist, cardnamelist, coveringlist, outfitdescriptorlist, hairdescriptorlist, hairvomitlist, humandescriptorlist, manwomanmultiplelist, facepartlist, locationdescriptorlist, basicbitchdescriptorlist, animaldescriptorlist, humanexpressionlist] allwildcardslistwithhybrid = ["-material-", "-descriptor-", "-outfit-", "-conceptsuffix-","-culture-", "-objecttotal-", "-outfitprinttotal-"] allwildcardslistwithhybridlists = [materiallist, descriptorlist,outfitlist,conceptsuffixlist,culturelist, objecttotallist, outfitprinttotallist] diff --git a/csvfiles/config/default_config.csv b/csvfiles/config/default_config.csv index 2696bcf..8044bbf 100644 --- a/csvfiles/config/default_config.csv +++ b/csvfiles/config/default_config.csv @@ -65,6 +65,7 @@ overalladditionchance;extraordinary # humanoid other stuff; emojichance;legendary buildfacechance;legendary +humanexpressionchance;rare joboractivitychance;normal # things in the middle of the prompt; custominputmidrepeats;2 diff --git a/csvfiles/humanexpressions.csv b/csvfiles/humanexpressions.csv new file mode 100644 index 0000000..ed49a9e --- /dev/null +++ b/csvfiles/humanexpressions.csv @@ -0,0 +1,28 @@ +OR(;-heshe- is feeling;uncommon) OR(;very;normal) angry +OR(;-heshe- is feeling;uncommon) furious +OR(;-heshe- is feeling;uncommon) OR(;very;normal) confused +OR(;-heshe- is feeling;uncommon) OR(;very;normal) akward +OR(;-heshe- is;uncommon) crying OR(;,tears on -hisher- face;uncommon) +OR(;-heshe- mood is;uncommon) OR(;very;normal) dark +OR(;-heshe- is looking;uncommon) OR(;very;normal) evil +OR(;-heshe- is feeling;uncommon) OR(;very;normal) fearful +OR(;-heshe- is feeling;uncommon) OR(;very;normal) disappointed +OR(;-heshe- is feeling;uncommon) OR(;very;normal) happy +OR(;-heshe- mood is;uncommon) OR(;very;normal) light +OR(;-heshe- is feeling;uncommon) OR(;very;normal) lonely +OR(;-heshe- is feeling;uncommon) OR(;very;normal) lustful +OR(;-heshe- is feeling;uncommon) OR(;very;normal) sad +OR(;-heshe- is;uncommon) screaming +OR(;-heshe- is;uncommon) smiling +OR(;-heshe- is;uncommon) smirking +OR(;-heshe- is;uncommon) chuckling +OR(;-heshe- is;uncommon) yawning +OR(;-heshe- is;uncommon) bewildered +OR(;-heshe- is;uncommon) winking +OR(;-heshe- is feeling;uncommon) OR(;very;normal) smug +OR(;-heshe- is;uncommon) laughing hysterically +OR(;-heshe- has a;uncommon) OR(;very;normal) OR(smug;light;radiant;wicked;grinning) smile +OR(;-heshe- is;uncommon) biting -himher- lip +OR(;-heshe- is looking;uncommon) OR(;very;normal) OR(neutral;hollow) +OR(;-heshe- is feeling;uncommon) OR(;very;normal) shy OR(;, looking away;uncommon) +OR(;-heshe- is ;uncommon) looking away \ No newline at end of file diff --git a/csvfiles/moods.csv b/csvfiles/moods.csv index 5bea9f4..d569b28 100644 --- a/csvfiles/moods.csv +++ b/csvfiles/moods.csv @@ -3,7 +3,6 @@ Angry Confused Cosy Cozy -Crying Dark Depressing Disgusting @@ -32,12 +31,9 @@ Relieving Romantic Sad Satisfying -Screaming Shameful Shameless -Smiling -Smirking -Smug Suffering Surprising -Tranquil \ No newline at end of file +Tranquil +Zen \ No newline at end of file diff --git a/prompttester.py b/prompttester.py index 011ede5..31f7ecc 100644 --- a/prompttester.py +++ b/prompttester.py @@ -52,10 +52,10 @@ def generateprompts(amount = 1,insanitylevel="5",subject="all", artist="all", im print("All done!") generateprompts(10,5 - ,"animal" # subject - ,"all" # artists + ,"humanoid" # subject + ,"character" # artists ,"all",False,"","","PREFIXPROMPT" - ,"SUFFIXPROMPT OR(;-heshe- has ;rare) -facepart- of OR(-conceptsuffix-;-basicbitchdescriptor-;uncommon) OR(; and -facepart- of OR(-conceptsuffix-;-basicbitchdescriptor-;uncommon);uncommon)" + ,"SUFFIXPROMPT -humanexpression-" ,"",1,"" ,"" # subject override ,True,