RimWorld

RimWorld

[Discontinued] Pawnkind Race Diversification
320 Comments
Cypress, Master Spy of IKEA 3 Jul, 2022 @ 11:50am 
Thanks for everything you've done with this mod. It's been one of the best QOL mods I've used.
thomasb451 1 Jul, 2022 @ 5:23pm 
Nice one Mlie
Mlie 1 Jul, 2022 @ 11:15am 
Made an update of this:
https://steamproxy.net/sharedfiles/filedetails/?id=2828866565
Hope it helps anyone!
thomasb451 1 Jul, 2022 @ 1:56am 
Maybe the author can open it up to being adopted? A bunch of other abandoned mods have successfully done it, so perhaps this one too?
DaJudge 24 Jun, 2022 @ 1:37pm 
Does anyone know of an alternative to this mod since it's now discontinued? I love the idea behind it, but can't find an alternative.
Witch ~ 31 May, 2022 @ 2:37am 
Bruh I hate it when mods get discontinued and then it breaks the game. Problem is Rimpy never updates the new name
QuoteGoat 27 Apr, 2022 @ 9:48am 
Having similar issues with this mod and Rimvali, without this mod it works fine. With the mod, Avali cannot generate whatsoever.
Amtrak Official 25 Apr, 2022 @ 12:28pm 
Mod makes it so that factions don't show up after I generate the planet. 1 outlander base shows up, but nothing else.
Meanie 13 Apr, 2022 @ 12:20pm 
I'd like to have my starting colonists always be human, so they can arrive into a very, very alien planet. However, in order to do that, I have to always change an option when generating a world, which I often forget about. Could you add this option to the configuration section, so that I can set 100% spawn chance for humans and never touch it again?
LUFF 11 Apr, 2022 @ 7:29am 
not sure why but this mod breaks worldgen in my game
Weaver 10 Apr, 2022 @ 10:11pm 
I'm also getting pawns reporting the wrong race in both Numbers and RimHUD, but the right race in Character Editor and the default info panel. I get this behavior with just one race mod (cutebolds) PKD, the above mods, and dependencies loaded. It appears to have something to do with the second field shown under the name in Character Editor, where it says something like Cutebold, Outsider or Human, Colonist. When the pawn has been changed by PKD it can list an invalid combination (one that Character Editor won't let you select) such as Cutebold, Colonist.
imkat98 4 Apr, 2022 @ 2:26pm 
so i am a fool and have messed something up, the pawns sometime spawn as gigantic giants and im not sure what i bugged up, also my "human" pawns are said to not be humans and im confused lol
I can post screenshots if need be
Quin 26 Feb, 2022 @ 8:53pm 
Rimvali's faction shows up in diverse options but the actual race themeslves don't show up in the weighting menu.
Starting a world normally works fine unless you choose to start as one of the avali factions, then it'll glitch out on map generation on the step where it picks pawns.

This might be a rimvali side issue though in how they implemented things.
Akki_Wolf 14 Feb, 2022 @ 4:03pm 
Update, now I'm really confused but that's not new. With the char-editor active everything registers correctly, but rimhud is saying something different, not sure if that invalidates the testing I did but I'm going to hand wave it and play on, sorry if it was a bother but for now I'm going to call it being weird and move on.
Akki_Wolf 14 Feb, 2022 @ 3:50pm 
Ugh, brain faster then typing...the second pass had Diverse off.
Akki_Wolf 14 Feb, 2022 @ 3:49pm 
The way I replicated it was in a test world, with both active (including other mods but none that really affected afaik race gen) I spawned pawns with the spawn colonist 'command' then looked through. Turned off Diveristy, repeated. In the first run, I got pawns with all sorts of attributes they shouldn't have both as traits and graphically, mostly human though a fair bit from the other races as well. In the second run placing colonists (the generic command btw) all human. Then if you went through the indivual races colonist spawns (as a sorta control) they too only spawned those kinds of pawns, of note when I did a third pass with Diverse on, and specced for the races they behaved normally.
Solid Wires  [author] 13 Feb, 2022 @ 5:30pm 
That is very strange. I never had that graphical oddity happen before in my playthroughs. I quickly tested the newly updated HAR with this mod and I cannot reproduce that issue.
Sometime, I'll have to perform more extensive tests with the races you're using. Perhaps some of those have something related to graphical oddities.
Akki_Wolf 13 Feb, 2022 @ 5:11pm 
Not sure who is affecting who, so I'll be dropping this line on HAR as well. It seems, one of the two caused my colonists to randomly reassign races, their races atm in and of themselves not a issue, however graphically and prior to the most recent update of HAR they matched now about 1/4 of my colony is human who have traits and graphics that belong to Kurin, Kimiri, or Nyaron which while not game breaking is...odd. Everything seems to work alright when I disable Pawnkind Race Diversifaction save that the races currently are still mixed up (which I think I can fix with a char editor, but will have to test).
cubicPsycho 4 Feb, 2022 @ 4:33pm 
Awesome, thanks
Solid Wires  [author] 4 Feb, 2022 @ 2:50pm 
@cubicPsycho
Pre-existing humans or aliens should retain their race in your save. This mod should only affect new pawns. I've had old pawns come back or reappear in quests the same as they've always been.
The next thing you mentioned is something I'm already working on. I've been busy for the past few months and I'll get to implementing more specific settings eventually.
cubicPsycho 4 Feb, 2022 @ 2:10pm 
Also is there a setting to prevent starter pawns, refugees, and slaves from using these settings? I want to make only tribal factions use this mod but it seems to affect pawns that you can't disable
cubicPsycho 4 Feb, 2022 @ 1:55pm 
Do pre-existing human pawns get changed to aliens? Say I release a human and if they come back in a raid, do they have a chance to have their race be changed?
Thoramyr 5 Jan, 2022 @ 3:27pm 
Awesome! I can finally have proper Star Wars themed multiracial settlements on the map.
GwenBlanketSpecter 30 Dec, 2021 @ 6:26am 
great mod. wonder if there is a way to set up per faction race weights.
Solid Wires  [author] 12 Nov, 2021 @ 10:56am 
@NightmareCorporation
Interesting... I am glad that you have found out a way to manually generate racially specific pawns. That stuff is helpful to know - thank you.
NightmareCorporation 12 Nov, 2021 @ 10:39am 
For now I do the following:
Before calling pawn generation, persist the PawnKindDef's race ThingDef's defName

