• 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.
Does anyone know why this doesn't work?
Code:
random_list = { #Find princess to kidnap
    99 = {
        modifier = {
            factor = 0
            NOT = {
                any_courtier = {
                    limit = {
                        OR = {
                            father_even_if_dead = {
                                is_ruler = yes
                            }
                            mother_even_if_dead = {
                                is_ruler = yes
                            }
                        }
                        prisoner = no #Already kidnapped!
                        is_ruler = no
                        is_female = yes
                    }
                }
            }
        }
        random_courtier = {
            limit = {
                OR = {
                    father_even_if_dead = {
                        is_ruler = yes
                    }
                    mother_even_if_dead = {
                        is_ruler = yes
                    }
                }
                is_ruler = no
                is_female = yes
                prisoner = no
            }
            save_event_target_as = target_princess_to_kidnap
        }
    }
    1 = { #Otherwise set target as self to do nothing
        save_event_target_as = target_princess_to_kidnap
    }
}
For some reason the Validator trips over the "limit" in the any_courtier block. Any reason why?
 
Does anyone know why this doesn't work?
Code:
random_list = { #Find princess to kidnap
    99 = {
        modifier = {
            factor = 0
            NOT = {
                any_courtier = {
                    limit = {
                        OR = {
                            father_even_if_dead = {
                                is_ruler = yes
                            }
                            mother_even_if_dead = {
                                is_ruler = yes
                            }
                        }
                        prisoner = no #Already kidnapped!
                        is_ruler = no
                        is_female = yes
                    }
                }
            }
        }
        random_courtier = {
            limit = {
                OR = {
                    father_even_if_dead = {
                        is_ruler = yes
                    }
                    mother_even_if_dead = {
                        is_ruler = yes
                    }
                }
                is_ruler = no
                is_female = yes
                prisoner = no
            }
            save_event_target_as = target_princess_to_kidnap
        }
    }
    1 = { #Otherwise set target as self to do nothing
        save_event_target_as = target_princess_to_kidnap
    }
}
For some reason the Validator trips over the "limit" in the any_courtier block. Any reason why?
What does Validator actually *say* about it?

