Starting this thread since it's silly to create a new one for every single small mod I plan on posting here.
Take this as a modder's resource as you will, everything here unless specifically mentioned otherwise is up for grabs.
My default disclaimer:
Feel free to use or adapt in any other mod. But please credit me
---
Update history:
10-02-2013:
-Fixed EVTTOOLTIPMyMod.802 in the Plead Belly event series, the tooltip now properly states the prisoned woman will join her captor in his bed rather than the reverse.
---
Other mods: linked in my sig, and this one: A little more sanity in duchy and kingdom creation.
---
=== NEW STUFF ===
All new events are in the namespace MyMod so require the line namespace = MyMod on top of the file they are in, remember to include this if you add them as-is.
Compatible with 1.09.
Event to cure maimed (and give some bad traits):
Localization for it:
---
War of two Eriks (Sweden) fix in case the game was started with it active:
---
"The Heathen" nickname for any heathen vassal, plus removal if invalid, so not just Erik in Sweden has it but anyone who fits his case:
---
A 'Lackland' nickname, to fit cases like King John of England.
---
Plead her belly - an event chain for female prisoners
Allows a female captured by a male to plead her belly, and thus work for her release on her back.
---
Force Tanistry law on Celtic and Saxon kings or higher that are not currently using Primogeniture:
Localization:
---
Localization for the Russian titles
A very simple localization change that stops Russian Kings from being called Kings, and demotes them to Grand Princes. Existing Grand Princes (duke tier) are renamed to Prince.
---
Legitimize a hidden (cuckoo) bastard if ruler is old and childless
A male ruler who is 50 years old and does not have an heir of his dynasty, but who has a cuckoo (hidden) bastard running around, can choose to legitimize him with this event.
Localization:
Take this as a modder's resource as you will, everything here unless specifically mentioned otherwise is up for grabs.
My default disclaimer:
Feel free to use or adapt in any other mod. But please credit me
---
Update history:
10-02-2013:
-Fixed EVTTOOLTIPMyMod.802 in the Plead Belly event series, the tooltip now properly states the prisoned woman will join her captor in his bed rather than the reverse.
29-01-2013:
-Made the cure maimed event more likely to fire
MODIFIED VANILLA:
-Change to the republic 'Family member marries foreign woman' event so it does not always pick Mandé wives
27-01-2013:
-Edited the "plead belly" event to not always impregnate, and make it a cuckoo (hidden) bastard if the captive is married, also reduced MTTH to 3 months.
NEW STUFF:
-Legitimize a hidden (cuckoo) bastard if ruler is old and childless
MODIFIED VANILLA:
-End an Invasion CB if someone else just managed to invade it
26-01-2013:
-Succession laws: Made Seniority the only valid law for all patricians, including muslims
-Disabled the Sunset Invasion decision if Aztecs are already around
21-01-2013:
-Tanistry event will no longer switch Celts out of Feudal Elective to a better law for free now
20-01-2013
-Bugfix for 'Plead her belly' series
MODIFIED VANILLA:
-Capuan Lombards start in Capua
19-01-2013:
NEW STUFF:
-Localization for the Russian titles so there are no Russian kings, which historically didn't exist.
MODIFIED VANILLA:
-Moved all Normans in the 1066 start to their proper court so half of Willy the Conker's Invasion Squad doesn't go to Italy
-Example code to add to CBs to prevent them for merchant republics and patricians (like the religious one).
16-01-2013:
-Updated the Baqt to also disallow Egypt vassals
MODIFIED VANILLA:
-Cultural "Of PLACENAME" replacements for random dynasties
14-01-2013:
NEW EVENTS:
-Force Tanistry law on (weak) Celt and Saxon kings
MODIFIED VANILLA:
-Succession laws updated for 1.09, tanistry and ultimogeniture tweaks added
06-01-2013:
NEW EVENTS:
-Plead her belly series
MODIFIED VANILLA:
-Allow the Chancellor to create a claim on a duchy if sent to fabricate claims in one of the duke's vassal's provinces
04-01-2013:
MODIFIED VANILLA:
-Succesion laws/Demesne laws/Crown laws edits
-Baqt (non-aggression between Egypt and Nubia/Abyssinia) CB edit
03-01-2013:
NEW EVENTS:
-A 'Lackland' nickname, to fit cases like King John of England.
MODIFIED VANILLA:
-Randomized Sunset Invasion
-events\job_lord_spiritual.txt revisions to stop forced conversion
02-01-2013:
NEW EVENTS:
-Event to cure maimed (and give some bad traits):
-Cleanup events for the Norman conquest
-War of two Eriks (Sweden) fix
-"The Heathen" nickname for any heathen vassal
-Made the cure maimed event more likely to fire
MODIFIED VANILLA:
-Change to the republic 'Family member marries foreign woman' event so it does not always pick Mandé wives
27-01-2013:
-Edited the "plead belly" event to not always impregnate, and make it a cuckoo (hidden) bastard if the captive is married, also reduced MTTH to 3 months.
NEW STUFF:
-Legitimize a hidden (cuckoo) bastard if ruler is old and childless
MODIFIED VANILLA:
-End an Invasion CB if someone else just managed to invade it
26-01-2013:
-Succession laws: Made Seniority the only valid law for all patricians, including muslims
-Disabled the Sunset Invasion decision if Aztecs are already around
21-01-2013:
-Tanistry event will no longer switch Celts out of Feudal Elective to a better law for free now
20-01-2013
-Bugfix for 'Plead her belly' series
MODIFIED VANILLA:
-Capuan Lombards start in Capua
19-01-2013:
NEW STUFF:
-Localization for the Russian titles so there are no Russian kings, which historically didn't exist.
MODIFIED VANILLA:
-Moved all Normans in the 1066 start to their proper court so half of Willy the Conker's Invasion Squad doesn't go to Italy
-Example code to add to CBs to prevent them for merchant republics and patricians (like the religious one).
16-01-2013:
-Updated the Baqt to also disallow Egypt vassals
MODIFIED VANILLA:
-Cultural "Of PLACENAME" replacements for random dynasties
14-01-2013:
NEW EVENTS:
-Force Tanistry law on (weak) Celt and Saxon kings
MODIFIED VANILLA:
-Succession laws updated for 1.09, tanistry and ultimogeniture tweaks added
06-01-2013:
NEW EVENTS:
-Plead her belly series
MODIFIED VANILLA:
-Allow the Chancellor to create a claim on a duchy if sent to fabricate claims in one of the duke's vassal's provinces
04-01-2013:
MODIFIED VANILLA:
-Succesion laws/Demesne laws/Crown laws edits
-Baqt (non-aggression between Egypt and Nubia/Abyssinia) CB edit
03-01-2013:
NEW EVENTS:
-A 'Lackland' nickname, to fit cases like King John of England.
MODIFIED VANILLA:
-Randomized Sunset Invasion
-events\job_lord_spiritual.txt revisions to stop forced conversion
02-01-2013:
NEW EVENTS:
-Event to cure maimed (and give some bad traits):
-Cleanup events for the Norman conquest
-War of two Eriks (Sweden) fix
-"The Heathen" nickname for any heathen vassal
Other mods: linked in my sig, and this one: A little more sanity in duchy and kingdom creation.
---
=== NEW STUFF ===
All new events are in the namespace MyMod so require the line namespace = MyMod on top of the file they are in, remember to include this if you add them as-is.
Compatible with 1.09.
Event to cure maimed (and give some bad traits):
Code:
character_event = {
id = MyMod.600
desc = "EVTDESCMyMod.600"
picture = "GFX_evt_recovery"
trigger = {
base_health = 3
trait = maimed
}
mean_time_to_happen = {
months = 24
modifier = {
factor = 0.75
base_health = 4.1
}
modifier = {
factor = 0.75
base_health = 6
}
}
option = {
name = "EVTOPTAMyMod.600" #No lasting damage
trigger = {
base_health = 6
}
remove_trait = maimed
health = -1
add_trait = scarred
}
option = {
name = "EVTOPTBMyMod.600" #Some lasting damage
trigger = {
base_health = 5
NOT = { base_health = 6 }
}
remove_trait = maimed
health = -1
add_trait = scarred
random_list = {
50 = { #Permanent physical damage
random_list = {
45 = {
add_trait = clubfooted
}
45 = {
add_trait = harelip
}
10 = {
add_trait = clubfooted
add_trait = harelip
}
}
}
30 = { #Permanent sensory damage
add_trait = blinded
}
10 = { #Physical AND Sensory damage (to the head)
add_trait = harelip
add_trait = blinded
}
10 = { #Brain damage
random_list = {
50 = {
add_trait = slow
}
30 = {
add_trait = harelip
add_trait = slow
}
15 = {
add_trait = imbecile
}
5 = {
add_trait = harelip
add_trait = imbecile
}
}
}
}
}
option = {
name = "EVTOPTCMyMod.600" #Serious lasting damage
trigger = {
NOT = { base_health = 5 }
}
remove_trait = maimed
health = -1
add_trait = scarred
random_list = {
35 = { #Permanent physical damage
random_list = {
45 = {
add_trait = clubfooted
}
45 = {
add_trait = harelip
}
10 = {
add_trait = clubfooted
add_trait = harelip
}
}
}
25 = { #Permanent sensory damage
add_trait = blinded
}
20 = { #Physical AND Sensory damage (to the head)
add_trait = harelip
add_trait = blinded
}
20 = { #Brain damage
random_list = {
50 = {
add_trait = slow
}
30 = {
add_trait = harelip
add_trait = slow
}
15 = {
add_trait = imbecile
}
5 = {
add_trait = harelip
add_trait = imbecile
}
}
}
}
}
}
Code:
EVTDESCMyMod.600;Though I have been scarred for life, I have recovered somewhat.;Même si j'ai eu peur pour ma vie, j'ai récupéré quelque peu.;Though I have been scarred for life, I have recovered somewhat.;;Though I have been scarred for life, I have recovered somewhat.;;;;;;;;;x
EVTOPTAMyMod.600;Aside from a hideous scar, there was no lasting damage!;Exception faite d'une hideuse balafre, il n'y a pas de gros dégâts !;Aside from a hideous scar, there was no lasting damage!;;Aside from a hideous scar, there was no lasting damage!;;;;;;;;;x
EVTOPTBMyMod.600;I have not come away undamaged, and have been marred for life.;Je ne m'en suis pas sorti intact et suis marqué à vie.;I have not come away undamaged, and have been marred for life.;;I have not come away undamaged, and have been marred for life.;;;;;;;;;x
EVTOPTCMyMod.600;I have been seriously injured.;J'ai été sérieusement blessé.;I have been seriously injured.;;I have been seriously injured.;;;;;;;;;x
[/spoiler]
---
[COLOR="#FF8C00"]Cleanup events for the Norman conquest[/COLOR] in case the game was started at a history point with it active:
[spoiler]
[code]# Norman conquest cleanup - Victory: France loses claims
character_event = {
id = MyMod.210
desc = "Remove claims"
picture = "GFX_evt_spymaster"
trigger = {
year = 1066
NOT = { year = 1075 }
is_ruler = yes
has_landed_title = k_france
k_england = { holder_scope = { culture = norman } }
k_england = { holder_scope = { war = no } }
NOT = { has_global_flag = norman_cleanup_done }
OR = {
has_claim = c_cornwall
has_claim = c_devon
has_claim = c_somerset
has_claim = c_dorset
has_claim = c_wiltshire
has_claim = c_winchester
has_claim = c_sussex
has_claim = c_surrey
has_claim = c_kent
has_claim = c_gloucester
has_claim = c_hereford
has_claim = c_shrewsbury
has_claim = c_worcester
has_claim = c_warwick
has_claim = c_leicester
has_claim = c_lincoln
has_claim = d_canterbury
has_claim = d_somerset
has_claim = d_cornwall
has_claim = d_gloucester
has_claim = d_hereford
has_claim = d_york
has_claim = k_england
has_claim = c_eu
has_claim = c_arques
has_claim = c_evreux
has_claim = c_maine
has_claim = c_avranches
has_claim = d_normandy
}
}
mean_time_to_happen = { days = 10 }
option = {
name = "OK"
if = {
limit = { has_claim = c_cornwall }
remove_claim = c_cornwall
}
if = {
limit = { has_claim = c_devon }
remove_claim = c_devon
}
if = {
limit = { has_claim = c_somerset }
remove_claim = c_somerset
}
if = {
limit = { has_claim = c_dorset }
remove_claim = c_dorset
}
if = {
limit = { has_claim = c_wiltshire }
remove_claim = c_wiltshire
}
if = {
limit = { has_claim = c_winchester }
remove_claim = c_winchester
}
if = {
limit = { has_claim = c_sussex }
remove_claim = c_sussex
}
if = {
limit = { has_claim = c_surrey }
remove_claim = c_surrey
}
if = {
limit = { has_claim = c_kent }
remove_claim = c_kent
}
if = {
limit = { has_claim = c_gloucester }
remove_claim = c_gloucester
}
if = {
limit = { has_claim = c_hereford }
remove_claim = c_hereford
}
if = {
limit = { has_claim = c_shrewsbury }
remove_claim = c_shrewsbury
}
if = {
limit = { has_claim = c_worcester }
remove_claim = c_worcester
}
if = {
limit = { has_claim = c_warwick }
remove_claim = c_warwick
}
if = {
limit = { has_claim = c_leicester }
remove_claim = c_leicester
}
if = {
limit = { has_claim = c_lincoln }
remove_claim = c_lincoln
}
if = {
limit = { has_claim = d_canterbury }
remove_claim = d_canterbury
}
if = {
limit = { has_claim = d_somerset }
remove_claim = d_somerset
}
if = {
limit = { has_claim = d_cornwall }
remove_claim = d_cornwall
}
if = {
limit = { has_claim = d_gloucester }
remove_claim = d_gloucester
}
if = {
limit = { has_claim = d_hereford }
remove_claim = d_hereford
}
if = {
limit = { has_claim = d_york }
remove_claim = d_york
}
if = {
limit = { has_claim = k_england }
remove_claim = k_england
}
if = {
limit = { has_claim = c_eu }
remove_claim = c_eu
}
if = {
limit = { has_claim = c_arques }
remove_claim = c_arques
}
if = {
limit = { has_claim = c_evreux }
remove_claim = c_evreux
}
if = {
limit = { has_claim = c_maine }
remove_claim = c_maine
}
if = {
limit = { has_claim = c_avranches }
remove_claim = c_avranches
}
if = {
limit = { has_claim = d_normandy }
remove_claim = d_normandy
}
set_global_flag = norman_cleanup_done
}
}
# Norman conquest cleanup - Loss: English provinces (back) to England
character_event = {
id = MyMod.211
desc = "Remove claims"
picture = "GFX_evt_spymaster"
trigger = {
year = 1066
NOT = { year = 1075 }
is_ruler = yes
independent = no
has_landed_title = d_normandy
war = no
k_england = { holder_scope = { culture = saxon } }
NOT = { has_global_flag = norman_cleanup_done }
OR = {
has_landed_title = c_cornwall
has_landed_title = c_devon
has_landed_title = c_somerset
has_landed_title = c_dorset
has_landed_title = c_wiltshire
has_landed_title = c_winchester
has_landed_title = c_sussex
has_landed_title = c_surrey
has_landed_title = c_kent
has_landed_title = c_gloucester
has_landed_title = c_hereford
has_landed_title = c_shrewsbury
has_landed_title = c_worcester
has_landed_title = c_warwick
has_landed_title = c_leicester
has_landed_title = c_lincoln
has_landed_title = d_canterbury
has_landed_title = d_somerset
has_landed_title = d_cornwall
has_landed_title = d_gloucester
has_landed_title = d_hereford
has_landed_title = d_york
any_realm_lord = { has_landed_title = c_cornwall }
any_realm_lord = { has_landed_title = c_devon }
any_realm_lord = { has_landed_title = c_somerset }
any_realm_lord = { has_landed_title = c_dorset }
any_realm_lord = { has_landed_title = c_wiltshire }
any_realm_lord = { has_landed_title = c_winchester }
any_realm_lord = { has_landed_title = c_sussex }
any_realm_lord = { has_landed_title = c_surrey }
any_realm_lord = { has_landed_title = c_kent }
any_realm_lord = { has_landed_title = c_gloucester }
any_realm_lord = { has_landed_title = c_hereford }
any_realm_lord = { has_landed_title = c_shrewsbury }
any_realm_lord = { has_landed_title = c_worcester }
any_realm_lord = { has_landed_title = c_warwick }
any_realm_lord = { has_landed_title = c_leicester }
any_realm_lord = { has_landed_title = c_lincoln }
any_realm_lord = { has_landed_title = d_canterbury }
any_realm_lord = { has_landed_title = d_somerset }
any_realm_lord = { has_landed_title = d_cornwall }
any_realm_lord = { has_landed_title = d_gloucester }
any_realm_lord = { has_landed_title = d_hereford }
any_realm_lord = { has_landed_title = d_york }
}
}
mean_time_to_happen = { days = 10 }
option = {
name = "OK"
if = {
limit = { has_landed_title = c_cornwall }
k_england = { gain_title = c_cornwall }
}
if = {
limit = { any_realm_lord = { has_landed_title = c_cornwall } }
k_england = { gain_title = c_cornwall }
}
if = {
limit = { has_landed_title = c_devon }
k_england = { gain_title = c_devon }
}
if = {
limit = { any_realm_lord = { has_landed_title = c_devon } }
k_england = { gain_title = c_devon }
}
if = {
limit = { has_landed_title = c_somerset }
k_england = { gain_title = c_somerset }
}
if = {
limit = { any_realm_lord = { has_landed_title = c_somerset } }
k_england = { gain_title = c_somerset }
}
if = {
limit = { has_landed_title = c_dorset }
k_england = { gain_title = c_dorset }
}
if = {
limit = { any_realm_lord = { has_landed_title = c_dorset } }
k_england = { gain_title = c_dorset }
}
if = {
limit = { has_landed_title = c_wiltshire }
k_england = { gain_title = c_wiltshire }
}
if = {
limit = { any_realm_lord = { has_landed_title = c_wiltshire } }
k_england = { gain_title = c_wiltshire }
}
if = {
limit = { has_landed_title = c_winchester }
k_england = { gain_title = c_winchester }
}
if = {
limit = { any_realm_lord = { has_landed_title = c_winchester } }
k_england = { gain_title = c_winchester }
}
if = {
limit = { has_landed_title = c_sussex }
k_england = { gain_title = c_sussex }
}
if = {
limit = { any_realm_lord = { has_landed_title = c_sussex } }
k_england = { gain_title = c_sussex }
}
if = {
limit = { has_landed_title = c_surrey }
k_england = { gain_title = c_surrey }
}
if = {
limit = { any_realm_lord = { has_landed_title = c_surrey } }
k_england = { gain_title = c_surrey }
}
if = {
limit = { has_landed_title = c_kent }
k_england = { gain_title = c_kent }
}
if = {
limit = { any_realm_lord = { has_landed_title = c_kent } }
k_england = { gain_title = c_kent }
}
if = {
limit = { has_landed_title = c_gloucester }
k_england = { gain_title = c_gloucester }
}
if = {
limit = { any_realm_lord = { has_landed_title = c_gloucester } }
k_england = { gain_title = c_gloucester }
}
if = {
limit = { has_landed_title = c_hereford }
k_england = { gain_title = c_hereford }
}
if = {
limit = { any_realm_lord = { has_landed_title = c_hereford } }
k_england = { gain_title = c_hereford }
}
if = {
limit = { has_landed_title = c_shrewsbury }
k_england = { gain_title = c_shrewsbury }
}
if = {
limit = { any_realm_lord = { has_landed_title = c_shrewsbury } }
k_england = { gain_title = c_shrewsbury }
}
if = {
limit = { has_landed_title = c_worcester }
k_england = { gain_title = c_worcester }
}
if = {
limit = { any_realm_lord = { has_landed_title = c_worcester } }
k_england = { gain_title = c_worcester }
}
if = {
limit = { has_landed_title = c_warwick }
k_england = { gain_title = c_warwick }
}
if = {
limit = { any_realm_lord = { has_landed_title = c_warwick } }
k_england = { gain_title = c_warwick }
}
if = {
limit = { has_landed_title = c_leicester }
k_england = { gain_title = c_leicester }
}
if = {
limit = { any_realm_lord = { has_landed_title = c_leicester } }
k_england = { gain_title = c_leicester }
}
if = {
limit = { has_landed_title = c_lincoln }
k_england = { gain_title = c_lincoln }
}
if = {
limit = { any_realm_lord = { has_landed_title = c_lincoln } }
k_england = { gain_title = c_lincoln }
}
if = {
limit = { has_landed_title = d_canterbury }
k_england = { gain_title = d_canterbury }
}
if = {
limit = { any_realm_lord = { has_landed_title = d_canterbury } }
k_england = { gain_title = d_canterbury }
}
if = {
limit = { has_landed_title = d_somerset }
k_england = { gain_title = d_somerset }
}
if = {
limit = { any_realm_lord = { has_landed_title = d_somerset } }
k_england = { gain_title = d_somerset }
}
if = {
limit = { has_landed_title = d_cornwall }
k_england = { gain_title = d_cornwall }
}
if = {
limit = { any_realm_lord = { has_landed_title = d_cornwall } }
k_england = { gain_title = d_cornwall }
}
if = {
limit = { has_landed_title = d_gloucester }
k_england = { gain_title = d_gloucester }
}
if = {
limit = { any_realm_lord = { has_landed_title = d_gloucester } }
k_england = { gain_title = d_gloucester }
}
if = {
limit = { has_landed_title = d_hereford }
k_england = { gain_title = d_hereford }
}
if = {
limit = { any_realm_lord = { has_landed_title = d_hereford } }
k_england = { gain_title = d_hereford }
}
if = {
limit = { has_landed_title = d_york }
k_england = { gain_title = d_york }
}
if = {
limit = { any_realm_lord = { has_landed_title = d_york } }
k_england = { gain_title = d_york }
}
if = {
limit = { NOT = { has_claim = k_england } }
add_claim = k_england
}
set_global_flag = norman_cleanup_done
}
}
War of two Eriks (Sweden) fix in case the game was started with it active:
Code:
# War of Two Eriks fix - prevent below from firing on win
character_event = {
id = MyMod.200
desc = "Sweden is ours!"
picture = "GFX_evt_spymaster"
trigger = {
year = 1066
NOT = { year = 1075 }
is_ruler = yes
independent = yes
has_landed_title = d_uppland
has_landed_title = k_sweden
war = no
NOT = { has_global_flag = uppland_cleanup_done }
}
mean_time_to_happen = { days = 10 }
option = {
name = "OK"
set_global_flag = uppland_cleanup_done
}
}
# War of Two Eriks fix - make sure Uppland becomes a vassal again on loss
character_event = {
id = MyMod.201
desc = "Rightful liege restored"
picture = "GFX_evt_spymaster"
trigger = {
year = 1066
NOT = { year = 1075 }
is_ruler = yes
independent = yes
has_landed_title = d_uppland
NOT = { has_landed_title = k_sweden }
k_sweden = { holder_scope = { has_claim = d_uppland } }
war = no
NOT = { has_global_flag = uppland_cleanup_done }
}
mean_time_to_happen = { days = 10 }
option = {
name = "OK"
set_defacto_liege = k_sweden
set_global_flag = uppland_cleanup_done
}
}
"The Heathen" nickname for any heathen vassal, plus removal if invalid, so not just Erik in Sweden has it but anyone who fits his case:
Code:
# Nick The Heathen
character_event = {
id = MyMod.401
desc = "The Heathen!"
picture = "GFX_evt_spymaster"
trigger = {
is_ruler = yes
is_feudal = yes
war = no
primary_title = { higher_tier_than = COUNT }
independent = no
has_nickname = no
is_adult = yes
liege = { NOT = { religion_group = ROOT } }
}
mean_time_to_happen = {
years = 5
modifier = {
factor = 0.5
liege = { trait = zealous }
}
}
option = {
name = "Call us Heathen"
give_nickname = nick_the_heathen
}
}
# Nick The Heathen removed
character_event = {
id = MyMod.402
desc = "No More Heathen!"
picture = "GFX_evt_spymaster"
trigger = {
is_ruler = yes
is_feudal = yes
war = no
primary_title = { higher_tier_than = COUNT }
OR = {
independent = yes
liege = { religion_group = ROOT }
}
has_nickname = nick_the_heathen
}
mean_time_to_happen = {
years = 5
modifier = {
factor = 0.5
trait = zealous
}
}
option = {
name = "We are no Heathen"
give_nickname = 0
}
}
A 'Lackland' nickname, to fit cases like King John of England.
Add in a file in \common\nicknames:
Event:
Edit character 204514 in \history\characters\english.txt:
Code:
nick_the_lackland = {} #Historical, by event
Event:
Code:
# Nick The Lackland
character_event = {
id = MyMod.403
desc = "The Lackland!"
picture = "GFX_evt_spymaster"
trigger = {
is_ruler = no
is_female = no
has_nickname = no
is_adult = yes
NOT = { trait = bastard }
NOT = { trait = legit_bastard }
NOT = { trait = patient }
father = {
is_alive = yes
is_ruler = yes
primary_title = { higher_tier_than = DUKE }
independent = yes
demesne_size = 3
is_liege_of = ROOT
ruled_years = 5
num_of_children = 3
}
any_sibling = {
is_female = no
is_ruler = yes
demesne_size = 1
is_adult = yes
NOT = { trait = bastard }
NOT = { trait = legit_bastard }
NOT = { character = ROOT }
any_sibling = { #At least two landed sons
is_female = no
is_ruler = yes
demesne_size = 1
is_adult = yes
NOT = { trait = bastard }
NOT = { trait = legit_bastard }
NOT = { character = ROOT }
}
}
}
mean_time_to_happen = {
years = 5
modifier = {
factor = 0.5
trait = proud
}
modifier = {
factor = 0.5
trait = envious
}
modifier = {
factor = 0.5
culture = saxon
}
modifier = {
factor = 0.5
culture = english
}
modifier = {
factor = 0.5
culture = norman
}
}
option = {
name = "Call us Lackland"
give_nickname = nick_the_lackland
}
}
Edit character 204514 in \history\characters\english.txt:
Code:
204514 = {
name="John" # "Lackland", "Prince John"
dynasty=106
dna="kldxnqxzfjn"
properties="0g00l0"
(etc...)
1166.12.24 = {
birth="1166.12.24"
}
[COLOR="#FF8C00"]1183.1.1 = {
give_nickname = nick_the_lackland
}[/COLOR]
1199.4.6={
add_claim = c_anjou
add_claim = c_maine
add_claim = d_anjou
}
(etc...)
Plead her belly - an event chain for female prisoners
Allows a female captured by a male to plead her belly, and thus work for her release on her back.
Code:
EVTDESCMyMod.800;I have been imprisoned and my future looks grim, but as a woman of child-bearing age I have a possible way to get released...;J'ai été emprisonné et mon futur s'annonce bien sombre, mais étant en âge d'avoir des enfants, j'ai peut-être une chance de m'en sortir...;I have been imprisoned and my future looks grim, but as a woman of child-bearing age I have a possible way to get released...;;I have been imprisoned and my future looks grim, but as a woman of child-bearing age I have a possible way to get released...;;;;;;;;;x
EVTDESCMyMod.801;One of your prisoners, [From.GetBestName], has approached you with a request to be released from prison, and she promises to be very grateful indeed.;"Une de vos prisonnières, [From.GetBestName], requiert de sortir de geôle et promet d'être ""reconnaissante"" si vous accéder à sa demande.";One of your prisoners, [From.GetBestName], has approached you with a request to be released from prison, and she promises to be very grateful indeed.;;One of your prisoners, [From.GetBestName], has approached you with a request to be released from prison, and she promises to be very grateful indeed.;;;;;;;;;x
EVTDESCMyMod.802;After a night of guilty pleasures you are released, a free woman once more.;Après une nuit de plaisirs coupables vous êtes libérée, encore une femme libre.;After a night of guilty pleasures you are released, a free woman once more.;;After a night of guilty pleasures you are released, a free woman once more.;;;;;;;;;x
EVTDESCMyMod.803;Your request to be released has been denied.;Votre requête a été refusée.;Your request to be released has been denied.;;Your request to be released has been denied.;;;;;;;;;x
EVTOPTAMyMod.800;I can "plead my belly".;Jouer le jeu de la séduction.;I can "plead my belly".;;I can "plead my belly".;;;;;;;;;x
EVTOPTAMyMod.801;I'll release her into my bedchamber tonight...;Je vais l'inviter dans ma chambre cette nuit...;I'll release her into my bedchamber tonight...;;I'll release her into my bedchamber tonight...;;;;;;;;;x
EVTOPTAMyMod.802;Hopefully there won't be "consequences"...;Espérons qu'il n'y aura pas de "conséquences" ...;"Hopefully there won't be "consequences"...;;Hopefully there won't be "consequences"...;;;;;;;;;x
EVTOPTAMyMod.803;Such a shame...;Une telle honte...;Such a shame...;;Such a shame...;;;;;;;;;x
EVTOPTBMyMod.800;No, such an action would be sinful.;Non, une telle action serait pécheresse.;No, such an action would be sinful.;;No, such an action would be sinful.;;;;;;;;;x
EVTOPTBMyMod.801;I will not be seduced!;Je ne me laisserai pas séduire !;I will not be seduced!;;I will not be seduced!;;;;;;;;;x
EVTTOOLTIPMyMod.801;You try to seduce your way to freedom.;Vous essayer de préparer votre chemin vers la liberté via la séduction.;You try to seduce your way to freedom.;;You try to seduce your way to freedom.;;;;;;;;;x
EVTTOOLTIPMyMod.802;You join [From.GetBestName] into his bed before you are freed.;You join [From.GetBestName] into his bed before you are freed.;You join [From.GetBestName] into his bed before you are freed.;;You join [From.GetBestName] into his bed before you are freed.;;;;;;;;;x
EVTTOOLTIPMyMod.803;[From.GetBestName] will remain a prisoner.;[From.GetBestName] va rester prisonnière.;[From.GetBestName] will remain a prisoner.;;[From.GetBestName] will remain a prisoner.;;;;;;;;;x
Code:
# A female prisoner 'pleads her belly'
character_event = {
id = MyMod.800
desc = EVTDESCMyMod.800
picture = GFX_evt_into_the_dungeon
prisoner = yes
capable_only = yes
trigger = {
is_marriage_adult = yes
is_female = yes
is_pregnant = no
OR = {
is_married = no
NOT = { spouse = { opinion = { who = ROOT value = 0 } } }
}
host = {
is_female = no
is_marriage_adult = yes
NOT = { age = 40 }
NOT = { trait = celibate }
NOT = { trait = chaste }
NOT = { trait = eunuch }
NOT = { is_close_relative = ROOT }
opinion = { who = ROOT value = 0 }
}
NOT = { trait = ugly }
NOT = { trait = celibate }
NOT = { trait = chaste }
NOT = { has_character_flag = pledbelly }
}
mean_time_to_happen = {
months = 3
modifier = {
factor = 0.75
trait = fair
}
modifier = {
factor = 0.5
trait = lustful
}
}
option = {
name = EVTOPTAMyMod.800 # Try to seduce
ai_chance = {
factor = 75
}
host = {
character_event = { id = MyMod.801 days = 4 tooltip = EVTTOOLTIPMyMod.801 }
}
}
option = {
name = EVTOPTBMyMod.800 # Don't
ai_chance = {
factor = 25
modifier = {
factor = 0
trait = lustful
}
}
piety = 10
IF = {
limit = { is_married = yes }
add_trait = chaste
}
}
}
# The captor hears the plea from the imprisoned character
character_event = {
id = MyMod.801
desc = EVTDESCMyMod.801
picture = GFX_evt_courtiers_talking
is_friendly = yes
is_triggered_only = yes
option = {
name = EVTOPTAMyMod.801 # Accept
ai_chance = {
factor = 50
modifier = {
factor = 1.5
is_married = no
}
modifier = {
factor = 2
trait = lustful
}
modifier = {
factor = 2
NOT = { any_child = { is_female = no } }
}
modifier = {
factor = 1.5
trait = arbitrary
}
modifier = {
factor = 0
trait = homosexual
}
}
FROM = { character_event = { id = MyMod.802 days = 4 tooltip = EVTTOOLTIPMyMod.802 } }
}
option = {
name = EVTOPTBMyMod.801 # Better not
ai_chance = {
factor = 50
modifier = {
factor = 1.5
is_married = yes
}
modifier = {
factor = 2
trait = celibate
}
modifier = {
factor = 2
trait = chaste
}
}
FROM = { character_event = { id = MyMod.803 days = 4 tooltip = EVTTOOLTIPMyMod.803 } }
}
}
# The prisoner is released into the bedchamber
character_event = {
id = MyMod.802
desc = EVTDESCMyMod.802
is_friendly = yes
picture = GFX_evt_lovers
is_triggered_only = yes
immediate = {
prisoner = no
}
option = {
name = EVTOPTAMyMod.802 # Free at last!
FROM = {
reverse_opinion = {
who = ROOT
modifier = opinion_sprung_from_jail
months = 240
}
random_list = {
70 = {
if = {
limit = {
FROM = { is_married = yes }
}
impregnate_cuckoo = FROM
}
if = {
limit = {
FROM = { is_married = no }
}
impregnate = FROM
}
}
30 = {
health = 0.01
}
}
IF = {
limit = { has_lover = no }
random = {
chance = 50
add_lover = ROOT
}
}
}
set_character_flag = pledbelly
}
}
# The request is denied
character_event = {
id = MyMod.803
desc = EVTDESCMyMod.803
picture = GFX_evt_into_the_dungeon
is_triggered_only = yes
option = {
name = EVTOPTAMyMod.803 # Such a shame...
set_character_flag = pledbelly
}
}
Force Tanistry law on Celtic and Saxon kings or higher that are not currently using Primogeniture:
Code:
#Force Tanist law on weaker Celtic (+Saxon) kings>
character_event = {
id = MyMod.240
title = EVTNAMEMyMod.240
desc = EVTDESCMyMod.240
picture = "GFX_evt_council"
only_rulers = yes
trigger = {
is_feudal = yes
is_patrician = no
NOT = { year = 1280 }
OR = {
AND = {
culture_group = celtic
NOT = { culture = breton }
}
culture = saxon
}
NOT = { has_law = succ_primogeniture }
NOT = { has_law = succ_tanistry }
NOT = { has_law = succ_feudal_elective }
OR = {
AND = {
culture = irish
primary_title = { higher_tier_than = COUNT }
}
AND = {
culture_group = celtic
NOT = { culture = breton }
NOT = { culture = irish }
primary_title = { higher_tier_than = DUKE }
}
}
OR = {
AND = {
independent = no
top_liege = { has_law = succ_tanistry }
}
AND = {
independent = yes
NOT = { has_law = succ_tanistry }
NOT = { has_law = succ_primogeniture }
NOT = { has_law = succ_feudal_elective }
}
}
}
mean_time_to_happen = { days = 10 }
option = {
name = "OK"
any_demesne_title = {
limit = {
holder_scope = {
culture = irish
}
higher_tier_than = COUNT
NOT = { has_law = succ_tanistry }
}
add_law = succ_tanistry
}
any_demesne_title = {
limit = {
holder_scope = {
culture_group = celtic
NOT = { culture = breton }
NOT = { culture = irish }
}
higher_tier_than = DUKE
NOT = { has_law = succ_tanistry }
}
add_law = succ_tanistry
}
}
}
Code:
EVTDESCMyMod.240;We should be following the Gaelic system for passing on titles and lands;Nous devrions suivre le système gaëlique de successions et dons de terres.;We should be following the Gaelic system for passing on titles and lands;;We should be following the Gaelic system for passing on titles and lands;;;;;;;;;x
EVTNAMEMyMod.240;Tanist Law;Tanistrie;Tanist Law;;Tanist Law;;;;;;;;;x
Localization for the Russian titles
A very simple localization change that stops Russian Kings from being called Kings, and demotes them to Grand Princes. Existing Grand Princes (duke tier) are renamed to Prince.
While not perfect, this solves the issue where there is a Russian kingdom centuries before historically there ever was a Tsar: now you'll just have up to two Grand Princes there who might rule over other Princes, like historically did happen.
Code:
duke_russian;Prince;Prince;Prinz;;Príncipe;;;;;;;;;x
duke_female_russian;Princess;princesse;Prinzessin;;Princesa;;;;;;;;;x
duchy_russian;Principality;Principauté;Fürstentum;;Principado;;;;;;;;;x
duchy_of_russian;Principality of;Principauté de;Fürstentum von;;Principado de;;;;;;;;;x
king_russian;Grand Prince;Grand prince;Grand Prinz;;Gran Príncipe;;;;;;;;;x
king_female_russian;Grand Princess;Grand princesse;Grand Prinzessin;;Gran Princesa;;;;;;;;;x
kingdom_russian;Grand Principality;Grande-Principauté;Großfürstentum;;Gran Principado;;;;;;;;;x
kingdom_of_russian;Grand Principality of;Grande-Principauté de;Großfürstentum von;;Gran Principado de;;;;;;;;;x
---
Legitimize a hidden (cuckoo) bastard if ruler is old and childless
A male ruler who is 50 years old and does not have an heir of his dynasty, but who has a cuckoo (hidden) bastard running around, can choose to legitimize him with this event.
Code:
#Legitimize a hidden bastard if old and childless?
character_event = {
id = MyMod.810
desc = EVTDESCMyMod.810
picture = GFX_evt_courtiers_talking
min_age = 50
only_rulers = yes
trigger = {
NOT = { has_law = succ_feudal_elective }
is_feudal = yes
current_heir = { NOT = { dynasty = ROOT } }
NOT = {
any_child = {
dynasty = ROOT
is_female = no
}
}
any_child = {
was_conceived_a_bastard = yes
father = {
NOT = { character = ROOT }
}
is_female = no
NOT = { trait = bastard }
NOT = { trait = legit_bastard }
}
}
mean_time_to_happen = { years = 1 }
option = {
name = EVTOPTA301 # Legitimize the child
ai_chance = { factor = 80 }
random_child = {
limit = {
was_conceived_a_bastard = yes
father = {
NOT = { character = ROOT }
}
is_female = no
NOT = { trait = bastard }
NOT = { trait = legit_bastard }
}
character_event = { id = 302 tooltip = EVTTOOLTIP302 } # The child gets the father's dynasty
mother = {
character_event = { id = MyMod.811 tooltip = EVTTOOLTIP303 } # The child's mother is very pleased
spouse = {
character_event = { id = 304 tooltip = EVTTOOLTIP304 } # The child's mother's husband is pissed off
}
consort = {
character_event = { id = 304 tooltip = EVTTOOLTIP304 } # The child's mother's lord is pissed off
}
}
}
any_child = {
limit = {
dynasty = ROOT
was_conceived_a_bastard = no
}
opinion = {
who = ROOT
modifier = legitimized_bastard
months = 12
}
}
}
option = {
name = EVTOPTBMyMod.810
ai_chance = { factor = 20 }
}
}
# The child's mother is very pleased
character_event = {
id = MyMod.811
is_triggered_only = yes
desc = EVTDESC307
picture = GFX_evt_birth
option = {
name = EVTOPTA303
opinion = {
who = FROM
modifier = legitimized_child
years = 10
}
}
}
Code:
EVTDESCMyMod.810;I am growing older and have no heir, maybe it is time I acknowledge one of my illegitimate children...;I am growing older and have no heir, maybe it is time I acknowledge one of my illegitimate children...;I am growing older and have no heir, maybe it is time I acknowledge one of my illegitimate children...;;I am growing older and have no heir, maybe it is time I acknowledge one of my illegitimate children...;;;;;;;;;x
EVTOPTBMyMod.810;No, there is still time to get a legitimate heir.;No, there is still time to get a legitimate heir.;No, there is still time to get a legitimate heir.;;No, there is still time to get a legitimate heir.;;;;;;;;;x
Last edited: