RimWorld

RimWorld

Humanoid Alien Races
This topic has been locked
SineSwiper 29 Feb, 2020 @ 3:58pm
Conflict between apparelStuffFilter and apparelRequired
In my effort to port Faction Blender to v1.1, I've discovered a new kind of conflict. The default player factions now have apparelStuffFilters installed. For example, PlayerColony has a "Synthread" apparelStuffFilter.

This poses a problem for certain PawnKindDef, like tribals. The Tribal_Berserker requires a War Mask (apparelRequired), and War Masks are only made of Wood. If you try to put a Tribal_Berserker in the starting colonist pool, RimWorld tries to make the required apparel for the new pawn, produces a zero-length list of ThingStuffPairs, picks nothing, and then tries to add a null pair into its workingSet. (See GenerateWorkingPossibleApparelSetFor and my stack trace[gist.github.com].)

This causes the game to red error, and produce nasty effects like blanking out the "choose your colonist" screen or failing to create a starting map.

I have some ideas on how to fix it, but I'm not sure which solution is appropriate:

1. Call it a Core bug. RimWorld should really be more graceful when it finds conflicts like these and just fallback to a random set within allApparelPairs if there's a conflict (ie: let the guy have his wooden war mask). Or just take away the mask, despite the pawn requirement.

2. Call it a HAR2.0 bug. HAR should patch in that kind of behavior because it's not currently a vanilla problem, and has a greater chance of encountering it, especially with its startingColonists, alienrefugeekinds, and alienslavekinds tags.

3. Call it a Faction Blender bug. FB is the one mixing incompatible PawnKindDefs with apparelRequired->stuffCategories into the player faction with differing apparelStuffFilter requirements. It should detect and account for that.

Or a combination of the three. What's your opinion?
< >
Showing 1-1 of 1 comments
erdelf  [developer] 29 Feb, 2020 @ 4:42pm 
discussed in discord.
< >
Showing 1-1 of 1 comments
Per page: 1530 50