fixed bga events

This commit is contained in:
trashmasteruni 2026-10-16 20:50:19 +02:00
parent 4ead0b92e4
commit cd26a19f4f
20 changed files with 29092 additions and 12489 deletions

View file

@ -0,0 +1 @@


View file

@ -1,726 +1 @@
#namespace = fp3_story_cycle_zanj_rebellion_events
#
#### Ali Ibn Muhammad and Zanj Rebellion Setup
#fp3_story_cycle_zanj_rebellion_events.0001 = {
# scope = none
# hidden = yes
#
# immediate = {
# spawn_zanj_leader_character_effect = yes
# scope:zanj_leader = {
# save_scope_as = story_owner
# create_story = story_zanj_rebellion
# give_nickname = nick_albaghid
# }
#
# title:c_basra.holder = {
# add_visiting_courtier = scope:zanj_leader
# }
# title:c_basra.holder.top_liege = {
# trigger_event = {
# id = fp3_story_cycle_zanj_rebellion_events.0002
# }
# trigger_event = {
# id = fp3_story_cycle_zanj_rebellion_events.0005
# days = { 60 120 }
# }
# }
# }
#}
#
#### Ali Ibn Muhammad riling up locals in Basra
#fp3_story_cycle_zanj_rebellion_events.0002 = {
# type = character_event
# theme = intrigue
# override_background = { reference = wilderness_wetlands }
# title = fp3_story_cycle_zanj_rebellion_events.0002.t
# desc = fp3_story_cycle_zanj_rebellion_events.0002.desc
#
# left_portrait = {
# character = root
# animation = marshal
# }
# right_portrait = {
# character = scope:zanj_leader
# animation = scheme
# }
#
# immediate = {
# scope:zanj_leader = {
# save_scope_as = outspoken_rebel
# }
# }
#
# #Try to arrest Ali
# option = {
# name = fp3_story_cycle_zanj_rebellion_events.0002.a
# duel = {
# skill = intrigue
# target = scope:outspoken_rebel
# 50 = {
# # You arrest Ali Ibn Muhammad
# desc = fp3_story_cycle_zanj_rebellion_events.0002.a.success
# compare_modifier = {
# value = scope:duel_value
# multiplier = 3.5
# min = -49
# }
# send_interface_toast = {
# title = fp3_story_cycle_zanj_rebellion_events.0002.a.success
# left_icon = root
# right_icon = scope:outspoken_rebel
# rightfully_imprison_character_effect = {
# TARGET = scope:outspoken_rebel
# IMPRISONER = root
# }
# }
# inherit_zanj_rebellion_effect = yes
# }
# 50 = {
# # Ali Ibn Muhammad escapes
# desc = fp3_story_cycle_zanj_rebellion_events.0002.a.failure
# compare_modifier = {
# value = scope:duel_value
# multiplier = -3.5
# min = -49
# }
# send_interface_toast = {
# title = fp3_story_cycle_zanj_rebellion_events.0002.a.failure
# custom_tooltip = fp3_story_cycle_zanj_rebellion_events_cause_greatly_strengthened_tt
# custom_tooltip = fp3_story_cycle_zanj_rebellion_leaves_for_baghdad
# left_icon = root
# right_icon = scope:outspoken_rebel
# }
# hidden_effect = {
# scope:zanj_leader = {
# change_variable = {
# name = zanj_rebellion_strength_score
# add = 4
# }
# }
# title:c_baghdad.holder = {
# hidden_effect = {
# title:c_baghdad.holder = {
# add_visiting_courtier = scope:outspoken_rebel
# }
# }
# }
# title:c_basra.holder.top_liege = {
# trigger_event = {
# id = fp3_story_cycle_zanj_rebellion_events.0003
# days = { 30 60 }
# }
# }
# }
# }
# }
# root = {
# progress_towards_rival_effect = {
# REASON = fp3_zanj_rebellion_opressed_me
# CHARACTER = scope:outspoken_rebel
# OPINION = default_rival_opinion
# }
# }
# stress_impact = {
# paranoid = medium_stress_impact_loss
# just = minor_stress_impact_loss
# callous = minor_stress_impact_loss
# sadistic = minor_stress_impact_loss
# trusting = medium_stress_impact_gain
# forgiving = medium_stress_impact_gain
# compassionate = medium_stress_impact_gain
# }
# ai_chance = {
# base = 100
# modifier = {
# factor = 0.5
# OR = {
# has_trait = trusting
# has_trait = forgiving
# has_trait = compassionate
# }
# }
# }
# }
#
# #Ignore Ali
# option = {
# name = fp3_story_cycle_zanj_rebellion_events.0002.c
# custom_tooltip = fp3_story_cycle_zanj_rebellion_events_cause_strengthened_tt
# scope:zanj_leader = {
# change_variable = {
# name = zanj_rebellion_strength_score
# add = 2
# }
# }
# custom_tooltip = fp3_story_cycle_zanj_rebellion_leaves_for_baghdad
# hidden_effect = {
# title:c_baghdad.holder = {
# add_visiting_courtier = scope:outspoken_rebel
# }
# }
# title:c_basra.holder.top_liege = {
# trigger_event = {
# id = fp3_story_cycle_zanj_rebellion_events.0003
# days = { 30 60 }
# }
# }
# stress_impact = {
# paranoid = medium_stress_impact_gain
# just = minor_stress_impact_gain
# callous = minor_stress_impact_gain
# sadistic = medium_stress_impact_gain
# trusting = medium_stress_impact_loss
# forgiving = medium_stress_impact_loss
# compassionate = medium_stress_impact_loss
# }
# ai_chance = {
# base = 100
# modifier = {
# factor = 0.5
# OR = {
# has_trait = paranoid
# has_trait = just
# has_trait = callous
# has_trait = sadistic
# }
# }
# }
# }
#}
#
#### Setup to find correct scope for event 0004 and check if Ali is dead or imprisoned
#fp3_story_cycle_zanj_rebellion_events.0003 = {
# scope = none
# hidden = yes
#
# immediate = {
# if ={
# #check if Ali is still alive and not in prison and is not an inheritor of the rebellion
# limit = {
# scope:zanj_leader = {
# AND = {
# is_alive = yes
# is_imprisoned = no
# NOT = { has_character_flag = new_zanj_leader }
# }
# }
# }
# title:c_baghdad.holder.top_liege = {
# trigger_event = {
# id = fp3_story_cycle_zanj_rebellion_events.0004
# }
# }
# }
# }
#}
#
#### Ali Ibn Muhammad claims divinity
#fp3_story_cycle_zanj_rebellion_events.0004 = {
# type = character_event
# theme = faith
# title = fp3_story_cycle_zanj_rebellion_events.0004.t
# desc = fp3_story_cycle_zanj_rebellion_events.0004.desc
#
# left_portrait = {
# character = root
# animation = dismissal
# }
# right_portrait = {
# character = scope:zanj_leader
# animation = personality_zealous
# }
#
# #Contest Ali Ibn Muhammad's claims
# option = {
# name = fp3_story_cycle_zanj_rebellion_events.0004.a
# duel = {
# skill = learning
# target = scope:zanj_leader
# 50 = {
# # You disprove Ali's claims
# desc = fp3_story_cycle_zanj_rebellion_events.0004.a.success
# compare_modifier = {
# value = scope:duel_value
# multiplier = 3.5
# min = -49
# }
# send_interface_toast = {
# title = fp3_story_cycle_zanj_rebellion_events.0004.a.success
# add_piety = medium_piety_gain
# add_prestige = minor_prestige_gain
# left_icon = root
# right_icon = scope:zanj_leader
# }
# }
# 50 = {
# # Ali Ibn Muhammad validates his claims
# desc = fp3_story_cycle_zanj_rebellion_events.0004.a.failure
# compare_modifier = {
# value = scope:duel_value
# multiplier = -3.5
# min = -49
# }
# custom_tooltip = fp3_story_cycle_zanj_rebellion_events_cause_greatly_strengthened_tt
# send_interface_toast = {
# title = fp3_story_cycle_zanj_rebellion_events.0004.a.failure
# left_icon = root
# right_icon = scope:zanj_leader
#
# scope:zanj_leader = {
# add_trait = sayyid
# add_pressed_claim = title:e_arabia
# change_variable = {
# name = zanj_rebellion_strength_score
# add = 4
# }
# }
# }
# }
# }
# root = {
# progress_towards_rival_effect = {
# REASON = fp3_zanj_rebellion_opressed_me
# CHARACTER = scope:zanj_leader
# OPINION = default_rival_opinion
# }
# }
# stress_impact = {
# paranoid = minor_stress_impact_loss
# just = minor_stress_impact_loss
# zealous = medium_stress_impact_loss
# trusting = medium_stress_impact_gain
# forgiving = medium_stress_impact_gain
# cynical = medium_stress_impact_gain
# }
# ai_chance = {
# base = 100
# modifier = {
# factor = 0.5
# OR = {
# has_trait = cynical
# has_trait = trusting
# has_trait = forgiving
# }
# }
# }
# }
#
# #Ignore Ali
# option = {
# name = fp3_story_cycle_zanj_rebellion_events.0004.b
# custom_tooltip = fp3_story_cycle_zanj_rebellion_events_cause_strengthened_tt
#
# scope:zanj_leader = {
# add_trait = sayyid
# add_pressed_claim = title:e_arabia
# change_variable = {
# name = zanj_rebellion_strength_score
# add = 2
# }
# }
# stress_impact = {
# paranoid = minor_stress_impact_gain
# just = minor_stress_impact_gain
# zealous = medium_stress_impact_gain
# trusting = minor_stress_impact_loss
# forgiving = medium_stress_impact_loss
# cynical = medium_stress_impact_loss
# }
# ai_chance = {
# base = 100
# modifier = {
# factor = 0.5
# OR = {
# has_trait = paranoid
# has_trait = just
# has_trait = zealous
# }
# }
# }
# }
#}
#
#### Setup event to find the correct scope and check if Ali or the current Zanj Leader is dead or imprisoned
#fp3_story_cycle_zanj_rebellion_events.0005 = {
# scope = none
# hidden = yes
# immediate = {
# if = {
# limit = {
# scope:zanj_leader = {
# OR = {
# is_imprisoned = yes
# is_alive = no
# is_landed = yes
# }
# }
# }
# inherit_zanj_rebellion_effect = yes
# }
# title:c_basra.holder.top_liege = {
# trigger_event = {
# id = fp3_story_cycle_zanj_rebellion_events.0006
# }
# }
# }
#}
#
#### A Zanj Steps Forth
#fp3_story_cycle_zanj_rebellion_events.0006 = {
# type = character_event
# theme = corruption
# title = fp3_story_cycle_zanj_rebellion_events.0006.t
# desc = {
# desc = fp3_story_cycle_zanj_rebellion_events.0006.desc.a
#
# triggered_desc = {
# trigger = { scope:zanj_leader = { NOT = { has_character_flag = new_zanj_leader } } }
# desc = fp3_story_cycle_zanj_rebellion_events.0006.desc.b
# }
#
# desc = fp3_story_cycle_zanj_rebellion_events.0006.desc.c
# }
#
# left_portrait = {
# character = root
# animation = eyeroll
# }
#
# right_portrait = {
# character = scope:outspoken_rebel
# animation = worry
# }
#
# lower_left_portrait = {
# trigger = { scope:zanj_leader = { NOT = { has_character_flag = new_zanj_leader } } }
# character = scope:zanj_leader
# }
#
# immediate = {
# if = {
# limit = { scope:zanj_leader = { NOT = { has_character_flag = new_zanj_leader } } }
# spawn_zanj_representative_character_effect = yes
# scope:zanj_representative = { save_scope_as = outspoken_rebel }
# }
# else = {
# scope:zanj_leader = { save_scope_as = outspoken_rebel }
# }
# }
# #Give Basra to the Zanj
# option = {
# name = fp3_story_cycle_zanj_rebellion_events.0006.a
#
# create_title_and_vassal_change = {
# type = independency
# save_scope_as = change
# add_claim_on_loss = no
# }
#
# title:c_basra = {
# set_county_culture = culture:east_bantu
# set_county_faith = faith:azariqa
# }
#
# show_as_tooltip = { # UI/UX
# title:c_basra = {
# change_title_holder = {
# holder = scope:outspoken_rebel
# change = scope:change
# }
# }
# }
#
# scope:outspoken_rebel = {
# becomes_independent = {
# change = scope:change
# }
# add_truce_both_ways = {
# character = root
# years = 10
# name = fp3_landed_zanj_reason
# }
# }
#
# if = {
# limit = {
# NOT = { title:c_basra.holder = root }
# }
# add_tyranny = 30
# set_relation_rival = {
# reason = fp3_rival_gave_title_away
# target = title:c_basra.holder
# }
# }
#
# hidden_effect = {
# title:c_basra = {
# change_title_holder = {
# holder = scope:outspoken_rebel
# change = scope:change
# }
# every_de_jure_county = {
# change_title_holder = {
# holder = scope:outspoken_rebel
# change = scope:change
# }
# }
# }
# scope:zanj_leader = {
# random_owned_story = {
# type = story_zanj_rebellion
# end_story = yes
# }
# }
# }
# resolve_title_and_vassal_change = scope:change
#
# stress_impact = {
# compassionate = medium_stress_impact_loss
# just = minor_stress_impact_loss
# forgiving = minor_stress_impact_loss
# generous = medium_stress_impact_loss
# content = medium_stress_impact_loss
# callous = medium_stress_impact_gain
# sadistic = major_stress_impact_gain
# ambitious = medium_stress_impact_gain
# greedy = medium_stress_impact_gain
# }
# ai_chance = {
# base = 100
# modifier = {
# factor = 0.5
# OR = {
# has_trait = callous
# has_trait = sadistic
# has_trait = ambitious
# has_trait = greedy
# }
# }
# }
# }
#
# #Make minor concessions to the Zanj
# option = {
# name = fp3_story_cycle_zanj_rebellion_events.0006.b
#
# scope:zanj_leader = {
# change_variable = {
# name = zanj_rebellion_strength_score
# add = 3
# }
# }
# custom_tooltip = fp3_story_cycle_zanj_rebellion_events_cause_strengthened_tt
# hidden_effect = {
# title:c_basra.holder = {
# if = {
# limit = { scope:zanj_leader != scope:outspoken_rebel}
# add_visiting_courtier = scope:zanj_leader
# }
# add_visiting_courtier = scope:outspoken_rebel
# }
# }
#
# if = {
# limit = {
# NOT = { title:c_basra.holder = root }
# }
# progress_towards_rival_effect = {
# REASON = fp3_zanj_rebellion_interfered_with_my_workers
# CHARACTER = title:c_basra.holder
# OPINION = default_rival_opinion
# }
# }
#
# title:c_basra = {
# add_county_modifier = {
# modifier = fp3_zanj_rebellion_work_concessions_modifier
# years = 5
# }
# }
#
# trigger_event = {
# id = fp3_story_cycle_zanj_rebellion_events.0007
# days = { 30 60 }
# }
# stress_impact = {
# compassionate = minor_stress_impact_loss
# just = minor_stress_impact_loss
# forgiving = minor_stress_impact_loss
# generous = minor_stress_impact_loss
# content = minor_stress_impact_loss
# callous = minor_stress_impact_gain
# sadistic = medium_stress_impact_gain
# ambitious = minor_stress_impact_gain
# greedy = minor_stress_impact_gain
# }
# ai_chance = {
# base = 100
# modifier = {
# factor = 0.5
# OR = {
# has_trait = callous
# has_trait = sadistic
# has_trait = ambitious
# has_trait = greedy
# }
# }
# }
# }
#
# #Ignore the Zanj
# option = {
# name = fp3_story_cycle_zanj_rebellion_events.0006.c
#
# scope:zanj_leader = {
# change_variable = {
# name = zanj_rebellion_strength_score
# add = 5
# }
# }
# custom_tooltip = fp3_story_cycle_zanj_rebellion_events_cause_greatly_strengthened_tt
# hidden_effect = {
# title:c_basra.holder = {
# add_visiting_courtier = scope:zanj_leader
# add_visiting_courtier = scope:zanj_representative
# }
# }
#
# if = {
# limit = {
# NOT = { title:c_basra.holder = root }
# }
#
# progress_towards_friend_effect = {
# REASON = fp3_rival_stayed_out_of_my_business
# CHARACTER = title:c_basra.holder
# OPINION = default_friend_opinion
# }
# }
#
# trigger_event = {
# id = fp3_story_cycle_zanj_rebellion_events.0007
# days = { 30 60 }
# }
#
# stress_impact = {
# compassionate = minor_stress_impact_gain
# just = minor_stress_impact_gain
# forgiving = minor_stress_impact_gain
# generous = minor_stress_impact_gain
# content = minor_stress_impact_gain
# callous = minor_stress_impact_loss
# sadistic = medium_stress_impact_loss
# ambitious = minor_stress_impact_loss
# greedy = minor_stress_impact_loss
# }
# ai_chance = {
# base = 100
# modifier = {
# factor = 0.5
# OR = {
# has_trait = compassionate
# has_trait = just
# has_trait = forgiving
# has_trait = generous
# }
# }
# }
# }
#}
#
#fp3_story_cycle_zanj_rebellion_events.0007 = {
# scope = none
# hidden = yes
# immediate = {
# if = {
# limit = {
# scope:zanj_leader = {
# OR = {
# is_imprisoned = yes
# is_alive = no
# is_landed = yes
# }
# }
# }
# inherit_zanj_rebellion_effect = yes
# }
# title:c_basra.holder.top_liege = {
# trigger_event = {
# id = fp3_story_cycle_zanj_rebellion_events.0008
#
# }
# }
# }
#}
#
#### The Zanj Rebellion
#fp3_story_cycle_zanj_rebellion_events.0008 = {
# type = character_event
# theme = battle
# override_background = { reference = wilderness_wetlands }
# title = fp3_story_cycle_zanj_rebellion_events.0008.t
# desc = {
# desc = fp3_story_cycle_zanj_rebellion_events.0008.desc.a
# triggered_desc = {
# trigger = {
# scope:zanj_leader = { NOT = { has_character_flag = new_zanj_leader}}
# }
# desc = fp3_story_cycle_zanj_rebellion_events.0008.desc.b
# }
# triggered_desc = {
# trigger = {
# scope:zanj_leader = { has_character_flag = new_zanj_leader }
# }
# desc = fp3_story_cycle_zanj_rebellion_events.0008.desc.c
# }
# desc = fp3_story_cycle_zanj_rebellion_events.0008.desc.d
# }
#
# left_portrait = {
# character = root
# animation = shock
# }
# right_portrait = {
# character = scope:zanj_leader
# animation = celebrate_sword
# }
#
# immediate = {
# scope:zanj_leader = {
# give_nickname = nick_chief_of_the_zanj
# hidden_effect = {
# random_owned_story = {
# type = story_zanj_rebellion
# end_story = yes
# }
# }
# }
# hidden_effect = {
# fp3_start_zanj_rebellion_effect = {
# TARGET_COUNTY = title:c_basra
# REBEL_LEADER = scope:zanj_leader
# }
# create_zanj_courtier_effect = {
# EMPLOYER = scope:zanj_leader
# LOCATION = scope:zanj_leader.location
# }
# create_zanj_courtier_effect = {
# EMPLOYER = scope:zanj_leader
# LOCATION = scope:zanj_leader.location
# }
# create_zanj_courtier_effect = {
# EMPLOYER = scope:zanj_leader
# LOCATION = scope:zanj_leader.location
# }
# create_zanj_courtier_effect = {
# EMPLOYER = scope:zanj_leader
# LOCATION = scope:zanj_leader.location
# }
# }
# }
#
# option = {
# name = fp3_story_cycle_zanj_rebellion_events.0008.a
# }
#}