• 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.
I haven't found a definite cause for it, I'm not sure if it's to do with the Beauty trait sections in the character ethnicity files,
modifying which would be more of an undertaking or just commenting out lines in the traits themselves.

Otherwise there does not seem to be any place in the game's files that have to do with the Beauty traits elsewhere.

So I made this small mod to change the Beauty traits themselves to no longer apply their genetic constraints on characters.
It disables the lines "genetic_constraint_all" "genetic_constraint_men" "genetic_constraint_women"

If you download this .ZIP file, extract it into your mod folder at \\Documents\Paradox Interactive\Crusader Kings III\mod\
After exctracting it there should be a folder and file there :
[_] FOLDER : NoBeautyConstraints
[_] FILE : NoBeautyConstraints.mod
Both should be located at \\Documents\Paradox Interactive\Crusader Kings III\mod\

Then you'll need to activate this mod in the Launcher as per usual, maybe need to use the
Mods tab in the Launcher - Manage Playset - Add More Mods and then Add to Playset.

The downside of this change is that it is incompatible with other mods that add or modify traits.
Test and see if this helps and is acceptable to you.
 

Attachments

  • NoBeautyConstraints.zip
    17,5 KB · Views: 0
Last edited:
  • 1Like
Reactions:
Hi all, quick question, how do I create an event which happens at a specific date for the holder of a specific title? Like, for example, an event that shows up on October the 8th 1136 for whoever controls Milan. And what if I want the event to only happen if Milan is also the capital of that character, and not just a random county in his domain?
 
Edited code under spoiler

I would make a yearly launcher event fired from the yearly_global_pulse on_action by creating a custom on_action subcategory underneath it.
In your custom on_action file at \\common\on_action\
This way it will not overwrite any vanilla or another mod's on_action categories :
Code:
yearly_global_pulse = {
    on_actions = {
        launcher_event_pulse
    }
}
launcher_event_pulse = {
    events = {
        launcher_event_id_here.1 # the launcher event
    }
}

Launcher event code :
Code:
# from yearly_global_pulse, launcher for Jan 1st events
launcher_event_id_here.1 = {
    type = empty

    hidden = yes

    immediate = {
        every_ruler = {
            limit = {
                current_date >= 1136.1.1
            }
        
            if = {
                limit = {
                    current_date <= 1136.2.1
                }
                trigger_event = {
                    id = your_event_id_here.1
                    trigger_on_next_date = 10.8
                }
            }
        }
    }
}
- This launcher event gets launched every January 1st for EVERY ruler because triggering based on Milan's ownership and capital status is too early at this juncture
- If the current date is January 1st in the year 1136 it will proceed to the next check
- If the current date is also not yet February 1st 1136 the actual event will be scheduled for October 8th that same year
- So once the date has passed February 1st 1136 the check will fail and thus the event is only triggered once and not any year after this

- So since the ownership of Milan and its capital status may change between the triggering of the launcher event Jan 1st and the actual event's firing on Oct 8,
you will need to add into your event's trigger the following to narrow the event's criteria only to the ruler who actually owns Milan as their capital :
Code:
    capital_barony = {
        this = title:b_milano
    }
 
Last edited:
  • 1Like
Reactions:
Are we allowed to add txt files in /common/coat_of_arms/coat_of_arms?

I was trying to edit the colors of k_serbia, saved 01_landed_titles.txt as k_serbia.txt and deleted everything except
Code:
k_serbia = {
    pattern = "pattern_solid.dds"
    ...
}
But it didn't apply in game.

What's the actual procedure here?

Edit: I want the colored_emblem color2 to be black
Code:
k_serbia = {
    pattern = "pattern_solid.dds"
    color1 = "red"
    color2 = "white"
    colored_emblem = {
        texture = "ce_eagle_double.dds"
        color1 = "white"
        color2 = "white"
        instance = { position = { 0.5 0.5 } scale = { 0.9 1.0 }  }               
    }
}

Furthermore, changing the texture name resulted in the CoA reverting to the base game one. Not sure what's that about.
 
Last edited:
Are we allowed to add txt files in /common/coat_of_arms/coat_of_arms?

I was trying to edit the colors of k_serbia, saved 01_landed_titles.txt as k_serbia.txt and deleted everything except
Code:
k_serbia = {
    pattern = "pattern_solid.dds"
    ...
}
But it didn't apply in game.

What's the actual procedure here?

