Minority Community First Draft

This commit is contained in:
Fishedotjpg 2026-02-25 04:40:35 +00:00
parent 51cd212fdd
commit bbd44e2a61
29 changed files with 37281 additions and 184 deletions

View file

@ -888,6 +888,26 @@ GetGovernmentIcon = {
}
localization_key = adventurer_icon_concept
}
text = { # Republic
trigger = {
trigger_if = {
limit = {
is_alive = no
}
has_government = landless_minority_government
}
trigger_else = {
trigger_if = {
limit = { is_ruler = yes }
government_has_flag = government_is_landless_minority
}
trigger_else = {
liege ?= { government_has_flag = government_is_landless_minority }
}
}
}
localization_key = minority_community_icon_concept
}
text = { # Nomad
trigger = {
trigger_if = {

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,413 @@
minority_community_main_01 = {
slot_type = main
internal_slots = 2
construction_time = 730
allowed_domicile_types = { minority_community }
cost = {
gold = estate_external_building_high_cost_tier_2_value
}
character_modifier = {
domicile_monthly_gold_add = 0.25
domicile_monthly_influence_add = 1
domicile_external_slots_capacity_add = 2
}
ai_value = {
value = 100
}
asset = {
trigger = {
domicile_location.culture = {
has_graphical_east_asia_culture_group_trigger = yes
}
}
icon = "gfx/interface/icons/domicile_building/minority_community_main.dds"
texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png"
soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_chinese_main_building"
}
asset = {
trigger = {
domicile_location.culture = {
OR = {
has_graphical_iranian_culture_group_trigger = yes
has_graphical_mena_culture_group_trigger = yes
has_graphical_steppe_culture_group_trigger = yes
has_graphical_african_culture_group_trigger = yes
has_graphical_india_culture_group_trigger = yes
has_graphical_iberian_culture_group_trigger = yes
}
}
}
icon = "gfx/interface/icons/domicile_building/minority_community_main.dds"
texture = "gfx/interface/window_domiciles/estate_building_villa_mena.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_mena_mask.png"
soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building"
}
asset = {
trigger = {
domicile_location.culture = {
OR = {
has_graphical_western_culture_group_trigger = yes
has_graphical_norse_culture_group_trigger = yes
}
}
}
icon = "gfx/interface/icons/domicile_building/minority_community_main.dds"
texture = "gfx/interface/window_domiciles/estate_building_villa_western.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_western_mask.png"
soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building"
}
asset = {
icon = "gfx/interface/icons/domicile_building/minority_community_main.dds"
texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_byzantine_mask.png"
soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building"
}
}
minority_community_main_02 = {
slot_type = main
internal_slots = 4
construction_time = 730
allowed_domicile_types = { minority_community }
previous_building = minority_community_main_01
can_construct = {
culture ?= { has_innovation = innovation_city_planning }
}
cost = {
gold = estate_external_building_high_cost_tier_3_value
}
parameters = {
reduce_success_of_raid_estate = yes
estate_increase_house_member_investment_cap_1 = yes
}
character_modifier = {
domicile_monthly_gold_add = 0.25
domicile_monthly_influence_add = 0.5
domicile_external_slots_capacity_add = 1
}
ai_value = {
value = 100
}
asset = {
trigger = {
domicile_location.culture = {
has_graphical_east_asia_culture_group_trigger = yes
}
}
icon = "gfx/interface/icons/domicile_building/minority_community_main.dds"
texture = "gfx/interface/window_domiciles/estate_building_manor_chinese.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_manor_chinese_mask.png"
soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_chinese_main_building"
}
asset = {
trigger = {
domicile_location.culture = {
OR = {
has_graphical_iranian_culture_group_trigger = yes
has_graphical_mena_culture_group_trigger = yes
has_graphical_steppe_culture_group_trigger = yes
has_graphical_african_culture_group_trigger = yes
has_graphical_india_culture_group_trigger = yes
has_graphical_iberian_culture_group_trigger = yes
}
}
}
icon = "gfx/interface/icons/domicile_building/minority_community_main.dds"
texture = "gfx/interface/window_domiciles/estate_building_manor_mena.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_manor_mena_mask.png"
soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building"
}
asset = {
trigger = {
domicile_location.culture = {
OR = {
has_graphical_western_culture_group_trigger = yes
has_graphical_norse_culture_group_trigger = yes
}
}
}
icon = "gfx/interface/icons/domicile_building/minority_community_main.dds"
texture = "gfx/interface/window_domiciles/estate_building_manor_western.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_manor_western_mask.png"
soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building"
}
asset = {
icon = "gfx/interface/icons/domicile_building/minority_community_main.dds"
texture = "gfx/interface/window_domiciles/estate_building_manor_byzantine.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_manor_byzantine_mask.png"
soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building"
}
}
minority_community_main_03 = {
slot_type = main
internal_slots = 6
construction_time = 730
allowed_domicile_types = { minority_community }
previous_building = minority_community_main_02
can_construct = {
culture ?= { has_innovation = innovation_manorialism }
}
cost = {
gold = estate_external_building_high_cost_tier_4_value
}
parameters = {
reduce_success_of_raid_estate = yes
estate_increase_house_member_investment_cap_2 = yes
}
character_modifier = {
domicile_monthly_gold_add = 0.5
domicile_monthly_gold_mult = 0.02
domicile_monthly_influence_add = 0.5
domicile_external_slots_capacity_add = 1
}
ai_value = {
value = 100
}
asset = {
trigger = {
domicile_location.culture = {
has_graphical_east_asia_culture_group_trigger = yes
}
}
icon = "gfx/interface/icons/domicile_building/minority_community_main.dds"
texture = "gfx/interface/window_domiciles/estate_building_mansion_chinese.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_mansion_chinese_mask.png"
soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_chinese_main_building"
}
asset = {
trigger = {
domicile_location.culture = {
OR = {
has_graphical_iranian_culture_group_trigger = yes
has_graphical_mena_culture_group_trigger = yes
has_graphical_steppe_culture_group_trigger = yes
has_graphical_african_culture_group_trigger = yes
has_graphical_india_culture_group_trigger = yes
has_graphical_iberian_culture_group_trigger = yes
}
}
}
icon = "gfx/interface/icons/domicile_building/minority_community_main.dds"
texture = "gfx/interface/window_domiciles/estate_building_mansion_mena.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_mansion_mena_mask.png"
soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building"
}
asset = {
trigger = {
domicile_location.culture = {
OR = {
has_graphical_western_culture_group_trigger = yes
has_graphical_norse_culture_group_trigger = yes
}
}
}
icon = "gfx/interface/icons/domicile_building/minority_community_main.dds"
texture = "gfx/interface/window_domiciles/estate_building_mansion_western.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_mansion_western_mask.png"
soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building"
}
asset = {
icon = "gfx/interface/icons/domicile_building/minority_community_main.dds"
texture = "gfx/interface/window_domiciles/estate_building_mansion_byzantine.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_mansion_byzantine_mask.png"
soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building"
}
}
minority_community_main_04 = {
slot_type = main
internal_slots = 8
construction_time = 730
allowed_domicile_types = { minority_community }
previous_building = minority_community_main_03
can_construct = {
culture ?= { has_innovation = innovation_development_03 }
}
cost = {
gold = estate_external_building_high_cost_tier_5_value
}
parameters = {
reduce_success_of_raid_estate = yes
estate_increase_house_member_investment_cap_3 = yes
}
character_modifier = {
domicile_monthly_gold_add = 0.5
domicile_monthly_gold_mult = 0.03
domicile_monthly_influence_add = 0.5
domicile_external_slots_capacity_add = 1
}
ai_value = {
value = 100
}
asset = {
trigger = {
domicile_location.culture = {
has_graphical_east_asia_culture_group_trigger = yes
}
}
icon = "gfx/interface/icons/domicile_building/minority_community_main.dds"
texture = "gfx/interface/window_domiciles/estate_building_estate_chinese.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_estate_chinese_mask.png"
soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_chinese_main_building"
}
asset = {
trigger = {
domicile_location.culture = {
OR = {
has_graphical_iranian_culture_group_trigger = yes
has_graphical_mena_culture_group_trigger = yes
has_graphical_steppe_culture_group_trigger = yes
has_graphical_african_culture_group_trigger = yes
has_graphical_india_culture_group_trigger = yes
has_graphical_iberian_culture_group_trigger = yes
}
}
}
icon = "gfx/interface/icons/domicile_building/minority_community_main.dds"
texture = "gfx/interface/window_domiciles/estate_building_estate_mena.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_estate_mena_mask.png"
soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building"
}
asset = {
trigger = {
domicile_location.culture = {
OR = {
has_graphical_western_culture_group_trigger = yes
has_graphical_norse_culture_group_trigger = yes
}
}
}
icon = "gfx/interface/icons/domicile_building/minority_community_main.dds"
texture = "gfx/interface/window_domiciles/estate_building_estate_western.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_estate_western_mask.png"
soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building"
}
asset = {
icon = "gfx/interface/icons/domicile_building/minority_community_main.dds"
texture = "gfx/interface/window_domiciles/estate_building_estate_byzantine.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_estate_byzantine_mask.png"
soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building"
}
}
minority_community_main_05 = {
slot_type = main
internal_slots = 10
construction_time = 730
allowed_domicile_types = { minority_community }
previous_building = minority_community_main_04
can_construct = {
culture ?= { has_innovation = innovation_cranes }
}
cost = {
gold = estate_external_building_high_cost_tier_6_value
}
parameters = {
reduce_success_of_raid_estate = yes
estate_increase_house_member_investment_cap_4 = yes
}
character_modifier = {
domicile_monthly_gold_add = 0.75
domicile_monthly_gold_mult = 0.05
domicile_monthly_influence_add = 0.5
domicile_external_slots_capacity_add = 1
}
ai_value = {
value = 100
}
asset = {
trigger = {
domicile_location.culture = {
has_graphical_east_asia_culture_group_trigger = yes
}
}
icon = "gfx/interface/icons/domicile_building/minority_community_main.dds"
texture = "gfx/interface/window_domiciles/estate_building_grand_estate_chinese.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grand_estate_chinese_mask.png"
soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_chinese_main_building"
}
asset = {
trigger = {
domicile_location.culture = {
OR = {
has_graphical_iranian_culture_group_trigger = yes
has_graphical_mena_culture_group_trigger = yes
has_graphical_steppe_culture_group_trigger = yes
has_graphical_african_culture_group_trigger = yes
has_graphical_india_culture_group_trigger = yes
has_graphical_iberian_culture_group_trigger = yes
}
}
}
icon = "gfx/interface/icons/domicile_building/minority_community_main.dds"
texture = "gfx/interface/window_domiciles/estate_building_grand_estate_mena.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grand_estate_mena_mask.png"
soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building"
}
asset = {
trigger = {
domicile_location.culture = {
OR = {
has_graphical_western_culture_group_trigger = yes
has_graphical_norse_culture_group_trigger = yes
}
}
}
icon = "gfx/interface/icons/domicile_building/minority_community_main.dds"
texture = "gfx/interface/window_domiciles/estate_building_grand_estate_western.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grand_estate_western_mask.png"
soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building"
}
asset = {
icon = "gfx/interface/icons/domicile_building/minority_community_main.dds"
texture = "gfx/interface/window_domiciles/estate_building_grand_estate_byzantine.dds"
intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grand_estate_byzantine_mask.png"
soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building"
}
}

File diff suppressed because it is too large Load diff

View file

@ -27,6 +27,10 @@ belpois_dynasty = {
culture = bourguignon
}
kohn_dynasty = {
name = dynn_britannia_kohn
culture = ashkenazi
}
giry_dynasty = {
name = dynn_giry
culture = bourguignon

View file

@ -504,6 +504,12 @@ duchy_landless_adventurer_camp = {
governments = { landless_adventurer_government }
}
duchy_landless_minority_community = {
type = title
tier = duchy
priority = 30
governments = { landless_minority_government }
}
### Devaraja ###
devaraja = {
type = character

View file

@ -10357,6 +10357,52 @@ hegemony_feudal_mongolic = {
}
### LANDLESS ADVENTURERS
duke_landless_minority_community_male_minority_community = {
type = character
gender = male
special = holder
tier = duchy
domicile_type = minority_community
priority = 25
governments = { landless_minority_government }
flavourization_rules = {
spouse_takes_title = no
}
}
duke_landless_minority_community_female_minority_community = {
type = character
gender = female
special = holder
tier = duchy
domicile_type = minority_community
priority = 25
governments = { landless_minority_government }
flavourization_rules = {
spouse_takes_title = no
}
}
spouse_landless_minority_community_male = {
type = character
gender = male
special = domicile
domicile_type = minority_community
priority = 25
governments = { landless_minority_government }
}
spouse_landless_minority_community_holder_female = {
type = character
gender = female
special = domicile
domicile_type = minority_community
priority = 25
governments = { landless_minority_government }
}
duke_landless_adventurer_male_camp = {
type = character
gender = male

View file

@ -19,3 +19,13 @@ domicile_estate = {
top_liege = no
}
}
domicile_minority_community = {
type = domicile
domicile_type = minority_community
priority = 26
governments = { landless_minority_government }
flavourization_rules = {
top_liege = no
}
}

View file

@ -11,4 +11,19 @@ airship = {
}
chemical_weapons = {
texture = "gfx/interface/icons/regimenttypes/chemical_weapons.dds"
}
minority_community = {
parent = domicile
}
minority_government = {
texture = "gfx/interface/icons/government_types/landless_minority_government.dds"
parent = government
alias = { minority_government minority_community_i }
}
minority_community_building = {
texture = "gfx/interface/icons/message_feed/building.dds"
alias = { minority_community_buildings minority_community_building }
parent = domicile_building
}

View file

@ -6,7 +6,7 @@ feudal_government = {
government_rules = {
create_cadet_branches = yes
rulers_should_have_dynasty = yes
dynasty_named_realms = yes
dynasty_named_realms = no
legitimacy = yes
}
@ -121,7 +121,7 @@ clan_government = {
create_cadet_branches = yes
rulers_should_have_dynasty = yes
legitimacy = yes
dynasty_named_realms = yes
dynasty_named_realms = no
always_use_patronym = yes
}
@ -543,6 +543,72 @@ landless_adventurer_government = {
realm_mask_scale = { 1 1 }
}
landless_minority_government = {
government_rules = {
create_cadet_branches = yes
court_generate_spouses = yes
council = yes
always_use_patronym = yes
regiments_prestige_as_gold = yes
create_cadet_branches = yes
rulers_should_have_dynasty = yes
landless_playable = yes
use_title_tier_modifiers = no
mercenary = yes
allow_out_of_realm_inheritance = yes
use_as_base_on_landed = yes
use_maa_maintenance = no
}
domicile_type = minority_community
court_generate_commanders = yes
can_get_government = {
any_held_title = {
title_tier = duchy
is_landless_type_title = yes
}
}
primary_heritages = {
heritage_israelite
}
preferred_religions = {
judaism_religion
}
valid_holdings = { tribal_holding church_holding castle_holding city_holding temple_citadel_holding }
character_modifier = {
active_accolades = -100
knight_limit = 2
character_travel_speed = 20
siege_weapon_siege_value_mult = -0.5
mercenary_hire_cost_mult = 1
short_reign_duration_mult = -5
long_reign_bonus_mult = -1
domicile_travel_speed = -0.75
monthly_wanderer_lifestyle_xp_gain_mult = 0.15
}
ai = {
use_goals = yes
use_scripted_guis = no
perform_religious_reformation = yes
use_legends = yes
}
# Use flags instead of has_government for moddability if possible (i.e., wherever not visible to the player).
flags = {
cannot_be_vassal_or_liege
government_is_landless_minority
has_unique_government_perks
}
mechanic_type = landless_adventurer
color = hsv{ 0.00 0.00 0.90 }
realm_mask_offset = { 0.0 0.0 }
realm_mask_scale = { 1 1 }
}
### Brief: nomad_government
# Default nomad government, used for the Steppe Region
#

View file

@ -15,6 +15,20 @@ d_laamp_zolt = {
ai_primary_priority = { add = @never_primary_score }
}
d_laamp_test_jewish = {
color = { 100 100 100 }
capital = c_london
definite_form = yes
landless = yes
ruler_uses_title_name = no
always_follows_primary_heir = yes
no_automatic_claims = yes
noble_family = yes
destroy_if_invalid_heir = yes
ai_primary_priority = { add = @never_primary_score }
}
d_laamp_bookwyrm = {
color = { 100 100 100 }
capital = c_guines

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,934 @@
###TRIGGER LIST
#has_contagious_deadly_disease_trigger
#is_healthy
#is_available
#is_available_ai
#is_available_adult
#is_available_healthy_adult
#is_available_ai_adult
#is_available_healthy_ai_adult
#is_capable_adult
#is_capable_adult_ai
#liege_is_boss_trigger
#can_select_lifestyle_focus
#can_marry
#can_become_concubine
has_contagious_deadly_disease_trigger = {
has_trait_with_flag = contagious_deadly_disease
}
is_healthy = {
custom_tooltip = {
text = not_poor_health_tt
health >= fine_health
}
NOT = {
has_trait_with_flag = is_healthy_trigger_flag
}
has_contagious_deadly_disease_trigger = no
}
basic_is_available_ai = {
is_available_quick = {
ai = yes
alive = yes
imprisoned = no
incapable = no
}
has_contagious_deadly_disease_trigger = no
}
is_available_allow_travelling = {
is_available_quick = {
alive = yes
imprisoned = no
incapable = no
in_army = no
}
has_contagious_deadly_disease_trigger = no
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
# Variable set on Mandala succession
custom_tooltip = {
text = busy_in_mandala_succession
NOT = { has_variable = busy_in_mandala_succession }
}
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available = {
is_available_quick = {
alive = yes
travel = no
in_army = no
imprisoned = no
incapable = no
}
has_contagious_deadly_disease_trigger = no
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
# Variable set on Mandala succession
custom_tooltip = {
text = busy_in_mandala_succession
NOT = { has_variable = busy_in_mandala_succession }
}
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_travelling = {
is_available_quick = {
alive = yes
in_army = no
imprisoned = no
incapable = no
travel = yes
}
has_contagious_deadly_disease_trigger = no
NOR = {
has_character_flag = is_in_task_contract_event_chain
has_variable = gone_adventuring
}
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_travelling_adult = {
is_available_quick = {
travel = yes
adult = yes
alive = yes
in_army = no
imprisoned = no
incapable = no
}
has_contagious_deadly_disease_trigger = no
NOR = {
has_character_flag = is_in_task_contract_event_chain
has_variable = gone_adventuring
}
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_travelling_ai_adult = {
is_available_quick = {
travel = yes
adult = yes
ai = yes
alive = yes
in_army = no
imprisoned = no
incapable = no
}
has_contagious_deadly_disease_trigger = no
NOR = {
has_character_flag = is_in_task_contract_event_chain
has_variable = gone_adventuring
}
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_physically_able = {
is_available_quick = {
alive = yes
imprisoned = no
incapable = no
}
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_physically_able_ai = {
is_available_quick = {
ai = yes
alive = yes
imprisoned = no
incapable = no
}
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_physically_able_adult = {
is_available_quick = {
adult = yes
alive = yes
imprisoned = no
incapable = no
}
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_physically_able_ai_adult = {
is_available_quick = {
ai = yes
adult = yes
alive = yes
imprisoned = no
incapable = no
}
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_ai = {
is_available_quick = {
ai = yes
alive = yes
travel = no
in_army = no
imprisoned = no
incapable = no
}
has_contagious_deadly_disease_trigger = no
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_child = {
is_available_quick = {
adult = no
alive = yes
travel = no
in_army = no
imprisoned = no
incapable = no
}
has_contagious_deadly_disease_trigger = no
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_child_allow_travel = {
is_available_quick = {
adult = no
alive = yes
in_army = no
imprisoned = no
incapable = no
}
has_contagious_deadly_disease_trigger = no
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_ai_child = {
is_available_quick = {
adult = no
ai = yes
alive = yes
travel = no
in_army = no
imprisoned = no
incapable = no
}
has_contagious_deadly_disease_trigger = no
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_healthy_child = {
is_available_quick = {
adult = no
alive = yes
travel = no
in_army = no
imprisoned = no
incapable = no
}
is_healthy = yes
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_healthy_ai_child = {
is_available_quick = {
ai = yes
adult = no
alive = yes
travel = no
in_army = no
imprisoned = no
incapable = no
}
is_healthy = yes
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_adult = {
is_available_quick = {
adult = yes
alive = yes
travel = no
in_army = no
imprisoned = no
incapable = no
}
has_contagious_deadly_disease_trigger = no
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_ai_adult = {
is_available_quick = {
ai = yes
adult = yes
alive = yes
travel = no
in_army = no
imprisoned = no
incapable = no
}
has_contagious_deadly_disease_trigger = no
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_healthy_adult = {
is_available_quick = {
adult = yes
alive = yes
travel = no
in_army = no
imprisoned = no
incapable = no
}
is_healthy = yes
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_healthy_ai_adult = {
is_available_quick = {
ai = yes
adult = yes
alive = yes
travel = no
in_army = no
imprisoned = no
incapable = no
}
is_healthy = yes
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
is_available_adult_or_is_commanding = {
OR = {
is_commanding_army = yes
is_available_adult = yes
}
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_at_peace = {
is_available_quick = {
at_war = no
alive = yes
travel = no
in_army = no
imprisoned = no
incapable = no
}
has_contagious_deadly_disease_trigger = no
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_at_peace_adult = {
is_available_quick = {
at_war = no
adult = yes
alive = yes
travel = no
in_army = no
imprisoned = no
incapable = no
}
has_contagious_deadly_disease_trigger = no
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_at_peace_ai_adult = {
is_available_quick = {
ai = yes
adult = yes
alive = yes
imprisoned = no
incapable = no
travel = no
in_army = no
at_war = no
}
has_contagious_deadly_disease_trigger = no
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_available_at_peace_adult_lenient = {
is_available_quick = {
adult = yes
alive = yes
travel = no
in_army = no
imprisoned = no
incapable = no
at_war = no
}
has_contagious_deadly_disease_trigger = no
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
# Meaning you may be at war, but you're still located in your capital.
is_available_even_at_war_adult = {
is_available_quick = {
adult = yes
alive = yes
travel = no
in_army = no
imprisoned = no
incapable = no
}
has_contagious_deadly_disease_trigger = no
custom_description = {
text = ALREADY_IN_ACTIVITY
NOR = {
exists = involved_activity
has_variable = {
name = homage_liege_scope
name = meditation_character_flag
name = local_shrine_rite
name = petition_liege_character_flag
name = holding_court_character_flag
}
is_being_visited_on_tour_strict = yes
}
}
custom_description = {
text = ALREADY_PLANNING_ACTIVITY
NOT = { has_character_flag = planning_an_activity }
}
# Variable set within the adventure inspiration events
NOT = { has_variable = gone_adventuring }
}
is_capable_adult = {
is_available_quick = {
adult = yes
incapable = no
}
}
is_capable_adult_ai = {
is_available_quick = {
ai = yes
adult = yes
incapable = no
}
}
can_select_lifestyle_focus = {
is_capable_adult = yes
is_playable_character = yes
}
is_not_hostile_towards_root = {
NOR = {
is_a_faction_member = yes
any_scheme = {
hostile_scheme_trigger = yes
scheme_target_character = root
}
is_at_war_with = root
}
}
player_target_available_for_personal_scheme_ongoing_events_trigger = {
$TARGET$ = {
trigger_if = {
limit = {
is_ai = no
$OWNER$ = { is_ruler = no }
}
is_at_war = no
}
trigger_else = {
always = yes
}
}
}
basic_is_valid_for_yearly_events_trigger = {
is_playable_character = yes
is_available_quick = {
imprisoned = no
incapable = no
}
OR = {
is_travelling = no
has_government = landless_adventurer_government
}
NOR = {
has_character_flag = is_in_task_contract_event_chain
exists = involved_activity
}
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_valid_for_narrow_yearly_events = {
is_available_quick = {
at_war = no
imprisoned = no
incapable = no
}
is_commanding_army = no
is_playable_character = yes
OR = {
is_travelling = no
has_government = landless_adventurer_government
}
NOR = {
has_character_flag = is_in_task_contract_event_chain
exists = involved_activity
}
}
# If you update one of the available triggers, update all of them. It's a lot better for performance to not have scripted triggers within scripted triggers when they're checked as often as these ones are.
is_valid_for_narrow_yearly_events_adult = {
is_available_quick = {
adult = yes
at_war = no
imprisoned = no
incapable = no
}
is_commanding_army = no
is_playable_character = yes
OR = {
is_travelling = no
has_government = landless_adventurer_government
}
NOR = {
has_character_flag = is_in_task_contract_event_chain
exists = involved_activity
}
}
is_within_diplo_range = {
capital_province ?= {
save_temporary_scope_as = my_capital
$CHARACTER$.capital_province ?= {
squared_distance = {
target = scope:my_capital
value < 200000
}
}
}
}
# This trigger checks if a character is a Nomad
is_nomad = {
government_has_flag = government_is_nomadic
is_ruler = yes
}
# This trigger checks if a character is a landed Nomad
is_landed_nomad = {
government_has_flag = government_is_nomadic
is_available_quick = {
ruler = yes
landed = yes
}
}
# Checks if a character is a landless nomad with a domicile
is_landless_nomad = {
government_has_flag = government_is_nomadic
is_landed = no
has_domicile = yes
}
# This trigger checks if a character is a landless adventurer
is_landless_adventurer = {
OR = {
government_has_flag = government_is_landless_adventurer
government_has_flag = government_is_landless_minority
}
}
# This trigger checks if a character is a governor in an admin realm (implying they are landed)
is_governor = {
government_allows = administrative
is_landed = yes
top_liege != this
OR = {
highest_held_title_tier >= main_administrative_tier
highest_held_title_tier >= min_title_maa_tier
}
tgp_is_ceremonial_liege_trigger = no
}
is_governor_or_admin_count = {
government_allows = administrative
is_landed = yes
top_liege != this
highest_held_title_tier >= tier_county
tgp_is_ceremonial_liege_trigger = no
}
# Checks if a character is a landless house_head within an admin realm
is_landless_administrative = {
government_allows = administrative
is_landed = no
is_house_head = yes
has_domicile = yes
}
# Checks if a character is a landless house_head within a feudal realm
is_landless_soryo = {
government_has_flag = government_is_japan_feudal
is_landed = no
is_house_head = yes
has_domicile = yes
}
# Checks if a character is either landed or an unlanded house head within an admin realm
is_landed_or_landless_administrative = {
OR = {
is_landed = yes
is_landless_administrative = yes
}
}
# Checks if a character is either landed, a landless house head within an admin realm, a landless nomad, a landless adventurer, a landless soryo, or a minister
is_playable_character = {
OR = {
is_landed = yes
is_landless_administrative = yes
is_landless_adventurer = yes
is_landless_nomad = yes
is_landless_soryo = yes
tgp_is_any_minister = yes # To keep ministers playable, regardless of having a nobel family title or not
}
}
roman_restoration_is_valid_roman_empire_trigger = {
is_ai = no
is_roman_emperor_trigger = yes
OR = {
religion = religion:christianity_religion #Either Christian
religion = religion:hellenism_religion #Or Hellenic
}
NOT = { has_ep3_dlc_trigger = yes }
}
is_eunuch_trigger = {
OR = {
has_trait = eunuch_1
has_trait = beardless_eunuch
}
}

View file

@ -0,0 +1,511 @@

character_gender_can_rule_title_trigger = {
trigger_if = {
limit = {
$GENDER$ = { is_male = yes }
exists = $TITLE$
$TITLE$ = {
NOT = {
has_title_law = female_only_law
}
}
}
always = yes
}
trigger_else_if = {
limit = {
$GENDER$ = { is_female = yes }
exists = $TITLE$
$TITLE$ = {
NOT = {
has_title_law = male_only_law
}
}
}
always = yes
}
trigger_else = {
always = no
}
}
character_gender_can_inherit_from_trigger = {
save_temporary_scope_as = heir
trigger_if = {
limit = {
$CHARACTER$ = { exists = primary_title }
}
$CHARACTER$ = {
character_gender_can_rule_title_trigger = {
GENDER = scope:heir
TITLE = primary_title
}
}
}
trigger_else = {
always = no
}
}
has_partition_succession_realm_law_trigger = {
OR = {
has_realm_law = confederate_partition_succession_law
has_realm_law = partition_succession_law
has_realm_law = high_partition_succession_law
has_realm_law = clan_antagonistic_partition_succession_law
has_realm_law = clan_competitive_partition_succession_law
has_realm_law = clan_impassive_partition_succession_law
has_realm_law = clan_friendly_partition_succession_law
has_realm_law = clan_harmonious_partition_succession_law
}
}
realm_law_use_crown_authority = {
government_has_flag = government_uses_crown_authority
}
realm_law_use_tribal_authority = {
government_has_flag = government_is_tribal
}
realm_law_use_camp_purpose = {
government_has_flag = government_is_landless_adventurer
}
realm_law_use_imperial_bureaucracy = {
government_allows = administrative
NOR = {
government_has_flag = government_is_celestial
government_has_flag = government_is_meritocratic
government_has_flag = government_is_steppe_admin
government_has_flag = government_is_japan_administrative
}
}
realm_law_use_nomadic_authority = {
government_has_flag = government_is_nomadic
}
realm_law_use_celestial_bureaucracy = {
government_has_flag = government_is_celestial
}
realm_law_is_mandala = {
government_has_flag = government_is_mandala
}
realm_law_use_meritocratic_bureaucracy = {
OR = {
government_has_flag = government_is_meritocratic
government_has_flag = government_is_steppe_admin
}
}
realm_uses_treasury_laws_trigger = {
government_allows = treasury
}
realm_law_use_japanese_bureaucracy = {
government_is_japanese_trigger = yes
}
can_have_confederate_partition_succession_law_trigger = {
OR = {
government_has_flag = government_is_feudal
government_has_flag = government_is_tribal
government_has_flag = government_is_minority
# TGP
AND = {
government_has_flag = government_is_japan_feudal
tgp_realm_has_ceremonial_liege_trigger = yes
is_independent_ruler = no
}
}
}
can_keep_partition_succession_law_trigger = {
# The 'can_keep' triggers are dependent on actually having the law. If they aren't, the trigger breakdown for the player breaks and shows incomplete information.
trigger_if = {
limit = {
has_realm_law = partition_succession_law
}
OR = {
can_have_partition_succession_law_trigger = yes
# Mongol Empires
has_title = title:e_mongol_empire
has_title = title:e_ilkhanate
has_title = title:e_golden_horde
has_title = title:e_chagatai
has_title = title:e_red_horde
has_title = title:e_white_horde
has_title = title:e_aarlud_khanate
has_title = title:e_togskol_khanate
has_title = title:e_baruun_khanate
has_title = title:e_great_yuan
has_title = title:e_blue_horde
has_title = title:e_omnod_dalai_khanate
}
}
NOT = { government_has_flag = government_is_clan }
}
can_have_partition_succession_law_trigger = {
culture = {
has_innovation = innovation_hereditary_rule
}
custom_description = {
text = succession_laws_must_have_organised_government_tooltip
OR = {
government_has_flag = government_is_feudal
government_has_flag = government_is_clan
government_has_flag = government_is_japan_feudal
}
}
}
can_keep_high_partition_succession_law_trigger = {
# The 'can_keep' triggers are dependent on actually having the law. If they aren't, the trigger breakdown for the player breaks and shows incomplete information.
trigger_if = {
limit = {
has_realm_law = high_partition_succession_law
}
OR = {
can_have_high_partition_succession_law_trigger = yes
# Mongol Empires
has_title = title:e_mongol_empire
has_title = title:e_ilkhanate
has_title = title:e_golden_horde
has_title = title:e_chagatai
has_title = title:e_red_horde
has_title = title:e_white_horde
has_title = title:e_aarlud_khanate
has_title = title:e_togskol_khanate
has_title = title:e_baruun_khanate
has_title = title:e_great_yuan
has_title = title:e_blue_horde
has_title = title:e_omnod_dalai_khanate
}
}
NOT = { government_has_flag = government_is_clan}
}
can_have_high_partition_succession_law_trigger = {
trigger_if = {
limit = {
NOT = {
culture = { has_cultural_parameter = can_enact_high_partition_succession_law }
}
}
culture = { has_innovation = innovation_heraldry }
}
custom_description = {
text = succession_laws_must_have_organised_government_tooltip
OR = {
government_has_flag = government_is_feudal
government_has_flag = government_is_clan
government_has_flag = government_is_japan_feudal
}
}
}
can_keep_single_heir_succession_law_trigger = {
# The 'can_keep' triggers are dependent on actually having the law. If they aren't, the trigger breakdown for the player breaks and shows incomplete information.
trigger_if = {
limit = {
has_realm_law = single_heir_succession_law
}
OR = {
can_have_single_heir_succession_law_trigger = yes
# Byzantine Empire / Ceremonial Liege
historical_succession_access_single_heir_succession_law_trigger = yes
has_variable = purge_oath_previous_law # ACH Purge Pretenders Oath
}
}
}
can_have_single_heir_succession_law_trigger = {
trigger_if = { # Celestial/Meritocratic/Soryo
limit = {
OR = {
government_allows = merit
government_has_flag = government_is_japan_feudal
}
}
custom_tooltip = { # You are independent, have the innovation or are Ceremonial Monarch
text = can_have_single_heir_succession_law_trigger_merit_or_japan_tt
OR = {
is_independent_ruler = yes
culture = {
has_innovation = innovation_primogeniture
}
tgp_has_ceremonial_liege_title_trigger = yes
}
}
}
trigger_else_if = {
limit = { tgp_realm_has_ceremonial_liege_trigger = yes }
tgp_has_ceremonial_liege_title_trigger = yes
}
trigger_else = {
culture = {
has_innovation = innovation_primogeniture
}
}
# Non-tribals only
trigger_if = { # We split the tooltip into two, to make sure we don't show admin unless you actually have it
limit = {
has_ep3_dlc_trigger = yes
}
custom_tooltip = {
text = must_be_feudal_clan_or_admin
OR = {
government_has_flag = government_is_feudal
government_has_flag = government_is_clan
government_allows = administrative
government_has_flag = government_is_japan_feudal
tgp_has_ceremonial_liege_title_trigger = yes
}
}
}
trigger_else = {
custom_description = {
text = succession_laws_must_have_organised_government_tooltip
OR = {
government_has_flag = government_is_feudal
government_has_flag = government_is_clan
government_allows = merit
government_has_flag = government_is_japan_feudal
tgp_has_ceremonial_liege_title_trigger = yes
}
}
}
# Admin rules
trigger_if = {
limit = { government_allows = administrative }
trigger_if = {
limit = { tgp_realm_has_ceremonial_liege_trigger = yes }
tgp_has_ceremonial_liege_title_trigger = yes
}
trigger_else = { is_independent_ruler = yes }
}
}
can_keep_single_heir_youngest_succession_law_trigger = {
# The 'can_keep' triggers are dependent on actually having the law. If they aren't, the trigger breakdown for the player breaks and shows incomplete information.
trigger_if = {
limit = {
has_realm_law = single_heir_succession_law_youngest
}
OR = {
can_have_single_heir_youngest_succession_law_trigger = yes
historical_succession_access_single_heir_succession_law_youngest_trigger = yes
}
}
}
can_have_single_heir_youngest_succession_law_trigger = {
culture = {
has_innovation = innovation_primogeniture
}
# Non-tribals only
trigger_if = { # We split the tooltip into two, to make sure we don't show admin unless you actually have it
limit = {
has_ep3_dlc_trigger = yes
}
custom_tooltip = {
text = must_be_feudal_clan_or_admin
OR = {
government_has_flag = government_is_feudal
government_has_flag = government_is_clan
government_allows = administrative
government_has_flag = government_is_japan_feudal
}
}
}
trigger_else = {
custom_description = {
text = succession_laws_must_have_organised_government_tooltip
OR = {
government_has_flag = government_is_feudal
government_has_flag = government_is_clan
government_has_flag = government_is_japan_feudal
}
}
}
trigger_if = {
limit = {
government_allows = administrative
}
is_independent_ruler = yes
}
}
can_keep_single_heir_dynasty_house_trigger = {
# The 'can_keep' triggers are dependent on actually having the law. If they aren't, the trigger breakdown for the player breaks and shows incomplete information.
trigger_if = {
limit = {
has_realm_law = single_heir_dynasty_house
}
OR = {
can_have_single_heir_dynasty_house_trigger = yes
historical_succession_access_single_heir_dynasty_house_trigger = yes
}
}
}
can_have_single_heir_dynasty_house_trigger = {
exists = house
trigger_if = {
limit = {
culture = {
OR = {
this = culture:czech
this = culture:slovien
any_parent_culture_or_above = {
this = culture:czech
}
any_parent_culture_or_above = {
this = culture:slovien
}
NOT = { has_innovation = innovation_heraldry }
}
}
}
culture = {
has_innovation = innovation_table_of_princes
}
}
trigger_else = {
culture = {
has_innovation = innovation_heraldry
}
}
custom_description = {
text = succession_laws_must_have_organised_government_tooltip
OR = {
government_has_flag = government_is_feudal
government_has_flag = government_is_clan
government_has_flag = government_is_japan_feudal
}
}
NOT = { government_allows = administrative }
}
can_have_bishop_theocratic_succession_law_trigger = {
OR = {
is_theocratic_lessee = yes
government_has_flag = government_is_theocracy
}
}
is_temporal_head_of_faith_trigger = {
is_head_of_faith = yes
holder.faith = { has_doctrine = doctrine_temporal_head }
}
can_title_have_law_general_trigger = {
tier >= tier_duchy
is_temporal_head_of_faith_trigger = no
}
can_have_holy_order_succession_law_trigger = {
government_has_flag = government_is_holy_order
}
can_have_mercenary_succession_law_trigger = {
government_has_flag = government_is_mercenary
}
can_have_city_succession_law_trigger = {
government_has_flag = government_is_republic
}
can_have_herder_succession_law_trigger = {
government_has_flag = government_is_herder
}
title_can_reduce_partition_law_trigger = {
holder ?= {
OR = {
has_realm_law = single_heir_succession_law
can_have_high_partition_succession_law_trigger = yes
}
OR = {
has_realm_law = high_partition_succession_law
can_have_high_partition_succession_law_trigger = yes
}
OR = {
has_realm_law = partition_succession_law
can_have_confederate_partition_succession_law_trigger = yes
}
}
}
can_pass_law_ca1_trigger = {
culture = { has_innovation = innovation_plenary_assemblies }
}
can_pass_law_ca2_trigger = {
culture = { has_innovation = innovation_royal_prerogative }
}
can_pass_law_ca3_trigger = {
culture = { has_innovation = innovation_royal_prerogative }
}
can_have_acclamation_succession_law_trigger = {
has_ep3_dlc_trigger = yes
top_liege = this
government_allows = administrative
NOR = {
government_has_flag = government_is_celestial
government_has_flag = government_is_japan_administrative
government_has_flag = government_is_meritocratic
government_has_flag = government_is_steppe_admin
}
}
can_keep_acclamation_succession_law_trigger = {
has_ep3_dlc_trigger = yes
trigger_if = {
limit = {
has_realm_law = acclamation_succession_law
}
OR = {
can_have_acclamation_succession_law_trigger = yes
has_title = title:e_byzantium
}
}
}
can_change_acclamation_succession_law_trigger = {
has_ep3_dlc_trigger = yes
}
can_have_appointment_succession_law_trigger = {
has_ep3_dlc_trigger = yes
government_allows = administrative
NOR = {
government_has_flag = government_is_celestial
government_has_flag = government_is_japan_administrative
government_has_flag = government_is_meritocratic
}
is_independent_ruler = no
}
can_keep_appointment_succession_law_trigger = {
has_ep3_dlc_trigger = yes
trigger_if = {
limit = {
has_realm_law = appointment_succession_law
}
can_have_appointment_succession_law_trigger = yes
}
}
can_change_appointment_succession_law_trigger = {
has_ep3_dlc_trigger = yes
}

View file

@ -0,0 +1,176 @@

### Legal trigger list
opposes_succession_law_change_trigger = {
is_imprisoned = no
opinion = {
target = liege
value < 0
}
custom_description = {
text = law_change_approval_is_cowed
has_dread_level_towards = {
target = liege
level < 2
}
}
}
can_change_succession_laws_realm_flag_trigger = {
trigger_if = {
limit = { realm_law_use_tribal_authority = yes }
custom_description = {
text = "has_tribal_law_allowing_succession_law_change"
has_realm_law_flag = can_change_succession_laws
}
}
trigger_else_if = {
limit = { realm_law_use_imperial_bureaucracy = yes }
custom_description = {
text = has_imperial_bureaucracy_law_allowing_succession_law_change
has_realm_law_flag = can_change_succession_laws
}
}
trigger_else = {
custom_description = {
text = "has_crown_law_allowing_succession_law_change"
has_realm_law_flag = can_change_succession_laws
}
}
}
can_change_succession_law_trigger = {
can_change_succession_laws_realm_flag_trigger = yes
custom_description = {
text = "no_powerful_vassal_with_negative_opinion"
NOT = {
any_vassal = {
is_powerful_vassal = yes
opposes_succession_law_change_trigger = yes
}
}
}
}
can_change_single_heir_dynasty_house_succession_law_trigger = {
trigger_if = {
limit = {
culture = {
OR = {
this = culture:czech
this = culture:slovien
any_parent_culture_or_above = {
this = culture:czech
}
any_parent_culture_or_above = {
this = culture:slovien
}
}
}
NOT = {
has_realm_law_flag = can_change_succession_laws
}
}
culture = {
has_innovation = innovation_table_of_princes
}
}
trigger_else = {
can_change_succession_laws_realm_flag_trigger = yes
}
custom_description = {
text = "no_powerful_vassal_with_negative_opinion"
NOT = {
any_vassal = {
is_powerful_vassal = yes
opposes_succession_law_change_trigger = yes
}
}
}
}
can_change_to_equal_succession_law_trigger = {
trigger_if = {
limit = {
NOT = { has_realm_law_flag = can_change_succession_laws }
}
OR = {
culture = { has_cultural_parameter = gender_equal_inheritance }
faith = { has_doctrine = doctrine_gender_equal }
}
}
trigger_else = {
can_change_succession_laws_realm_flag_trigger = yes
}
custom_description = {
text = "no_powerful_vassal_with_negative_opinion"
NOT = {
any_vassal = {
is_powerful_vassal = yes
opposes_succession_law_change_trigger = yes
}
}
}
}
can_change_partition_succession_law_trigger = {
custom_description = {
text = "has_law_allowing_partition_succession_law_change"
OR = {
has_realm_law_flag = can_change_partition_succession_laws
has_realm_law_flag = can_change_succession_laws
}
}
custom_description = {
text = "no_powerful_vassal_with_negative_opinion"
NOT = {
any_vassal = {
is_powerful_vassal = yes
opposes_succession_law_change_trigger = yes
}
}
}
}
## Can this character assign a dedicated heir?
#
# Check if a character can assign some designated heir,
# but not if the heir is a valid candidate.
#
# root: Character that will assign an heir
#
can_designate_heir_trigger = {
trigger_if = {
# Admin always has access to this
limit = { government_allows = administrative }
custom_description = {
text = "has_admin_allowing_designate_heir"
any_held_title = {
is_noble_family_title = yes
}
}
}
trigger_else_if = {
# Feudal and clan can get this by increasing crown authority
limit = { has_realm_law_in_group = crown_authority }
custom_description = {
text = "has_crown_authority_designate_heir"
has_realm_law_flag = can_designate_heirs
}
}
trigger_else = {
# Everyone else also needs a law to gain access to this interaction
custom_description = {
text = "has_law_allowing_designate_heir"
has_realm_law_flag = can_designate_heirs
}
}
}
can_change_title_law_trigger = {
is_at_war = no
}

Binary file not shown.

BIN
gfx/interface/icons/flat_icons/minority.dds (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

BIN
gfx/interface/icons/map_icons/map_icon_minority.dds (Stored with Git LFS) Normal file

Binary file not shown.

8575
gui/hud.gui Normal file

File diff suppressed because it is too large Load diff

View file

@ -4624,6 +4624,16 @@ texticon = {
}
}
texticon = {
icon = government_type_landless_minority
iconsize = {
texture = "gfx/interface/icons/government_types/landless_minority_government.dds"
size = { 28 28 }
offset = { 0 6 }
fontsize = 16
}
}
texticon = {
icon = government_type_celestial
iconsize = {

View file

@ -1192,6 +1192,19 @@ britannia_tabb_ian = {
}
}
brit_test_jewish = {
name = "Aaron"
dynasty = kohn_dynasty
religion = "congregationist"
culture = ashkenazi
trait = education_diplomacy_4
2514.8.11 = {
birth = yes
}
2600.1.1 = {
death = yes
}
}
britannia_aurelian_ambrose = {
name = "Ambrose"
dynasty = dynn_britannia_aurelian

View file

@ -12,6 +12,19 @@
# }
#}
d_laamp_test_jewish = { # Saltpites
2555.1.1 = {
liege = 0
holder = brit_test_jewish
government = landless_minority_government
succession_laws = { confederate_partition_succession_law }
effect = {
create_landless_minority_title_history_effect = yes
set_variable = { name = adventurer_creation_reason value = flag:historical }
destroy_landless_title_no_dlc_effect = { DATE = 2555.1.1 }
}
}
}
d_laamp_zolt = { # Saltpites
2555.1.1 = {
liege = 0

View file

@ -2746,4 +2746,47 @@
building_mount_baekdu_01: "$building_type_mount_baekdu_01$"
building_mount_baekdu_01_desc: "$building_type_mount_baekdu_01_desc$"
landless_minority_government: "Minority Community Leader"
landless_minority_government_with_icon: "@government_type_landless_minority! $landless_minority_government$"
landless_minority_government_adjective: "Minority Community"
landless_minority_government_realm: "Minority Community"
landless_minority_government_desc: "\n$game_concept_minority_government_desc$"
conditional_maa_refill_rule: "only [reinforce_soldiers|E] troops"
mercenary_rule: "be hired to serve as [mercenaries|E] by [landed|E] [rulers|E]"
adult_rulers_only: "#N May only be ruled by [adults|E]#!"
game_concept_minority_government: "Minority Community Leader"
game_concept_minority_government_desc: "A $Minority Community Leader$ is an [unlanded|E] [character|E] who leads a [minority_community_i|E]$Minority Community$."
game_concept_minority_community: "Minority Community"
game_concept_minority_community_desc: "A Minority Community is a small culturally distinct portion of the population typically with a local community leader"
minority_community_main_01_domicile_building: "Minority Community"
minority_community_main_01_domicile_building_desc: "A Minority Community is a small culturally distinct portion of the population typically with a local community leader"
minority_community_main_02_domicile_building: "Minority Community"
minority_community_main_02_domicile_building_desc: "A Minority Community is a small culturally distinct portion of the population typically with a local community leader"
minority_community_main_03_domicile_building: "Minority Community"
minority_community_main_03_domicile_building_desc: "A Minority Community is a small culturally distinct portion of the population typically with a local community leader"
minority_community_main_04_domicile_building: "Minority Community"
minority_community_main_04_domicile_building_desc: "A Minority Community is a small culturally distinct portion of the population typically with a local community leader"
minority_community_main_05_domicile_building: "Minority Community"
minority_community_main_05_domicile_building_desc: "A Minority Community is a small culturally distinct portion of the population typically with a local community leader"
government_is_landless_minority: "Has access to a [minority_community_i|E]$Minority Community$"
minority_community_icon_concept: "[minority_community_i|E]"
game_concept_minority_community_i: "@government_type_landless_minority!"
duchy_landless_minority_community: "Community"
duke_landless_minority_community_male_minority_community: "Master"
duke_landless_minority_community_female_minority_community: "Mistress"
spouse_landless_minority_community_male: "Master"
spouse_landless_minority_community_holder_female: "Mistress"
d_laamp_test_jewish:0 "$congregationist$ Community"
d_laamp_test_jewish_adj:0 "Jewish"
d_laamp_test_jewish_article:0 "The "
minority_community_domicile_title: "[CHARACTER.GetFirstNamePossessiveNoTooltip] $game_concept_minority_community$"
minority_community_type: "$game_concept_minority_community$"
minority_community_type_tooltip: "$MINORITY_COMMUNITY$"
minority_community_domicile_type: "$game_concept_minority_community$"
minority_community_domicile_type_possessive: "Community's"
minority_community_domicile_type_tooltip: "$MINORITY_COMMUNITY$"
MINORITY_COMMUNITY: "[game_concept_minority_community|E]"
MINORITY_COMMUNITY_BUILDINGS: "[manor_buildings|E]"
minority_community_move_desc: "#T Move $minority_community_type$#!\nMove your [game_concept_minority_community|E] to another [barony|E] within the [realm|E].\n@alert_icon! #alert_trial You will be unable to move it again for [EmptyScope.ScriptValue('estate_move_cooldown_value')|V0] days#!\n\n#S Cost:\n#![GetCostString( DOMICILE_TYPE.GetMoveCost( Character.Self ) )]\n\n#P Click to move your $minority_community_type$#!"
MINORITY_COMMUNITY_CONCEPT: "[game_concept_minority_community|E]"
domicile_minority_community: "the [CHARACTER.GetFaith.GetNameNoTooltip] $minority_community_type$"

View file

@ -25,6 +25,7 @@
dynn_leroux:0 "Leroux"
dynn_belpois:0 "Belpois"
dynn_giry:0 "Giry"
dynn_britannia_kohn:0 "Kohn"
dynn_eiffel:0 "Eiffel"
dynn_spatstony:0 "Spatstony"
dynn_millardet:0 "Millardet"