[A16] Several Puffins' Social Mods (Rumours&Deception, Romance Diversified, ..)

Started by Several Puffins, November 06, 2016, 09:10:16 AM

Previous topic - Next topic

Voker57

Having Desertion is kinda breaking single-pawn start (he is -10 constantly because he has no friends and this is taking a looong time to fix, new people are -10 and wanna desert too). Can anything be done about this?

Several Puffins

Hi Voker! Yep, as a mod that was made entirely with bigger colonies in mind I'd neglected this. I've just uploaded an update that should fix your problems. It does the following:

- The -10 mood debuff now kicks in only when there are 3 pawns, so it's not just isolation, it's the feeling of being ganged up on that leads to it.
- I've raised the general hatred threshold so that you need a -8 rather than a -5 from everyone before you'll get the debuff, so lazy people won't immediately feel isolated (I assume this was true of your new colonists?). I will not move this any lower as I do want it to happen to people occasionally without them having to have hated traits, particularly new people getting quickly frozen out by, say, an argument by a popular member of the old clique, as it makes for interesting stories. A lazy cannibal will still immediately get the debuff, but probably should be immediately ostracised by a sane colony!
- A colony requires 4 people before defection is even a slight risk (and the alert now reflects this), but I have removed the 4 person requirement on mental breaks for isolated pawns. They will not happen for the first two seasons, after which single colonist will be much harder as they'll be as mad as a bag of spiders. This should add some motivation to find companionship for your lone pioneer! For anyone playing single colonist longer term than that, I'd say there's no real point in having a gossip mod on that colony.

Voker57

Thank you, will test!
Quote from: Several Puffins on November 16, 2016, 05:58:08 AM
- I've raised the general hatred threshold so that you need a -8 rather than a -5 from everyone before you'll get the debuff, so lazy people won't immediately feel isolated (I assume this was true of your new colonists?).
Not really, they just got same -10 from not having any friends.

Another small issue: In your zip files there is __MACOSX folder created automatically by your archiver which causes problem on mod loading.

Several Puffins

Quote from: Voker57 on November 16, 2016, 08:58:16 AM
Not really, they just got same -10 from not having any friends.

I can't replicate this- I got a +8 for a lone colonist because they liked themselves and therefore had constructive relationships with everyone (fixed), but no debuff. In an established colony the joining wanderers are all fine, no mood debuffs. Could you replace the mod with the currently uploaded version (the filename of which should end in 161116) and, if the problem persists, send me a screenshot of the person in question's social screen, needs and character sheet?

Quote from: Voker57 on November 16, 2016, 08:58:16 AM
Another small issue: In your zip files there is __MACOSX folder created automatically by your archiver which causes problem on mod loading.

I've zipped form the command line, which should solve that problem. If not, delete the folder.

CJoker3221

Quote from: Several Puffins on November 15, 2016, 12:16:55 PM
CJoker- Yep, this was the same grammar problem that Mabor0shi mentioned. It happens this way because, though the start of an interaction has different texts specified for both parties, the result of the interaction has the same text both parties (at least, as far as I can tell). This means that active voice can't work in the second half because they aren't both the same "me", and the switch is, I agree, jarring. That's why all of the vanilla interactions are in passive voice ("Was insulted by" etc). I've actually just put up an update that puts my sentences into passive voice to so that it doesn't change halfway through. It's both on Steam and in the dropbox.

Yay, thats nice c:

Fafn1r

I just had 4 of my best colonists (including three crashlanding survivors) split from my colony to create another one. The three who stayed were recruited recently.

Things like that are kind of deal breaker for me. :'(

Several Puffins

Nimander: Fair enough, these events are of course disruptive. If you like the general idea, but don't want the splits you could try the newly uploaded version- the events are now optional (toggled in the Options>Mod Settings menu, and thanks to UnlimitedHugs for the mod options system).

In order to ensure that antisocial, divided colonies still give penalties, the new version does start more fights between mutually antagonistic cliques, but with the flick of a switch your colonists will definitely stick around!

Napple

Don't know if this is a bug but on the tribal start the pawns get a debuff from cultural misunderstanding with each-other even though they are also tribal

Several Puffins

Napple, this is a bug of sorts in that they're all form tribal backgrounds, but my current method of determining background invents subtypes based on description- if the background doesn't use the word Tribe or Tribal, it doesn't detect it as tribal. I'm not sure how this can be changed, but (to the community as a whole) I'm open to suggestions!

Several Puffins

To all users who hunt out their mods here- both the old A15 and updated A16 versions of both listed mods are available via the dropbox link in the first post. Dating and casual hookups have been introduced for Romance Diversified. Rumours and Deception remains largely unchanged, though the split and defection events are currently disabled while I get to grips with the new HugsLib!

Draegon

