• 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 graphics would be in the EU4 game files. But you cannot use content from one paradox game in a mod for another if there is no way of making sure people who use your mod also have access to the game you got the content from, which for the graphics idea would be the case, that is one of the user mod rules
Ah, that makes sense. I just assumed the CK2 converter was considered a part of CK2 as well. Guess I have to make up some graphics for myself.
 
I'm somewhat new to modding events and I am wondering if anyone can help me out. I have created an event that is used through the command console to wipe bad traits and give good traits for characters. I use it at the start of games to try and give some historically significant dynasties or people a better chance at surviving and thus type it in a lot. Currently i have to run the event for each character by going event 25000 and then the characters idea. Is there a line i could add so that the event would trigger for every member of a dynasty so that i could enter it once for each dynasty instead of for every character in it.

}
# Super Event
character_event = {
id = 25000
desc = "You Got a Super Event"
picture = GFX_evt_hunt
border = GFX_event_normal_frame_war

is_triggered_only = yes

trigger = {
dynasty = ROOT
}

option = {
name = "EVTOPTA1057"
remove_trait = stressed
remove_trait = depressed
remove_trait = lunatic
remove_trait = possessed
remove_trait = ill
remove_trait = pneumonic
remove_trait = syphilitic
remove_trait = leper
remove_trait = wounded
remove_trait = maimed
remove_trait = infirm
remove_trait = incapable
remove_trait = drunkard
remove_trait = sickly
remove_trait = clubfooted
remove_trait = harelip
remove_trait = hunchback
remove_trait = lisp
remove_trait = stutter
remove_trait = ugly
remove_trait = dwarf
remove_trait = slow
remove_trait = imbecile
remove_trait = inbred
remove_trait = weak
remove_trait = celibate
remove_trait = chaste
remove_trait = gluttonous
remove_trait = slothful
remove_trait = envious
remove_trait = craven
remove_trait = shy
remove_trait = content
remove_trait = arbitrary
remove_trait = homosexual
add_trait = genius
add_trait = fair
add_trait = strong
add_trait = robust
add_trait = shrewd

}
 
Is there a way to mod it so that females can also function in merchant republics? I've found ways to mod it so that they can form it, and it functions so long as I don't gain any titles. At which point it reverts to tribal, or feudal depending on the title I gained, and if I try to switch back via CC it ends my game right there.
Can I somehow at least mod the game over conditions so that I could just switch back each time?
 
Can you mod Crusade weights or is it hardcoded? After enabling orthodox crusades I made Persia's weight 100 while leaving Africa at 10 but ir was still called for Africa
 
I'm somewhat new to modding events and I am wondering if anyone can help me out. I have created an event that is used through the command console to wipe bad traits and give good traits for characters. I use it at the start of games to try and give some historically significant dynasties or people a better chance at surviving and thus type it in a lot. Currently i have to run the event for each character by going event 25000 and then the characters idea. Is there a line i could add so that the event would trigger for every member of a dynasty so that i could enter it once for each dynasty instead of for every character in it.

}
# Super Event
character_event = {
id = 25000
desc = "You Got a Super Event"
picture = GFX_evt_hunt
border = GFX_event_normal_frame_war

is_triggered_only = yes

trigger = {
dynasty = ROOT
}

option = {
name = "EVTOPTA1057"
remove_trait = stressed
remove_trait = depressed
remove_trait = lunatic
remove_trait = possessed
remove_trait = ill
remove_trait = pneumonic
remove_trait = syphilitic
remove_trait = leper
remove_trait = wounded
remove_trait = maimed
remove_trait = infirm
remove_trait = incapable
remove_trait = drunkard
remove_trait = sickly
remove_trait = clubfooted
remove_trait = harelip
remove_trait = hunchback
remove_trait = lisp
remove_trait = stutter
remove_trait = ugly
remove_trait = dwarf
remove_trait = slow
remove_trait = imbecile
remove_trait = inbred
remove_trait = weak
remove_trait = celibate
remove_trait = chaste
remove_trait = gluttonous
remove_trait = slothful
remove_trait = envious
remove_trait = craven
remove_trait = shy
remove_trait = content
remove_trait = arbitrary
remove_trait = homosexual
add_trait = genius
add_trait = fair
add_trait = strong
add_trait = robust
add_trait = shrewd

}
That trigger is probably unneeded.

Your best bet is to write 2 targetted decisions (then you won't even need the console). Make them so AI can't use them. One would send this event to the character you use the decision on. The other would send this event to anybody matching the dynasty of the character you use the decision on, with 'any_character = { limit = { dynasty =ROOT } character_event = { id = 25000 } }'.

Edit: See blackninja9939's post below for better code.
 
Last edited:
Is there a way to mod it so that females can also function in merchant republics? I've found ways to mod it so that they can form it, and it functions so long as I don't gain any titles. At which point it reverts to tribal, or feudal depending on the title I gained, and if I try to switch back via CC it ends my game right there.
Can I somehow at least mod the game over conditions so that I could just switch back each time?
No, the game over conditions are hard-coded.

What's the equivalent for a "num_of_courtiers" condition?
Code:
<scope to ruler> = {
    any_courtier = {
        count = <num>
        always = yes
    }
}
 
Can you mod Crusade weights or is it hardcoded? After enabling orthodox crusades I made Persia's weight 100 while leaving Africa at 10 but ir was still called for Africa
1. Was something in Persia eligible to crusade? If not, the weight doesn't matter.
2. Did this just happen once? Because weights just make it *more likely* for the heavier weights to be chosen. Due to randomness, the low weight still *can* be chosen, just less often statistically.
 
Can I mod the terrain modifier in forest plain desert to add defensive bonus and malus ? Because i see only the jungle mountain hill on static modifier text.
Because I find actual terrain be bad like cav act worse in forest and better in plain and all forest battle modifier would be half of jungle one and some camel bonus in desert.
 
Last edited:
That trigger is probably unneeded.

Your best bet is to write 2 targetted decisions (then you won't even need the console). Make them so AI can't use them. One would send this event to the character you use the decision on. The other would send this event to anybody matching the dynasty of the character you use the decision on, with 'any_character = { limit = { dynasty =ROOT } character_event = { id = 25000 } }'.
Or just any_dynasty_member as any_character is a very intensive scope
 
  • 1
Reactions:
I'm having problems with some of my events. All of the events trigger each other appropriately, as far as I can tell. When I use event X they all show up correctly, but when the initiator event fires it is followed by 4 other blank events. Validator isn't giving any errors for the

Code:
namespace = HKC

character_event = {
   id = HKC.0
   desc = "DESC_HKC.0"
   picture = GFX_evt_castle_garden
   
   min_age = 16
   capable_only = yes
   prisoner = no
   ai = no

   option = {
       name = "HKC0A"
       prestige = -20
       hidden_tooltip = {
           random_list = {
               25 = {
               FROM = { character_event = { id = HKC.1 } #it stayed }
               }
               75 = {
               FROM = { character_event = { id = HKC.2 } #it stayed }
               }
           }   
       }
   }
   
   option = {
       name = "HKC0B" #Approach
       limit = { NOR = { trait = craven
                           trait = paranoid
       } }
       prestige = 20
       hidden_tooltip = {
           FROM = { character_event = { id = HKC.3 } #it stayed }
       }
   }
   
   option = {
       name = "HKC0C" #it's nothing
   }
}
character_event = { #garden twili
   id = HKC.1
   desc = "DESC_HKC.1"
   picture = GFX_evt_castle_garden
   
   is_triggered_only = yes

   option = {
       name = "HKC1A"#imprison
       prestige = 20
       random_list = {
           50 = {
               create_character = {
               culture = twili
               religion = sol_religion
               random_traits = yes
               female = no
               dynasty = random
               age = 16
               trait = race_twili
               trait = curse_imp
               imprison = yes
               }
               new_character = { imprison = yes }
           }
           50 = {
               create_character = {
               culture = twili
               religion = sol_religion
               random_traits = yes
               female = yes
               dynasty = random
               age = 16
               trait = race_twili
               trait = curse_imp
               imprison = yes
               }
               new_character = { imprison = yes }
           }
       }
   }
   
   option = {
       name = "HKC1B" #offer shelter
       prestige = 20
       limit = { NOT = { trait = paranoid } }
       random = {
           chance = 25
           
           add_trait = kind
           hidden_tooltip = {
               FROM = {    character_event = {   id = 38268 #kind} }
           }
       }
       random_list = {
           50 = {
               create_character = {
               culture = twili
               religion = sol_religion
               random_traits = yes
               female = no
               dynasty = NONE
               age = 16
               trait = race_twili
               trait = curse_imp
               }
           }
           50 = {
               create_character = {
               culture = twili
               religion = sol_religion
               random_traits = yes
               female = yes
               dynasty = NONE
               age = 16
               trait = race_twili
               trait = curse_imp
               }
           }
       }
   }
   
   option = {
       name = "HKC1C" #off with it's head
       limit = { NOT = { trait = kind } }
       random = {
           chance = 50
           
           add_trait = cruel
           hidden_tooltip = {
               FROM = { character_event = { id = 38259 #cruel   } }
           }
       }
   }
}
character_event = { #garden twili
   id = HKC.2
   desc = "DESC_HKC.2"
   picture = GFX_evt_castle_garden
   
   is_triggered_only = yes
   
   option = {
       name = "HKC0C" #it got away
   }
}

character_event = { #garden twili
   id = HKC.3
   desc = "DESC_HKC.3"
   picture = GFX_evt_castle_garden
   
   is_triggered_only = yes

   option = {
       name = "HKC0A"#GUARDS
       prestige = -20
       hidden_tooltip = {
           random_list = {
               75 = {
                   FROM = {  character_event = { id = HKC.4 } }
               }
               25 = {
               FROM = {    character_event = { id = HKC.2 }}
               }
           }   
       }
   }
   
   option = {
       name = "HKC3B" #offer shelter
       prestige = 20
       limit = { NOT = { trait = paranoid } }
       random = {
           chance = 25
           
           add_trait = kind
           hidden_tooltip = {
           FROM = { character_event = { id = 38268 #kind}   }
       }
       create_character = {
           culture = twili
           religion = sol_religion
           random_traits = yes
           dynasty = NONE
           age = 16
           trait = race_twili
           trait = curse_imp
       }
   }
   
   option = {
       name = "HKC3C" #off with it's head
       limit = { NOT = { trait = kind } }
       random = {
           chance = 50
           
           add_trait = cruel
           hidden_tooltip = {
           FROM = {    character_event = {   id = 38259 #cruel   } }
           }
       }
   }
}
character_event = { #garden twili
   id = HKC.4
   desc = "DESC_HKC.4"
   picture = GFX_evt_castle_garden
   
   is_triggered_only = yes

   option = {
       name = "HKC1A"#imprison
       random_list = {
           50 = {
               create_character = {
               culture = twili
               religion = sol_religion
               random_traits = yes
               female = no
               dynasty = random
               age = 16
               trait = race_twili
               trait = curse_imp
               imprison = yes
               }
               new_character = { imprison = yes }
           }
           50 = {
               create_character = {
               culture = twili
               religion = sol_religion
               random_traits = yes
               female = yes
               dynasty = random
               age = 16
               trait = race_twili
               trait = curse_imp
               imprison = yes
               }
               new_character = { imprison = yes }
           }
       }
   }
   
   option = {
       name = "HKC1C" #execute
       prestige = 20
       hidden_tooltip = {
       }
   }
}
 
I'm having problems with some of my events. All of the events trigger each other appropriately, as far as I can tell. When I use event X they all show up correctly, but when the initiator event fires it is followed by 4 other blank events. Validator isn't giving any errors for the

Code:
namespace = HKC

character_event = {
   id = HKC.0
   desc = "DESC_HKC.0"
   picture = GFX_evt_castle_garden
 
   min_age = 16
   capable_only = yes
   prisoner = no
   ai = no

   option = {
       name = "HKC0A"
       prestige = -20
       hidden_tooltip = {
           random_list = {
               25 = {
               FROM = { character_event = { id = HKC.1 } #it stayed }
               }
               75 = {
               FROM = { character_event = { id = HKC.2 } #it stayed }
               }
           } 
       }
   }
 
   option = {
       name = "HKC0B" #Approach
       limit = { NOR = { trait = craven
                           trait = paranoid
       } }
       prestige = 20
       hidden_tooltip = {
           FROM = { character_event = { id = HKC.3 } #it stayed }
       }
   }
 
   option = {
       name = "HKC0C" #it's nothing
   }
}
character_event = { #garden twili
   id = HKC.1
   desc = "DESC_HKC.1"
   picture = GFX_evt_castle_garden
 
   is_triggered_only = yes

   option = {
       name = "HKC1A"#imprison
       prestige = 20
       random_list = {
           50 = {
               create_character = {
               culture = twili
               religion = sol_religion
               random_traits = yes
               female = no
               dynasty = random
               age = 16
               trait = race_twili
               trait = curse_imp
               imprison = yes
               }
               new_character = { imprison = yes }
           }
           50 = {
               create_character = {
               culture = twili
               religion = sol_religion
               random_traits = yes
               female = yes
               dynasty = random
               age = 16
               trait = race_twili
               trait = curse_imp
               imprison = yes
               }
               new_character = { imprison = yes }
           }
       }
   }
 
   option = {
       name = "HKC1B" #offer shelter
       prestige = 20
       limit = { NOT = { trait = paranoid } }
       random = {
           chance = 25
         
           add_trait = kind
           hidden_tooltip = {
               FROM = {    character_event = {   id = 38268 #kind} }
           }
       }
       random_list = {
           50 = {
               create_character = {
               culture = twili
               religion = sol_religion
               random_traits = yes
               female = no
               dynasty = NONE
               age = 16
               trait = race_twili
               trait = curse_imp
               }
           }
           50 = {
               create_character = {
               culture = twili
               religion = sol_religion
               random_traits = yes
               female = yes
               dynasty = NONE
               age = 16
               trait = race_twili
               trait = curse_imp
               }
           }
       }
   }
 
   option = {
       name = "HKC1C" #off with it's head
       limit = { NOT = { trait = kind } }
       random = {
           chance = 50
         
           add_trait = cruel
           hidden_tooltip = {
               FROM = { character_event = { id = 38259 #cruel   } }
           }
       }
   }
}
character_event = { #garden twili
   id = HKC.2
   desc = "DESC_HKC.2"
   picture = GFX_evt_castle_garden
 
   is_triggered_only = yes
 
   option = {
       name = "HKC0C" #it got away
   }
}

character_event = { #garden twili
   id = HKC.3
   desc = "DESC_HKC.3"
   picture = GFX_evt_castle_garden
 
   is_triggered_only = yes

   option = {
       name = "HKC0A"#GUARDS
       prestige = -20
       hidden_tooltip = {
           random_list = {
               75 = {
                   FROM = {  character_event = { id = HKC.4 } }
               }
               25 = {
               FROM = {    character_event = { id = HKC.2 }}
               }
           } 
       }
   }
 
   option = {
       name = "HKC3B" #offer shelter
       prestige = 20
       limit = { NOT = { trait = paranoid } }
       random = {
           chance = 25
         
           add_trait = kind
           hidden_tooltip = {
           FROM = { character_event = { id = 38268 #kind}   }
       }
       create_character = {
           culture = twili
           religion = sol_religion
           random_traits = yes
           dynasty = NONE
           age = 16
           trait = race_twili
           trait = curse_imp
       }
   }
 
   option = {
       name = "HKC3C" #off with it's head
       limit = { NOT = { trait = kind } }
       random = {
           chance = 50
         
           add_trait = cruel
           hidden_tooltip = {
           FROM = {    character_event = {   id = 38259 #cruel   } }
           }
       }
   }
}
character_event = { #garden twili
   id = HKC.4
   desc = "DESC_HKC.4"
   picture = GFX_evt_castle_garden
 
   is_triggered_only = yes

   option = {
       name = "HKC1A"#imprison
       random_list = {
           50 = {
               create_character = {
               culture = twili
               religion = sol_religion
               random_traits = yes
               female = no
               dynasty = random
               age = 16
               trait = race_twili
               trait = curse_imp
               imprison = yes
               }
               new_character = { imprison = yes }
           }
           50 = {
               create_character = {
               culture = twili
               religion = sol_religion
               random_traits = yes
               female = yes
               dynasty = random
               age = 16
               trait = race_twili
               trait = curse_imp
               imprison = yes
               }
               new_character = { imprison = yes }
           }
       }
   }
 
   option = {
       name = "HKC1C" #execute
       prestige = 20
       hidden_tooltip = {
       }
   }
}
Your #it stayed or kind or cruel etc are done before the brackets are closed
So where you have FROM = { character_event = { id = HKC.1 } #it stayed } the engine only reads FROM = { character_event = { id = HKC.1 } which is missing the closing bracket as your # comments out the rest of the code, your comments need to always be at the end of a line so as not to block any other pieces of code out so do FROM = { character_event = { id = HKC.1 } } #it stayed
 
  • 2
Reactions:
In this code piece what does the "effect" scope do?

Code:
    succ_nomad_succession = {
        potential = {
            has_dlc = "Horse Lords"
            holder_scope = {
                is_nomadic = yes
            }
        }
        effect = {
            succession = nomad_succession
        }
        revoke_allowed = {
            always = no
        }           
    }
}
 
1. Was something in Persia eligible to crusade? If not, the weight doesn't matter.
2. Did this just happen once? Because weights just make it *more likely* for the heavier weights to be chosen. Due to randomness, the low weight still *can* be chosen, just less often statistically.

I reloaded the game 3-4 times, It was always called for africa, and yes, there was a kingdom if persia that controlled almost all of perisa, my sorta solution was to get rid of the de jure kingdom of africa and then the orthodox pope started to call crusades for random places, once in india, two for volga bulgaria, and one for mongolia before I got lucky and it did persia
 
How would you add in purchasable claims limited to Emperors?

Also, is there any way to change the cost depending on the type of holding?
 
So I'm trying to to make it so a intrigue option will only appear if you have characters with a certain modifier in court, and while it is possible for intrigue decisions to appear based on a religion or a 'way of life' choices I can't seem to find a way based on having courtiers with a trait or characters modifier.
Is this possible at all or will I have to find a completely different approach?
 
So I'm trying to to make it so a intrigue option will only appear if you have characters with a certain modifier in court, and while it is possible for intrigue decisions to appear based on a religion or a 'way of life' choices I can't seem to find a way based on having courtiers with a trait or characters modifier.
Is this possible at all or will I have to find a completely different approach?

any_courtier = { trait = x }
or
any_courtier = { has_character_modifier = x }
 
  • 1
Reactions: