• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.
Showing developer posts only. Show all posts in this thread.
The ability to change a title's colour through event, similar to how you can change its name. Say to make it so that the Byzantine, Latin, and Muslim Rum (Ottoman) Empires are all the same title but with different colours and names.
Added as: The ability to change a title's color by event-
The ability to set a person's title place via culture.
Genghis Khan would no longer be "Khan Genghis" ingame, but "Genghis Khan".
Added as: Ability to put someone's rank after their name (E.G., Genghis Khan rather than Khan Genghis) dependent on culture.
I'd like the ability to set the "from X" dynasty names as formed from suffixes as opposed to prefixes. Currently for instance we can only have "Bob de Scarborough", but I'd like the option to have a "Bob Scarboroughde". So in the cultures code instead of "from_dynasty_prefix = "de "" we'd have the possibility for a "from_dynasty_suffix = "de""

One culture group this would work for are the Iranians, who would have the -i suffix for such names (i.e. Balkhi, Tehrani, Shirazi, etc.)
Added as: Ability to use a cultural suffix rather than prefix with "from X" dynasty names. E.G., "Scarboroughde" rather than "de Scarborough"
two new commands: add and remove holding slots to province!
Added as: The ability to change the number of holding slots in a province by event
In addition, a trigger to check the number of holding slots ( location = { max_settlements = <INTEGER>|<PROVINCE_TARGET> } ).
Added as: A condition to check the current filled holding slots in a province, and a condition to check the number of holding slots in a province
Since we're on the topic of numbers now, as a regular programmer too, this is far and away one of the most infuriating things into which I've run while hacking on CK2: lack of proper numeric (or even flags, in the case of titles) variable support. It's downright terrible the things one has to do to, in the simplest and most supported case of character scope comparison (only because they're the only scopes with numeric variables at all, best I can tell) of one variable to another variable, not a literal float.

The simplest realistic example of which I can think is having, e.g., the variable "dejure_holdings" defined for two or more different characters. It is the [integer] count of the number of holdings that are de facto vassal or below plus demesne titles of a given character that fall into some de jure territory-- let's say a kingdom. The meaning of the variable is irrelevant to the point, but I like immersion. The modder wants to compare these two characters' essentially arbitrary numeric "dejure_holdings" variables to each other and determine which is larger. This fundamental operation, variable comparison, is a prerequisite for almost any useful work that needs to deal with numbers and logic-- long before we get to needing arbitrary [integer] arithmetic even. You'd think that the following syntax would work, but it most certainly does not.
Code:
# we're in some character scope; set the variables (contrived, obviously)
set_variable = { which = dejure_holdings value = 73 }
FROM = { set_variable = { which = dejure_holdings value = 119 } }

# ... later on in same context as before (unaware of the values in the variables)

if = { limit = { check_variable = { which = dejure_holdings value = FROM } }
   # greater than or equal to FROM's variable "dejure_holdings"
   # ...
}
This does not work. If somebody (Meneth, please?) knows the best way to achieve an at-least-approximate numeric comparison sort of an arbitrary number of different instances of the same variable or even the simple one-to-one aforementioned comparison with a hack that doesn't require 14,000 lines of packed comparisons to literal integers-- all completely redundant combinations-- then please let me know. My hacking around at this has only resulted in frustratingly silly solutions.

From an implementation standpoint, it'd be braindead simple to implement a check_variable = { which = "my_variable" value = <TARGET> }, as the numeric variables tagged with their name are already attached to each of those character objects in-game and are even kept statefully, beyond the scope of their utility in some cases, and serialized to savegames. Likewise, set_variable = { which = "my_variable" value = <TARGET> } should naturally come along with that revolutionary feature. I probably shouldn't even think to ask for arithmetic commands like addition of two arbitrarily-valued variables together or multiplication (which allows us to simulate division too). But I will.