string originalPawnKindRaceDefName = pawnKind.race.defName;

Then I load the custom races ThingDef race into the PawnKindDef that will be used for generation. Create a PawnGenerationRequest with the "faked" PawnKindDef. This properly creates the klickmala pawn as I want it.

And for my good concience I wrap it all in a try-finally to always reset the original PawnKindDef's race back to what it was with

kindDef.race = ThingDef.Named(originalPawnKindRaceDefName);

It seems to work and pawns don't magically flip between races whenever a new pawn is generated, which honestly challenges my understanding of how a Def used as a shallow copy actually works...
NightmareCorporation 12 Nov, 2021 @ 10:18am 
@Solid Wires
Thank you for the clear response, it would have been amazing to have another method to call instead of the default GeneratePawn and pass a ThingDef race into it to be used for generation.

But thanks to the absolutely chaotic base game pawn generation that'll take a lot of effort to make viable, good luck to you.
Solid Wires  [author] 12 Nov, 2021 @ 10:18am 
I'll open up this issue on Github on high priority.
Solid Wires  [author] 12 Nov, 2021 @ 10:14am 
@NightmareCorporation
Through testing, I am aware of the problem that a PawnKindDef's race and a Pawn's race are not consistent. Although when pawns are loaded, they retain their original race for some reason. I've never had problems with race persistency through testing.

Those problems that you mentioned - manual pawn generation - are apparent problems across other mods such as Altered Carbon. This is because the race selector in this mod is not paused, which will affect any pawn that generates regardless of manual execution. Unfortunately, this is a huge issue. The way I tried going about fixing this problem is having a class called "AnyModGeneratedPawn" that, when its method is called, it pauses the race selector. The next pawn that is generated manually is ignored by the race selector.
Solid Wires  [author] 12 Nov, 2021 @ 10:14am 
Perhaps if someone calls "GeneratePawn()," maybe I should just pause the generator when that happens? I'll have to try this and see if this is more optimal, as this mod does focus on patching the PawnGenerationRequester. I'll have to see.
NightmareCorporation 12 Nov, 2021 @ 10:05am 
@Solid Wires
I am trying to generate a Pawn in code here. Normal way is to call PawnGenerator.GeneratePawn() with a PawnGenerationRequest.

Which fails for any race using your mod and creates a humanoid pawn instead (cause the PawnKindDef persisted in pawns like Klickmala is HUMAN)

I also wrote this up before you replied:
So uh, you just intercept pawn generation, replace the pawnKind.race with a shuffled one and then slap that on the pawn?

This would cause issues because the PawnKindDef is permanently saved in each Pawn, meaning all existing pawns would also have their .race field affected whenever a new pawn is generated. Unless I misunderstand and you create a deep copy of the PawnKindDef to persist in the pawn - which seems like an awful abuse of the Def system. Or maybe I just overestimate the importance of the persisted PawnKindDef post-pawn-generation
Solid Wires  [author] 12 Nov, 2021 @ 10:03am 
@NightmareCorporation
I'm not quite sure what you mean? For a custom race to generate its pawns, it could set its own weights with the extension and use generic vanilla pawnkinds for its custom racial factions - or it could ignore those entirely and just make its own pawnkinds to spawn in its own factions. I'm not opposed to that. All of the bigger race mods still do that.
Of course the PawnKindDef still exists. Custom races can still use it. In fact, this mod won't touch pawns that generate with non-human PawnKindDefs by default. I am not entirely sure what made you think I completely removed or disregarded it.
I'm not going to create an entirely new/overloaded/alternative generation method for pawns. That does not seem reasonable to me. I use PawnGenerationRequest so that I don't create tons of "boilerplate."
UntouchedWagons 12 Nov, 2021 @ 9:40am 
Hmm I'll have to look at the settings as I don't believe I've seen a single raid or trade caravan that wasn't entirely humans.
NightmareCorporation 12 Nov, 2021 @ 9:38am 
How would one properly generate a pawn with custom race using your mod?
PawnGenerator.GeneratePawn() with a classic PawnGenerationRequest requires the PawnKindDef, which does not exist for custom races using your mod.