Edit: I want the colored_emblem color2 to be black
Code:
k_serbia = {
    pattern = "pattern_solid.dds"
    color1 = "red"
    color2 = "white"
    colored_emblem = {
        texture = "ce_eagle_double.dds"
        color1 = "white"
        color2 = "white"
        instance = { position = { 0.5 0.5 } scale = { 0.9 1.0 }  }              
    }
}

Furthermore, changing the texture name resulted in the CoA reverting to the base game one. Not sure what's that about.

If you don't find a solution, I can take a look at this when I've the time. For now, I'll say that you can definitely add new files, but as to whether the new files will overwrite earlier (vanilla) entries, I'm less certain. One thing you definitely need to keep in mind is that, to the best of my knowledge, coats of arms aren't updated in real time when edited—you have to reload the game every time you make a change to see the change take effect.
 
If you don't find a solution, I can take a look at this when I've the time. For now, I'll say that you can definitely add new files, but as to whether the new files will overwrite earlier (vanilla) entries, I'm less certain. One thing you definitely need to keep in mind is that, to the best of my knowledge, coats of arms aren't updated in real time when edited—you have to reload the game every time you make a change to see the change take effect.
It doesn't work even when I leave the name 01_landed_titles.txt. There must be something basic I'm missing here.

I changed the ce_double_eagle.dds a bit, changes to the shape apply, but not the colors.
ce_eagle_double.png d_rashka.PNG k_serbia.PNG

What I want is the green part in the leftmost image to be black for Serbia. Like it's yellow for Raška.
 
I haven't found a definite cause for it, I'm not sure if it's to do with the Beauty trait sections in the character ethnicity files,
modifying which would be more of an undertaking or just commenting out lines in the traits themselves.

Otherwise there does not seem to be any place in the game's files that have to do with the Beauty traits elsewhere.

So I made this small mod to change the Beauty traits themselves to no longer apply their genetic constraints on characters.
It disables the lines "genetic_constraint_all" "genetic_constraint_men" "genetic_constraint_women"

If you download this .ZIP file, extract it into your mod folder at \\Documents\Paradox Interactive\Crusader Kings III\mod\
After exctracting it there should be a folder and file there :
[_] FOLDER : NoBeautyConstraints
[_] FILE : NoBeautyConstraints.mod
Both should be located at \\Documents\Paradox Interactive\Crusader Kings III\mod\

Then you'll need to activate this mod in the Launcher as per usual, maybe need to use the
Mods tab in the Launcher - Manage Playset - Add More Mods and then Add to Playset.

The downside of this change is that it is incompatible with other mods that add or modify traits.
Test and see if this helps and is acceptable to you.
Cheers man that's great. I really appreciate it. I don't use any mods that effect traits as far as I know; at least not at the minute. I may start to check out the more fantastical mods in future which, I imagine, have new traits but for now that's golden. The mod sorts the face thing and now it's like it was before that update. It just gives them a nicer complexion and slightly more red tinted lips but that's grand.

Thanks again man
 
It doesn't work even when I leave the name 01_landed_titles.txt. There must be something basic I'm missing here.

I changed the ce_double_eagle.dds a bit, changes to the shape apply, but not the colors.
View attachment 673746 View attachment 673747 View attachment 673748

What I want is the green part in the leftmost image to be black for Serbia. Like it's yellow for Raška.
I also couldn't get it to work by adjusting the colors there.

I decided to brute force the problem and used your first emblem cutout there to create a new .DDS flag texture altogether.
I made it into a small mod here, also with a preview image below.

If you download this .ZIP file, extract it into your mod folder at \\Documents\Paradox Interactive\Crusader Kings III\mod\
After exctracting there should be a folder and file there called :
[_] FOLDER : NewSerbiaFlag
[_] FILE : NewSerbiaFlag.mod
Both should be located at \\Documents\Paradox Interactive\Crusader Kings III\mod\

Then you'll need to activate this mod in the Launcher as per usual, maybe need to use the Mods - Manage Playset - Add More Mods and then Add to Playset.
 

Attachments

  • k_serbia_flag.jpg
    k_serbia_flag.jpg
    79 KB · Views: 0
  • NewSerbiaFlag.zip
    62,4 KB · Views: 0
  • 1
Reactions:
I haven't found a definite cause for it, I'm not sure if it's to do with the Beauty trait sections in the character ethnicity files,
modifying which would be more of an undertaking or just commenting out lines in the traits themselves.

Otherwise there does not seem to be any place in the game's files that have to do with the Beauty traits elsewhere.

