[A16] Psychology (2017-5-14)

Started by System.Linq, August 19, 2016, 07:16:38 AM

Previous topic - Next topic

System.Linq



This mod is a complete overhaul of Rimworld's psychological and social systems. The stories that emerge from your pawns' quirks are the most fun part of RimWorld, and this mod aims to expand on that emergent storytelling by increasing the extent and complexity of its systems.
   
Psychology does not require a new save game.

Personality
- Everyone is generated with a random personality, summarized by many different attributes. This system is entirely separate from traits. The attributes are influenced not only by each other, but by everything else about that person. Every colonist has a unique and recognizable character archetype, giving them massively increased depth and charm.
- A colonist's personality influences everything about how they interact with others. It's a complete, extensive revamp of the social system from the bottom up. Colonists' relationships with each other are now far more realistic, varied, and driven by their own personality.
- Colonists will change their minds about each other after having conversations on topics relevant to a particular personality attribute. Instead of being arbitrarily assigned a compatibility with each other, they will naturally gravitate towards like-minded people and away from those they have strong disagreements with.

Sexuality and Romance
- Colonists' sexualities are graded on the Kinsey scale, from 0 to 6. The overwhelming majority of colonists will be straight, but their sexual orientations can have much more variety and their romantic interest in each other will be adjusted accordingly. The sexuality curve can also be changed in the mod settings.
- Depending on their personality, colonists may be more likely to have multiple "flings" rather than a single lover, and how they treat breakups is affected accordingly.
- Colonists also have both sexual and romantic drives. If they are exceedingly low, it may affect their desire to do lovin' or commit to a long-term relationship, respectively. They may still take lovers, particularly if someone else romances them, but what they get out of it will be affected by those factors.

Interactions
- Colonists may invite each other to hang out when their schedule isn't set to Work, though it's more likely during explicit free time, and especially when they're not doing anything else.
- They may hang out with people they're already friendly with, or choose acquaintances they haven't formed a strong opinion on to get to know them better. Empathetic colonists may also choose to hang out with people they don't care for, to give them a second chance.
- Colonists who are hanging out will explore the colony's joy activities together and have long discussions, ensuring a lasting social rapport, even between people who otherwise would not spend enough time in each others' company to have an opinion on them.
- Colonists in relationships may also plan dates for times when they don't have to work, and drop whatever they're doing to spend time with each other and maintain a good relationship. Of course, if they're not meant for each other, they may find out this way as well.

Mayors and Elections
- After a settlement's first year, elections will be held at some point every fall. A slate of colonists will announce their candidacy for mayor, and will present a platform to run on that is chosen based on their personality.
- A few days later, a polling place will be chosen and colonists will go there to cast their votes. They will vote for the candidate whose positions best align with their personality, and their opinion of the candidates may also affect their vote.
- The candidate with the plurality of votes becomes the mayor until the next election. They will receive visits from constituents in their room, particularly by people who are very unhappy or very content. Complaining colonists will get a happy thought from venting to the mayor, and the mayor will get a thought depending on their personality and what the colonist said to them.

New Traits
- Prude: This old-fashioned pawn hates the sight of nudity, and is mortified by the thought that others might be able to see their private areas. They are eternally disapproving of nudists and bothered by wearing ratty clothing.
- Insomniac: This pawn has a sleeping disorder. They will rarely attempt to sleep, and will never be fully satisfied by doing so. They spend most of their time awake, and thus, productive; but almost always tired.
- Bleeding Heart: This pawn is a big old softie. They will be pleased by doing things that help others, and more traumatized by brutal or senseless acts like mistreatment of prisoners or violence. They also will not get along with psychopaths.
- Gourmet: This demanding pawn expects to eat well every day. They'll be more satisfied by doing so, but more annoyed by having to eat things other than what they want.
- Unstable: This fluctuating pawn experiences random mood swings multiple times a day, and to a greater degree than other pawns, with manic and depressive episodes.
- Lecher: This unabashedly sexual pawn only cares about their own desires. They'll hit on anyone they find attractive, regardless of how they personally feel about them or if they are likely to be reciprocated. Anyone who accepts the advances of this pawn is likely to have their heart broken.
- Codependent: This pawn needs the comfort of intimacy. They will be unhappy when alone, and devastated by breakups and affairs. On the plus side, they are loyal and happy when they have someone to latch on to.
- Outdoorsy: This pawn enjoys spending time in the open. They get a mood boost when there's no roof above their head, and are affected by cabin fever more severely.
- Pluviophile: This pawn simply likes the sound and feel of rain, and will receive a mood bonus from it.
- Photosensitive: This pawn, either through gene modding or random mutation, has eyes that are extremely sensitive to the light. They will be very unhappy at being exposed to it, but find darkness comforting.
- Socialite: This fun-loving pawn is great at parties, and so your colony will hold them more often as long as they're around. (name credit Wellech)
- Desensitized: This numbed pawn no longer gets mood penalties for witnessing death or observing corpses. They will still be upset by colonists' deaths in general, and by other moral outrages. This trait can potentially be gained during play whenever a pawn sees someone die or looks at a body.
- Heavy Sleeper: This comatose pawn cannot receive mood penalties for disturbed sleep, but is also dificult to wake up.
- Polyamorous: This pawn has too much love to share with just one person. They will be unhappy in relationships with non-polygamous pawns, and can romance multiple people.
- Open-Minded: This pawn doesn't suffer negative opinion penalties for people's appearances, and won't take appearance into account in romance.

