Thanks for the love and bug reports! I'm up for adding more variety to coloration of various parts, etc. I did some already with hair and eyes, but I'm not sure if these changes will make it into updated Aric's just because I don't want to screw up Improved Random Portraits users. Maybe we can do an expanded color palette option as a toggle so the player can choose default or expanded color palettes for parts (on the whole or a la carte), hair, fur, scales, wings, etc.
So, suggestions lower are basically a guess game because I can not find where from in-game inspect button takes it's descriptions. not from characters/description.gd for sure. so I have no idea how complex it's supposed to be and based off assumptions how it works. I apologise in advance if the descriptions are too confusing.
I apologise for wall of text in advance I was just considering and thought to share the idea. Next bold line indicates end of wall of text and start of bug reports.
Hm, but how about adding existing parts to existing races? something that personally bugs me a bit is lack of fur coverage on halfkin (meaning the colors of the ears and tails are unspecified) and lack of coverage on centaurs and taurus. For that, creating another type of skincov might be beneficial to avoid these races of getting the same buff as full fur coverage but still using furcolor tags (aka partial coverage). Would be also nice to have furcolor description in ears and tail if possible and hidden default color assigned to none for lab compatible ears/tails(sickly pale white color[/color]. for example). Adding furcolor to feather coverage and possibly scales could be interesting and adding it to wings would expand their variation while actually cutting down on wing variants by only having them defined by shape - the color would be handled by skin coverage. (for demon wings adding red and black furcolor to demons as an example, humans, elves and other bald races would get a sickly pale unless they are a hybrid and inherited the hidden fur coverage).
so, I have two ideas regarding Improved Portraits compatibility:
1. basically an expansion of idea above, extra coverages(slime) and fur color being separated into pigment and pattern and being assigned to all. basically a rework of entire coverage system. Wouldn't touch Improved random portraits as long as it doesn't touch body coverage and fur color.
Improved random portraits so far only touches skin and hair colors, skin coverage should be fine. I'll go describing the idea off slime. By simply adding skincov for slime with it's description of being interior, we'll have a description of slime having a slimy skin layer and interior colored or colorless mass ("$his body is filled with mixes of semitransparent gooey [color=aqua]color of choice[/color] substances"), or maybe adding colors to slime as variant to avoid making too many different coverages for slime(as well as creepy people looking skinless and covered in slime). Slime has one thing why it won't work with fur coverage colors - common fox pattern and every color ending in pattern would cause a born hybrid slime be wierd. Slimes are liquid and and in that case skincov is used as an interior and " gooey [color=aqua]common fox pattern[/color] substances" would sound strange. Separating pattern from colors would solve the trick, but that's basically like implementing a completely separate part (as well as common fox pattern would end up as red common fox pattern due to need of specific color or color combination assigned before each pattern. aka, furcolor being separated in pigment and pattern sides, making pigment appliable to all coverage types and in case of none in pattern defaulting to 'tones'). this separation would allow to have for better inheritance and variation without implementing tons of different combinations . Slimes included, as it's still possible to create non 100% slimes and it's easy to work around them - just not including patterns and keeping only pigment. slime would have a hidden pattern value.
Upside: color variation without adding tons of different coat. ability to inherit a pigment and pattern and pass it down the line even if it's not visible. Slimes can also hold those patterns without having weird description. Possibly cutting down all wing variants by color, keeping only shape. (aka "demon wings of red tones" for demons with red pigment and flat pattern)
Downside: probably extremely hard to implement. needs to look at how inheritance work so it would detect pattern as well as mutation affecting patterns. also would need a change in master and strarting slave appearance by changing fur color to color and adding an extra option for pattern, meaning it would end up being pretty complex. also tons of description editing to fit new coat system.
2. add skin/hair tags into the mod and make a portraitpack to fill lack of the custom colors you added and leave people to manually add pics with tags for new colors. basically making a version of the mod with extra additions.
,Just in case, I'm like 0 at programming and mostly only squash small errors, and am probably overlooking something, but from what I can see, Improved Random Portraits only looks for existing parts in Portraits part of the mod. It looks for skin and hair color and if it's unspecified will roll back to basic. It doesn't seem too complex to add more
if file.findn('Skincolor_in_name_of_the_file') >= 0: skinColors.append('skincolor_in_game')
and similar with hair, while not removing original colors (for example, changing default slime to have description being completely transparent)
more so, it's already doesn't support Aric's maximum size increase from what I can tell, so massive breasts and butt would always go in unspecified category which can be modded to unclude it as well. The only thing it "breaks" is Portrait Pack Editor, and only in a way that there is no way to add tags to it so the user will have to edit every file to include the right tags manually.
Aric's, from what I have seen, uses pics with the same name for nude/exposed/preg as main body one, so as long as files have the same name, they'll be detected and set.
Upside: not a very brain-heavy work. but not really that hard on brain like option 1, doesn't change any existing mechanics, simply adding extra parts.
Downside: eventually may grow far bigger than option 1. needs packs to fit all new tags added.
Basically - any new colors of skin/hair would be treated by Improved Random Portraits as unspecified and basically not caring for that(hair and eyes can be changed to any word ingame so here is an example of it). Checked a dryad 'teen', 'red' skinned, 'leafy' hair, 'pog' eyes, it choses a random dryad fitting all other tags. Can't say the same for races without additional testing. it won't break, just make it rarer to find a fitting image due to lack of tags.
now for extra bug reports and possible small fixes and semi-fixes
nursery error while in library in log: in description in breeding category (after basic breeding) nursery should be replaced with mansionnursery, it looks for a different object that doesn't exist which causes an error. I didn't check but I think it hides this topic until building a nursery.
furry breasts are not detected to be furry due to error in sexdescriptions
return getRandStr(descTitsBodyType[3]) from 3 to 1 (there is not third body type, only 0 for jelly and 1 for furry)
majorus potion bug: pp and balls are not being enlarged properly and cap at small/tiny. (not sure about vag and tits but balls and penis were both broken for me). I only fixed those as I didn't see any issue with other parts so far.
It's a somewhat a fix based off how minorus work:
in Inventory cock and balls of majorus section globals.penissizearray.back line replace with if selectedslave.penis in ['massive'] and similar with balls. This would restrict max size for this function(as similar function in minorus restricts to smallest) and so far fixed my problem without breaking the game. I had not found anything other than that that would work.
in short as an example for pingas:
func applypenis():
var text = '' globals.main.close_dialogue() ###---Added by Expansion---###Sizing Support var success = false var potionname = "" var sizedesc = "" if currentpotion == 'minoruspot': potionname = "Minorus Potion" if selectedslave.penis in ['none','micro']: success = false sizedesc = "small" else: selectedslave.penis = globals.penissizearray[globals.penissizearray.find(selectedslave.penis)-1] success = true sizedesc = "smaller" elif currentpotion == 'majoruspot': potionname = "Majorus Potion" if selectedslave.penis in ['massive']: success = false sizedesc = "big" else: selectedslave.penis = globals.penissizearray[globals.penissizearray.find(selectedslave.penis)+1] success = true sizedesc = "bigger" #Text |
same line goes for balls aka if selectedslave.balls in ['massive']:
And also, while it is not a fix for broken nereids and other -soul attribute races, putting them in farm and prodding causes their courage to go up. It seems to reverse entire point system.
Now for a bug that I do not know how to fix. First, weren't slimes supposed to convert unborn children to full slimes? so far I have a few harpy/slime hybrids from breeding a harpy stuck in my farm.
On other hand, 50/50 harpy hybrids(examples are slime and beastkin wolf) have a somewhat common chance to have harpy as their race and broken stats.
Examples - hyper-magical harpy/slime with mag over 100 and one-punch harpy/wolf dna with str, agi over 100. while funny on it's own, it kinda breaks the balance of the game. All slime/harpy have normal stats.
Also, is Hard Worker supposed to be able to be aquired randomly by newborns? isn't it a unique trait or am I mistaken?
Ok, that's a lot to unpack.
On fur/skin coverage, wing colors, etc., etc., one issue is that I (and I'm not the only one) wig out when my description doesn't match the body/portrait so I end up manually assigning them all. So adding even more specific descriptions isn't a clear win. Good news though, there're folks on the discord working up a really cool sprites-based approach to auto-generating bodies and portraits (the art is a good ways along anyhow) which would make detailed descriptions, adding patterns and part coloring, etc. work splendidly with some work. I will try working on some of the things you bring up at some point (like why display skin color if they have fullbody fur?).
Another thing to consider is slave guild quests that look for certain colors need work too if you monkey with them a lot, depending.
There's a neat little game called Niche I got on Steam a long while ago. Basically you control a pack of animals with genetics (including fur patterns) and breed them to suit different environments/predators as you travel from one island to another. I have half a mind to go full on dominant/recessive genetic traits on Strive with dominant race controlling what genes actually get expressed (fur pattern never gets expressed on fur-less npcs for example), but that idea will probably get a low priority on the ever-growing list to be honest.
I'm aware of most of those bugs. I thought I'd fixed the last one with stats that balloon a long time ago. When did you DL?
yet again sorry for wall of text.
that's good news to learn.
also a fair point, as there are not much points on beaskin to justify showing skin but at the same time parts like nose of the real dogs(even if it's often pigmented), pawpads/palms, corners of their mouth and intimate parts do exist.
yeah, didn't consider slave guild quest, just one more thing to make the idea I had even more troubling to implement.
that's a nice idea. I was thinking of a less complex approach (merely not showing in description but having it in files so next gen can get coverage color if you breed with furry race). The idea of dominant gene based on main race may cause all races having hard time developing traits of other races after breeding, making it much harder to express traits (for example A goes for gossamer wings, B - no wings, Aa full fairy Bb full arachne. offsprings would be either first gen would be either Ab fairies or Ba arachnas looking like their parents of their species. only on second gen can we can get full bb on wingless fairy and aa gossamer wing arachne at a 1/4 chance. and that would have to be for every type of wings just for wings. also, Niche has incomplete dominance, which is the main reason for fur patterns so unless you count fur patterns being equal to flat colors, it would require extra work so Ab and Ba cases would display as pattern of two colors as well as filling gaps for missing color combos and colors. basically it'll have to generate gene line for every part before generating pawns appearance and assigning it based off these lines. and, while I enjoy harder games, some wouldn't like harder inheritance due to it being no longer random. it would also eat up space in mansion for slaves. taking 2 gens to create white fur wolfkin is a bit much so it has to have colors and visual traits with less restriction.
I downloaded the pack on May 11 so it should be pretty recent unless I'm missing something. So far checked with harpy and arachna and dog 100% mothers with 100% slime father (and harpy 100% mother with dog 100% father to exclude it being specific to slimes) and all of them get bloated stats. I can provide a save for further inspection (all nicknamed Broken are examples with the issue on my side). I could try looking into if 25% 4 races has this issue as well.
https://mega.nz/file/AoIwWDjT#CP68WvPPIhFUhuArRcrFWoTVinfDLIakc5VOqO-tyGQ
also an error with relative screen for slime breeder/stud/offspring in relationships still detected as relatives (probably due to slimes not being intended to be a full on parent). in non-slime mother they are still shown as children but assigned their non-slime race (resulting them being shown as harpies, when in reality they are unbroken slimes, and actual harpies have broken stats).
SCRIPT ERROR: _on_relativesbutton_pressed: Invalid get index 'slimesire' (on base: 'Dictionary'). At: res://files/scripts/slave_tab.gd:692 SCRIPT ERROR: relativeshover: Invalid get index '2' (on base: 'Array'). At: res://files/scripts/slave_tab.gd:831 |
I already did.
the mega link in above post is the link to the save. There are examples nicknamed broken as well as possible to reproduce the problem reliably by using harpy in the farm and slime as a stud (most offsprings so far). Sometimes it may take a few times as it's slightly rng. Had 1 time 5 with bloated harpies and 5 not bloated slimes shown as harpies in family tree. I didn't test the 25% yet.
Hope it helps to find the solution.