How can i add traits or siblings etc? When i have more than one trait or specialization or even sibling! Its not working/destroying save... And i only want to have all specs and add one more trait and three siblings...
The saves are in json, so you can open up the save file as json and edit it. Ideally something that formats it into something more readable by a human. You can go somewhere like https://jsoneditoronline.org/ and paste the content of your save file into the left side, then click the arrow pointing to the right, now the right side is a more easily viewable/editable chunk. Including options to duplicate sections, which will be more reliable to not break the save. Once done, can click arrow to left to generate new json. This is more likely to generate a valid save the game will load, but again you can do something it doesn't expect and break things still. If you run the game via a command prompt, or just look at the console prompt when loading, it might point to what chunk of the save it doesn't like, especially if you also examine the loading code.
For siblings, i'm not sure, you'd need to get an idea of how the game implements that via the code potentially, or at least look at how it's setup for emily/tisha maybe.
I know how to do it cause im using notepad ++ with plugins, buts its hard to change something like traits. And as i see i can only make it to have one sibling, but maybe if some character will have it more i will know how to change it. Sadly i wanted to play as mage/alchemist spec but i cant. And its hard to add another traits.
For traits, it's trivially simple, it's just an array you add text to, but you're talking about specialization, not traits if you're mentioning mage/alchemist. And yes, the game supports only 1 specialization, you would need a mod to allow for multiple, as it's a single text field and the game only expects a single text field in all the locations it applies the specialization's attributes.
For siblings, you can add as many as you want, the game's code looks like this:
if entry.siblings.size() > 0:
text += '\n[center]Siblings[/center]\n'
for i in entry.siblings:
entry2 = relativesdata[i]
if entry2.state == 'fetus':
continue
if entry2.sex == 'male':
text += "Brother: " else:
text += "Sister: "
text += getentrytext(entry2) + "\n"
So to add a sibling, you just need to edit the state.relativesdata appropriately, primarily you need to:
1. add id to siblings array for each slave.
2. Make very sure that the id you enter does exist in the relativesdata object, and has all expected variables defined. For mother/father, that can be -1 to say they're unknown. However, every id you reference in any entry in relativesdata has to have an associated object for that id that is valid.
Well first off, stop calling them traits! They're Specializations. The game has traits and they mean something else entirely.
To make it support this, you'd have to find every reference of .spec and see if/how it should be updated. Exactly how it changes depends. Yould for one need to make newly created characters define this as an array, and for loading to convert it from an array. Or you'd need to make the code handle if it was an array or just a plain string. Then maybe a helper function to check for a given spec. Then every place that checks for a spec would need to be update to use said function.
If you're asking this question, then I don't think you're up for making the necessary changes. You're looking at changing somewhere around 92 places in code and at least several of those are non-trivial changes.
You don't need to modify anything for traits, it's already an array in the file. Just add whatever traits you want, only need to make sure you type it exactly as the game wants, as i believe it's case sensitive on it. For example, here's the traits for one of my slaves:
"traits": ["Submissive", "Infertile", "Pervert", "Masochist", "Likes it rough", "Bisexual"],