• 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.

jordarkelf

01_TITLE_STRING
164 Badges
Jul 13, 2005
8.040
648
erbkaiser.nl
  • Impire
  • Europa Universalis IV
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Call to arms event
  • For The Glory
  • For the Motherland
  • Galactic Assault
  • Gettysburg
  • Hearts of Iron III
  • Hearts of Iron III: Their Finest Hour
  • Heir to the Throne
  • Divine Wind
  • Europa Universalis III Complete
  • Iron Cross
  • King Arthur II
  • Knights of Pen and Paper +1 Edition
  • Lead and Gold
  • Legio
  • Leviathan: Warships
  • The Kings Crusade
  • Lost Empire - Immortals
  • Magicka
  • Majesty 2
  • Victoria 3 Sign Up
  • Crusader Kings II: Sons of Abraham
  • Ancient Space
  • Hearts of Iron Anthology
  • Arsenal of Democracy
  • Hearts of Iron II: Armageddon
  • Cities in Motion
  • Cities in Motion 2
  • Crusader Kings II
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • A Game of Dwarves
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Commander: Conquest of the Americas
  • Darkest Hour
  • Deus Vult
  • Diplomacy
  • Dungeonland
  • East India Company
  • East India Company Collection
  • Europa Universalis III
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.
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
---

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
					}
				}
			}
		}
	}
}
Localization for it:
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:
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
		}
	}
}
Localization:
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
		}
	}
}
Localization:
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:
=== MODIFIED VANILLA ===

Compatible with 1.09

Randomized Sunset Invasion (50% chance of it being disabled, whether it is or not remains invisible to the player for a surprise):
New decision to add to a file in \decisions\:
Code:
decisions = {
	sunset_invasion_check = {
		potential = {
			has_landed_title = e_rebels
			NOT = { has_global_flag = sunset_invasion_active }
			NOT = { has_global_flag = sunset_invasion_inactive }
			NOT = { has_global_flag = aztec_explorers } #Don't deactivate if already active
		}
		effect = {
			random_list = {
				50 = { set_global_flag = sunset_invasion_active }
				50 = { set_global_flag = sunset_invasion_inactive }
			}
		}
		ai_will_do = {
			factor = 100
		}
	}
}

Change the mean_time_to_happen of province event SSI.1 in \events\sunset_invasion.txt to this:
Code:
	mean_time_to_happen = {
		months = 720
		[COLOR="#FF8C00"]modifier = {
			factor = 0
			has_global_flag = sunset_invasion_inactive
		}[/COLOR]
		modifier = {
			factor = 0.5
			year = 1320
		}
	}
---

events\job_lord_spiritual.txt revisions to stop forced conversion of orthodox/miaphysite/nestorian, since these three branches represent the mainstream Orthodox, Armenian and Coptic, and Persian church respectively. There was no concept of heresy or forced conversions between them, they were all seen as Orthodox ("Christian"), what we'd now call in communion with each other.

Also a block on converting provinces or people that are of your liege's religion so muslim vassals of a christian won't be allowed to convert christians.
Event 900: The Lord Spiritual converts a province!
Code:
	trigger = {
		has_job_action = action_inquisition
		[COLOR="#FF8C00"]NOT = {
			AND = {
				OR = {
					religion = orthodox
					religion = miaphysite
					religion = nestorian
				}
				OR = {
					location = { religion = orthodox }
					location = { religion = miaphysite }
					location = { religion = nestorian } 
				}
			}
		}[/COLOR]
		NOT = { location = { religion = ROOT } }
		[COLOR="#FF8C00"]liege = {
			NOT = { ROOT = { location = { religion = PREVPREV } } }
		}[/COLOR]
		location = {
			owner = { same_realm = ROOT }
		}
	}
Event 901: The Lord Spiritual converts a subject character:
Code:
	trigger = {
		has_job_action = action_inquisition
		location = {
			any_province_character = {
				NOT = { character = ROOT }
				NOT = { is_liege_of = ROOT }
				[COLOR="#FF8C00"]NOT = {
					AND = {
						OR = {
							religion = orthodox
							religion = miaphysite
							religion = nestorian
						}
						OR = {
							ROOT = { religion = orthodox }
							ROOT = { religion = miaphysite }
							ROOT = { religion = nestorian } 
						}
					}
				}[/COLOR]
				NOT = { religion = ROOT }
				[COLOR="#FF8C00"]liege = {
					NOT = { religion = PREV }
				}[/COLOR]
				same_realm = ROOT
			}
		}
	}