The necessity or even impossibility of hacks to try to eek arithmetic out of a pre-Babbage virtual machine are grossly inefficient (far more than the cost of an internal hash table lookup by variable name and performing a floating-point compare, which I admit is still gross for what little computation was accomplished, but it's the difference between 5 seconds and microseconds for some jobs), terribly disabling of smart functionality (e.g., it has killed many micro-projects undertaken to improve AI behavior), and a damn shame to the rest of this neat scripting engine.

Can we have proper variable logic operations please? Could we even have arithmetic operations on those variables (existing change_variable command with a target scope instead of a literal value would cover addition-- multiplication or division would be the only thing to require addition of new syntax and are less important)? In other words, the commands already exist and have a syntax that would naturally apply in congruence with the rest of the language. Just allow them to use target scopes. It's OK if they're only available for characters, although, like title flags (!), they would also be very useful for titles, particularly in combination with the increasingly dynamic title support.
CK2Plus uses variables quite a bit, so I'd recommend you look into those event files. I'm not sure what limitations there are to how these variables can be used though.
 
Double-post, sorry. Doing it anyway.

I was just [starting] browsing the EUIV forum and within the first 5 seconds of scanning the threads, what did I see but a [perhaps ill-formed] question addressed to Paradox about supporting variables.

http://forum.paradoxplaza.com/forum/showthread.php?704299-variables!

People do really want this. And I think I put the request in pretty specific and formal terms in my first post here on the subject. If you don't think so, let me know.
I'll add it to the list.

Separation of dynasty flags for titles from coa_on_barony_only.
I'm not quite sure what you mean.
 
Hey Meneth, I think you should revise that a little bit. "coa_on_barony_only" parameter exclusive means that title will have random CoA. Dynastic CoA for title is govern by "dynasty_title_names = yes/no" in the culture file. So they are already separated. Instead, we should be two different parameters: "dynasty_title_names" and "dynasty_title_CoA".
Edited to say "Add the ability to make titles have dynastic names separate from dynastic CoAs".
Ability to mod more succession laws would be good.

If only people could mod the kurultai succession system for the mongols....
"Moddable succession laws (E.G., ability to add new ones)" is already on the list.
 
[/LIST]
FYI, the number of currently-filled holding slots in a province can already be checked with the province trigger num_of_settlements. I've only tested it with a numeric argument, and I'd guess that's all that's supported. I previously found that reference [with no annotation] buried within the wiki and gave it a go to much success. I had an event that intelligently picked counties to hold when shedding demesne, one of the [lower-priority] variables of province selection being its present number of holdings.
That's neat.
But without a way to compare it to the limit it is nowhere near as useful as it could be.
I'll edit that entry to reflect things better.
 
Ability to add new causes of death, if this isn't already possible. I thought you could, because I've heard of people adding new diseases, but so far I haven't been able to figure out how to do it.
I know it'll pick whatever trait applies the largest health penalty if one is present. I *think* you can define a custom death ID when killing by event as well, but I'm not sure.
 
I might start updating the list again. There's been some decent suggestions.

One thing that would help is if someone could go through the list to see if there's anything that's actually been added in patches since the list was last updated. Moving those away will help quite a bit, and after that I should be able to go through the suggestions posted since I last updated the list.
 
Better place to ask would be Modding - Quick Questions. The answer, however, lies in common/opinion_modifiers/00_opinion_modifiers.txt. This file contains the values for both of the modifiers you mention. You can override the file and make them 0 opinion for, e.g., gender equality instead of the, I believe, -5 and -10 that they are in vanilla, respectively. Now, automatic application of the modifier (even if its value is 0) is still hard-coded to happen whether you like it or not (e.g., like same_dynasty).
Oh and if you've got two versions of a mod, one with and one without gender equality, the best way to do that is probably to split out the gender opinion from the 00_opinion_modifiers file to a separate file, since then only those modifiers have to be overridden by the gender equality module, thus reducing the maintenance work needed.
 
Can you really pull one of the modifiers out of the file without having to have the whole file in your mod directory? That would make things a lot easier when I have to update the files when a new patch comes out.
It only really applies if you're editing the opinion file in the vanilla version of the mod. It makes keeping the two versions up to date with one another easier; not with vanilla (but adds no real complexity there).
And in that case pulling an opinion modifier out like that shouldn't be an issue. Reminds me that I should do that for PB's gender equality module.
 
I think we have a misunderstanding here, I thought you said I could not copy over the original 00_opinion_modifiers.txt file to my mod, and only have a new text file in there that includes the female_ruler_opinion modifiers and such and the game would ignore the ones in the base game's files.

There's actually a warning in there against moving or removing that stuff due to it being hardcoded. I'm not going to touch that for now.
Moving them should work fine. Their order shouldn't be hardcoded, only their internal names.
What I meant is that if your mod changes opinion modifiers, and there's a separate version with gender equality, then splitting those few modifiers off to another file means that they pretty much don't have to be maintained; a change to opinion modifiers in the base mod will no longer require that you update the gender equality module as well.
I've run into issues with my modules when I've forgotten to update a file common to the base mod and the modules a bunch of times, so anything that reduces the chance of that can be of great benefit.
 
Thanks for the support! :)

Plus, I imagine it would be a very easy thing to do/code on Paradox' side!
Added to the list:
"Ability to change title localisation based on culture/religion from outside the landed_titles file, so that mod compatibility is easier to maintain. E.G., by putting it in localisation instead: "d_lancaster_welsh;Rheged;Rheged;Rheged;;Rheged;;;;;;;;;x""
 
Here is a list of requested succession law types I put together a little while back, may as well include it in the list: http://forum.paradoxplaza.com/forum/showthread.php?741234-A-collection-of-requested-succession-types

A few things I requested in the previous patch thread, again it is probably useful to have them in one place:
  • Option to define religions that can only have matrilineal marriages (the option to define whether or not matrilineal marriages are possible has been added)
  • Option to have only female priests in a religion.
  • Option to have randomly generated female mayors, or only female mayors.
  • A similar system for defining whether or not a specific government can use matrilineal marriages, similar to how it works for religions.