Do you provide any overloads or alternative methods to generate pawns without tons of boilerplate?
Solid Wires  [author] 11 Nov, 2021 @ 6:50pm 
To further clarify:
This mod assumes by default that all human pawnkinds are blank slates and can be replaced with aliens. If any pawnkind specifies a race other than human, then a toggled off "override all alien pawnkinds" has no effect on that pawnkind. Usually this is prevalent on race-specific factions (although I guess not all of them, which is why I added faction-exclusion in case of that problem).
Solid Wires  [author] 11 Nov, 2021 @ 6:42pm 
@UntouchedWagons
Yes indeed. The high stellarch could be a T1 if there's a possibility of T1s spawning.
However, for factions with specific races in their pawnkinds (e.g. mantodeans), they will not be affected if "override all alien pawnkinds" is toggled off.
Factions toggled on in faction exclusion will not be affected in the race changes (e.g. if turned on for Empire, then they will only have human pawns).
UntouchedWagons 11 Nov, 2021 @ 6:37pm 
I'm not sure I understand what this mod does, does it allow any faction to have any race in it? IE could the high stellarch be a T1 android?
Snack 1 Nov, 2021 @ 6:06am 
It does! Thanks for dealing with this issue so quickly, it is very much appreciated
Solid Wires  [author] 31 Oct, 2021 @ 3:43pm 
Well, excluding factions from race diversity was not very hard to implement, so I pushed a small update that you can try out to do just that. Tell me if it works the way you want.
Solid Wires  [author] 31 Oct, 2021 @ 12:58pm 
@Snack
I've been quite busy for some time because of my academic responsibilities. I cannot say for certain when I'll be working on the next update. Maybe during a fall break, or in December when my term ends? I'll have to schedule the update's progress somewhere around those dates.
Snack 31 Oct, 2021 @ 12:53pm 
+1 for TurtleShroom's idea, it's very strange to see a mantodean raid consisting of naked humans or a hiver trade caravan with androids. Also, could you give us an approximate date of when the next update(updates?) is going to be released?
Solid Wires  [author] 30 Oct, 2021 @ 12:42pm 
@TurtleShroom
Alien faction spawn weight adjustments are planned, although I could simplify it further by adding a blacklist of factions. I'll consider that.
TurtleShroom 30 Oct, 2021 @ 12:40pm 
Please consider a way to exclude certain Factions (or even better, certain Pawn Kinds) from being diversified.

For example, the Brotherhood Compendium Mod adds the Enclave from "Fallout". The Enclave believes that all sapient non-humans (Ghouls and Super Mutants in the heretofore mentioned game) are to be exterminated on sight. It breaks muh immersion to see a Gnome, a Nyaron, a Kurin, or (God forbid) a Ghoul as a member of the Enclave.
DaJudge 24 Sep, 2021 @ 6:01pm 
Ok. Thanks man.
Solid Wires  [author] 24 Sep, 2021 @ 1:51pm 
@DaJudge
On August 9th to Mimi in the comments, I explained this problem. This is an oversight in RimHUD that is visible from using this mod.
DaJudge 24 Sep, 2021 @ 1:43pm 
Hi, I think there's an incompatibility between this mod and Rimhud where the information on a pawn's hud says they're a different race than what they actually are (for example, it says they're a human when they're actually an elf). Is there any way to fix this? Thanks man. Great mod.
Snack 21 Sep, 2021 @ 8:43am 
Awesome, thanks a lot!
Solid Wires  [author] 21 Sep, 2021 @ 8:33am 
Yeah, I get it... the chances adjust according to the weights set, but I suppose I could make a config option to calculate it the other way around too.
I'll do that soon then, in the next update.
Snack 21 Sep, 2021 @ 8:30am 
Hey! Great mod, but I have a suggestion:
Make it so you can edit the "spawn chance" percentage, which is then converted to weight (if that's even necessary). It would be much easier and more intuitive.
Right now it's kind of fustrating, because weights are relative. So if I want to have a 10% chance of race A spawning, I have to fiddle with the weights of races B, C and E too so that the proportion is right. I hope you get the idea.
Solid Wires  [author] 7 Sep, 2021 @ 5:52pm 
The solution for that would be to either tell the race modders to include at least one empty pawnkind to spawn the race, or suggest to Prepare Carefully and Character Editor to have an option to change a pawn's race (although this would require having to overwrite the pawn in-game).