So I made this small mod to change the Beauty traits themselves to no longer apply their genetic constraints on characters.
It disables the lines "genetic_constraint_all" "genetic_constraint_men" "genetic_constraint_women"

If you download this .ZIP file, extract it into your mod folder at \\Documents\Paradox Interactive\Crusader Kings III\mod\
After exctracting it there should be a folder and file there :
[_] FOLDER : NoBeautyConstraints
[_] FILE : NoBeautyConstraints.mod
Both should be located at \\Documents\Paradox Interactive\Crusader Kings III\mod\

Then you'll need to activate this mod in the Launcher as per usual, maybe need to use the
Mods tab in the Launcher - Manage Playset - Add More Mods and then Add to Playset.

The downside of this change is that it is incompatible with other mods that add or modify traits.
Test and see if this helps and is acceptable to you.
Cheers man that's great. I really appreciate it. I don't use any mods that effect traits as far as I know; at least not at the minute. I may start to check out the more fantastical mods in future which, I imagine, have new traits but for now that
The mod sorts the face thing and now it's like it was before that update. It just gives them a nicer complexion and slightly more red tinted lips but that's grand.

Thanks again man
 
I also couldn't get it to work by adjusting the colors there.

I decided to brute force the problem and used your first emblem cutout there to create a new .DDS flag texture altogether.
I made it into a small mod here, also with a preview image below.

If you download this .ZIP file, extract it into your mod folder at \\Documents\Paradox Interactive\Crusader Kings III\mod\
After exctracting there should be a folder and file there called :
[_] FOLDER : NewSerbiaFlag
[_] FILE : NewSerbiaFlag.mod
Both should be located at \\Documents\Paradox Interactive\Crusader Kings III\mod\

Then you'll need to activate this mod in the Launcher as per usual, maybe need to use the Mods - Manage Playset - Add More Mods and then Add to Playset.
Works great. Thanks.

I figured that basic thing I was missing. I was loading a save game so some changes wouldn't apply.

Is there a flags cache folder in ck3 like in every other PDX title? I'm thinking, if I delete it, it'll be forced to rebuild with the changes from your mod.
 
There's a cache for terrain and shaders but there does not appear to be a flag cache any longer like in some older games.

Basically any changes from mods will take effect immediately when either starting a new game or loading a save. Only changes to history files will need a new game.
But changing animations, localization, events and modifiers for example will take effect just by loading a save after restarting the game,
sometimes even when the game is running.

You can totally change localization and trait and modifier effects while the game is running and the changes get immediately reflected in the game, no need to restart. However changing character animations while the game is running can usually crash it.

EDIT: Apparently flag changes only take effect on starting a new game.
 
Last edited:
There's a cache for terrain and shaders but there does not appear to be a flag cache any longer like in some older games.

Basically any changes from mods will take effect immediately when either starting a new game or loading a save. Only changes to history files will need a new game.
But changing flags, animations, localization, events and modifiers for example will take effect just by loading a save after restarting the game,
sometimes even when the game is running.

You can totally change localization and trait and modifier effects while the game is running and the changes get immediately reflected in the game, no need to restart. However changing character animations while the game is running can usually crash it.
Loading the save with your mod enabled, after restarting ck3, didn't apply the flag change. Only after starting a new game did I see the new flag.

There is an entry in save game, under coat_of_arms_manager_name_map,
Code:
k_serbia=576

That same id 576 appears in the k_serbia kingdom details entry. So, I'm guessing it is defined on new game, since there is no flags cache.
 
Loading the save with your mod enabled, after restarting ck3, didn't apply the flag change. Only after starting a new game did I see the new flag.

There is an entry in save game, under coat_of_arms_manager_name_map,
Code:
k_serbia=576

That same id 576 appears in the k_serbia kingdom details entry. So, I'm guessing it is defined on new game, since there is no flags cache.

My bad, I re-checked loading a save and you are right.
 
  • 1Like
Reactions:
Hej, I think you know who I am (the creator of "MIDC - More Immersive Decisions and Consequences), no ok nobody knows me :-(. I have some questions about events that on Reddit didn't received answers:
1) How can I program events that, every year after you take a decision, remember you to pay your debts (If you know my mod you know what I want to do).
2) Add modificator (or what's the name, not the traits the small modificator under the traits) with decision of the events.
3) The localization strangely doesn't work and to work I write all in main file. What can be the problem?
 
Edit: I seem to have fixed the below by putting my third custom character in their own file. I have no idea why this worked, but if anyone could explain it to me I would nevertheless be grateful.


Hello there,