All added.
 
Should be moved to Implemented suggestions as this has been added.

"female_temple_holders = yes"
Moved, thanks.
I would like for both the papal succession and decadence mechanics to be made moddable (for those modders who want to create custom religions).
Added a note about decadence. Can't traits already give Papal suitability though?
An on_action on_new_holder in title scope. Maybe with previous holder in FROM.

The intended application is to enable title-specific mechanics. For example the Roman Empire would use this to grant the Augustus trait to a character as soon as they get the title, rather than several days later.

For Augustus an event with MTTH = 1 day is acceptable. But if I wanted to add a negative effect, the player could abuse the time before the event fires to circumvent its effect. (I'm thinking specifically of penalizing levy size before you use a decision to hold a coronation, which you could circumvent by raising levies before the penalty is applied.)
Sounds like a good idea. Added as "A new on_action "on_new_holder". Would give the title as FROMFROM, the new ruler as ROOT, and the previous ruler as FROM (ROOT = FROM if the title is created rather than inherited/usurped)"
Speaking of coronation:

Ability to add new diplomatic interactions.

My idea is for the Holy Roman Emperor to require a coronation by the pope or an antipope, via diplomacy. But it would also, for example, streamline the personal interactions in the Game of Thrones mod.
Added.
 
Going through the list and noting what has been added, or partially added.

Partially added:
  • Ability to mod what holding types are allowed and available (like Muslim Feudals being able to use both temples and castles) - "can_hold_temples = yes" for feudal temples in religion file.
Still leaves holding cities unmoddable.
  • Make decadence more moddable (E.G., traits giving decadence/preventing decadence. Character modifiers affecting decadence) - There is a "prevent_decadence = yes" aspect for traits.
Any idea how that works?
  • Retinue triggers beyond just culture. Preferably fully scriptable like plots for example are - Retinues are now scripted with a 'potential' trigger rather than simple culture and culture_group fields
  • A way to limit retinues to specific title tiers and above; E.G., only dukes and above - Retinues are now scripted with a 'potential' trigger rather than simple culture and culture_group fields
  • Add condition "other_religion_marriage = yes/no" in religions (allow marrying members of other religious groups) - The 'intermarry' option
Moved, thanks.
  • Allow splitting culture/religion group across multiple files so that so that keeping small mods compatible with other projects becomes simpler - I've always been able to do this, I think it's been added unless I'm misinterpreting what is being asked for.
Splitting a single group across several files, which is not currently possible. E.G., a mod decides to add Scots-Gaels. Currently they'll have to replace the entire culture file (or the entire Norse culture file if it is a sub-mod of a mod splitting things up). Ideally it'd be possible to have the culture in a file of its own with its parent defined in the culture itself.
 
The Ashari trait, which prevents anyone who has it from generating any decadence, has "prevent_decadence = yes" as a part of its effects. Here is the whole trait
That's quite neat. However, it's very all or nothing.

Are you sure about that? I was able to split cultures across files in EU4, and I am able to split religions across files in CK2 for sure.
Well, there's quite literally no way to define a parent for a culture to my knowledge, so that's not possible. It might work for heresies, but I'm very much unsure on whether it'd work for top-level religions.
 
That particular point made no mention of parent cultures. Isn't all you have to do put things in the religion's scope? For example, my better gender mod adds in a new heresy for miaphysites like this:
Code:
christian = {

    lilithian = {
        graphical_culture = westerngfx

        icon = 11
        heresy_icon = 13
        
        color = { 0.9 0.2 0.2 }
        parent = miaphysite
    ...

    }
}

The game interprites that as a part of the Christian religion no problem, and that's in a separate file (but still the religion folder) and it works just fine. I doubt that there would be any issues for a non-heresy religion either.
I'll have to test if it actually works with a separate branch of a religion (non-heresy), as I've seen no indication that for example "parent = muslim" would work.
If it does, I'll remove the mention of religion and leave it as referring to culture only.
 
I don't think you'd ever say "parent = muslim". The right way is to put is to open with the muslim scope, like this:

Code:
muslim = {
    my_muslim_religion_name = {
        #my religion defines
    }
}

And that would be the same as if you took the default religion file and added my_muslim_religion_name to the muslim section there.
I'll have to look into that.
 
I've been looking around the files for awhile now, and I'm pretty sure that there isn't a way to mod who can be appointed as the successor to a theocracy/bishoprick in realms with free investiture. If this cannot be made fully moddable, please make it so that religions with female_priests = yes can appoint women as successors.
I think that pretty much goes under the note of making succession properly moddable. No succession type except Papal Succession is moddable in any real way right now.
 
Yeah, in that case let's just leave it at, "Religions with free investiture and female_priests = yes can appoint women as bishoprick successors"
Tbh, sounds like a bug. Report it in the bug forum; it'll get fixed much quicker that way.