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?