Also (altho this shouldn't keep it from working) 'even_if_dead' seems pointless, since the dead aren't rulers…
 
Does anyone know why this doesn't work?
For some reason the Validator trips over the "limit" in the any_courtier block. Any reason why?
"Limit" isn't necessary in any_* blocks, only random_* blocks. Just put your conditions directly in the any_courtier scope.

Edit: For future reference, it's unnecessary in any_* blocks used as a condition - still functional if using any_* as an effect.
 
Last edited:
What does Validator actually *say* about it?
Not much, just "Invalid node "limit" in Scope CharTriggerWithCount (value is <a complex type>)"

Also (altho this shouldn't keep it from working) 'even_if_dead' seems pointless, since the dead aren't rulers…
Oh, I wanted to check whether they were landed back when they were alive, to find princesses with dead parents. But I take that that won't work?
"Limit" isn't necessary in any_* blocks, only random_* blocks. Just put your conditions directly in the any_courtier scope.
Seems to work now; thanks!
 
modifiers are trigger blocks, so you don't need limits on your scope, just put the triggers in the scope directly
i.e
Code:
random_list = { #Find princess to kidnap
   99 = {
        modifier = {
            factor = 0
            NOT = {
                any_courtier = {
                    OR = {
                        father_even_if_dead = {
                            is_ruler = yes
                        }
                        mother_even_if_dead = {
                            is_ruler = yes
                        }
                    }
                    prisoner = no #Already kidnapped!
                    is_ruler = no
                    is_female = yes}
                }
            }
        }
        random_courtier = {
            limit = {
                OR = {
                    father_even_if_dead = {
                        is_ruler = yes
                    }
                    mother_even_if_dead = {
                        is_ruler = yes
                    }
                }
                is_ruler = no
                is_female = yes
                prisoner = no
            }
            save_event_target_as = target_princess_to_kidnap
        }
    }
    1 = { #Otherwise set target as self to do nothing
        save_event_target_as = target_princess_to_kidnap
    }
}
 
It's been a while since I tried my hand at making some substantial alterations to the game: what's the best way these days to bulk add a substantial number of new characters to the game? Is it still the old Character Generator, or has someone since come up with a way to import GEDCOM or spreadsheets or some other trick to simplify and speed up the process?
 
It's been a while since I tried my hand at making some substantial alterations to the game: what's the best way these days to bulk add a substantial number of new characters to the game? Is it still the old Character Generator, or has someone since come up with a way to import GEDCOM or spreadsheets or some other trick to simplify and speed up the process?
Would you like an app to turn GEDCOM files into CKII characters? I'm half-convinced someone else has already done it (or it might have been the reverse), but if not I could cobble something together myself.
 
Would you like an app to turn GEDCOM files into CKII characters? I'm half-convinced someone else has already done it (or it might have been the reverse), but if not I could cobble something together myself.
I would dearly love such a thing. I have seen projects to export from CK2 to GEDCOM, but never the other way around. I've embarked on projects in the past, but after so many hundred characters, plain old .txt files get rather tiring to look at, and trying to track lineage through numbers somewhat dizzying. Give me the option to do that with a proper family tree, though, and I could go on forever.
 
I would dearly love such a thing. I have seen projects to export from CK2 to GEDCOM, but never the other way around. I've embarked on projects in the past, but after so many hundred characters, plain old .txt files get rather tiring to look at, and trying to track lineage through numbers somewhat dizzying. Give me the option to do that with a proper family tree, though, and I could go on forever.
The most annoying part would be that in your GEDCOM you need to specify the dates of marriage, which are crucial for the game but often ignored in the family tree app. I've worked with both :)
Plus, characters need cultures and religions, which have no real place in a GEDCOM file structure. And, dynasties need cultures and Coats of Arms as well, and GEDCOM kinda ignores the whole concept of a dynasty.

I'm not saying it's impossible, and I'd be capable of doing something like that, but it may not be as convenient as you'd think.
 
The most annoying part would be that in your GEDCOM you need to specify the dates of marriage, which are crucial for the game but often ignored in the family tree app. I've worked with both :)
Plus, characters need cultures and religions, which have no real place in a GEDCOM file structure. And, dynasties need cultures and Coats of Arms as well, and GEDCOM kinda ignores the whole concept of a dynasty.

I'm not saying it's impossible, and I'd be capable of doing something like that, but it may not be as convenient as you'd think.
I can live with the manual entry for those. Culture and religion will mostly be copy-paste work, and the dynasties would almost all be preexisting anyways and can be replaced or linked up to the current game files (at least for what I have in mind). Marriage dates are trickier to come by, but don't pose too much of an ordeal to work in. I fully acknowledge there's still a good deal of work involved: it's really just that I find the tree view more visually engaging and enjoyable to work with for the bulk of it.
 
I can live with the manual entry for those. Culture and religion will mostly be copy-paste work, and the dynasties would almost all be preexisting anyways and can be replaced or linked up to the current game files (at least for what I have in mind). Marriage dates are trickier to come by, but don't pose too much of an ordeal to work in. I fully acknowledge there's still a good deal of work involved: it's really just that I find the tree view more visually engaging and enjoyable to work with for the bulk of it.
Well, I agree on the visual engagement part. Maybe I could bodge something together, where the generated files go like "religion = ENTERRELIGIONHERE". So the generated files would not parse until those are resolved. Maybe, when working with pre-defined dynasties (which have associated cultures), I could at least make characters inherit their dynasty's culture by default, so less copy-paste-work is needed.
I'll see what I can do, in any case.
 
Is there any mod that changes the generic European-Arabic/African-Asian buildings into something more...detailed?

Like Classic/Renassaince looking buildings for Mediterranean cultures (Greek, Italian, Castillian, etc), or actual yurts and tents for feudalized/IQTA steppe cultures (Uygurs, Mongols, Cumans, Turks, etc)

I know that it sounds a bit ridiculous, since the cities and buildings are tiny, but I only want to know if something among those lines already exists.
 
Does anyone know if I can add a opinion modifier for a specific culture group? I swear I have seen it done before but cant remember where.

Edit: Figured it out the format is <culture>_opinion and needs to be defined in modifier_definitions
 
Last edited:
Can I unlock building option by tieing them to a law, like I can with a trait? IE.
construct a refuge camp if I have a refuge law I modded in?
Yes, you can do that.
You can put almost every condition in the building's trigger, as long as you get the scoping right. Checking whether the owner has a certain law should definitely be doable.
 
I have been trying to change the name of k_mauretania and e_latin_empire, without success. Can anyone help?

I go to /localisation/text.csv and change the lines to:

  • e_latin_empire;Romania;Empire latin;Lateinisches Kaiserreich;;Imperio Latino;;;;;;;;;x

  • k_mauretania;Morocco;Maurétanie;Mauretanien;;Mauritania;;;;;;;;;x
I successfully changed the names of several titles already (like e_byzantium or e_arabia) but only these two titles above don't seem to work. I would prefer to not tinker with the /common folder so I can still play for achievements.