I'll admit, I'm loathe to add to this thread. I imagine, from the perspective of a developer who might happen to look at it, it's essentially a wall of text full of requests that are so specific in their application and devoid of context it'd be easy to dismiss them outright. Even so, we now have a developer in the form of
@Divine actually working on CK2 at the moment, so I'm going to do it.
To admit my personal biases up front: I'm the head of CK2Plus, and even before I became the mod lead I was the primary coder for quite some time, so I'm quite familiar withe the API and ways to get around it. That said, CK2Plus's primary goal is to expand on CK2's scope and not to make it do things it wasn't really intended to do -- it's not a total conversion mod, doesn't try to take the game to an earlier or later timeline, and tends to avoid adding new features that can't be done using the current modding tools. I totally respect mods that do so (or attempt to do so), but that's just not where my interest lies, and I'm personally leery of asking devs to add modding tools useful only for turning CK2 into something it isn't. But that's just me.
With that in mind, a few things that CK2Plus could
really use (and which I think would be useful to others):
1)
join_faction and
leave_faction: the API has back_plot and leave_plot, but nothing that does the same for factions. The only way to have someone join or leave a faction is to set a flag or otherwise change the condition on their joining and wait for the game to update their status...which can be awkward. I imagine it's never been done because, if you didn't change those conditions anyhow, they would just join or leave the faction on their own in short order. Timeliness is the important factor here, though -- being able to have someone join a faction as it's about to rebel, or as an effect for an event, would be
way better than "I'll think about it and do it in a week or so".
2) verifying the
checksum: this may only be possible if the checksum is actually stored somewhere, but it would be excellent if we could verify that the player's checksum is the one the mod requires. Our #1 issue as a mod is people having changed files (sometimes without their knowledge), then coming to report issues where our first question must always be "what is your checksum?" The ability to warn the player up front that their checksum is incorrect and what that means would be invaluable.
3) activating/deactivating
trade routes: the trade route system was intended solely for the Silk Road -- I get that. That makes the system's moddability difficult, however. Of all the things I could ask for regarding making it more moddable, it would be the ability to turn a route on or off. If this doesn't involve a command, even having an entry in the route's definition which allowed for a date where the route is activated (or deactivated) would make it
much more useful.
4) dynamic
alert icons: you know the icons at the top of the screen that warn you about things like titles you can form, or children who require guardians? It would be lovely if there was some way for us to create alert icons of our own -- even if, say, it was something that could be added into the triggered_modifiers which essentially turned it into an alert rather than a modifier applied to the character (or both).
5)
plot moddability: this is a bit more vague -- personally, I love the plot system, and I'd love to do more with it. Two big factors prevent this, however: a lack of ability to determine who's eligible (or willing) to join a plot, and a lack of ability to change what the reaction to a plot should be. If I were to make this more specific, I'd suggest an
allow_join field for plots similar to that for factions, which can narrow the field of who can be approached. I'd also suggest an
on_discovery field which determines the reaction someone has when they find out the plot exists -- which could be an opinion modifier (other than the one currently applied, which makes all plots considered equally bad, and a crime in the liege's eyes even if it's in their interests) or a specific reaction if the discoverer is the actual target.
6)
allowed_to_grant and
allowed_to_hold on landed titles: these fields exist on minor titles but not on landed titles, and it would be excellent to have them as optional. Obviously, they might not be able to override existing conditions (such as the limitations applied on gavelkind, or the requirement that you can only grant a non-titular duchy to rulers who own a de jure county), and
allowed_to_hold would really be
allowed_to_be_granted since you probably couldn't disqualify someone from having a title they already possessed...but if they could optionally
add to those requirements, that would be really useful.
7) moddable
autocephaly: this is really specific, I know, but it's been an annoyance for as long as I can remember that the autocephaly system for religions was clearly created to be specific to the Orthodox religion even though it's also applied to others like Miaphysite and Nestorian. If I were to give my top wants for how to change this? One would be to allow
pentarch entries in the religions themselves, to identify which titles that religion considers to be part of their pentarchy. Another would be to add a command which can be used in title scope to change its pentarchy alignment (the command exists, actually, but is only usable in the title's history file). Lastly, and perhaps least importantly, the separation of
autocephaly (kingdom- or empire-tier Lord Spirituals are the rightful religion head for the realm) from
pentarchy (theocracies with the pentarchy title have primacy in their territory) in the religion defines.
There are likely other things, but I don't want to make the list any more giant than it already is, and I'm trying to restrict myself to requests that we can't code around on our own. I'll add these into the list on the wiki, if they aren't already there (they might be, but that list is
long), but I thought for the moment I'd throw my pennies into the fountain along with everyone else.
For those who read it, thanks for listening.