----

Added some new or changed criteria to succession laws:
GAVELKIND:
Allowed for West African muslims (Mali)
Disallowed for the HRE title
Disallowed for titles now using elective
OR:
*) Requires 500 prestige if not under a crown law
*) Requires centralization 3 or 4 if under a crown law

SENIORITY:
Allowed for West African muslims (Mali)
Disallowed for republics
Enforced for all Patricians (including muslims)
Disallowed for the HRE title
AND:
*) Requires 500 prestige if not under a crown law / Requires centralization 2, 3 or 4 if under a crown law
*) Must not be elective / or 500 prestige if not under a crown law / or centralization 3 or 4 if under a crown law
*) (new 1.09) Disabled for Celts except Bretons before 1280 since they should use Tanistry instead

PRIMOGENITURE:
Allowed for West African muslims (Mali)
Disallowed for the HRE title
AND:
*) Requires 1000 prestige if not under a crown law / Requires centralization 2, 3 or 4 if under a crown law
*) Must not be elective / or 1000 prestige if not under a crown law / or centralization 3 or 4 if under a crown law

FEUDAL ELECTIVE:
Allowed for West African muslims (Mali)

TURKISH/OPEN SUCCESSION:
Disallowed for West African muslims (Mali)
Disallowed for Patricians
OR:
*) Must not be elective
*) Must have no crown law
*) Must have centralization 3 or 4

CATHOLIC BISHOPRIC:
*) Allowed for catholic heresies as well

COGNATIC SUCCESSION (Cognatic-Agnatic):
Allowed for West African muslims (Mali)
Disallowed for the HRE title

AGNATIC SUCCESSION:
Must currently use agnatic-cognatic succession

TRUE COGNATIC SUCCESSION:
Allowed for West African muslims (Mali)
Disallowed for the HRE title
Must currently use agnatic-cognatic succession
OR:
*) Basque culture
*) Female ruler under cognatic succession with no sons, not the content or patient trait, 500 prestige and one of the following:
**) 1000 prestige, proud trait, ambitious trait
*) Ruler with no sons and two daughters, and not content.

(new 1.09:)
TANISTRY:
*) Allowed for all Celts, except Bretons (never used it)
*) Allowed for Saxons, since it closely resembles the English royal system
*) Must have 500 prestige to switch to from Seniority
*) Must have 750 prestige to switch to from Gavelkind
*) Only allowed if independent, or under a Tanistry using liege
Otherwise like Seniority

ULTIMOGENITURE:
*) Allowed for all pagans, and all Mongols unless they fall under islam

DOWNLOAD: succession_laws.zip below
---

Crown laws edits so the AI uses some sense in switching them:
Overall: can only go up or down one step, no more switching from centralization_0 to centralization_3.

Centralization:
Disallowed for republics
Must have the following to increase:
*) No negative opinion of duke vassals
*) No vassal must be a prisoner
*) Must be either ambitious/diligent/proud/lunatic/greedy/
*) Must not be content/slothful/imbecile/humble

Investure:
AI will switch to free investure on the following;
-Has negative piety
-Is not zealous
-Dislikes the Pope

AI will switch to papal investure if:
-Has positive piety
-Is not cynical or excommunicated
-Likes the Pope

DOWNLOAD: crown_laws.zip below
---

Demesne laws edits, adding some logic to them and allowing AI switching:
Overall: can only go up or down one step, no more switching from feudal_contract_0 to feudal_contract_3. Must not be at war.

All increase steps now require either being under the correct crown law (centralization etc. are checked) or having sufficient prestige, and traits and skills are taken into account.

DOWNLOAD: demesne_laws.zip below
---

The Baqt: non-aggression between Egypt and Nubia/Abyssinia

