Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
Thanks for this mod!
Thank you For the mod I was getting so annoyed by this.
The function that we are replacing got an additional condition under which it gets set to 0 (IsDuplicate) but since we're setting it to 0 under all circumstances anyway, anomaly will work completely fine with this.
giving it some thought, if these new relations are created only whenever a raid or some other incident (like visitors for example) happens, then doing what you said should indeed work for preserving starting relations.
thanks for the input.
I don't know if this is correct, but that is what I believe would happen.
In theory if you have a mod like Character Editor you should be able to go through the global list of all human pawns and I think that the son should exist in that list somewhere.
so, for example:
say i have a starter pawn, which is the brother of my other starter pawn (not "left behind", so they'll be there at the start of the colony), AND is the father of another pawn which WAS left behind.
that means if i turn on the mod after generating the map, both relations will persist then? so i could encounter the father's son sometime into the story?
Any pawns related to starters that aren't also starters/leaders can/will show up in the game though.
The mod just forces a certain piece of RNG to always roll 0 so you can turn it on and off freely with no consequences.
This works for the version of 1.5 that's in the unstable beta.
I'll put off adding tags until anomaly comes out.
The most ridiculous relationship for me yet: Both of my colonists were born in and never left the colony. So Randy decided to generate them a child and crash land it in the map corner with 10 seconds to live. Fuk that.
It changes how things generate and doesn't add/remove/change content so it's safe to add/remove midgame
It won't remove existing relationships (including ones which exist but you can't see if you're not in devmode) though so you won't notice it doing much. This is especially true because characters who have existing relations get recycled by raids/quests/etc.
btw, ColonistRelationChanceFactor is set to 1f in the PawnGenerationRequest, which has changed considerably
I would probably suggest reimplementing the vanilla function of BaseGenerationChanceFactor in the override (with whatever changes you want) and then passing back that __result but I haven't touched harmony (or indeed C#) in over half a year so I couldn't tell you offhand whether a naive implementation would work
static HarmonyPatches()
{
Harmony harmony = new Harmony("doll.RimWorld.NGR.Main");
harmony.Patch(typeof(PawnRelationWorker).GetMethod("BaseGenerationChanceFactor"), null, new HarmonyMethod(typeof(HarmonyPatches), nameof(NGRCorrection)));
}
public static void NGRCorrection(ref float __result)
{
__result = 0f;
return;
}
Is the 0f the value in question, and if it is, is 1 the value of the base game?
(yes)
so
harmony.Patch(typeof(LovePartnerRelationUtility).GetMethod("LovePartnerRelationGenerationChance")
instead of
harmony.Patch(typeof(PawnRelationWorker).GetMethod("BaseGenerationChanceFactor")
in the source and just recompile
I think that'd work
Do it locally (or publish or w/e) I ain't maintainin that shit
I'm pretty sure you'll run into conflicts with half the mods that edit romance including rjw etc.
The answer is probably "I didn't". This is patching BaseGenerationChanceFactor, which is used by PawnRelationWorker_ExLover, PawnRelationWorker_Lover, PawnRelationWorker_Parent, PawnRelationWorker_Sibling, etc. These are all in seperate files in the decompile I'm looking at.
You might be looking for /Verse/PawnGenerator.cs, which is where GeneratePawn and PawnGenerator are. I checked that that is calling the workers but I didn't really look into what it's doing at all.
He didn't provide source and I haven't reverse engineered it but my suspicion is that he might be setting ColonistRelationChanceFactor to 0f (normally 1f), which is the multiplier for cross-faction relations from non-player generated pawns to existing player faction pawns. If that is what he's doing, then it won't do anything to fix situations arising from the huge list of pawns that get generated as members of the player faction.
In any case it's a total non-sequitur since the stated intention of that mod is totally different from this one. This prevents all newly generated pawns from starting with relationships (offscreen foreign faction pawns won't have families etc.), No Random Relations is just supposed to stop them from having relationships with your starting colonists specifically.
Not like there's anything wrong with having redundant solutions on the workshop, anyway.
Actually it was written against a 1.3 decompile so almost certainly yes