• 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.
The modified localization is in file v2.50b.csv in the respective mod folder path, but still no localization change for Heritage...

And since today, my mod no longer works - no child gets focus automatically. The event is in on_actions/startup, but nada. See event below.

character_event = {
id = focus.startup

max_age = 12

is_triggered_only = yes

hide_window = yes

trigger = {
has_dlc = "Zeus"
NOT = { age = 12 }
NOT = { has_character_modifier = focus_ch_pride }
NOT = { has_character_modifier = focus_ch_struggle }
NOT = { has_character_modifier = focus_ch_duty }
NOT = { has_character_modifier = focus_ch_thrift }
NOT = { has_character_modifier = focus_ch_humility }
NOT = { has_character_modifier = focus_ch_etiquette }
NOT = { has_character_modifier = focus_ch_faith }
NOT = { has_character_modifier = focus_ch_heritage }
}

option = {
name = OK
random_list = {
10 = { set_focus = focus_ch_pride }
10 = { set_focus = focus_ch_struggle }
10 = { set_focus = focus_ch_duty }
10 = { set_focus = focus_ch_thrift }
10 = { set_focus = focus_ch_humility }
10 = { set_focus = focus_ch_etiquette }
10 = { set_focus = focus_ch_faith }
10 = { set_focus = focus_ch_heritage }
}
}
}

NOTE that it worked before, just like intended.
Your event ID seems a bit off. You can use a namespace before the dot but after the dot you need a number unless I'm mistaken. Try to change the ID for the event and the on_action file and see if that works.
 
Your event ID seems a bit off. You can use a namespace before the dot but after the dot you need a number unless I'm mistaken. Try to change the ID for the event and the on_action file and see if that works.

The name is fine, but... in any case - I did a fresh install, and installed my mods one by one, until I found a contradicting one. Fixed that one, and this one started working as well :)

Still, the localization for focus_ch_heritage keeps being stubborn and doesn't change. My mod folder contains an edited version of v2_50.csv, so it should overwrite the original, right? But it doesn't.
 
You learn something new every day I guess. I didn't think you could do that. I'll have to dig into how it will evaluate. Good thing that you found the problem. :)
For the localisation it should replace the file. This entry might be relevant however 'focus_ch_heritage_title'?
 
You learn something new every day I guess. I didn't think you could do that. I'll have to dig into how it will evaluate. Good thing that you found the problem. :)
For the localisation it should replace the file. This entry might be relevant however 'focus_ch_heritage_title'?

focus_ch_heritage_title changes the name of the focus, which im ok with. what i am actually having trouble with, is focus_ch_heritage_desc, which just stubbornly wont change.

i think i might have to contact the owners of the original mod, which im tweaking, and see if they can help me with it.

in the mean time, another puzzle - why wont below event launch at startup?

