namespace = sl_auto character_event = { #train (semi-auto) id = sl_auto.00 hide_window = yes trigger = { always = no trait = sl_sub OR = { AND = { #any_spouse = { character = persistent_event_target:sl_master } is_married = persistent_event_target:sl_master check_variable = { which = sl_quality value <= 50 } } AND = { #NOT = { any_spouse = { character = persistent_event_target:sl_master } } NOT = { is_married = persistent_event_target:sl_master } check_variable = { which = sl_quality value <= 30 } } } NOT = { has_character_modifier = sl_training_cooldown } NOT = { has_character_flag = sl_full_auto } sl_check_iii = yes persistent_event_target:sl_master = { sl_check_iii = yes has_character_flag = sl_auto_flag } } mean_time_to_happen = { days = 15 } immediate = { save_event_target_as = sl_sub persistent_event_target:sl_master = { save_event_target_as = sl_dom } event_target:sl_sub = { ROOT = { character_event = { id = sl_training.000 } } add_character_modifier = { name = sl_training_cooldown days = 15 } } } option = { name = "debug" } } character_event = { #break (full auto) id = sl_auto.01 hide_window = yes trigger = { trait = sl_dom has_flag = sl_auto_break any_courtier = { NOT = { persistent_event_target:sl_master = { character = ROOT } } prisoner = yes host = { character = ROOT } is_female = yes practical_age >= 14 practical_age <= 45 } } mean_time_to_happen = { months = 1 } immediate = { ROOT = { save_event_target_as = sl_dom } if = { limit = { has_character_flag = sl_torturing } random_courtier = { limit = { NOT = { persistent_event_target:sl_master = { character = ROOT } } prisoner = yes host = { character = ROOT } is_female = yes practical_age >= 14 practical_age <= 45 has_character_flag = sl_being_broken } save_event_target_as = sl_sub } } else = { random_courtier = { limit = { NOT = { persistent_event_target:sl_master = { character = ROOT } } prisoner = yes host = { character = ROOT } is_female = yes practical_age >= 14 practical_age <= 45 } preferred_limit = { OR = { trait = fair2 trait = enchanting } } preferred_limit = { trait = fair } preferred_limit = { OR = { dynastic_prestige >= 800 any_close_relative = { prestige > 3000 } } } preferred_limit = { trait = genius } preferred_limit = { trait = quick } if = { limit = { NOT = {has_character_flag = sl_init} } hidden_tooltip = { set_variable = { which = sl_resistance value = 10 } } sl_resistance_score_init = yes set_character_flag = sl_init } save_event_target_as = sl_sub } } ROOT = { #effect of torturer's traits if = { limit = { trait = impaler } random_list = { 70 = { event_target:sl_sub = { subtract_variable = { which = sl_resistance value = 2 } } } 30 = { event_target:sl_sub = { subtract_variable = { which = sl_resistance value = 1 } } } } } if = { limit = { trait = sl_expert_trainer } event_target:sl_sub = { subtract_variable = { which = sl_resistance value = 2 } } } random_list = { #random 50 = { event_target:sl_sub = { subtract_variable = { which = sl_resistance value = 1 } } } 40 = { event_target:sl_sub = { subtract_variable = { which = sl_resistance value = 2 } } } 10 = { event_target:sl_sub = { subtract_variable = { which = sl_resistance value = 3 } } } } } event_target:sl_sub = { #effect of target's traits if = { #brave people are more resistant to torture limit = { trait = brave } change_variable = { which = sl_resistance value = 1 } } if = { #stubborn people are more resistant limit = { trait = stubborn } change_variable = { which = sl_resistance value = 3 } } if = { #folks with combat experience are generally tougher limit = { # OR = { trait = tough_soldier trait = skilled_tactician trait = brilliant_strategist has_character_modifier = battlefield_experience } } change_variable = { which = sl_resistance value = 1 } } if = { #cowards quickly fold to physical torture limit = { trait = craven } subtract_variable = { which = sl_resistance value = 1 } } if = { #literally their kink limit = { trait = lf_submissive trait = lustful } subtract_variable = { which = sl_resistance value = 2 } } #selecting method - mostly flavour random_list = { 10 = { set_character_flag = sl_break.30a } 10 = { set_character_flag = sl_break.30b } 10 = { set_character_flag = sl_break.30c } 10 = { set_character_flag = sl_break.30d } } } ROOT = { event_target:sl_sub = { sl_resistance = yes } } event_target:sl_sub = { if = { #broken~ limit = { has_character_flag = sl_res4 } narrative_event = { id = sl_break.34 } move_character = ROOT } clr_character_flag = sl_break.30a clr_character_flag = sl_break.30b clr_character_flag = sl_break.30c clr_character_flag = sl_break.30d } } } character_event = { #train (full auto) id = sl_auto.03 hide_window = yes mean_time_to_happen = { days = 20 } trigger = { trait = sl_dom has_character_flag = sl_auto_flag sl_check_iii = yes any_character = { trait = sl_sub persistent_event_target:sl_master = { character = ROOT } sl_check_iii = yes NOT = { has_character_modifier = sl_training_cooldown } has_character_flag = sl_full_auto OR = { check_variable = { which = sl_devotion value < 5 } AND = { is_married = ROOT check_variable = { which = sl_quality value <= 50 } } AND = { NOT = { is_married = ROOT } check_variable = { which = sl_quality value <= 30 } } } } } immediate = { any_character = { limit = { trait = sl_sub persistent_event_target:sl_master = { character = ROOT } sl_check_iii = yes NOT = { has_character_modifier = sl_training_cooldown } has_character_flag = sl_full_auto OR = { check_variable = { which = sl_devotion value < 5 } AND = { is_married = ROOT check_variable = { which = sl_quality value <= 50 } } AND = { NOT = { is_married = ROOT } check_variable = { which = sl_quality value <= 30 } } } } if = { limit = { check_variable = { which = physique_variable value >= 2 } } subtract_variable = { which = physique_variable value = 2 } } if = { #woo-ing limit = { opinion = { who = ROOT value < 80 } NOT = { is_lover = ROOT } } character_event = { id = sl_training.040 } } else_if = { #devotion (up to 3) limit = { check_variable = { which = sl_devotion value <= 3 } } set_character_flag = sl_training.002b sl_devotion_roll = yes narrative_event = { id = sl_training.020 } } else_if = { #personality limit = { NAND = { #personality training trait = content trait = patient trait = diligent NOT = { trait = stubborn } } } random_list = { 10 = { trigger = { NAND = { NOR = { trait = stubborn trait = envious } trait = humble trait = content } } set_character_flag = sl_training.005a } 10 = { trigger = { event_target:sl_sub = { NAND = { trait = humble trait = diligent trait = patient } } } set_character_flag = sl_training.005b } } sl_training_roll = yes narrative_event = { id = sl_training.006 } } else_if = { #isolation limit = { any_friend = { NOR = { is_close_relative = PREV persistent_event_target:sl_master = { character = ROOT } } PREV = { persistent_event_target:sl_master = { sl_allows_poly = no NOT = { character = PREVPREV } } } } any_lover = { NOT = { persistent_event_target:sl_master = { character = ROOT } } PREV = { persistent_event_target:sl_master = { sl_allows_poly = no NOT = { character = PREVPREV } } } } } random_list = { 50 = { trigger = { any_friend = { NOR = { is_close_relative = PREV persistent_event_target:sl_master = { character = ROOT } } PREV = { persistent_event_target:sl_master = { sl_allows_poly = no NOT = { character = PREVPREV } } } } } set_character_flag = sl_training_030a } 50 = { trigger = { any_lover = { NOT = { persistent_event_target:sl_master = { character = ROOT } } PREV = { persistent_event_target:sl_master = { sl_allows_poly = no NOT = { character = PREVPREV } } } } } set_character_flag = sl_training_030b } } character_event = { id = sl_training.031 } } else_if = { #devotion (remaining) limit = { check_variable = { which = sl_devotion value < 5 } } set_character_flag = sl_training.002b sl_devotion_roll = yes narrative_event = { id = sl_training.020 } } else = { #skills random_list = { 40 = { mult_modifier = { factor = 2 sl_diplomacy_edu = yes } mult_modifier = { factor = 10 NOT = { trait = groomed } } mult_modifier = { factor = 0.25 diplomacy >= 20 } mult_modifier = { factor = 0.5 diplomacy >= 30 } set_character_flag = sl_training_dip } 40 = { mult_modifier = { factor = 2 sl_intrigue_edu = yes } mult_modifier = { factor = 10 NOT = { trait = shrewd } } mult_modifier = { factor = 0.25 intrigue >= 20 } mult_modifier = { factor = 0.5 intrigue >= 30 } set_character_flag = sl_training_int } 20 = { mult_modifier = { factor = 4 sl_martial_edu = yes } mult_modifier = { factor = 5 NOT = { trait = robust } } mult_modifier = { factor = 0.05 martial >= 20 } mult_modifier = { factor = 0.05 martial >= 30 } set_character_flag = sl_training_mar } } sl_training_roll = yes narrative_event = { id = sl_training.009 } } } } option = {} } character_event = { #train (full auto) - notifications id = sl_auto.04 #hide_window = yes is_triggered_only = yes notification = yes desc = { #wooing - success trigger = { has_character_flag = sl_training.040a NOT = { is_lover = FROM } } text = "I have made good progress -- [From.GetFirstName] is now more attracted to me" } desc = { #wooing - success trigger = { has_character_flag = sl_training.040a is_lover = FROM } text = "I have made good progress -- [From.GetFirstName] is now in love with me" } desc = { #wooing - failure trigger = { has_character_flag = sl_training.040b } text = "I have not made any visible progress in wooing [From.GetFirstName]" } desc = { #devotion - success trigger = { FROM = { has_character_flag = sl_training_success OR = { has_character_flag = sl_training.002a has_character_flag = sl_training.002b } } } text = "[From.GetFirstName] has grown more obedient! Her [Root.sl_devotion.GetName] has grown to [Root.sl_devotion.GetValue]!" } desc = { #devotion - failure trigger = { FROM = { NOT = { has_character_flag = sl_training_success } OR = { has_character_flag = sl_training.002a has_character_flag = sl_training.002b } } } text = "[From.GetFirstName] is still resistant to my will. Her [Root.sl_devotion.GetName] remains at [Root.sl_devotion.GetValue]!" } desc = { #personality - lost envious trigger = { FROM = { has_character_flag = sl_training.005a has_character_flag = sl_training_personality_gain1 } } text = "[From.GetFirstName]§Y is now less§! §Kenvious§!" } desc = { #personality - lost stubborn trigger = { FROM = { has_character_flag = sl_training.005a has_character_flag = sl_training_personality_gain2 } } text = "[From.GetFirstName]§Y is now less§! §Kstubborn§!" } desc = { #personality - lost proud trigger = { FROM = { OR = { has_character_flag = sl_training.005a has_character_flag = sl_training.005b } has_character_flag = sl_training_personality_gain3a } } text = "[From.GetFirstName]§Y is now less§! §Kproud§!" } desc = { #personality - became humble trigger = { FROM = { OR = { has_character_flag = sl_training.005a has_character_flag = sl_training.005b } has_character_flag = sl_training_personality_gain3b } } text = "[From.GetFirstName]Y§ became§!§ Ghumble§!" } desc = { #personality - lost ambitious trigger = { FROM = { has_character_flag = sl_training.005a has_character_flag = sl_training_personality_gain4a } } text = "[From.GetFirstName]§Y is now less§! §Kambitious§!" } desc = { #personality - became content trigger = { FROM = { has_character_flag = sl_training.005a has_character_flag = sl_training_personality_gain4b } } text = "[From.GetFirstName]Y§ became§!§ Gcontent§!" } desc = { #personality - lost slothful trigger = { FROM = { has_character_flag = sl_training.005b has_character_flag = sl_training_personality_gain5a } } text = "[From.GetFirstName]§Y is now less§! §Kslothful§!" } desc = { #personality - became diligent trigger = { FROM = { has_character_flag = sl_training.005b has_character_flag = sl_training_personality_gain5b } } text = "[From.GetFirstName]Y§ became§!§ Gdiligent§!" } desc = { #personality - lost wroth trigger = { FROM = { has_character_flag = sl_training.005b has_character_flag = sl_training_personality_gain6a } } text = "[From.GetFirstName]§Y is now less§! §Kwroth§!" } desc = { #personality - became patient trigger = { FROM = { has_character_flag = sl_training.005b has_character_flag = sl_training_personality_gain6b } } text = "[From.GetFirstName]Y§ became§!§ Gpatient§!" } desc = { #isolation - failure trigger = { FROM = { has_character_flag = sl_training_033a } } text = "I have failed to set [From.GetFirstName] against [FromFrom.GetTitledName]" } desc = { #isolation - moderate success trigger = { FROM = { has_character_flag = sl_training_033b } } text = "I have made decent progress - [From.GetFirstName] and [FromFrom.GetTitledName] are quarelling!" } desc = { #isolation - total success trigger = { FROM = { has_character_flag = sl_training_033c } } text = "I have suceeeded beyond my wildest dreams - [From.GetFirstName] now despises [FromFrom.GetTitledName] and refuses to see [FromFrom.GetHerHim] ever again." } desc = { #skills - became robust trigger = { FROM = { has_character_flag = sl_training_skill_outcome1 has_character_flag = sl_training_mar } } text = "[From.GetFirstName]Y§ became§!§ Grobust§!" } desc = { #skills - became shrewd trigger = { FROM = { has_character_flag = sl_training_skill_outcome1 has_character_flag = sl_training_int } } text = "[From.GetFirstName]Y§ became§!§ Gshrewd§!" } desc = { #skills - became groomed trigger = { FROM = { has_character_flag = sl_training_skill_outcome1 has_character_flag = sl_training_dip } } text = "[From.GetFirstName]Y§ became§!§ Ggroomed§!" } desc = { #skills - improve education trigger = { FROM = { has_character_flag = sl_training_skill_outcome2 } } text = "[From.GetFirstName] has improved her Y§ education§!" } desc = { #skills - sl_skill_gen & sl_skill_mar trigger = { FROM = { has_character_flag = sl_training_skill_outcome3 has_character_flag = sl_training_mar } } text = "[From.GetFirstName] has improved her §Ysexual§! and received §Gmartial§! training" } desc = { #skills - sl_skill_gen & sl_skill_int trigger = { FROM = { has_character_flag = sl_training_skill_outcome3 has_character_flag = sl_training_int } } text = "[From.GetFirstName] has improved her §Ysexual§! and received §Gintrigue§! training" } desc = { #skills - sl_skill_gen & sl_skill_dip trigger = { FROM = { has_character_flag = sl_training_skill_outcome3 has_character_flag = sl_training_dip } } text = "[From.GetFirstName] has improved her §Ysexual§! and received §Gcourtly§! training" } desc = { #skills - sl_skill_mar trigger = { FROM = { has_character_flag = sl_training_skill_outcome4 has_character_flag = sl_training_mar } } text = "[From.GetFirstName] has received §Gmartial§! training" } desc = { #skills - sl_skill_int trigger = { FROM = { has_character_flag = sl_training_skill_outcome4 has_character_flag = sl_training_int } } text = "[From.GetFirstName] has received §Gintrigue§! training" } desc = { #skills - sl_skill_dip trigger = { FROM = { has_character_flag = sl_training_skill_outcome4 has_character_flag = sl_training_dip } } text = "[From.GetFirstName] has received §Gcourtly§! training" } option = {} after = { clr_character_flag = sl_training.040a clr_character_flag = sl_training.040b FROM = { clr_character_flag = sl_training_success #-------------------------------------------------------- clr_character_flag = sl_training.002a clr_character_flag = sl_training.002b #-------------------------------------------------------- clr_character_flag = sl_training.005a clr_character_flag = sl_training.005b clr_character_flag = sl_training_personality_gain1 clr_character_flag = sl_training_personality_gain2 clr_character_flag = sl_training_personality_gain3a clr_character_flag = sl_training_personality_gain3b clr_character_flag = sl_training_personality_gain4a clr_character_flag = sl_training_personality_gain4b clr_character_flag = sl_training_personality_gain5a clr_character_flag = sl_training_personality_gain5b clr_character_flag = sl_training_personality_gain6a clr_character_flag = sl_training_personality_gain6b #-------------------------------------------------------- clr_character_flag = sl_training_030a clr_character_flag = sl_training_030b clr_character_flag = sl_training_033a clr_character_flag = sl_training_033b clr_character_flag = sl_training_033c #-------------------------------------------------------- clr_character_flag = sl_training_success clr_character_flag = sl_training_mar clr_character_flag = sl_training_int clr_character_flag = sl_training_dip clr_character_flag = sl_training_skill_outcome1 clr_character_flag = sl_training_skill_outcome2 clr_character_flag = sl_training_skill_outcome3 clr_character_flag = sl_training_skill_outcome4 clr_character_flag = sl_training_skill_outcome5 #-------------------------------------------------------- } } }