-
Notifications
You must be signed in to change notification settings - Fork 3
FAQ
A list of hopefully useful answers to some common questions:
No, but I believe there are some incompatibilities. Anything that modifies pathing has a high likelihood of failure. There's additional work needed to move more code to Transpiled changes to reduce these potential incompatibilities (if someone wants to help with this I'd be happy to have a co-author!). If you do run into a mod incompatibility, please create an issue and I'll look into fixing it. For reference the SwimmingKit mod has been using a development version of the TerrainKit for months without reported conflicts prior to the TerrainKit public release. Furthermore having multiple mods that build different terrain rules on top of the TMK library should be compatible expect that one mod might make you much quicker on a given terrain than another.
What if there's multiple Speed / pathCost assignments to a single terrain (if multiple mods add similar attributes)?
The mod will treat each equally and always choose the path that is the cheapest for a pawn. This means that for each pair of attributes the one with the highest rate of travel will be selected for each terrain tile.
No. If you don't specify a specialized pathCost the base pathCost will be used. This means you only really need the Speed stat to get basic use out of the library.
The first mod with the DLL wins. It's recommended you put the mod as a LoadAfter denotation in your About even if you're only using the DLL file directly so fixes are applied retroactively. When loading the mod if an earlier version is detected before a later version of the DLL being used it will Log and Error informing the user that there's a potential load order between the two mods using the same DLL. This makes the assumption that all changes are backwards compatible, which I will attempt to maintain as best as I can. That being said the way modding and assembly loading works in Rimworld / C# there's only so much that can be done. Using the mod dependency reduces these problems, which is why Harmony had to move to being a mod dependency for everyone in the 1.1 release.