I hope someone might be able to help me. I'm having a really puzzling issue.

Now, I'm very new to CK3 modding (circa, yesterday) but I have managed to create a new culture, characters and dynasties and make these characters rulers.

Now, one character I have intentionally made an unlanded Duke of Iceland (there is good reason, and I fully hope to find a way of having him automatically assassinated and the title dying with him), one I have made count of western Iceland (Vestisland) and I tried to make another one count of eastern Iceland (Austisland). Now my pre-designed Duke is unlanded, fine. One of my new characters rules western Iceland, fine. But no matter what I do I seem unable to make both counts of Iceland my custom characters. I've done it bespoke, I've switched the titles, I've copied and pasted what worked and changed it to suit, and no matter what I do, some random vanilla character is always there!

I would have assumed this was due to the unlanded Duke in some way, but when I switched one of my custom counts to the other side of the island, the vanilla character simply appeared on the other side isntead of my other custom character. I've even tried to create a new dynasty at a much higher number as well. I just don't know what to do.


500001 = {
name = "Jaster"
dna = jaster_mereel_dna
male = yes
dynasty = 9000001
religion = "catholic"
culture = "Mandalorian"
martial = 10
stewardship = 7
diplomacy = 9
intrigue = 6
trait = just
trait = brave
trait = trusting
trait = reckless
trait = education_martial_2
trait = blademaster_3
trait = physique_good_2
disallow_random_traits = yes
1021.5.2 = {
birth = yes
effect ={
add_character_flag = has_scripted_appearance
}
}
}

500002 = {
name = "Pre"
dynasty = 9000002
male = yes
religion = "catholic"
culture = "Mandalorian"
1029.6.5 = {
birth = yes
}
}
}

600001 = {
name = "Gar"
dynasty = 9000004
religion = "catholic"
culture = "Mandalorian"
1040.6.5 = {
birth = yes
}
}
}

c_austisland = {
768.1.1 = {
holder = 194045
government = tribal_government
}
867.1.1 = {
holder = 180257
}
1065.1.1 = {
liege = "d_iceland"
}
1065.1.1 = {
holder = 20580
}
1066.1.1 = {
holder = 600001
}
1080.6.5 = {
holder = 144632
}
1111.1.1 = {
holder = 144633
}
1150.1.1 = {
holder = 202011
}
1206.6.27 = {
holder = 202012
}
1235.9.1 = {
holder = 144647
}
1268.1.12 = {
holder = 6905
}
1280.5.9 = {
holder = 6906
}
1299.7.15 = {
holder = 452510
}
1319.5.8 = {
holder = 450500
}
}


Any help much appreciated.

P.S. While I'm here if no-one knows if it is possible to start a game with a character already plotting a murder, please do let me know!
 
Last edited:
Hej, I think you know who I am (the creator of "MIDC - More Immersive Decisions and Consequences), no ok nobody knows me :-(. I have some questions about events that on Reddit didn't received answers:
1) How can I program events that, every year after you take a decision, remember you to pay your debts (If you know my mod you know what I want to do).
2) Add modificator (or what's the name, not the traits the small modificator under the traits) with decision of the events.
3) The localization strangely doesn't work and to work I write all in main file. What can be the problem?
To save screen real estate I placed all the text under the spoilers.

[1] Issue One : Making A Yearly Repeating Reminder Event Triggering From The Decision
In the decision you can add a character flag in the effect = { } block.
Then add a trigger for an yearly checker event that is fired after a year has passed.

In the decision :
Code:
    effect = {
        add_character_flag = {
            flag = your_custom_character_flag
            days = -1 # meaning it lasts forever, use a different amount of days for a definite duration
        }

        trigger_event = {
            id = custom_checker_event_ID.1
            days = 365
        }

    }
Below is the code for the checker event that you can add to your mod's events that keeps checking that the character has the flag still.
(Character flags don't need to be defined in another file or elsewhere)
If the character has the flag still this checker event will then trigger and fire the actual event that reminds the player.
Code:
custom_checker_event_ID.1 = {
    type = character_event

    hidden = yes

    trigger = {
        has_character_flag = your_custom_character_flag
    }

    immediate = {
        trigger_event = {
            id = your_actual_event_ID_here.1 # now fire the actual event that reminds the player
        }
    }
}

Then in the option(s) of that actual event that reminds the player add an event trigger so that after another year the same checker event is fired to keep reminding the player. So inside your reminder event's option :
Code:
option = {
    name = your_option_localization_text_here

    trigger_event = {
        id = custom_checker_event_ID.1
        days = 365
    }
}
The checker event will once again fire in a year and if the character still has the flag, it then triggers the reminder event.
Thus the loop is complete and keeps going as long as the character has the flag.

In the case the character has paid their debt and this reminder is no longer necessary, you can simply remove the flag
inside the decision or event that pays back the money :
Code:
    remove_character_flag = your_custom_character_flag
--------------------------------------------------------------

[2] Issue Two : Adding Character Modifiers
You can similarly add a character modifier in the decision's effect = { } block (or an event's immediate = { } or option = { } blocks) :
Code:
    effect = {
        add_character_modifier = {
            modifier = your_character_modifier
            days = -1 # lasts forever, use an actual amount to change to a definite duration instead
        }
    }

However you will also need to define the character modifier at \\common\modifiers\ in your mod.
Check the game's vanilla modifier files on how to do it but basically all you need is :
Code:
your_character_modifier = {
    icon = icon_name

    # Effects, such as
    tax_mult = 0.25
    county_opinion_add = -30

    stacking = yes # if you want the modifier to stack, if not, leave the line out completely
}

When you create the localization for your character modifier it needs two lines :
your_character_modifier:0 "The Name of Your Character Modifier Shown in Game"
your_character_modifier_desc:0 "The Description of Your Character Modifier Shown in Game"
--------------------------------------------------------------

[3 A] Issue Three A: Localization Text Replacement
If you are overwriting localization ie. changing a vanilla localization line to say something else, you'll need to use the replace feature :

[_] In your mod's folder you need to place/create the localization replacement file at
\localization\replace\
OR
\localization\english\replace\
And so on for each language you are replacing text for.

[_] The localization replacement file needs to be a .YML file with UTF-8-BOM encoding.

[_] The replacement file for example if overwriting English text lines needs to be named something like your_overwrites_file_l_english.yml
(notice the lowercase letter L in between there, not a capital letter i)

[_] If in this example you are overwriting English text lines the very first line of your overwrite file needs to start with the all lowercase text l_english:
Next lines may require to always have one space at the start
Code:
l_english:
 vanilla_entry_one:0 "New text to display ingame here"
 vanilla_entry_two:0 "New text to display ingame here"
 vanilla_entry_three:0 "New text to display ingame here"

You can use this one replacement file to replace lines from different vanilla English localization files, replacements don't need to be in separate files.
--------------------------------------------------------------

[3 B] Issue Three B: Your Own Localization Text
[_] Your mod's own localization text file(s) need to be located at \\localization\english\ in your mod's folder structure.
If you are adding localization for a different language then place it for example at \\localization\french\

[_] The localization replacement file needs to be a .YML file with UTF-8-BOM encoding.

[_] For example if you are adding localization in English your mod's localization file(s) need to be named something like your_custom_loc_l_english.yml
(notice the lower case letter L, not a capital i)

[_] If in this example you are creating English localization the very first line of your localization file needs to start with the all lowercase text l_english:
Next lines may require to always have one space at the start
Code:
l_english:
 custom_entry_one:0 "New text to display ingame here"
 custom_entry_two:0 "New text to display ingame here"
 custom_entry_three:0 "New text to display ingame here"
 
Last edited:
Thanks for the event advice, however what you told me about location I had already checked. However, my problem is precisely with the localization folder, in fact if I declare, for example, the "desc" in the main file, I am in localization even if I recall it in the main file; when I'm in the game I don't have the recalled text but the recall (instead of "Take a loan from the merchant" I have "take_gold_from_merchant_decision")
 
Thanks for the event advice, however what you told me about location I had already checked. However, my problem is precisely with the localization folder, in fact if I declare, for example, the "desc" in the main file, I am in localization even if I recall it in the main file; when I'm in the game I don't have the recalled text but the recall (instead of "Take a loan from the merchant" I have "take_gold_from_merchant_decision")
Maybe the localization problem is the file name, they should end with _l_english.yml
(That's a lower case letter L, not a capital letter i there)
 
Thanks for the event advice, however what you told me about location I had already checked. However, my problem is precisely with the localization folder, in fact if I declare, for example, the "desc" in the main file, I am in localization even if I recall it in the main file; when I'm in the game I don't have the recalled text but the recall (instead of "Take a loan from the merchant" I have "take_gold_from_merchant_decision")
More often than not, reason for this would be a missing BOM, at least for other PDX games. You need to use an advanced text editor such as Notepad++, Sublime Text etc. and use the options Save with encoding - > UTF-8 with BOM.