Historically Nubia/Abyssinia was forced to pay in gold and slaves to Egypt, and in return was not attacked by them. Modelling the payment would require more work, so this is just a quick and dirty fix to stop Nubia from being steamrolled before 1100.
Edit 00_cb_types.txt and add the following to the can_use sections of these war types: crusade, religious, muslim_invasion
Code:
ROOT = {
	OR = {#Baqt
		year = 1276
		NOT = { 
			AND = {
				religion_group = muslim
				OR = {
					has_landed_title = k_egypt
					any_liege = { has_landed_title = k_egypt }
				}
				FROM = { 
					religion_group = christian
					culture_group = east_african
				}
			}
			AND = {
				religion_group = christian
				culture_group = east_african
				FROM = { 
					religion_group = muslim
					OR = {
						has_landed_title = k_egypt
						any_liege = { has_landed_title = k_egypt }
					}
				}
			}
		}
	}
}
---

Allow the Chancellor to create a claim on a duchy if sent to fabricate claims in one of the duke's vassal's provinces, to allow for situations where a multiple duke or a king does not own any demesne province of a duchy title he holds.
Change EVTOPTA913 in job_chancellor.txt to this:
Code:
	option = {
		name = "EVTOPTA913"
		hidden_tooltip = {
			# Try to claim duchy title
			if = {
				limit = {
					diplomacy = 15
					NOT = { diplomacy = 18 }
					liege = {
						ROOT = {
							location = {
								duchy = {
									NOT = { claimed_by = PREVPREVPREV }
									holder_scope = {
										NOT = { is_liege_of = ROOT }
										NOT = { character = ROOT }
										religion = ROOT
										[COLOR="#FF8C00"]OR = {[/COLOR]
											owns = PREVPREV
											[COLOR="#FF8C00"]any_vassal = {
												owns = PREVPREVPREV
											}
										}[/COLOR]
									}
								}
							}
						}
					}
				}
				random = {
					chance = 10
					location = {
						duchy = {
							holder_scope = {
								set_character_flag = duchy_claimed
								character_event = { id = 20130 days = 1 }
							}
						}
					}
					set_character_flag = claim_done
				}
			}
			if = {
				limit = {
					diplomacy = 18
					NOT = { diplomacy = 20 }
					liege = {
						ROOT = {
							location = {
								duchy = {
									NOT = { claimed_by = PREVPREVPREV }
									holder_scope = {
										NOT = { is_liege_of = ROOT }
										NOT = { character = ROOT }
										religion = ROOT
										[COLOR="#FF8C00"]OR = {[/COLOR]
											owns = PREVPREV
											[COLOR="#FF8C00"]any_vassal = {
												owns = PREVPREVPREV
											}
										}[/COLOR]
									}
								}
							}
						}
					}
				}
				random = {
					chance = 20
					location = {
						duchy = {
							holder_scope = {
								set_character_flag = duchy_claimed
								character_event = { id = 20130 days = 1 }
							}
						}
					}
					set_character_flag = claim_done
				}
			}
			if = {
				limit = {
					diplomacy = 20
					liege = {
						ROOT = {
							location = {
								duchy = {
									NOT = { claimed_by = PREVPREVPREV }
									holder_scope = {
										NOT = { is_liege_of = ROOT }
										NOT = { character = ROOT }
										religion = ROOT
										[COLOR="#FF8C00"]OR = {[/COLOR]
											owns = PREVPREV
											[COLOR="#FF8C00"]any_vassal = {
												owns = PREVPREVPREV
											}
										}[/COLOR]
									}
								}
							}
						}
					}
				}
				random = {
					chance = 30
					location = {
						duchy = {
							holder_scope = {
								set_character_flag = duchy_claimed
								character_event = { id = 20130 days = 1 }
							}
						}
					}
					set_character_flag = claim_done
				}
			}			
			# Try to claim county title
			if = {
				limit = {
					NOT = { has_character_flag = claim_done }
					liege = {
						ROOT = {
							location = {
								county = {
									NOT = { claimed_by = PREVPREVPREV }
									holder_scope = {
										NOT = { is_liege_of = ROOT }
										NOT = { character = ROOT }
										owns = PREVPREV
									}
								}
							}
						}
					}
				}
				location = {
					county = {
						holder_scope = {
							character_event = { id = 20130 days = 1 }
						}
					}
				}
			}
			clr_character_flag = claim_done
		}
	}
