Clan Split Event

This weekend was spent working on the 'Clan Split Event' mod file and implementing the needed components to get it to work in game. It seems that it's going to take more time than I expected since there's a lot of required background work that I didn't fully foresaw. Though nothing that would seem impossible.

Of all the small things that need to be done, I had to generalize calls to calculate a faction's administrative load and permit caching, so that the value doesn't get recalculated every time an expression queries for it. I also had to implement attribute accessors to obtain faction cultural preferences and also to get a faction's type (to filter clans from other future type of factions). While working on the cultural preference accessors, it occur to me that Cultural Preferences could be made customizable through mods quite easily. So I will attempt to permit that for the next release...

Currently there are only three hard-coded cultural preferences: Authority, Cohesion, and Isolation. When I introduced them, the intention was that they would be a way in which factions and polities could influence the groups and cultures under their influence. So, these cultural attributes are mostly modified by the effects of faction events and decisions. With the current work being done to make decisions moddable, it makes sense that preferences should be made customizable too so that modders can add new cultural preference definitions to be used by their custom events and decisions.

I don't think I will make preferences customizable right away. Currently my goal is still first to make decisions moddable and then work on tribal migration and aggression. But it might occur that I need to implement new preferences to make these last two things happen. If that's the case, then I'll implement preference modding along the way.