Code:
character_event = {
    id = reeducation.adult

    min_age = 16

    is_triggered_only = yes

    hide_window = yes

    trigger = {
        age = 16
        is_priest = no
    }

    immediate = {
        remove_trait = amateurish_plotter
        remove_trait = flamboyant_schemer
        remove_trait = intricate_webweaver
        remove_trait = elusive_shadow
        remove_trait = naive_appeaser
        remove_trait = underhanded_rogue
        remove_trait = charismatic_negotiator
        remove_trait = grey_eminence
        remove_trait = indulgent_wastrel
        remove_trait = thrifty_clerk
        remove_trait = fortune_builder
        remove_trait = midas_touched
        remove_trait = misguided_warrior
        remove_trait = tough_soldier
        remove_trait = skilled_tactician
        remove_trait = brilliant_strategist
        remove_trait = detached_priest
        remove_trait = martial_cleric
        remove_trait = scholarly_theologian
        remove_trait = mastermind_theologian
        if = {
            limit = { NOT = { learning = 4 } }
            random_list = {
                25 = {
                    modifier = {
                        factor = 2
                        martial = 6
                    }
                    modifier = {
                        factor = 2
                        martial = 8
                    }
                    modifier = {
                        factor = 2
                        martial = 10
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { martial = 6 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { martial = 4 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { martial = 2 }
                    }
                    add_trait = misguided_warrior
                }
                25 = {
                    modifier = {
                        factor = 2
                        intrigue = 6
                    }
                    modifier = {
                        factor = 2
                        intrigue = 8
                    }
                    modifier = {
                        factor = 2
                        intrigue = 10
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { intrigue = 6 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { intrigue = 4 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { intrigue = 2 }
                    }
                    add_trait = amateurish_plotter
                }
                25 = {
                    modifier = {
                        factor = 2
                        diplomacy = 6
                    }
                    modifier = {
                        factor = 2
                        diplomacy = 8
                    }
                    modifier = {
                        factor = 2
                        diplomacy = 10
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { diplomacy = 6 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { diplomacy = 4 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { diplomacy = 2 }
                    }
                    add_trait = naive_appeaser
                }
                25 = {
                    modifier = {
                        factor = 2
                        stewardship = 6
                    }
                    modifier = {
                        factor = 2
                        stewardship = 8
                    }
                    modifier = {
                        factor = 2
                        stewardship = 10
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { stewardship = 6 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { stewardship = 4 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { stewardship = 2 }
                    }
                    add_trait = indulgent_wastrel
                }
            }
        }
        if = {
            limit = {
                learning = 4
                NOT = { learning = 8 }
            }
            random_list = {
                25 = {
                    modifier = {
                        factor = 2
                        martial = 6
                    }
                    modifier = {
                        factor = 2
                        martial = 8
                    }
                    modifier = {
                        factor = 2
                        martial = 10
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { martial = 6 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { martial = 4 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { martial = 2 }
                    }
                    add_trait = tough_soldier
                }
                25 = {
                    modifier = {
                        factor = 2
                        intrigue = 6
                    }
                    modifier = {
                        factor = 2
                        intrigue = 8
                    }
                    modifier = {
                        factor = 2
                        intrigue = 10
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { intrigue = 6 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { intrigue = 4 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { intrigue = 2 }
                    }
                    add_trait = flamboyant_schemer
                }
                25 = {
                    modifier = {
                        factor = 2
                        diplomacy = 6
                    }
                    modifier = {
                        factor = 2
                        diplomacy = 8
                    }
                    modifier = {
                        factor = 2
                        diplomacy = 10
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { diplomacy = 6 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { diplomacy = 4 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { diplomacy = 2 }
                    }
                    add_trait = underhanded_rogue
                }
                25 = {
                    modifier = {
                        factor = 2
                        stewardship = 6
                    }
                    modifier = {
                        factor = 2
                        stewardship = 8
                    }
                    modifier = {
                        factor = 2
                        stewardship = 10
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { stewardship = 6 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { stewardship = 4 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { stewardship = 2 }
                    }
                    add_trait = thrifty_clerk
                }
            }                    
        }
        if = {
            limit = {
                learning = 8
                NOT = { learning = 12 }
            }
            random_list = {
                25 = {
                    modifier = {
                        factor = 2
                        martial = 6
                    }
                    modifier = {
                        factor = 2
                        martial = 8
                    }
                    modifier = {
                        factor = 2
                        martial = 10
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { martial = 6 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { martial = 4 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { martial = 2 }
                    }
                    add_trait = skilled_tactician
                }
                25 = {
                    modifier = {
                        factor = 2
                        intrigue = 6
                    }
                    modifier = {
                        factor = 2
                        intrigue = 8
                    }
                    modifier = {
                        factor = 2
                        intrigue = 10
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { intrigue = 6 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { intrigue = 4 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { intrigue = 2 }
                    }
                    add_trait = intricate_webweaver
                }
                25 = {
                    modifier = {
                        factor = 2
                        diplomacy = 6
                    }
                    modifier = {
                        factor = 2
                        diplomacy = 8
                    }
                    modifier = {
                        factor = 2
                        diplomacy = 10
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { diplomacy = 6 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { diplomacy = 4 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { diplomacy = 2 }
                    }
                    add_trait = charismatic_negotiator
                }
                25 = {
                    modifier = {
                        factor = 2
                        stewardship = 6
                    }
                    modifier = {
                        factor = 2
                        stewardship = 8
                    }
                    modifier = {
                        factor = 2
                        stewardship = 10
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { stewardship = 6 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { stewardship = 4 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { stewardship = 2 }
                    }
                    add_trait = fortune_builder
                }
            }                    
        }
        if = {
            limit = { learning = 12 }
            random_list = {
                25 = {
                    modifier = {
                        factor = 2
                        martial = 6
                    }
                    modifier = {
                        factor = 2
                        martial = 8
                    }
                    modifier = {
                        factor = 2
                        martial = 10
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { martial = 6 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { martial = 4 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { martial = 2 }
                    }
                    add_trait = brilliant_strategist
                }
                25 = {
                    modifier = {
                        factor = 2
                        intrigue = 6
                    }
                    modifier = {
                        factor = 2
                        intrigue = 8
                    }
                    modifier = {
                        factor = 2
                        intrigue = 10
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { intrigue = 6 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { intrigue = 4 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { intrigue = 2 }
                    }
                    add_trait = elusive_shadow
                }
                25 = {
                    modifier = {
                        factor = 2
                        diplomacy = 6
                    }
                    modifier = {
                        factor = 2
                        diplomacy = 8
                    }
                    modifier = {
                        factor = 2
                        diplomacy = 10
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { diplomacy = 6 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { diplomacy = 4 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { diplomacy = 2 }
                    }
                    add_trait = grey_eminence
                }
                25 = {
                    modifier = {
                        factor = 2
                        stewardship = 6
                    }
                    modifier = {
                        factor = 2
                        stewardship = 8
                    }
                    modifier = {
                        factor = 2
                        stewardship = 10
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { stewardship = 6 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { stewardship = 4 }
                    }
                    modifier = {
                        factor = 0.5
                        NOT = { stewardship = 2 }
                    }
                    add_trait = midas_touched
                }
            }                    
        }

    option ={
        name = "OK"
    }
}

the idea would be to recalc all educations at startup. is the problem due to most educations being generated at startup anyway, and thus the event should be triggered lets say, a day after startup?
 
Last edited:
Is there a maximum number of options that you can have for a single event, assuming that there are only four displayed during any given recall of the event?
Similarly, is there a maximum number of triggered descriptions for events?

I ask because I got a little bit carried away and have an event with twenty options (5 separate recalls of the same event, though only four options are triggered per recall)
I've written events with more than four options before and a ton of triggered descriptions (so no problem there), but would like to know if there is an upper limit or problems with writing events in this way.

Is it less efficient to write events this way, as opposed to calling multiple events to handle various effects? Looking through other mods, I don't see any examples of 10-15 separate triggered descriptions, which makes me wonder if there is a good reason for this...

EDIT: I'm using the large number of triggered descriptions to add flavor and variety. It gets old seeing the same predictable events every time.
 
Is there a maximum number of options that you can have for a single event, assuming that there are only four displayed during any given recall of the event?
Similarly, is there a maximum number of triggered descriptions for events?

I ask because I got a little bit carried away and have an event with twenty options (5 separate recalls of the same event, though only four options are triggered per recall)
I've written events with more than four options before and a ton of triggered descriptions (so no problem there), but would like to know if there is an upper limit or problems with writing events in this way.

Is it less efficient to write events this way, as opposed to calling multiple events to handle various effects? Looking through other mods, I don't see any examples of 10-15 separate triggered descriptions, which makes me wonder if there is a good reason for this...

EDIT: I'm using the large number of triggered descriptions to add flavor and variety. It gets old seeing the same predictable events every time.

I don't think there is a limit, if you do it correctly (eg one of the options launches more options).
 
I don't think there is a limit, if you do it correctly (eg one of the options launches more options).
Thanks a lot! Any idea which is more efficient (computing wise), if it matters at all?
i.e. A single long event or many events

My gut tells me that it won't matter, as the event has to be called either way. At best, it may improve loading times to (imperceptibly) because there would be fewer events to load.
This seems like it would apply to is_triggered_only events, but with triggered events, it seems like it would be more efficient to calculate long strings of events within one single master event than to calculate a whole host of events every 20 days. This is just my gut feeling though.

Also, I'm working on a lot of events for my mod and wondering if it would be better to create some kind of master event:

random_list = { # only one event, or no event fired every twenty game days, with varying 'days =' delays.
a = my event
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""
h = ""
i = ""
Advantage would be all my events are triggered only and handled by this master event and only two (or one) of my events need to be calculated at any given time.

Or would it be better to use systems already in place --- mean time to happen, weights, which sound like they evaluate, for every event, every twenty days.

I could test this, if I was so motivated (I'm not), by taking vanilla events, and organizing them in this way to see if I could
A) produce similar effects to Vanilla experience
B) Observe a change in performance (either increase, no change, or decrease)

The question then is, is it more efficient for the game to calculate a single random_list or calculate weights and mean_time_to_happen for every event in the game?
 
Last edited:
I wanted to make granting and revoking honorary titles a Council issue, but the MInor Titles screen in the Council Tab allows circumventing the Council voting process altogether. Is there anything to be done?
 
Last edited:
I wanted to make granting and revoking honorary titles a Council issue, but the MInor Titles screen in the Council Tab allows circumventing the Council voting process altogether. Is there anything to do?
If you want to prevent a manual assignment of honorary titles, all that you need to do is find the line in the appropriate .gui and delete it for every instance that it occurs. You could do this for individual honorary titles or just remove the tabs that bring you to that window, depending on your needs.

This is what I'd try to do anyway. Hope this helps. If you need more information (or this isn't what you were asking) then ask and I can find which entries you need to delete and get back to you. (don't have time at the moment)
 
Last edited:
I assume that you'll be doing the actual assignment of honorary titles via event since voting on honorary titles isn't a part of the normal council actions?

No, it's just a matter of adding enable_council_voting_issue and disable_council_voting_issue in council_power laws (and then adding the voting logic in council_voting).

The problem is that the Minor Titles tab basically circumvents character interaction,, so the Council can't vote on it, which rather defeats the point. I'd prefer if the Minor Titles tab just displayed minor title holders but didn't allow for them to be granted or revoked.

I would appreciate being pointed into the right direction with the .gui.
 
No, it's just a matter of adding enable_council_voting_issue and disable_council_voting_issue in council_power laws (and then adding the voting logic in council_voting).

The problem is that the Minor Titles tab basically circumvents character interaction,, so the Council can't vote on it, which rather defeats the point. I'd prefer if the Minor Titles tab just displayed minor title holders but didn't allow for them to be granted or revoked.

I would appreciate being pointed into the right direction with the .gui.
Yeah. I realized my mistake too late. You notice I edited it out. lol.
You're looking for domestic_court.gui
inside you will find the button for minor titles, which should be easy to see as the name = sections are usually pretty self- explanatory. Delete that button (and anything that pertains to it: localisation keys etc.) and it should trouble you no further.
EDIT: Okay. It only took a second and these should be the two lines that you need to delete
Code:
guiButtonType =    {
                name ="toggle_honorary_titles_view"
                quadTextureSprite ="GFX_laws_tab_button"
                position = { x= 146 y = 47 }
                clicksound = generic_click_01
                buttonText = ""
                buttonFont = "vic_18"
            }

instantTextBoxType = {
                name = "honarary_titles_label"
                position = { x= 171 y = 61 }
                textureFile = ""
                font = "vic_18"
                borderSize = {x = 0 y = 0}
                text = "MINOR_TITLES"
                maxWidth = 80
                maxHeight = 32
                fixedsize = yes
                format = center
                allwaystransparent = yes
            }

But, I'd recommend that you make sure as I only looked through it for a few seconds. I'd also recommend that you change the positions of the my_council tab to the same coordinates as the honorary titles tab (write them down before you delete or just copy the folder), so that there isn't an empty space there.
 
Last edited:
Thanks a lot! Any idea which is more efficient (computing wise), if it matters at all?
i.e. A single long event or many events

My gut tells me that it won't matter, as the event has to be called either way. At best, it may improve loading times to (imperceptibly) because there would be fewer events to load.
This seems like it would apply to is_triggered_only events, but with triggered events, it seems like it would be more efficient to calculate long strings of events within one single master event than to calculate a whole host of events every 20 days. This is just my gut feeling though.

Also, I'm working on a lot of events for my mod and wondering if it would be better to create some kind of master event:

random_list = { # only one event, or no event fired every twenty game days, with varying 'days =' delays.
a = my event
b = ""
c = ""
d = ""
e = ""
f = ""
g = ""
h = ""
i = ""
Advantage would be all my events are triggered only and handled by this master event and only two (or one) of my events need to be calculated at any given time.

Or would it be better to use systems already in place --- mean time to happen, weights, which sound like they evaluate, for every event, every twenty days.

I could test this, if I was so motivated (I'm not), by taking vanilla events, and organizing them in this way to see if I could
A) produce similar effects to Vanilla experience
B) Observe a change in performance (either increase, no change, or decrease)

The question then is, is it more efficient for the game to calculate a single random_list or calculate weights and mean_time_to_happen for every event in the game?

I'm thinking a pyramid-like event structure might be the most efficient, although I'm guessing it depends on what you specifically have in mind. I haven't really built megaevents myself, but I would probably go with fast triggers and on_actions/pulse before mean time and such, again depending on your needs.
 
  • 1
Reactions:
I'm thinking a pyramid-like event structure might be the most efficient, although I'm guessing it depends on what you specifically have in mind. I haven't really built megaevents myself, but I would probably go with fast triggers and on_actions/pulse before mean time and such, again depending on your needs.
Thanks for the information Stolidicus
I doubt that it will matter for this mod, no matter how many events I add, but I may try an alternate method of delivery for all of the vanilla events and see if the performance can be improved. It's my understanding that most of the problems come from the number of characters in the game, but if the plethora of events is for the sake of organisation (ease of modding etc.) and there is a more efficient way to manage them, then it would be interesting to see what it does, if anything.