---
Cultural "Of PLACENAME" replacements for random dynasties
Cultures use "Of PLACENAME" for random courtier dynasties, where the from_dynasty_prefix is localized in some cultures, in others it isn't.
Here's some more.
Put these in their respective cultures in common\cultures\00_cultures.txt

greek: from_dynasty_prefix = "ek " (εκ, = from)
finnish: from_dynasty_prefix = "af " (as in Swedish, when Finns started using lastnames they used the swedish model)
lappish: from_dynasty_prefix = "af " (as in the above)
ugricbaltic: from_dynasty_prefix = "af " (as in the above - vanilla kohta is Estonian 'regarding', not from as in placenames!)
komi: from_dynasty_prefix = "pen " (from Permyak "originating from")
mongol: from_dynasty_prefix = "irsen " (from Mongolian "out of")
cuman: from_dynasty_prefix = "ve " (adopted from Alan or Georgian)
pecheneg: from_dynasty_prefix = "ve " (adopted from Alan or Georgian)
russian: from_dynasty_prefix = "iz " (из from)
pommeranian: from_dynasty_prefix = "z " (Kashubian/Sorb "from")
bohemian: from_dynasty_prefix = "z " (Czech "from")
polish: from_dynasty_prefix = "z " (guess what)
nahuatl: from_dynasty_prefix = "den " (Nahuatl/Aztec "out of")
---
Moved all Normans in the 1066 start to their proper court
This modified copy of history\characters\norman.txt adds employer lines to almost all Normans in 1066, to stop half of Willy the Conker's Invasion Squad from randomly spawning in Italy instead. Also included are some minor character fixes.

DOWNLOAD: norman.zip below
---
Example code to add to CBs to prevent them for merchant republics and patricians
Add the following code to any CB you want to disable for republics. I suggest AT LEAST doing so for religious (Holy War) and invasion.
Code:
	can_use = {
		ROOT = {
			OR = {
				is_merchant_republic = no
				is_patrician = no
			}
		}
	}
---
Capuan Lombards start in Capua
This modified copy of history\characters\italian.txt adds employer lines to the Lombard dynasty of Capua in 1066, to put them where they should so they have a minute chance of getting Capua back. Also included are some minor character fixes.

DOWNLOAD: italian.zip below
---
End an Invasion CB if someone else just managed to invade it
Is it just my game or does almost every Stamford Bridge start end with William defeating Harold, and then immediately Harald of Norway defeating William?
This addition to the invasion casus belli will automatically end any invasion war if someone else managed to beat you to it with the same CB. The "runner up" keeps his claim.
I've also added some other types of wars that should end if a realm was invaded.
Add to the on_success section of invasion in common\cb_types\00_cb_types.txt:
Code:
		[COLOR="#FF8C00"]FROM = {
			hidden_tooltip = {
				any_war = {
					limit = {
						OR = {
							using_cb = claim_on_liege
							using_cb = overthrow_ruler
							using_cb = overthrow_ruler_no_calls
							using_cb = depose_liege
							using_cb = succession_on_liege
							using_cb = other_succession
							using_cb = other_succession_on_liege
							using_cb = invasion
						}
						attacker = {
							NOT = { character = ROOT }
						}
						defender = {
							character = PREVPREV
						}	
					}
					end_war = invalid
				}
			}
		}[/COLOR]