New Thoughts
- Adrenaline Rush: Pawns get a short mood boost when killing a hostile from an enemy faction. This gives them some relief at having defended their home.
- Dreams: Pawns may have dreams while sleeping which can affect their mood.
- Passionate Work: Pawns will be a little happier while doing something they have a burning passion for. (idea credit ({x}) Disarray)
- Imprisonment: They may be willing to join your colony, but pawns you've captured and recruited will be resentful and awkward with the people that imprisoned them, until they get used to their new life.
- Individuality: Pawns don't like looking the same as everybody else. They will get a gradually worsening mood penalty depending on how many other colony members are wearing a perfectly matching outfit.

New Illnesses
- Anxiety: Pawns with this illness can have panic attacks, more frequent the worse their anxiety is. Severe anxiety also increases a pawn's mental break threshold, makes it more difficult for them to talk, and causes them to sleep more often. Long-term treatment can reduce anxiety to a level where it does not interfere with a pawn's daily routine. The younger the pawn, the more likely they are to develop anxiety and the more severe it is likely to be. Pawns can also develop anxiety after having a mental break.

New Mental Breaks
- Berserk (extreme): The same mental break you know and love, but its frequency is greatly reduced. Bloodlust pawns now have the greatest chance to go berserk, followed by psychopaths, then brawlers. (idea credit twoski)
- Sadism (extreme): The pawn will go after the colony's prisoners and pets, as well as wild animals, and brutalize them. Psychopaths have the greatest chance to become sadistic, followed by bloodlust pawns, then brawlers. (idea credit twoski)
- Self-harm (extreme): The pawn will cut their hands and arms and hide in their room. Masochists have the greatest chance to self-harm. (idea credit twoski)
- Tantrum (extreme): The pawn will destroy nearby furniture and buildings. (idea credit twoski)
- Abuse (extreme): The pawn will wander around the colony, finding people to harass and insult. Abrasive pawns have the greatest chance to break this way, followed by unstable pawns. (idea credit twoski)
- Fell plotting (extreme): The pawn will retire to their room to hatch some terrible scheme, if you don't stop them. Psychopaths have the greatest chance to break this way, followed by bloodlust pawns.
- Paranoia (extreme): The pawn will wander aimlessly, depressing the people around them with their paranoid ramblings.
- Compulsion (major): The pawn relentlessly cleans and organizes their surroundings, usually until they pass out from exhaustion. (idea credit twoski)
- Antisocial (minor): The pawn will wander out into the wilderness, avoiding their fellow colonists. (idea credit twoski)
- Apathy (minor): The pawn becomes lethargic and will frequently wander around instead of working. They cannot be manually assigned to tasks or drafted while apathetic. (idea credit twoski)
- Histrionic (minor): The pawn desperately seeks attention and validation, wandering around the colony trying to talk to people. Occasionally, they will flirt with someone or propose to their partner. Socialite pawns have the greatest chance to break this way, followed by Lechers.

New Treatments
- Some traits can be treated by assigning them a bill through the Operations screen. If successful, they will gain a status effect that nullifies the trait, at the cost of being a little more on edge. It must be maintained through use of good medicine, or they may lapse.
- Pyromaniac: Will no longer go on fire-starting sprees.
- Chemical interest/fascination: Will no longer go on drug binges.
- Depression: Mood malus reduced to that of the Pessimist trait.

New Drugs
- Methadone: An opioid used to treat drug addiction. Barely addictive itself, it is useful for keeping colonists functional while they are suffering from withdrawal. Cheap and easy to manufacture.

Miscellaneous
- Arresting: Pawns now have a "peaceful arrest chance" stat based on their Social skill, which is used when determining whether someone refuses arrest.

COMPATIBILITY
- By using this mod with other mods that perform the same functions, you are taking FULL responsibility for any problems that may arise. You are also accepting that even if Psychology is able to work with that mod, you may be limiting your enjoyment of this mod because the other mod will ignore or maybe even disable Psychology's systems. It is not recommended to use this mod with any other social interaction mods.
- Mods which only modify Defs and not any of the game's code are 100% compatible with Psychology, though Psychology may override them with its own values.
- Psychology should be placed as low in your mod order as possible, after Less Arbitrary Surgery, and before Expanded Incidents.
- Psychology adds new properties to pawns. Colonies with Psychology enabled on them may break if the mod is disabled. Colonies without Psychology enabled on them will only receive new functionality on new pawns. Pawns which aren't Psychology-enabled should behave just like before.


