namespace = raiding ################################################## #Raiding CB events #0001-0002 - You have the chance to sack a holding. #0003 - Your holding may have been sacked (liege or vassal). #0004 - Your vassal's holding may have been sacked. #0011 - Raiding notification event, received upon delivering army loot. #0012 - Raiding notification event, telling involved parties how much loot a defending army stole. #0021 - Increase raid tally. #0022 - Chance to fire viking/raider trait acquisition event. #0023 - Acquire viking/raider trait. ################################################## ################################################## # Fire and Blood # by Ewan Cowhig Croft # #0001-0004 ################################################## # You have the chance to sack a holding. raiding.0001 = { #Hidden event: do I get a sacking? hidden = yes scope = army trigger = { #You must be leading your own forces. scope:raider = { is_at_location = scope:barony.title_province } scope:barony.title_province = { fort_level > 0 } #The county must not have recently been sacked. NOR = { scope:county = { has_county_modifier = recently_sacked_modifier } scope:county.title_province = { has_holding_type = herder_holding } } } immediate = { save_scope_as = raid_army random = { chance = 20 modifier = { add = 20 scope:raider = { has_trait = viking } } modifier = { add = 30 scope:raid_army = { raid_intent = raze_intent } } scope:raider = { # Grab some loc things. scope:county = { save_scope_as = sacked_county } scope:barony = { save_scope_as = sacked_barony } scope:raider.capital_province = { save_scope_as = raider_capital } trigger_event = raiding.0002 } } } } raiding.0002 = { #Less hidden event: I do get a sacking! type = character_event title = raiding.0002.t desc = raiding.0002.desc theme = raid override_background = { reference = burning_building } left_portrait = { character = root animation = menacing } right_portrait = { character = scope:sacked_county_owner animation = fear triggered_animation = { trigger = { ai_vengefulness >= medium_positive_ai_value ai_boldness > high_negative_ai_value } animation = rage } } trigger = { NOT = { has_character_flag = had_event_raiding_0002 } } immediate = { add_character_flag = { flag = had_event_raiding_0002 days = 365 } #For loc. scope:sacked_county.holder = { save_scope_as = sacked_county_owner } } #Bring me slaves and scrolls! option = { name = raiding.0002.a trigger = { NOT = { government_has_flag = government_is_nomadic } root.capital_county = { development_level < 15 } #If you have a certain amount of development, you can't gain anything from this. OR = { scope:county = { development_level > 15 } #The county must actually have enough development to be worth sacking. scope:county.holder = { #Or at least be a non-tribal place. NOR = { government_has_flag = government_is_tribal government_has_flag = government_is_nomadic government_has_flag = government_is_herder } } } } scope:sacked_county = { add_county_modifier = { #Prevent the county from being sacked again, by anyone, for quite a while. modifier = recently_sacked_modifier years = 20 } change_county_control = -10 change_development_progress = major_development_progress_loss #Always deduct progress. if = { #If they don't have enough progress made, burn a level of development. limit = { development_towards_level_increase < major_development_progress_gain } change_development_level = -1 } save_scope_value_as = { name = sack_status value = flag:admin_plundered } holder = { trigger_event = raiding.0003 if = { limit = { top_liege != this } liege = { trigger_event = raiding.0004 } } } } root.capital_county = { change_development_progress = medium_development_progress_gain } stress_impact = { compassionate = minor_stress_impact_gain forgiving = minor_stress_impact_gain } ai_chance = { base = 50 ai_value_modifier = { ai_greed = 0.5 ai_compassion = -0.5 } modifier = { #Weight down for stress. add = -20 has_trait = compassionate } modifier = { #Weight down for stress. add = -20 has_trait = forgiving } } } option = { name = raiding.0002.a_nomad trigger = { government_has_flag = government_is_nomadic } scope:sacked_county = { add_county_modifier = { #Prevent the county from being sacked again, by anyone, for quite a while. modifier = recently_sacked_modifier years = 20 } change_county_control = -10 change_development_progress = major_development_progress_loss #Always deduct progress. if = { #If they don't have enough progress made, burn a level of development. limit = { development_towards_level_increase < major_development_progress_gain } change_development_level = -1 } save_scope_value_as = { name = sack_status value = flag:admin_plundered } holder = { trigger_event = raiding.0003 if = { limit = { is_independent_ruler = no } liege = { trigger_event = raiding.0004 } } } } root.capital_county = { add_county_modifier = { modifier = stolen_ewes_and_mares_modifier years = 10 } } stress_impact = { compassionate = minor_stress_impact_gain forgiving = minor_stress_impact_gain } ai_chance = { base = 50 ai_value_modifier = { ai_greed = 0.5 ai_compassion = -0.5 } modifier = { #Weight down for stress. add = -20 has_trait = compassionate } modifier = { #Weight down for stress. add = -20 has_trait = forgiving } } } #Bring me bounteous plunder! option = { name = raiding.0002.b scope:sacked_county = { add_county_modifier = { #Prevent the county from being sacked again for quite a while. modifier = recently_sacked_modifier years = 20 } if = { #If they have enough progress gain to take the hit, then they just lose some progress. limit = { development_towards_level_increase > medium_development_progress_loss } change_development_progress = medium_development_progress_loss } else = { #If they don't, then they lose the progress, and a level of development is burned away. change_development_progress = medium_development_progress_loss change_development_level = -1 } save_scope_value_as = { name = sack_status value = flag:gold_plundered } holder = { if = { limit = { top_liege = this } trigger_event = raiding.0003 } else = { trigger_event = raiding.0003 liege = { trigger_event = raiding.0004 } } } } scope:raid_army = { add_loot = scope:sacked_barony.county.title_province.raid_gold_value } add_prestige = minor_prestige_value stress_impact = { compassionate = minor_stress_impact_gain forgiving = minor_stress_impact_gain } ai_chance = { base = 50 ai_value_modifier = { ai_greed = 0.75 ai_compassion = -0.25 #It's more ethical to steal stuff than people, right? } modifier = { #Weight down for stress. add = -20 has_trait = compassionate } modifier = { #Weight down for stress. add = -20 has_trait = forgiving } } } #I want no part of these shenanigans. option = { name = raiding.0002.c scope:sacked_county = { #Opinion gain if not primary defender. save_scope_value_as = { name = sack_status value = flag:spared_plundered } holder = { if = { limit = { top_liege = this } trigger_event = raiding.0003 } else = { trigger_event = raiding.0003 liege = { trigger_event = raiding.0004 } } } } if = { limit = { faith = { OR = { trait_is_sin = compassionate trait_is_sin = forgiving trait_is_sin = calm } } } add_piety = minor_piety_loss } else = { add_piety = medium_piety_gain } stress_impact = { sadistic = minor_stress_impact_gain vengeful = minor_stress_impact_gain wrathful = minor_stress_impact_gain greedy = minor_stress_impact_gain } ai_chance = { base = 50 ai_value_modifier = { ai_compassion = 0.5 ai_honor = 0.25 ai_greed = -0.25 } modifier = { #Weight down for stress. add = -20 has_trait = sadistic } modifier = { #Weight down for stress. add = -20 has_trait = vengeful } modifier = { #Weight down for stress. add = -20 has_trait = wrathful } } } } # Your holding may have been sacked (liege or vassal). raiding.0003 = { type = character_event title = { first_valid = { triggered_desc = { trigger = { scope:sack_status = flag:spared_plundered } desc = raiding.0003.t_spared } desc = raiding.0003.t_attacked } } desc = { first_valid = { triggered_desc = { #If the holding was raided for skilled slaves, let us know of such. trigger = { scope:sack_status = flag:admin_plundered top_liege = this } desc = raiding.0003.desc.admin_plundered_independent } triggered_desc = { #If the holding was raided for gold, then tell us our shinies are gone. trigger = { scope:sack_status = flag:gold_plundered top_liege = this } desc = raiding.0003.desc.gold_plundered_independent } triggered_desc = { #If the holding was spared, we have a lukewarm one response. trigger = { scope:sack_status = flag:spared_plundered top_liege = this } desc = raiding.0003.desc.spared_plundered_independent } triggered_desc = { trigger = { scope:sack_status = flag:admin_plundered } desc = raiding.0003.desc.admin_plundered_vassal } triggered_desc = { trigger = { scope:sack_status = flag:gold_plundered } desc = raiding.0003.desc.gold_plundered_vassal } desc = raiding.0003.desc.spared_plundered_vassal } } theme = raid override_background = { reference = burning_building } left_portrait = { character = scope:raider animation = war_over_win } #Oh no! option = { name = raiding.0003.a add_prestige = minor_prestige_loss ai_chance = { base = 50 ai_value_modifier = { ai_energy = -0.25 #I am too lazy to do much more than lament. ai_vengefulness = -0.25 #I will not stand for this. } } } #I will avenge this slight! option = { name = raiding.0003.b trigger = { NOT = { scope:sack_status = flag:spared_plundered } } if = { limit = { has_relation_rival = scope:raider } add_prestige = miniscule_prestige_gain } else = { progress_towards_rival_effect = { REASON = rival_raided_me CHARACTER = scope:raider OPINION = 0 } } stress_impact = { forgiving = minor_stress_impact_gain } ai_chance = { base = 0 #Otherwise every raiding culture will have a million rivals. ai_value_modifier = { #Vengeful characters may do this, though. ai_vengefulness = 0.2 } modifier = { #Angry characters can also struggle to get over these things. add = 10 has_trait = wrathful } modifier = { #Vengeful characters are, by definition, not going to let things go. add = 10 has_trait = vengeful } modifier = { #Dead peasants happen, y'know? add = -20 has_trait = forgiving } } } #I will pay for the reconstruction. option = { name = raiding.0003.c trigger = { top_liege = this NOT = { scope:sack_status = flag:spared_plundered } NOT = { government_has_flag = government_is_tribal } #Tribes don't care about development. NOT = { government_has_flag = government_is_nomadic } OR = { is_ai = no short_term_gold >= scope:sacked_barony.county.title_province.raid_gold_value } } remove_treasury_or_gold = scope:sacked_barony.county.title_province.raid_gold_value scope:sacked_county = { add_county_modifier = { modifier = rebuilding_after_sacking_modifier years = 10 } } stress_impact = { lazy = minor_stress_impact_gain } ai_chance = { base = 50 ai_value_modifier = { ai_compassion = 0.5 ai_greed = -0.5 } modifier = { #Weight down for stress. add = -20 has_trait = lazy } } } } # Your vassal's holding may have been sacked. raiding.0004 = { type = character_event title = { first_valid = { triggered_desc = { trigger = { scope:sack_status = flag:spared_plundered } desc = raiding.0003.t_spared } desc = raiding.0003.t_attacked } } desc = { first_valid = { triggered_desc = { #If the holding was raided for skilled slaves, let us know of such. trigger = { scope:sack_status = flag:admin_plundered } desc = raiding.0004.desc.admin_plundered } triggered_desc = { #If the holding was raided for gold, then tell us our vassal's shinies are gone. trigger = { scope:sack_status = flag:gold_plundered } desc = raiding.0004.desc.gold_plundered } desc = raiding.0004.desc.spared_plundered #If the holding was spared, we have a lukewarm one response. } } theme = raid override_background = { reference = burning_building } left_portrait = { character = scope:raider animation = anger } right_portrait = { character = scope:sacked_county_owner animation = fear triggered_animation = { trigger = { ai_vengefulness >= medium_positive_ai_value ai_boldness > high_negative_ai_value } animation = rage } } #Oh no! option = { name = { text = raiding.0004.a trigger = { NOT = { government_has_flag = government_is_tribal } } } name = { text = raiding.0004.a.tribal trigger = { government_has_flag = government_is_tribal } } add_prestige = miniscule_prestige_loss ai_chance = { base = 50 ai_value_modifier = { ai_energy = -0.25 #Too lazy to care. ai_compassion = -0.25 #But wouldn't care anyway. } } } #Send some cash-monies. option = { name = raiding.0004.b trigger = { NOT = { scope:sack_status = flag:spared_plundered } OR = { is_ai = no short_term_gold >= medium_gold_value } } pay_treasury_or_gold = { target = scope:sacked_county.holder value = scope:sacked_barony.county.title_province.raid_gold_value } scope:sacked_county.holder = { add_opinion = { target = liege modifier = grateful_opinion opinion = 20 } } stress_impact = { greedy = medium_stress_impact_gain } ai_chance = { base = 20 #Reduced base chance: the AI shouldn't bankrupt itself helping vassals. ai_value_modifier = { ai_compassion = 0.25 ai_greed = -0.25 } modifier = { #Weight down for stress. add = -20 has_trait = greedy } } } #I will pay for the reconstruction. option = { name = raiding.0004.c trigger = { NOR = { scope:sack_status = flag:spared_plundered government_has_flag = government_is_tribal #Tribes don't care about development. government_has_flag = government_is_nomadic } OR = { is_ai = no short_term_gold >= scope:sacked_barony.county.title_province.raid_gold_value } } remove_treasury_or_gold = scope:sacked_barony.county.title_province.raid_gold_value scope:sacked_county.holder = { add_opinion = { target = liege modifier = grateful_opinion opinion = 30 } } scope:sacked_county = { add_county_modifier = { modifier = rebuilding_after_sacking_modifier years = 10 } } if = { limit = { employs_court_position = royal_architect_court_position any_court_position_holder = { type = royal_architect_court_position } } random_court_position_holder = { type = royal_architect_court_position save_scope_as = architect } custom_tooltip = raiding.0004.c.architect scope:sacked_county.holder = { send_interface_message = { type = event_raid_good title = raiding.0004.c.feed.t desc = raiding.0004.c.feed.desc2 right_icon = liege } } } else = { scope:sacked_county.holder = { send_interface_message = { type = event_raid_bad title = raiding.0004.c.feed.t desc = raiding.0004.c.feed.desc right_icon = liege } } } stress_impact = { greedy = medium_stress_impact_gain } ai_chance = { base = 10 #Reduced base chance: the AI shouldn't bankrupt itself helping vassals. ai_value_modifier = { ai_compassion = 0.5 ai_greed = -0.5 } modifier = { #Weight down for stress. add = -20 has_trait = greedy } } } } ################################################## # Raiding Notification Events # by Ewan Cowhig Croft # #0011-0012 ################################################## ### DEPRECATED ### # Now the interface message is sent out by raid intents instead raiding.0011 = { hidden = yes orphan = yes scope = army immediate = { set_variable = { name = raid_loot value = root.raid_loot } if = { limit = { scope:raider = { not_tribal_raid_trigger = yes } } scope:raider = { send_interface_message = { type = event_raid_good title = raiding.0011.t desc = raiding.0011.desc_non_tribal right_icon = root.army_commander hidden_effect = { add_prestige = { value = root.var:raid_loot multiply = not_tribal_raid_prestige_multiplier multiply = -1 } } } } } else = { scope:raider = { send_interface_message = { type = event_raid_good title = raiding.0011.t desc = raiding.0011.desc right_icon = root.army_commander hidden_effect = { add_prestige = root.var:raid_loot } } } } } } # Loot lost to defending army. raiding.0012 = { hidden = yes scope = army immediate = { set_variable = { name = raid_loot value = root.raid_loot } set_variable = { name = raid_prestige value = { value = root.raid_loot multiply = 0.5 ceiling = yes } } if = { limit = { OR = { var:raid_loot >= 1 var:raid_prestige >= 1 } } scope:raider = { send_interface_message = { type = event_raid_bad_text title = raiding.0012.a.t desc = raiding.0012.a.desc left_icon = root.army_commander right_icon = scope:recipient } } scope:recipient = { send_interface_message = { type = event_raid_good_text title = raiding.0012.b.t desc = raiding.0012.b.desc right_icon = root.army_commander hidden_effect = { add_prestige = root.var:raid_prestige } } } } } } # Prisoner-taking script beyond this point. Much of this is transcribed from work done by Sean Hughes & Mathilda Bjarnehed for siege events. scripted_trigger raiding_0012_can_be_captured = { # Captured characters must be located in the raided barony itself. location = scope:barony.title_province # Reasons to exclude characters from the capture pool: NOR = { # If the raiders have defeated the holder's army, but the army has not yet retreated to a different province, shield them from capture by the raid. exists = commanding_army exists = knight_army # Is imprisoned in the barony stay prisoners (special case, any courtiers/vassals of the raider will get released elsewhere). is_imprisoned = yes } } # Chance to kidnap prisoners from the holding holder. raiding.0013 = { hidden = yes scope = army trigger = { # Only take prisoners if this barony is the holder's capital (where their family/courtiers live), or there is an estate OR = { scope:barony.holder.capital_barony = scope:barony location = { any_province_domicile = { is_domicile_type = estate } } } } immediate = { # For localization. scope:raider = { save_scope_as = occupant } scope:barony.holder = { save_scope_as = holder } location = { random_province_domicile = { limit = { is_domicile_type = estate } owner ?= { save_scope_as = estate_holder } } } #BUILD CAPTURE ATTEMPT LIST scope:barony.holder = { if = { limit = { raiding_0012_can_be_captured = yes } add_to_list = capture_attempt_targets } every_courtier_or_guest = { limit = { raiding_0012_can_be_captured = yes } add_to_list = capture_attempt_targets } } scope:estate_holder ?= { if = { limit = { raiding_0012_can_be_captured = yes is_landed = no # they are at the estate } add_to_list = capture_attempt_targets } every_courtier_or_guest = { limit = { raiding_0012_can_be_captured = yes location = scope:barony.title_province } add_to_list = capture_attempt_targets } } #CALCULATE CAPTURE CHANCE every_in_list = { list = capture_attempt_targets random = { # Base chance handled in a modifier due to the chance parameter tending to quietly fail to parse scripted values. chance = 0 # Base chance starts at 20%, before value modifiers & target modifiers. modifier = { add = raid_base_capture_chance } # Add -0.5 chance per 1pt of Intrigue, averaging out at -5% chance for 10pts of Intrigue. modifier = { add = { value = this.intrigue multiply = -0.5 min = -10 } # Requiring a certain base level to be at all effective. intrigue > low_skill_rating } # Add -0.5 chance per 1pt of Prowess, averaging out at -5% chance for 10pts of Prowess. modifier = { add = { value = this.prowess multiply = -0.5 min = -10 } # Requiring a certain base level to be at all effective. prowess > low_skill_rating } # Less likely to capture the ruler themselves in a raid modifier = { is_landed = yes add = -10 } # Less likely to capture the estate owner themselves modifier = { scope:estate_holder ?= this add = -10 } # If there is an estate, Watchtowers and Guardhouses make captures less likely modifier = { location = { any_province_domicile = { is_domicile_type = estate has_domicile_parameter = raids_less_likely_to_make_prisoners_1 } } add = -10 } modifier = { location = { any_province_domicile = { is_domicile_type = estate has_domicile_parameter = raids_less_likely_to_make_prisoners_2 } } add = -15 } modifier = { location = { any_province_domicile = { is_domicile_type = estate has_domicile_parameter = raids_less_likely_to_make_prisoners_3 } } add = -20 } modifier = { root = { OR = { raid_intent = capture_intent_nomadic raid_intent = capture_intent_norse } } has_raid_intent_immunity = no add = { value = 15 if = { limit = { has_raid_intent_protection = yes } subtract = 10 } if = { limit = { scope:raider = { has_perk = kidnapper_perk } } add = 10 } if = { limit = { scope:raider.culture ?= { has_innovation = innovation_motte } } add = 5 } } } # Capture Effects if = { limit = { desirable_for_capture_trigger = yes } add_to_list = captured_targets_effects } else = { add_to_list = killed_targets } } } #NOTIFY CONCERNED PARTIES #Inform about captures. if = { limit = { any_in_list = { list = captured_targets_effects count >= 1 } } #Inform raider. scope:raider = { trigger_event = siege.0002 } #Inform affected holder about captures. scope:barony.holder = { if = { limit = { save_temporary_scope_as = notification_target any_in_list = { list = captured_targets_effects this != scope:notification_target } } trigger_event = siege.0003 } } #Inform concerned players about captures. every_player = { limit = { NOR = { this = scope:raider this = scope:barony.holder } save_temporary_scope_as = notification_target any_in_list = { list = captured_targets_effects has_any_relation_trigger = { CHARACTER = scope:notification_target } } } trigger_event = siege.0004 } } #Inform about kills. if = { limit = { any_in_list = { list = killed_targets count >= 1 } } # Inform affected holder about kills. scope:barony.holder = { trigger_event = siege.0013 } #Inform concerned players about kills. every_player = { limit = { NOR = { this = scope:raider this = scope:barony.holder } save_temporary_scope_as = notification_target any_in_list = { list = killed_targets has_any_relation_trigger = { CHARACTER = scope:notification_target } } } trigger_event = siege.0014 } } #IMPRISON & KILL EFFECTS every_in_list = { list = captured_targets_effects hidden_effect = { add_character_flag = { flag = block_imprisonment_event days = 1 } } prisoner_of_war_capture_effect = { TARGET = this IMPRISONER = scope:raider } } every_in_list = { list = killed_targets limit = { is_alive = yes } death = { death_reason = death_raid } } } } scripted_trigger raiding_0014_artifact_can_be_stolen = { exists = this OR = { scope:barony.holder = { # If the character is in the province and not leading an army, their stuff is probably valid to steal location = scope:barony.title_province NOR = { exists = commanding_army exists = knight_army is_imprisoned = yes } } is_equipped = no ep1_artifact_is_court_artifact_trigger = yes } } # Chance to steal an artifact from the holding holder. raiding.0014 = { hidden = yes scope = army trigger = { scope:barony.holder = { # Can only steal an artifact if this barony is the holder's capital (where they have their treasury/royal court. capital_barony = scope:barony # Holder also needs to actually possess an artifact to steal. any_character_artifact = { raiding_0014_artifact_can_be_stolen = yes } } } immediate = { scope:barony.holder = { random_character_artifact = { limit = { raiding_0014_artifact_can_be_stolen = yes } weight = { base = 1 modifier = { add = 4 is_equipped = no } modifier = { add = 4 scope:raider = { can_equip_artifact = prev } } modifier = { # Nudge towards taking non-Court artifacts if you don't have a court yourself add = 2 scope:raider = { has_royal_court = no } ep1_artifact_is_court_artifact_trigger = no } } save_scope_as = stolen_artifact } } random = { chance = { value = 5 scope:barony.holder = { every_character_artifact = { limit = { OR = { is_equipped = no ep1_artifact_is_court_artifact_trigger = yes } } add = 1 } } # Lower chances based on Antiquarian aptitude multiply = { value = 1 scope:barony.holder = { every_court_position_holder = { type = antiquarian_court_position limit = { is_available_ai_adult = yes aptitude:antiquarian_court_position > 0 } divide = aptitude:antiquarian_court_position } } } } steal_artifact_in_siege_effect = { LOCATION = root.location ATTACKER = scope:raider DEFENDER = scope:barony.holder ARTIFACT = scope:stolen_artifact IS_RAID = yes } } } } ################################################## # Becoming a Raider/Viking # by Ewan Cowhig Croft # #0021-0022 ################################################## # Increase raid tally raiding.0021 = { hidden = yes scope = army trigger = { exists = army_commander } immediate = { root.army_commander = { if = { limit = { NOT = { has_variable = raid_counter } } set_variable = { name = raid_counter value = 1 } } else = { change_variable = { name = raid_counter add = 1 } } } } } # Chance to fire viking/raider trait acquisition event raiding.0022 = { hidden = yes scope = army trigger = { army_commander ?= { has_variable = raid_counter var:raid_counter >= 20 NOT = { has_trait = viking } } } immediate = { root.army_commander = { save_scope_as = raid_leader } scope:raid_leader = { random = { chance = 20 trigger_event = { id = raiding.0023 days = { 180 545 } } modifier = { add = 10 var:raid_counter >= 30 } modifier = { add = 10 var:raid_counter >= 40 } modifier = { add = 10 var:raid_counter >= 50 } } } } } # Acquire viking/raider trait raiding.0023 = { type = character_event title = raiding.0023.t desc = raiding.0023.desc theme = raid override_background = { reference = burning_building } left_portrait = { character = root animation = war_over_win } trigger = { scope:raid_leader = { is_alive = yes NOT = { has_trait = viking } } } immediate = { if = { limit = { OR = { has_any_nickname = no has_bad_nickname = yes } } if = { limit = { culture = { has_cultural_pillar = heritage_north_germanic } } give_nickname = nick_the_viking } else_if = { limit = { is_male = yes } give_nickname = nick_the_bandit_king } else_if = { limit = { is_female = yes } give_nickname = nick_the_bandit_queen } } if = { limit = { is_landed = no } liege.capital_province = { save_scope_as = capital_province } } else = { capital_province = { save_scope_as = capital_province } } } #Accept the trait. option = { name = raiding.0023.a add_trait = viking } } ################################# # Hereward special raiding event # by Nick Meredith ################################# ## You have the chance to sack a holding. #raiding.0031 = { # hidden = yes # scope = army # # trigger = { # #You need to be Hereward, plus leading your own forces. # army_commander ?= { # has_trait = the_wake # } # # #The province must be ruled by a Norman, or Norman culture itself # OR = { # scope:barony.culture = culture:norman # scope:barony.holder.culture = culture:norman # } # } # # immediate = { # root.army_commander = { save_scope_as = raid_leader } # scope:raid_leader = { # add_trait_xp = { # trait = the_wake # value = { 1 3 } # } # } # } #} # Raid Intent Effects raiding.0040 = { hidden = yes scope = army immediate = { if = { limit = { raid_intent = raze_intent has_raid_intent_immunity = no } scope:barony.title_province ?= { random_list = { 10 = { modifier = { has_raid_intent_protection = yes add = 10 } } # Nothing happens 5 = { modifier = { scope:raider.culture ?= { has_innovation = innovation_motte } add = 2 } scope:raider = { send_interface_message = { type = event_raid_good title = raze_intent_message left_icon = scope:barony.holder right_icon = root.army_commander show_as_tooltip = { scope:barony.title_province = { add_province_modifier = { modifier = shattered_defenses_modifier years = 5 } } } } } scope:barony.holder = { send_interface_message = { type = event_raid_bad title = raze_intent_message left_icon = scope:barony.holder right_icon = root.army_commander scope:barony.title_province = { add_province_modifier = { modifier = shattered_defenses_modifier years = 5 } } } } } 5 = { trigger = { county = { development_level > 0 } } modifier = { scope:raider.culture ?= { has_innovation = innovation_motte } add = 2 } scope:raider = { send_interface_message = { type = event_raid_good title = raze_intent_message left_icon = scope:barony.holder right_icon = root.army_commander show_as_tooltip = { scope:county = { change_development_level = -1 } } } } scope:barony.holder = { send_interface_message = { type = event_raid_bad title = raze_intent_message left_icon = scope:barony.holder right_icon = root.army_commander scope:county = { change_development_level = -1 } } } } 5 = { trigger = { num_buildings > 1 } modifier = { scope:raider.culture ?= { has_innovation = innovation_motte } add = 2 } destroy_random_building_variable_effect = yes scope:raider = { send_interface_message = { type = event_raid_good title = raze_intent_message left_icon = scope:barony.holder right_icon = root.army_commander show_as_tooltip = { scope:barony.title_province = { destroy_random_building_effect = yes } } } } scope:barony.holder = { send_interface_message = { type = event_raid_bad title = raze_intent_message left_icon = scope:barony.holder right_icon = root.army_commander scope:barony.title_province = { destroy_random_building_effect = yes } } } } } } } else_if = { limit = { raid_intent = plunder_intent_nomadic scope:raider.culture = { can_get_innovation_from = scope:county.culture } has_raid_intent_immunity = no } random = { chance = { value = 2 if = { limit = { has_raid_intent_protection = yes } divide = 2 } if = { limit = { scope:raider.culture ?= { has_innovation = innovation_motte } } add = 1 } } scope:raider = { send_interface_message = { type = event_raid_good title = raze_intent_message left_icon = scope:barony.holder right_icon = root.army_commander scope:raider.culture = { get_random_innovation_from = scope:county.culture } } } } } scope:barony.holder ?= { if = { limit = { government_has_flag = government_is_nomadic } send_interface_message = { type = event_raid_bad title = raid_herd_message left_icon = scope:barony.holder right_icon = root.army_commander scope:barony.holder.domicile ?= { change_herd = -100 } } } } } }