---
Change to the republic 'Family member marries foreign woman' event so it does not always pick Mandé wives
While I like the idea of this event, it introducing Mandé women all the time is rather silly.
This change to the event makes it more likely to pick some of the Mediterranean tanned-skinned women instead, with Mandé still in there but less likely.
Exact chances:
15% chance each of a Maghreb, Levantine, or Andalusian female being spawned
14% each of a Persian or Turkish female
11% each of Mandé or Ethiopian
5% chance of it being utterly random (I've had a mongol pop up in one test).

Change event REP.412 to this:
Code:
# Family member marries foreign woman (AI)
character_event = {
	id = REP.412
	hide_window = yes
	
	ai = yes
	capable_only = yes
	prisoner = no
	min_age = 18
	only_men = yes
	
	trigger = {
		has_dlc = "The Republic"
		is_married = no
		is_betrothed = no
		is_primary_heir = no
		is_pretender = no
		[COLOR="#FF8C00"]NOT = { culture_group = arabic }
		NOT = { culture_group = iranian }
		NOT = { culture_group = altaic }
		NOT = { culture_group = west_african }
		NOT = { culture_group = east_african }[/COLOR]
		liege = {
			NOT = { any_child = { character = ROOT } }
			[COLOR="#FF8C00"]NOT = { culture_group = arabic }
			NOT = { culture_group = iranian }
			NOT = { culture_group = altaic }
			NOT = { culture_group = west_african }
			NOT = { culture_group = east_african }[/COLOR]
			is_patrician = yes
			dynasty = ROOT
		}
	}
	
	mean_time_to_happen = {
		months = 450
	}
	
	immediate = {
		liege = {
			character_event = { id = REP.413 }
		}
	}
	
	option = {
		name = OK
	}
}

Change event REP.413 to this:
Code:
# Family member marries foreign woman
character_event = {
	id = REP.413
	desc =*EVTDESC_REP_413
	picture = GFX_evt_marriage
	
	is_triggered_only = yes
	
	option = {
		name = EVTOPTA_REP_413
		[COLOR="#FF8C00"]custom_tooltip = EVTOPTA_REP_413_tooltip
		hidden_tooltip = {
			random_list = {
				15 = {
					FROM = {
						create_character = {
							random_traits = yes
							dynasty = NONE
							female = yes
							age = 26
							religion = FROM
							culture = maghreb_arabic
						}
						new_character = {
							add_spouse = PREV
						}
					}
				}
				15 = {
					FROM = {
						create_character = {
							random_traits = yes
							dynasty = NONE
							female = yes
							age = 26
							religion = FROM
							culture = levantine_arabic
						}
						new_character = {
							add_spouse = PREV
						}
					}
				}
				15 = {
					FROM = {
						create_character = {
							random_traits = yes
							dynasty = NONE
							female = yes
							age = 26
							religion = FROM
							culture = andalusian_arabic
						}
						new_character = {
							add_spouse = PREV
						}
					}
				}
				14 = {
					FROM = {
						create_character = {
							random_traits = yes
							dynasty = NONE
							female = yes
							age = 26
							religion = FROM
							culture = persian
						}
						new_character = {
							add_spouse = PREV
						}
					}
				}
				14 = {
					FROM = {
						create_character = {
							random_traits = yes
							dynasty = NONE
							female = yes
							age = 26
							religion = FROM
							culture = turkish
						}
						new_character = {
							add_spouse = PREV
						}
					}
				}
				11 = {
					FROM = {
						create_character = {
							random_traits = yes
							dynasty = NONE
							female = yes
							age = 26
							religion = FROM
							culture = manden
						}
						new_character = {
							add_spouse = PREV
						}
					}
				}
				11 = {
					FROM = {
						create_character = {
							random_traits = yes
							dynasty = NONE
							female = yes
							age = 26
							religion = FROM
							culture = ethiopian
						}
						new_character = {
							add_spouse = PREV
						}
					}
				}
				5 = {
					FROM = {
						create_character = {
							random_traits = yes
							dynasty = NONE
							female = yes
							age = 26
							religion = FROM
							culture = random
						}
						new_character = {
							add_spouse = PREV
						}
					}
				}
			}
		}[/COLOR]
	}
}
Tooltip localisation:
Code:
EVTOPTA_REP_413_tooltip;[From.GetTitledFirstName] will marry a foreign woman.;[From.GetTitledFirstName] will marry a foreign woman;[From.GetTitledFirstName] will marry a foreign woman;;[From.GetTitledFirstName] will marry a foreign woman;;;;;;;;;x
I also suggest you modify the localisation of the existing event:
Code:
EVTDESC_REP_413;Some time ago, a merchant galley working for the [Root.GetOnlyDynastyName] family brought back several visiting dignitaries from a distant land. It seems one of them, a woman, has become the target of [From.GetTitledFirstName]'s infatuation. After courting her for weeks, she has finally agreed to marry him, take up his faith, and settle in [Root.MercRepCapital.GetName].;Il y a quelques temps, une galère de marchands travaillant pour la famille [Root.GetOnlyDynastyName] a ramené d’un pays lointain plusieurs dignitaires en visite. Il semble que l’une de ces dignitaires ait ému le cœur de [From.GetTitledFirstName]. Après des semaines passées à la courtiser, elle a finalement accepté de l’épouser, d’adopter sa foi et de s’installer à [Root.MercRepCapital.GetName].;Vor geraumer Zeit brachte ein Handelsschiff, das für die [Root.GetOnlyDynastyName] Familie arbeitet, mehrere Würdenträger aus einem fernen Land zu Besuch. Es scheint, dass einer von ihnen, eine Frau, das Ziel von [From.GetTitledFirstName]s Vernarrtheit geworden ist. Nachdem er sie für Wochen umworben hat, hat sie endlich zugestimmt, ihn zu heiraten, seinen Glauben anzunehmen und nach [Root.MercRepCapital.GetName] zu ziehen.;;Hace algún tiempo, una galera mercante que faenaba para la familia [Root.GetOnlyDynastyName] trajo de vuelta a varios dignatarios de lejanas tierras. Al parecer, uno de ellos, una mujer, se ha convertido en el objeto de deseo de [From.GetTitledFirstName]. Tras cortejarla durante semanas, finalmente ella ha aceptado casarse con él, convertirse a su fe y asentarse en [Root.MercRepCapital.GetName].;;;;;;;;;x
Languages other than English and German guess-corrected to remove the 'from the south' stuff.
 

Attachments

  • norman.zip
    15,7 KB · Views: 54
  • crown_laws.zip
    1,4 KB · Views: 68
  • demesne_laws.zip
    2,2 KB · Views: 58
  • italian.zip
    70,2 KB · Views: 48
  • succession_laws.zip
    1,8 KB · Views: 83
Last edited:
For the recovery from maimed localization, "Asides" should be "Aside", and I'd put a comma after "undamaged".
 
Nice. A beautiful treasure just sitting right here, waiting to be stolen.
 
These seem very good, specially the CA and succession laws ones.

So if I want to use them without a mod, do I just copy the entire ck2 folder and add the events to the files they belong to and replace the whole txt files where you provided one?
 
I'd always use a mod, just to be sure you can still play multiplayer with the unmodded game and don't run into issues. Although if you're on Steam you can always revert the game by veryfying the cache.

The very basic-est of mods would be to put a file called MyMod.mod in Documents\Paradox Interactive\Crusader Kings II\mod\ with these contents:
Code:
name = "mymod"
 path = "mod/mymod
And then create a folder 'mymod'.
Copy the events files you want to use or edit to Documents\Paradox Interactive\Crusader Kings II\mod\mymod\events (likewise other files, always copy the folder structure so a nickname mod goes in Documents\Paradox Interactive\Crusader Kings II\mod\mymod\common\nicknames), then pick 'mymod' from the launcher.

---

Added a new thing: Allow the Chancellor to create a claim on a duchy if sent to fabricate claims in one of the duke's vassal's provinces
 
Last edited:
Added an event where female prisoners can plead their belly to secure release.

I was getting a headache from reading and converting CK1 code so wrote this one up from scratch, works well in my game. Mathilda got released a little earlier after her failed rebellion this time, and suddenly her dynasty had a new member :cool:
 
That depends on what is decided once the sprog is born. The woman can be made pregnant by the event, from there on it's handled like any other pregnancy out of wedlock. If the captor marries the former captive before she gives birth it'll be a legitimate child, in all other cases it'll be a bastard who may be acknowledged, legitimized, or neither.
 
Plead the belly sounds cool, although I'm wondering, does it have historical precedent?
 
In English common law, yes. It was a quite well known practice, given its inclusion in the Beggar's Opera without context. It's also used in Moll Flanders.
Think the last cases were some pirates took advantage of it.
California apparently uses it today for non-violent crimes :D

It's mostly just a fun event. To make it historically accurate, allow it only for norman or english culture.
 
You've got a case error in the localization of the "plead her belly" events (pretty sure the tag's case sensitive):
Code:
[B]EVTDESCmyMod.803[/B];Your request to be released has been denied.;;;;;;;;;;;;;x
Should be EVTDESCMyMod.803.
 
The closing bracket for the OR is on the line after the last one you quoted, it's fine.
 
First question: what other mods are you using?