MOD AUTHORS: You can use the source code provided with the mod to build compatibility into your mod. Use reflection to access Psychology's traits and thoughts and check if the mod is loaded, then include the mod's functionality in any classes you detour. Then tell your users to load your mod before Psychology, so that it can perform both mods' work (or only yours, if they are not using Psychology). Example:

ThoughtDef kp = DefDatabase<ThoughtDef>.GetNamedSilentFail("KilledPatientBleedingHeart");
if(kp != null)
    surgeon.needs.mood.thoughts.memories.TryGainMemoryThought(kp, patient);
   
This will try to give the pawn Psychology's Bleeding Heart thought, but ONLY if it detects that that thought actually exists (which means Psychology is loaded). Otherwise, it does nothing, because the user isn't using Psychology.

Download
I recommend you download from the Steam Workshop to receive automatic updates. Visit the Steam Workshop page to subscribe here.

If you do not have RimWorld on Steam, but you have a forums account, you can also download it manually through the attachment. Note that the mod requires HugsLib to function.

Finally, the mod is uploaded on the Nexus if you have no other way to download it, but this is not guaranteed to be up-to-date.



License
Can include in modpacks with credit. Can reuse/edit code with credit.

[attachment deleted by admin due to age]

kaptain_kavern

Oh this look awesome. I wish i could try it right now

biship

This looks fantastic, are you saying it likely isn't compatible with non-dll Trait mods or just dll trait mods?

Ykara

Wow, awesome! I especially like the Adrenaline Rush, this mod seems like a perfect, but subtle addition to the vanilla game, gonna try it right now!


kaptain_kavern

#5
Quote from: Psychology on August 19, 2016, 07:16:38 AM
COMPATIBILITY
Psychology detours a lot of methods from the base game. It is probably incompatible with any other mod that adds new traits, affects pawn interactions, affects medicine beyond just adding new parts and buildings (e.g. EPOE is compatible), adds new thoughts, or edits old ones. It may be incompatible with any other mod that includes an assembly and uses detours. If Psychology is incompatible with a given mod, some functions of one mod or the other will not work, depending on your mod order. Any missing or broken functionality you experience may be the result of this. To prioritize Psychology trait and thought functionality above other mods', put it at the bottom of your mod list.
...

biship

Cutting and pasting without answering any of the questions doesn't help.

kaptain_kavern

I know how to read and understand the same way as Killface said.

If OP knew he probably have written something else

Adventurer

Yeah yeah, I missed that part, go ahead and laugh.

biship

The OP posted a different steam mod containing the release and debug dll of his mod, as well as the CCL dll, and didn't understand the impact of this, so no, I don't think "If OP knew he probably have written something else". Regardless, I wasn't asking you KK. Thanks for trying to not be helpful tho, your post count is sky rocketing!

kaptain_kavern

#10
First, sorry Psychology for polluting with semi drama.

I just send this to Adventurer and want to extend it to you, Biship:

QuoteSorry, it wasn't intended as something insulting. I copy/pasted here just because if people browse through the text quickly and scroll down they will catch at least the red line. I've done this because i have a few mod threads myself and it often happened.

Again I'm sorry I was not wanting to be insulting at all.
That's why you often see "reserved" post in release thread

And @Biship, regardless, i wasn't replying to you (as what you asked wasn't stated in OP). I also don't care about my post count (in fact i'm not sure what you want to say).
Now can we please stop polluting this thread? (me, I will)

milon

Let's keep on topic.  This seems like a really interesting mod, let's not derail here.

Summary so far: Adventurer asked if it was compatible with the More Traits mod, and kaptain_kavern replied.  Biship's question is still outstanding (compatibility with DLL Trait mods vs XML-only Trait mods).  OP hasn't responded yet to Biship's question, and no one else as yet seems to know the answer.

System.Linq

#12
Psychology is compatible with any trait mod that adds new traits and does not have a DLL so long as it does not re-define any trait that Psychology does (e.g. Psychopath to make it conflict with Bleeding Heart).

It is also compatible with trait mods that use DLLs and adhere to the above so long as they don't detour any of the same methods that Psychology does.

I looked at More Traits and saw no reason why it should be incompatible with Psychology as it only adds new things, it does not redefine any old ones AFAIK.

1000101

#13
Since you are detouring FoodUtility.ThoughtsFromIngesting, I hope you are preserving CCLs detoured functionality from it's detour.

CCL's Food Utility Detours - ThoughtsFromIngesting @ lines 163 - 250
(2*b)||!(2*b) - That is the question.
There are 10 kinds of people in this world - those that understand binary and those that don't.

Powered By

System.Linq

Updated to 2016-8-20.

New Traits
- Bisexual: This colonist is attracted to any gender. They don't discriminate when it comes to love. (idea credit Killface)

New Thoughts
- Dreams: Colonists may have dreams while sleeping which can affect their mood.