I keep getting errors like this and I have no idea what it is but it happens a ton.
"Checking Childhood Forced Traits
Verse.Log:Message(String)
RomanceDiversified.Detours._PawnGenerator:GenerateTraits(Pawn, Boolean)
Verse.PawnGenerator:DoGenerateNewNakedPawn(PawnGenerationRequest&, String&, Boolean)
Verse.PawnGenerator:GenerateNewNakedPawn(PawnGenerationRequest&)
Verse.PawnGenerator:GeneratePawn(PawnGenerationRequest)
RimWorld.<GenerateGuards>c__IteratorC3:MoveNext()
RimWorld.<GeneratePawns>c__IteratorC0:MoveNext()
RimWorld.<GeneratePawns>c__IteratorC4:MoveNext()
System.Collections.Generic.List`1:AddEnumerable(IEnumerable`1)
System.Collections.Generic.List`1:.ctor(IEnumerable`1)
System.Linq.Enumerable:ToList(IEnumerable`1)
RimWorld.IncidentWorker_CaravanMeeting:GenerateCaravanPawns(Faction)
RimWorld.IncidentWorker_CaravanMeeting:TryExecute(IncidentParms)
RimWorld.Storyteller:TryFire(FiringIncident)
RimWorld.Storyteller:StorytellerTick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:Update()
Verse.Root_Play:Update()"
"Checking Adulthood Forced Traits
Verse.Log:Message(String)
RomanceDiversified.Detours._PawnGenerator:GenerateTraits(Pawn, Boolean)
Verse.PawnGenerator:DoGenerateNewNakedPawn(PawnGenerationRequest&, String&, Boolean)
Verse.PawnGenerator:GenerateNewNakedPawn(PawnGenerationRequest&)
Verse.PawnGenerator:GeneratePawn(PawnGenerationRequest)
RimWorld.<GenerateGuards>c__IteratorC3:MoveNext()
RimWorld.<GeneratePawns>c__IteratorC0:MoveNext()
RimWorld.<GeneratePawns>c__IteratorC4:MoveNext()
System.Collections.Generic.List`1:AddEnumerable(IEnumerable`1)
System.Collections.Generic.List`1:.ctor(IEnumerable`1)
System.Linq.Enumerable:ToList(IEnumerable`1)
RimWorld.IncidentWorker_CaravanMeeting:GenerateCaravanPawns(Faction)
RimWorld.IncidentWorker_CaravanMeeting:TryExecute(IncidentParms)
RimWorld.Storyteller:TryFire(FiringIncident)
RimWorld.Storyteller:StorytellerTick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:Update()
Verse.Root_Play:Update()"

"Adding traits up to random number
Verse.Log:Message(String)
RomanceDiversified.Detours._PawnGenerator:GenerateTraits(Pawn, Boolean)
Verse.PawnGenerator:DoGenerateNewNakedPawn(PawnGenerationRequest&, String&, Boolean)
Verse.PawnGenerator:GenerateNewNakedPawn(PawnGenerationRequest&)
Verse.PawnGenerator:GeneratePawn(PawnGenerationRequest)
RimWorld.<GenerateGuards>c__IteratorC3:MoveNext()
RimWorld.<GeneratePawns>c__IteratorC0:MoveNext()
RimWorld.<GeneratePawns>c__IteratorC4:MoveNext()
System.Collections.Generic.List`1:AddEnumerable(IEnumerable`1)
System.Collections.Generic.List`1:.ctor(IEnumerable`1)
System.Linq.Enumerable:ToList(IEnumerable`1)
RimWorld.IncidentWorker_CaravanMeeting:GenerateCaravanPawns(Faction)
RimWorld.IncidentWorker_CaravanMeeting:TryExecute(IncidentParms)
RimWorld.Storyteller:TryFire(FiringIncident)
RimWorld.Storyteller:StorytellerTick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:Update()
Verse.Root_Play:Update()"
"Resolving Conflicts...
Verse.Log:Message(String)
RomanceDiversified.Detours._PawnGenerator:GenerateTraits(Pawn, Boolean)
Verse.PawnGenerator:DoGenerateNewNakedPawn(PawnGenerationRequest&, String&, Boolean)
Verse.PawnGenerator:GenerateNewNakedPawn(PawnGenerationRequest&)
Verse.PawnGenerator:GeneratePawn(PawnGenerationRequest)
RimWorld.<GenerateGuards>c__IteratorC3:MoveNext()
RimWorld.<GeneratePawns>c__IteratorC0:MoveNext()
RimWorld.<GeneratePawns>c__IteratorC4:MoveNext()
System.Collections.Generic.List`1:AddEnumerable(IEnumerable`1)
System.Collections.Generic.List`1:.ctor(IEnumerable`1)
System.Linq.Enumerable:ToList(IEnumerable`1)
RimWorld.IncidentWorker_CaravanMeeting:GenerateCaravanPawns(Faction)
RimWorld.IncidentWorker_CaravanMeeting:TryExecute(IncidentParms)
RimWorld.Storyteller:TryFire(FiringIncident)
RimWorld.Storyteller:StorytellerTick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:Update()
Verse.Root_Play:Update()"

"Checking love past!
Verse.Log:Message(String)
RomanceDiversified.Detours._PawnGenerator:GenerateTraits(Pawn, Boolean)
Verse.PawnGenerator:DoGenerateNewNakedPawn(PawnGenerationRequest&, String&, Boolean)
Verse.PawnGenerator:GenerateNewNakedPawn(PawnGenerationRequest&)
Verse.PawnGenerator:GeneratePawn(PawnGenerationRequest)
RimWorld.<GenerateGuards>c__IteratorC3:MoveNext()
RimWorld.<GeneratePawns>c__IteratorC0:MoveNext()
RimWorld.<GeneratePawns>c__IteratorC4:MoveNext()
System.Collections.Generic.List`1:AddEnumerable(IEnumerable`1)
System.Collections.Generic.List`1:.ctor(IEnumerable`1)
System.Linq.Enumerable:ToList(IEnumerable`1)
RimWorld.IncidentWorker_CaravanMeeting:GenerateCaravanPawns(Faction)
RimWorld.IncidentWorker_CaravanMeeting:TryExecute(IncidentParms)
RimWorld.Storyteller:TryFire(FiringIncident)
RimWorld.Storyteller:StorytellerTick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:Update()
Verse.Root_Play:Update()"

"No love past! Adding random sexuality trait...
Verse.Log:Message(String)
RomanceDiversified.Detours._PawnGenerator:GenerateTraits(Pawn, Boolean)
Verse.PawnGenerator:DoGenerateNewNakedPawn(PawnGenerationRequest&, String&, Boolean)
Verse.PawnGenerator:GenerateNewNakedPawn(PawnGenerationRequest&)
Verse.PawnGenerator:GeneratePawn(PawnGenerationRequest)
RimWorld.<GenerateGuards>c__IteratorC3:MoveNext()
RimWorld.<GeneratePawns>c__IteratorC0:MoveNext()
RimWorld.<GeneratePawns>c__IteratorC4:MoveNext()
System.Collections.Generic.List`1:AddEnumerable(IEnumerable`1)
System.Collections.Generic.List`1:.ctor(IEnumerable`1)
System.Linq.Enumerable:ToList(IEnumerable`1)
RimWorld.IncidentWorker_CaravanMeeting:GenerateCaravanPawns(Faction)
RimWorld.IncidentWorker_CaravanMeeting:TryExecute(IncidentParms)
RimWorld.Storyteller:TryFire(FiringIncident)
RimWorld.Storyteller:StorytellerTick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:Update()
Verse.Root_Play:Update()"


Exception ticking Big Red: System.NullReferenceException: Object reference not set to an instance of an object
  at RomanceDiversified.SexualityUtilities.GetAdultSocialContext (Verse.Pawn p) [0x00000] in <filename unknown>:0
  at RomanceDiversified.Detours._Pawn_RelationsTracker.SecondaryRomanceChanceFactor (RimWorld.Pawn_RelationsTracker _this, Verse.Pawn otherPawn) [0x00000] in <filename unknown>:0
  at RomanceDiversified.Detours._InteractionWorker_RomanceAttempt.RandomSelectionWeight (RimWorld.InteractionWorker_RomanceAttempt _this, Verse.Pawn initiator, Verse.Pawn recipient) [0x00000] in <filename unknown>:0
  at RimWorld.Pawn_InteractionsTracker+<TryInteractRandomly>c__AnonStorey2F4.<>m__2BC (RimWorld.InteractionDef x) [0x00000] in <filename unknown>:0
  at Verse.GenCollection.TryRandomElementByWeight[InteractionDef] (IEnumerable`1 source, System.Func`2 weightSelector, RimWorld.InteractionDef& result) [0x00000] in <filename unknown>:0
  at RimWorld.Pawn_InteractionsTracker.TryInteractRandomly () [0x00000] in <filename unknown>:0
  at RimWorld.Pawn_InteractionsTracker.InteractionsTrackerTick () [0x00000] in <filename unknown>:0
  at Verse.Pawn.Tick () [0x00000] in <filename unknown>:0
  at Verse.TickList.Tick () [0x00000] in <filename unknown>:0
Verse.Log:Error(String)
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:Update()
Verse.Root_Play:Update()


Draegon

Also, nobody seems to be improving their relationships with each other what so ever. Although this may be because they're all psychopaths.

Several Puffins

Yikes!

Well, the good news is that they're just debug log strings I'd left in when trying to speed-migrate to A16. I've just placed a new version of Romance Diversified into the Dropbox folder that takes them out. It needs HugsLib now, so make sure to grab that too.

As I understand it, if all your colonists are psychopaths that'll definitely put the brakes on colonial integration!

Draegon

Well I suppose that makes sense, thought it was a bug :D Thanks for the info