RimWorld

RimWorld

286 ratings
VSIE - Rational Trait Development
2
   
Award
Favorite
Favorited
Unfavorite
Mod, 1.4, 1.5
File Size
Posted
Updated
21.354 MB
11 Jan, 2023 @ 6:18am
10 Apr, 2024 @ 2:01pm
5 Change Notes ( view )

Subscribe to download
VSIE - Rational Trait Development

Description
15.03.2023 update

- add description to pop-up window so player know what triggered the event

- optimisation for tough raid event
(the original one in VSIE was too difficult to trigger; 12 hours high point raid → now any raid longer than 6 hours/ half of your pawns downed/ any of your pawns died will qualify as a tough raid)

- optimisation birthday event*
(the original only trigger on old age birthday → changed to yearly birthday; this is not updated in this mod but after talking to taranchuk they are going to make a fix in the original VSIE*)

- new trigger for marriage, healthyborn child, stillborn child

What's the mod?
This is a patch on Vanilla Social Interaction Expanded.

What the original VSIE does
In VSIE, a mechanic was introduced where pawns might obtain random traits after impactful life events. They are:

Recruited from prison,
Resurrected by serum,
After catatonic mental break,
Family dies,
After Catharsis.
Develop immunity from infection,
After a long raid (>12 hours),
Pawn’s birthday,
After the bestowing ceremony (require royalty).

Why this mod?
This mechanic adds a new way for pawns to gain traits and enable more storytelling, however, due to the trait being completely random, sometimes it does not make much sense. For example, my pawn once became ‘beautiful’ after their father died.

I commissioned this mod to avoid situations like this. In this patch, all the pawn traits (from core game and VE traits) are manually sorted into 9 different trait pools, matching the above events.

How does it work?
Every time a trait event triggers, instead of getting a random trait, it will prompt a window where 4 (default number, togglable) traits are drawn from the relevant trait pool.

For example, ‘super immune’ ‘sickly’, ‘delicate’, ‘creepy breathing’ are categorised into the ‘infection event’ trait pool. This means after a pawn recovered from infection, when they trigger the trait obtain mechanic, a window consisting of ‘super immune’, ‘sickly’, ‘delicate’, ‘creepy breathing’ might pop up, and the player can choose one of them for the pawn.

The pop-up window can be toggled off, in that case, trait will be selected randomly like in the original VSIE, but only from the relevant event trait pool.

You can also cancel obtaining a new trait if you use the pop-up window, although it may defeat the original purpose of the mechanic. The cancel button can be toggled on and off in the mod setting.

Final words
The aim of this patch is not to create a powerful pawn by choosing OP traits. I like the trait obtaining mechanism, but want them to make more sense. If you found choosing your own trait too OP, simply turn the window function off.

And last, many thanks to Taranchuk, the original coder of VSIE for bringing this patch to life.


P.S. How to edit the event trait pool

I tried my best to manually sort out all the traits one by one by the nature of the events, however, this is purely subjective and you might want to define your own event trait pool.

If you do, simply go to ‘VSIE- Rational Trait Development\1.4\Defs\TraitPools.xml’, where you can see all the trait pools. (Recruited prisoner doesn't have its pool because their trait are 'revealed' rather than 'developed', so they can have all kind of traits.)

If it’s a core game trait, add/delete the trait you want in the format of TraitDefName. For example, <Masochist>0</Masochist>.
*Note sometimes it’s not so intuitive, for example, ‘jogger’ trait is coded as <SpeedOffset>2</SpeedOffset>. If you are in doubt, go to SteamLibrary\steamapps\common\RimWorld\Data\Core\Defs\TraitDefs and look for the TraitDefName you want.

If it’s a modded trait, you will need both TraitDefName and PackageID of the mod. For example, ‘ocean lover’ from VE trait has TraitDefName: <VTE_ChildOfSea> (can be found in its mod folder: SteamLibrary\steamapps\workshop\content\294100\2296404655\1.4\Defs\TraitDefs),

For the PackageID, go to the about folder and open About.xml, where you can find <packageId>VanillaExpanded.VanillaTraitsExpanded</packageId>.

Then write the following
<TraitDefName MayRequire="PackageID">0</TraitDefName>, using our example, it would be
<VTE_ChildOfSea MayRequire="VanillaExpanded.VanillaTraitsExpanded">0</VTE_ChildOfSea>

This is what you want to add to the trait pool if it’s a modded trait.

This method should work on all traits from other mods if you wish to add them, just make sure you write it right.

41 Comments
FlorestNerd 4 Jul, 2024 @ 11:59am 
hey, could you add a randomizer button? because i use this as a "non idiot function" when my gay pawn becomes a misandrist, but sometimes the choice isnt as absurd and i would be ok with it being random
Lys 19 Jun, 2024 @ 6:14am 
For my case, it was a conflict between Individuality and Way Better Romance (disabling Individuality's romance is the fix)
Lys 15 Jun, 2024 @ 12:17pm 
It seems to also be whenever the pawn gets spawned in (from load game, from a caravan entering a map), as that's two times I've observed it happening without any other causes.
Might be my modlist conflicting somewhere though, so grain of salt :3
Tikotitok 2 Jun, 2024 @ 3:53am 
Hooray, now my pawns shall no longer decide they're psychically dull AFTER a bestowing ceremony!
Goji  [author] 2 Jun, 2024 @ 2:46am 
For people who've been reporting the extra trait issues. Taranchuk has just got around and is looking into it now. It will be fixed soon.
Kayawolf 1 Jun, 2024 @ 1:40pm 
I also have the same issue. One of my pawns all of a sudden had 3 extra traits. Besides a wedding, nothing of big importance happened either
FailPail 16 May, 2024 @ 8:30am 
got a similar thing on 1.4 where after a raid (and party) my colonist got a trait without the menu showing up
Crilltic 14 May, 2024 @ 11:24am 
I've had a similar issue where the box for trait selection isn't popping up (it seemed it was prompted by blowing up a mech cluster) and its just picking a new trait. I've had it happen a couple of times but its pretty rare
Goji  [author] 28 Apr, 2024 @ 1:49am 
@CiXwOw This actually happened to me to (albeit only once so I just thought it was some one-time thing). I'll let the coder know but it may take some time to investigate. Thanks for reporting
CiXwOw 27 Apr, 2024 @ 1:34am 
I also just realised that the colonist was a Ghoul