H

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 31

# Success Chance from Hunter

hunt_tracks_character = {
icon = public

is_valid = {
is_current_phase_active = yes
# A hunter is present
any_attending_character = {
has_trait = lifestyle_hunter
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER =
this.involved_activity.activity_host }
}
NOR = {
has_activity_option = { category = special_type option =
hunt_type_falconry }
exists = var:hunt_success
}
}

weight = {
value = 1
# More sets of eyes
every_attending_character = {
limit = {
has_trait = lifestyle_hunter
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER =
this.involved_activity.activity_host }
}
add = 0.5
}
}

effect = {
# Better hunters find more
random_attending_character = {
limit = {
has_trait = lifestyle_hunter
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER =
this.involved_activity.activity_host }
}
weight = {
base = 1
modifier = {
add = {
value = learning
divide = 15
max = 1
}
}
modifier = {
add = {
value = martial
divide = 20
}
}
modifier = {
add = {
value = prowess
divide = 20
max = 1
}
}
modifier = {
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 10 }
add = 1
}
modifier = {
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 20 }
add = 1
}
modifier = {
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 30 }
add = 1
}
modifier = {
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 40 }
add = 1
}
modifier = {
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 50 }
add = 1
}
modifier = {
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 60 }
add = 1
}
modifier = {
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 70 }
add = 1
}
modifier = {
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 80 }
add = 1
}
modifier = {
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 90 }
add = 1
}
}
save_scope_as = hunter
}
add_activity_log_entry = {
key = hunt_tracks_character
tags = { pulse_action }
character = scope:hunter
# Effect
scope:hunter = {
add_prestige = miniscule_prestige_gain
hunter_progress_point_gain_effect = { CHANGE = 1
RANDOM_CHANGE = 0 }
}
hunt_activity_success_change_effect = { CHANGE = increase_minor }
}
}
}

# Success Chance from Activity Option


hunt_tracks_option = {
icon = public

is_valid = {
is_current_phase_active = yes
OR = {
has_activity_option = { category = hunt_option_attendants option
= hunt_attendants_normal }
has_activity_option = { category = hunt_option_attendants option
= hunt_attendants_many }
}
NOR = {
has_activity_option = { category = special_type option =
hunt_type_falconry }
exists = var:hunt_success
}
}

weight = {
value = 1
# Even more servants
if = {
limit = { has_activity_option = { category =
hunt_option_attendants option = hunt_attendants_normal } }
add = {
value = 0.25
multiply = hunt_success_chance_roco_amenity_level_value
}
}
else = {
add = {
value = 0.5
multiply = hunt_success_chance_roco_amenity_level_value
}
}
}

effect = {
activity_host = { save_scope_as = root_scope }
add_activity_log_entry = {
key = hunt_tracks_option
tags = { pulse_action }
character = scope:root_scope
# Effect
hunt_activity_success_change_effect = { CHANGE = increase_minor }
}
}
}

# Success Chance from Pet Dog


hunt_tracks_dog = {
icon = public

is_valid = {
is_current_phase_active = yes
any_attending_character = { has_character_modifier = dog_story_modifier
}
NOR = {
has_activity_option = { category = special_type option =
hunt_type_falconry }
exists = var:hunt_success
}
}

weight = {
value = 1
# More sets of minds
every_attending_character = {
limit = { has_character_modifier = dog_story_modifier }
add = 0.5
}
}

effect = {
random_attending_character = {
limit = { has_character_modifier = dog_story_modifier }
weight = {
base = 1
modifier = {
has_character_modifier = dog_story_walking_modifier
add = 0.5
}
modifier = {
has_character_modifier =
dog_story_scenthound_modifier
add = 1
}
modifier = {
has_character_modifier =
dog_story_beasthound_modifier
add = 0.5
}
}
save_scope_as = hunter
}
add_activity_log_entry = {
key = hunt_tracks_dog
tags = { pulse_action }
character = scope:hunter
# Effect
scope:hunter = { add_stress = miniscule_prestige_gain }
hunt_activity_success_change_effect = { CHANGE = increase_minor }
}
}
}

# Success Chance from Hunting Grounds


hunt_tracks_building = {
icon = public
is_valid = {
is_current_phase_active = yes
activity_location = {
province_owner = root.activity_host
OR = {
has_building_or_higher = hunting_grounds_01
has_building_or_higher = royal_forest_01
}
}
NOR = {
has_activity_option = { category = special_type option =
hunt_type_falconry }
exists = var:hunt_success
}
}

weight = {
value = 1
# Additive presence of buildings
activity_location = {
if = {
limit = { has_building_or_higher = hunting_grounds_01 }
add = 0.1
}
if = {
limit = { has_building_or_higher = hunting_grounds_02 }
add = 0.1
}
if = {
limit = { has_building_or_higher = hunting_grounds_03 }
add = 0.1
}
if = {
limit = { has_building_or_higher = hunting_grounds_04 }
add = 0.1
}
if = {
limit = { has_building_or_higher = hunting_grounds_05 }
add = 0.1
}
if = {
limit = { has_building_or_higher = hunting_grounds_06 }
add = 0.1
}
if = {
limit = { has_building_or_higher = hunting_grounds_07 }
add = 0.1
}
if = {
limit = { has_building_or_higher = hunting_grounds_08 }
add = 0.1
}
if = {
limit = { has_building_or_higher = royal_forest_01 }
add = 0.25
}
if = {
limit = { has_building_or_higher = royal_forest_02 }
add = 0.25
}
if = {
limit = { has_building_or_higher = royal_forest_03 }
add = 0.25
}
}
}

effect = {
activity_location.province_owner = { save_scope_as = root_scope }
add_activity_log_entry = {
key = hunt_tracks_building
tags = { pulse_action }
character = scope:root_scope
# Effect
hunt_activity_success_change_effect = { CHANGE = increase_minor }
}
}
}

# Two Hunters gain Opinion


hunt_hunters_bond = {
icon = friend

is_valid = {
is_current_phase_active = yes
any_attending_character = {
has_trait = lifestyle_hunter
save_temporary_scope_as = hunter_1
involved_activity = {
any_attending_character = {
has_trait = lifestyle_hunter
NOR = {
this = scope:hunter_1
has_any_bad_relationship_with_character_trigger
= { CHARACTER = scope:hunter_1 }
has_opinion_modifier = { modifier =
friendliness_opinion target = scope:hunter_1 }
any_relation = { this = scope:hunter_1 }
AND = {
scope:hunter_1 = { has_activity_intent =
murder_attendee_intent }
scope:hunter_1.intent_target ?= this
}
AND = {
has_activity_intent =
murder_attendee_intent
intent_target ?= scope:hunter_1
}
}
}
}
}
}

weight = {
value = 1
# More sets of minds
every_attending_character = {
limit = { has_trait = lifestyle_hunter }
add = 0.5
}
if = {
limit = {
activity_host.culture = { has_cultural_parameter =
hunting_traits_more_common }
}
add = 1
}
if = {
limit = {
activity_host.culture = { has_cultural_parameter =
hunting_traits_more_valued }
}
add = 1
}
}

effect = {
random_attending_character = {
limit = {
has_trait = lifestyle_hunter
save_temporary_scope_as = hunter_1
involved_activity = {
any_attending_character = {
has_trait = lifestyle_hunter
NOR = {
this = scope:hunter_1

has_any_bad_relationship_with_character_trigger = { CHARACTER =
scope:hunter_1 }
has_opinion_modifier = { modifier =
friendliness_opinion target = scope:hunter_1 }
any_relation = { this = scope:hunter_1 }
AND = {
scope:hunter_1 =
{ has_activity_intent = murder_attendee_intent }
scope:hunter_1.intent_target ?=
this
}
AND = {
has_activity_intent =
murder_attendee_intent
intent_target ?= scope:hunter_1
}
}
}
}
}
save_scope_as = first
}
random_attending_character = {
limit = {
has_trait = lifestyle_hunter
NOR = {
this = scope:first
has_any_bad_relationship_with_character_trigger =
{ CHARACTER = scope:first }
has_opinion_modifier = { modifier =
friendliness_opinion target = scope:first }
any_relation = { this = scope:first }
AND = {
scope:first = { has_activity_intent =
murder_attendee_intent }
scope:first.intent_target ?= this
}
AND = {
has_activity_intent = murder_attendee_intent
intent_target ?= scope:first
}
}
}
weight = {
base = 1
# Hunter Compatibility
modifier = {
add = 0.5
scope:first = { has_trait_xp = { trait =
lifestyle_hunter track = hunter value >= 25 } }
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 25 }
}
modifier = {
add = 0.5
scope:first = { has_trait_xp = { trait =
lifestyle_hunter track = hunter value >= 50 } }
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 50 }
}
modifier = {
add = 0.5
scope:first = { has_trait_xp = { trait =
lifestyle_hunter track = hunter value >= 75 } }
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 75 }
}
modifier = {
add = 0.5
scope:first = { has_trait_xp = { trait =
lifestyle_hunter track = falconer value >= 25 } }
has_trait_xp = { trait = lifestyle_hunter track =
falconer value >= 25 }
}
modifier = {
add = 0.5
scope:first = { has_trait_xp = { trait =
lifestyle_hunter track = falconer value >= 50 } }
has_trait_xp = { trait = lifestyle_hunter track =
falconer value >= 50 }
}
modifier = {
add = 0.5
scope:first = { has_trait_xp = { trait =
lifestyle_hunter track = falconer value >= 75 } }
has_trait_xp = { trait = lifestyle_hunter track =
falconer value >= 75 }
}
# Trait Compatibility
modifier = {
add = 1
trait_compatibility = { target = scope:first value >=
low_positive_trait_compatibility }
}
modifier = {
add = 1
trait_compatibility = { target = scope:first value >=
medium_positive_trait_compatibility }
}
modifier = {
add = 1
trait_compatibility = { target = scope:first value >=
high_positive_trait_compatibility }
}
# Age Compatibility
modifier = {
add = 1
age <= scope:first.age_plus_25
age >= scope:first.age_minus_25
}
modifier = {
add = 1
age <= scope:first.age_plus_10
age >= scope:first.age_minus_10
}
modifier = {
add = 1
age <= scope:first.age_plus_5
age >= scope:first.age_minus_5
}
# Interest
is_of_minor_interest_to_weight_up_modifier = { CHARACTER =
involved_activity.activity_host }
is_of_major_interest_to_weight_up_modifier = { CHARACTER =
involved_activity.activity_host }
modifier = {
is_ai = no
add = 2
}
}
save_scope_as = second
}
add_activity_log_entry = {
key = hunt_hunters_bond
tags = { pulse_action }
character = scope:first
target = scope:second
# Effect
scope:first = {
add_opinion = { modifier = friendliness_opinion target =
scope:second opinion = 15 }
reverse_add_opinion = { modifier = friendliness_opinion
target = scope:second opinion = 15 }
}
}
}
}
# Two Dog owners gain Opinion
hunt_dog_bond = {
icon = friend

is_valid = {
is_current_phase_active = yes
any_attending_character = {
has_character_modifier = dog_story_modifier
save_temporary_scope_as = hunter_1
involved_activity = {
any_attending_character = {
has_character_modifier = dog_story_modifier
NOR = {
this = scope:hunter_1
has_any_bad_relationship_with_character_trigger
= { CHARACTER = scope:hunter_1 }
has_opinion_modifier = { modifier =
friendliness_opinion target = scope:hunter_1 }
any_relation = { this = scope:hunter_1 }
AND = {
scope:hunter_1 = { has_activity_intent =
murder_attendee_intent }
scope:hunter_1.intent_target ?= this
}
AND = {
has_activity_intent =
murder_attendee_intent
intent_target ?= scope:hunter_1
}
}
}
}
}
}

weight = {
value = 1
# More sets of minds
every_attending_character = {
limit = { has_character_modifier = dog_story_modifier }
add = 0.5
}
}

effect = {
random_attending_character = {
limit = {
has_character_modifier = dog_story_modifier
save_temporary_scope_as = hunter_1
involved_activity = {
any_attending_character = {
has_character_modifier = dog_story_modifier
NOR = {
this = scope:hunter_1

has_any_bad_relationship_with_character_trigger = { CHARACTER =
scope:hunter_1 }
has_opinion_modifier = { modifier =
friendliness_opinion target = scope:hunter_1 }
any_relation = { this = scope:hunter_1 }
AND = {
scope:hunter_1 =
{ has_activity_intent = murder_attendee_intent }
scope:hunter_1.intent_target ?=
this
}
AND = {
has_activity_intent =
murder_attendee_intent
intent_target ?= scope:hunter_1
}
}
}
}
}
save_scope_as = first
}
random_attending_character = {
limit = {
has_character_modifier = dog_story_modifier
NOR = {
this = scope:first
has_any_bad_relationship_with_character_trigger =
{ CHARACTER = scope:first }
has_opinion_modifier = { modifier =
friendliness_opinion target = scope:first }
any_relation = { this = scope:first }
AND = {
scope:first = { has_activity_intent =
murder_attendee_intent }
scope:first.intent_target ?= this
}
AND = {
has_activity_intent = murder_attendee_intent
intent_target ?= scope:first
}
}
}
weight = {
base = 1
# Dog Compatibility
modifier = {
add = 0.5
scope:first = { has_character_modifier =
dog_story_walking_modifier }
has_character_modifier = dog_story_walking_modifier
}
modifier = {
add = 0.5
scope:first = { has_character_modifier =
dog_story_scenthound_modifier }
has_character_modifier =
dog_story_scenthound_modifier
}
modifier = {
add = 0.5
scope:first = { has_character_modifier =
dog_story_beasthound_modifier }
has_character_modifier =
dog_story_beasthound_modifier
}
# Trait Compatibility
modifier = {
add = 1
trait_compatibility = { target = scope:first value >=
low_positive_trait_compatibility }
}
modifier = {
add = 1
trait_compatibility = { target = scope:first value >=
medium_positive_trait_compatibility }
}
modifier = {
add = 1
trait_compatibility = { target = scope:first value >=
high_positive_trait_compatibility }
}
# Age Compatibility
modifier = {
add = 1
age <= scope:first.age_plus_25
age >= scope:first.age_minus_25
}
modifier = {
add = 1
age <= scope:first.age_plus_10
age >= scope:first.age_minus_10
}
modifier = {
add = 1
age <= scope:first.age_plus_5
age >= scope:first.age_minus_5
}
# Interest
is_of_minor_interest_to_weight_up_modifier = { CHARACTER =
involved_activity.activity_host }
is_of_major_interest_to_weight_up_modifier = { CHARACTER =
involved_activity.activity_host }
modifier = {
is_ai = no
add = 2
}
}
save_scope_as = second
}
add_activity_log_entry = {
key = hunt_dog_bond
tags = { pulse_action }
character = scope:first
target = scope:second
# Effect
scope:first = {
add_opinion = { modifier = friendliness_opinion target =
scope:second opinion = 15 }
reverse_add_opinion = { modifier = friendliness_opinion
target = scope:second opinion = 15 }
}
}
}
}

# Experience Hunter Shares Knowledge with Noob


hunt_knowledge_sharing = {
icon = friend

is_valid = {
is_current_phase_active = yes
any_attending_character = {
# Has things to teach
has_trait = lifestyle_hunter
OR = {
# Hunty things
AND = {
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 25 }
NOT = {
involved_activity = { has_activity_option =
{ category = special_type option = hunt_type_falconry } }
}
}
# Hawky things
AND = {
has_trait_xp = { trait = lifestyle_hunter track =
falconer value >= 25 }
involved_activity = { has_activity_option =
{ category = special_type option = hunt_type_falconry } }
}
}
save_temporary_scope_as = hunter_1
involved_activity = {
any_attending_character = {
NOR = {
this = scope:hunter_1
has_any_bad_relationship_with_character_trigger
= { CHARACTER = scope:hunter_1 }
AND = {
scope:hunter_1 = { has_activity_intent =
murder_attendee_intent }
scope:hunter.intent_target ?= this
}
AND = {
has_activity_intent =
murder_attendee_intent
intent_target ?= scope:hunter_1
}
}
# Has things to learn
has_trait = lifestyle_hunter
OR = {
# Hunty things
AND = {
scope:hunter_1 = { has_trait_xp = { trait
= lifestyle_hunter track = hunter value >= 25 } }
has_trait_xp = { trait = lifestyle_hunter
track = hunter value < 95 }
NOT = {
involved_activity =
{ has_activity_option = { category = special_type option = hunt_type_falconry } }
}
}
# Hawky things
AND = {
scope:hunter_1 = { has_trait_xp = { trait
= lifestyle_hunter track = falconer value >= 25 } }
has_trait_xp = { trait = lifestyle_hunter
track = falconer value < 95 }
involved_activity = { has_activity_option
= { category = special_type option = hunt_type_falconry } }
}
}
}
}
}
}

weight = {
value = 1
# More sets of minds
every_attending_character = {
limit = { has_trait = lifestyle_hunter }
add = 1
}
if = {
limit = {
activity_host.culture = { has_cultural_parameter =
hunting_traits_more_common }
}
add = 1
}
if = {
limit = {
activity_host.culture = { has_cultural_parameter =
hunting_traits_more_valued }
}
add = 1
}
}

effect = {
random_attending_character = {
limit = {
# Has things to teach
has_trait = lifestyle_hunter
trigger_if = { # Hunty things
limit = {
involved_activity = {
has_activity_option = { category =
special_type option = hunt_type_falconry }
}
}
has_trait_xp = { trait = lifestyle_hunter track =
falconer value >= 25 }
}
trigger_else = { # Hawky things
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 25 }
}
save_temporary_scope_as = hunter_1
involved_activity = {
any_attending_character = {
NOR = {
this = scope:hunter_1

has_any_bad_relationship_with_character_trigger = { CHARACTER =
scope:hunter_1 }
AND = {
scope:hunter_1 =
{ has_activity_intent = murder_attendee_intent }
scope:hunter.intent_target ?= this
}
AND = {
has_activity_intent =
murder_attendee_intent
intent_target ?= scope:hunter_1
}
}
# Has things to learn
has_trait = lifestyle_hunter
trigger_if = { # Hunty things
limit = {
involved_activity = {
has_activity_option =
{ category = special_type option = hunt_type_falconry }
}
}
scope:hunter_1 = { has_trait_xp = { trait
= lifestyle_hunter track = falconer value >= 25 } }
has_trait_xp = { trait = lifestyle_hunter
track = falconer value < 95 }
}
trigger_else = { # Hawky things
scope:hunter_1 = { has_trait_xp = { trait
= lifestyle_hunter track = hunter value >= 25 } }
has_trait_xp = { trait = lifestyle_hunter
track = hunter value < 95 }
}
}
}
}
save_scope_as = first
}
random_attending_character = {
limit = {
NOR = {
this = scope:first
has_any_bad_relationship_with_character_trigger =
{ CHARACTER = scope:first }
AND = {
scope:first = { has_activity_intent =
murder_attendee_intent }
scope:first.intent_target ?= this
}
AND = {
has_activity_intent = murder_attendee_intent
intent_target ?= scope:first
}
}
has_trait = lifestyle_hunter
# Has things to learn
trigger_if = { # Hunty things
limit = {
involved_activity = {
has_activity_option = { category =
special_type option = hunt_type_falconry }
}
}
scope:first = { has_trait_xp = { trait =
lifestyle_hunter track = falconer value >= 25 } }
has_trait_xp = { trait = lifestyle_hunter track =
falconer value < 95 }
}
trigger_else = { # Hawky things
scope:first = { has_trait_xp = { trait =
lifestyle_hunter track = hunter value >= 25 } }
has_trait_xp = { trait = lifestyle_hunter track =
hunter value < 95 }
}
}
weight = {
base = 1
# Friendliness
opinion_modifier = {
who = scope:first
opinion_target = this
multiplier = 0.05
}
# Hunter Compatibility
modifier = {
add = 0.5
scope:first = { has_trait_xp = { trait =
lifestyle_hunter track = hunter value >= 25 } }
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 25 }
}
modifier = {
add = 0.5
scope:first = { has_trait_xp = { trait =
lifestyle_hunter track = hunter value >= 50 } }
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 50 }
}
modifier = {
add = 0.5
scope:first = { has_trait_xp = { trait =
lifestyle_hunter track = hunter value >= 75 } }
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 75 }
}
modifier = {
add = 0.5
scope:first = { has_trait_xp = { trait =
lifestyle_hunter track = falconer value >= 25 } }
has_trait_xp = { trait = lifestyle_hunter track =
falconer value >= 25 }
}
modifier = {
add = 0.5
scope:first = { has_trait_xp = { trait =
lifestyle_hunter track = falconer value >= 50 } }
has_trait_xp = { trait = lifestyle_hunter track =
falconer value >= 50 }
}
modifier = {
add = 0.5
scope:first = { has_trait_xp = { trait =
lifestyle_hunter track = falconer value >= 75 } }
has_trait_xp = { trait = lifestyle_hunter track =
falconer value >= 75 }
}
# Trait Compatibility
modifier = {
add = 1
trait_compatibility = { target = scope:first value >=
low_positive_trait_compatibility }
}
modifier = {
add = 1
trait_compatibility = { target = scope:first value >=
medium_positive_trait_compatibility }
}
modifier = {
add = 1
trait_compatibility = { target = scope:first value >=
high_positive_trait_compatibility }
}
# Senior Teacher
modifier = {
add = 1
age < scope:first.age_minus_25
}
modifier = {
add = 1
age < scope:first.age_minus_10
}
modifier = {
add = 1
age < scope:first.age_minus_10
}
# Interest
is_of_minor_interest_to_weight_up_modifier = { CHARACTER =
involved_activity.activity_host }
is_of_major_interest_to_weight_up_modifier = { CHARACTER =
involved_activity.activity_host }
modifier = {
is_ai = no
add = 2
}
}
save_scope_as = second
}
add_activity_log_entry = {
key = hunt_knowledge_sharing
tags = { pulse_action }
character = scope:first
target = scope:second
# Effect
scope:first = {
reverse_add_opinion = { modifier = friendliness_opinion
target = scope:second opinion = 10 }
}
scope:second = {
hunter_progress_point_gain_effect = { CHANGE = 1
RANDOM_CHANGE = 1 }
}
}
}
}

# Hunter Kills Small Game


hunt_small_game = {
icon = public

is_valid = {
is_current_phase_active = yes
NOT = { exists = var:hunt_success }
}

weight = { value = 1 }

effect = {
activity_host = { save_scope_as = root_scope }
random_attending_character = {
weight = {
base = 1
modifier = {
add = {
value = learning
divide = 15
max = 1
}
}
modifier = {
add = {
value = martial
divide = 20
}
}
modifier = {
add = {
value = prowess
divide = 20
max = 1
}
}
modifier = {
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 10 }
add = 1
}
modifier = {
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 20 }
add = 1
}
modifier = {
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 30 }
add = 1
}
modifier = {
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 40 }
add = 1
}
modifier = {
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 50 }
add = 1
}
modifier = {
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 60 }
add = 1
}
modifier = {
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 70 }
add = 1
}
modifier = {
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 80 }
add = 1
}
modifier = {
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 90 }
add = 1
}
}
save_scope_as = hunter
}
add_activity_log_entry = {
key = hunt_small_game
tags = { pulse_action }
character = scope:hunter
# Effect
scope:hunter = {
add_prestige = miniscule_prestige_gain
hunter_progress_point_gain_effect = { CHANGE = 1
RANDOM_CHANGE = 0 }
if = {
limit = { has_trait = lifestyle_hunter }
add_trait_xp = {
trait = lifestyle_hunter
track = hunter
value = 1
}
}
}
}
}
}

# Success Chance from MoH


hunt_moh_positive = {
icon = public

is_valid = {
is_current_phase_active = yes
any_attending_character =
{ involved_activity.activity_host.court_position:master_of_hunt_court_position ?=
this }
NOT = { exists = var:hunt_success }
}

weight = {
value = 1
if = {
limit = {
activity_host.court_position:master_of_hunt_court_position
= {
aptitude = { court_position =
master_of_hunt_court_position value <= 3 }
}
}
add = -0.33
}
if = {
limit = {
activity_host.court_position:master_of_hunt_court_position
= {
aptitude = { court_position =
master_of_hunt_court_position value <= 2 }
}
}
add = -0.33
}
if = {
limit = {
activity_host.court_position:master_of_hunt_court_position
= {
aptitude = { court_position =
master_of_hunt_court_position value <= 1 }
}
}
add = -0.33
}
}

effect = {
activity_host.court_position:master_of_hunt_court_position =
{ save_scope_as = moh }
add_activity_log_entry = {
key = hunt_moh_positive
tags = { pulse_action }
character = scope:moh
# Effect
scope:moh = {
add_prestige = miniscule_prestige_gain
hunter_progress_point_gain_effect = { CHANGE = 1
RANDOM_CHANGE = 1 }
}
hunt_activity_success_change_effect = { CHANGE =
increase_medium }
}
}
}

# Success Chance Loss from MoH


hunt_moh_negative = {
icon = public

is_valid = {
is_current_phase_active = yes
any_attending_character =
{ involved_activity.activity_host.court_position:master_of_hunt_court_position ?=
this }
NOT = { exists = var:hunt_success }
}

weight = {
value = 1
if = {
limit = {
activity_host.court_position:master_of_hunt_court_position
= {
aptitude = { court_position =
master_of_hunt_court_position value >= 2 }
}
}
add = -0.33
}
if = {
limit = {
activity_host.court_position:master_of_hunt_court_position
= {
aptitude = { court_position =
master_of_hunt_court_position value >= 3 }
}
}
add = -0.33
}
if = {
limit = {
activity_host.court_position:master_of_hunt_court_position
= {
aptitude = { court_position =
master_of_hunt_court_position value >= 4 }
}
}
add = -0.33
}
}

effect = {
activity_host.court_position:master_of_hunt_court_position =
{ save_scope_as = moh }
add_activity_log_entry = {
key = hunt_moh_negative
tags = { pulse_action }
character = scope:moh
# Effect
scope:moh = { add_prestige = miniscule_prestige_loss }
hunt_activity_success_change_effect = { CHANGE =
decrease_medium }
}
}
}

# Poet Inspired
hunt_poetic_inspiration = {
icon = public

is_valid = {
is_current_phase_active = yes
any_attending_character = { has_trait = poet }
}

weight = {
value = 1
every_attending_character = {
limit = { has_trait = poet }
add = 0.5
}
}

effect = {
random_attending_character = {
limit = { has_trait = poet }
weight = {
base = 1
modifier = {
aptitude = { court_position =
court_poet_court_position value >= 4 }
add = 0.33
}
modifier = {
aptitude = { court_position =
court_poet_court_position value >= 3 }
add = 0.33
}
modifier = {
aptitude = { court_position =
master_of_hunt_court_position value <= 2 }
add = -0.33
}
modifier = {
aptitude = { court_position =
master_of_hunt_court_position value <= 1 }
add = -0.33
}
}
save_scope_as = poet
}
add_activity_log_entry = {
key = hunt_poetic_inspiration
tags = { pulse_action }
character = scope:poet
# Effect
scope:poet = { add_prestige = miniscule_prestige_gain }
}
}
}

# Sanctity of Nature Fervor


hunt_fervor_gain = {
icon = learning

is_valid = {
is_current_phase_active = yes
activity_host.faith = {
has_doctrine_parameter =
believes_in_harmony_with_nature_invisible
fervor < 90
}
}

weight = {
value = 1
if = {
limit = { activity_host.faith.fervor >= 75 }
add = -0.25
}
if = {
limit = { activity_host.faith.fervor >= 50 }
add = -0.25
}
if = {
limit = { activity_host.faith.fervor >= 25 }
add = -0.25
}
}

effect = {
activity_host = { save_scope_as = root_scope }
add_activity_log_entry = {
key = hunt_fervor_gain
tags = { pulse_action }
character = scope:root_scope
# Effect
scope:root_scope = {
if = {
limit = {
has_trait = lifestyle_mystic
}
add_trait_xp = {
trait = lifestyle_mystic
value = lifestyle_mystic_xp_gain_minor_value
}
}
}
activity_host.faith = {
change_fervor = {
value = miniscule_fervor_value
desc = hunt_fervor_gain
}
}
}
}
}

# Character Impresses Other Guests


hunt_distinguished_ability = {
icon = public

is_valid = {
is_current_phase_active = yes
any_attending_character = {
has_trait = lifestyle_hunter
trigger_if = {
limit = {
involved_activity = {
has_activity_option = { category = special_type
option = hunt_type_falconry }
}
}
has_trait_xp = { trait = lifestyle_hunter track = falconer
value >= 25 }
}
trigger_else = {
has_trait_xp = { trait = lifestyle_hunter track = hunter
value >= 25 }
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER =
this.involved_activity.activity_host }
}
}
NOT = { exists = var:hunt_success }
}

weight = {
value = 1
every_attending_character = {
limit = {
has_trait = lifestyle_hunter
trigger_if = {
limit = {
involved_activity = { has_activity_option =
{ category = special_type option = hunt_type_falconry } }
}
has_trait_xp = { trait = lifestyle_hunter track =
falconer value >= 25 }
}
trigger_else = {
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 25 }
can_be_combatant_based_on_gender_trigger =
{ ARMY_OWNER = this.involved_activity.activity_host }
}
}
add = 0.5
}
}
effect = {
random_attending_character = {
limit = {
has_trait = lifestyle_hunter
trigger_if = {
limit = {
involved_activity = { has_activity_option =
{ category = special_type option = hunt_type_falconry } }
}
has_trait_xp = { trait = lifestyle_hunter track =
falconer value >= 25 }
}
trigger_else = {
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 25 }
can_be_combatant_based_on_gender_trigger =
{ ARMY_OWNER = this.involved_activity.activity_host }
}
}
weight = {
base = 1
modifier = {
add = 0.5
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 50 }
}
modifier = {
add = 0.5
has_trait_xp = { trait = lifestyle_hunter track =
hunter value >= 75 }
}
modifier = {
add = 0.5
has_trait_xp = { trait = lifestyle_hunter track =
falconer value >= 50 }
}
modifier = {
add = 0.5
has_trait_xp = { trait = lifestyle_hunter track =
falconer value >= 75 }
}
modifier = {
add = 1
exists = accolade
}
# Interest
is_of_minor_interest_to_weight_up_modifier = { CHARACTER =
involved_activity.activity_host }
is_of_major_interest_to_weight_up_modifier = { CHARACTER =
involved_activity.activity_host }
modifier = {
is_ai = no
add = 1
}
}
save_scope_as = hunter
}
add_activity_log_entry = {
key = hunt_distinguished_ability
tags = { pulse_action }
character = scope:hunter
# Effect
scope:hunter = {
add_prestige = miniscule_prestige_gain
hunter_progress_point_gain_effect = { CHANGE = 1
RANDOM_CHANGE = 1 }
if = {
limit = { exists = accolade }
accolade = { add_glory = minimal_glory_gain }
}
}
every_attending_character = {
limit = {
NOT = { this = scope:hunter }
has_trait = lifestyle_hunter
}
custom = hunt_every_hunter_attendee_tt
add_opinion = {
target = scope:hunter
modifier = impressed_opinion
opinion = 10
}
}
every_attending_character = {
limit = {
NOT = { this = scope:hunter }
NOT = { has_trait = lifestyle_hunter }
}
custom = every_other_attendee_tt
add_opinion = {
target = scope:hunter
modifier = impressed_opinion
opinion = 5
}
}
}
}
}

# Uninvited Province Owner Annoyed


hunt_annoyed_owner = {
icon = public

is_valid = {
is_current_phase_active = yes
activity_location.province_owner ?= {
is_ai = yes
NOR = {
# Not invited
is_participant_in_activity = root
# Not friendly
has_any_good_relationship_with_character_trigger =
{ CHARACTER = root.activity_host }
opinion ={
target = root.activity_host
value >= 50
}
has_opinion_modifier = { modifier = annoyed_opinion target
= root.activity_host }
}
}
}

weight = {
value = 1
if = {
limit = {
activity_location.province_owner ?= {
has_any_bad_relationship_with_character_trigger =
{ CHARACTER = root.activity_host }
}
}
add = 1
}
if = {
limit = {
activity_location.province_owner ?= {
opinion = { target = root.activity_host value <= 25 }
}
}
add = 0.5
}
if = {
limit = {
activity_location.province_owner ?= { has_trait =
lifestyle_hunter }
}
add = 1
}
}

effect = {
activity_location.province_owner = { save_scope_as = first }
activity_host = { save_scope_as = second }
add_activity_log_entry = {
key = hunt_annoyed_owner
tags = { pulse_action }
character = scope:first
target = scope:second
# Effect
scope:first = {
add_opinion = {
target = scope:second
modifier = annoyed_opinion
opinion = -15
}
}
}
}
}

# Hunting Buildings Impress Guest


hunt_impressive_grounds = {
icon = public

is_valid = {
is_current_phase_active = yes
activity_location = {
OR = {
has_building_or_higher = hunting_grounds_01
has_building_or_higher = royal_forest_01
}
}
NOT = {
has_activity_option = { category = special_type option =
hunt_type_falconry }
}
exists = activity_location.province_owner
save_temporary_scope_as = hunt_temp
any_attending_character = {
NOT = { this = scope:hunt_temp.activity_location.province_owner }
}
}

weight = {
value = 1
# Additive presence of buildings
activity_location = {
if = {
limit = { has_building_or_higher = hunting_grounds_01 }
add = 0.1
}
if = {
limit = { has_building_or_higher = hunting_grounds_02 }
add = 0.1
}
if = {
limit = { has_building_or_higher = hunting_grounds_03 }
add = 0.1
}
if = {
limit = { has_building_or_higher = hunting_grounds_04 }
add = 0.1
}
if = {
limit = { has_building_or_higher = hunting_grounds_05 }
add = 0.1
}
if = {
limit = { has_building_or_higher = hunting_grounds_06 }
add = 0.1
}
if = {
limit = { has_building_or_higher = hunting_grounds_07 }
add = 0.1
}
if = {
limit = { has_building_or_higher = hunting_grounds_08 }
add = 0.1
}
if = {
limit = { has_building_or_higher = royal_forest_01 }
add = 0.25
}
if = {
limit = { has_building_or_higher = royal_forest_02 }
add = 0.25
}
if = {
limit = { has_building_or_higher = royal_forest_03 }
add = 0.25
}
}
}

effect = {
activity_location.province_owner = { save_scope_as = first }
random_attending_character = {
limit = {
NOT = { this = scope:first }
}
weight = {
base = 1
modifier = { add = stewardship }
modifier = {
has_trait = architect
add = 5
}
modifier = {
has_trait = overseer
add = 5
}
modifier = {
has_trait = lifestyle_hunter
add = 5
}
modifier = {
exists = liege
is_landed = yes
is_vassal_of = liege
has_vassal_stance = parochial
add = 5
}
}
save_scope_as = second
}
add_activity_log_entry = {
key = hunt_impressive_grounds
tags = { pulse_action }
character = scope:first
target = scope:second
# Effect
scope:first = {
add_prestige = minor_prestige_gain
reverse_add_opinion = {
target = scope:second
modifier = impressed_opinion
opinion = 10
}
}
}
}
}

# Character Finds Eggs (gold)


hunt_eggs_found = {
icon = public

is_valid = {
is_current_phase_active = yes
}

weight = {
value = 1
# Additive presence of buildings
activity_location = {
if = {
limit = { has_building_or_higher = hunting_grounds_01 }
add = 0.1
}
if = {
limit = { has_building_or_higher = hunting_grounds_02 }
add = 0.1
}
if = {
limit = { has_building_or_higher = hunting_grounds_03 }
add = 0.1
}
if = {
limit = { has_building_or_higher = hunting_grounds_04 }
add = 0.1
}
if = {
limit = { has_building_or_higher = hunting_grounds_05 }
add = 0.1
}
if = {
limit = { has_building_or_higher = hunting_grounds_06 }
add = 0.1
}
if = {
limit = { has_building_or_higher = hunting_grounds_07 }
add = 0.1
}
if = {
limit = { has_building_or_higher = hunting_grounds_08 }
add = 0.1
}
if = {
limit = { has_building_or_higher = royal_forest_01 }
add = 0.25
}
if = {
limit = { has_building_or_higher = royal_forest_02 }
add = 0.25
}
if = {
limit = { has_building_or_higher = royal_forest_03 }
add = 0.25
}
}
# More sets of eyes
every_attending_character = {
limit = {
has_trait_xp = { trait = lifestyle_hunter track = falconer
value >= 25 }
}
add = 0.5
}
}

effect = {
random_attending_character = {
weight = {
base = 1
modifier = { add = learning }
modifier = { add = stewardship }
modifier = { add = ai_energy }
modifier = { add = ai_greed }
modifier = {
has_trait_xp = { trait = lifestyle_hunter track =
falconer value >= 25 }
factor = 2
}
modifier = {
has_trait_xp = { trait = lifestyle_hunter track =
falconer value >= 50 }
factor = 2
}
modifier = {
has_trait_xp = { trait = lifestyle_hunter track =
falconer value >= 75 }
factor = 2
}
}
save_scope_as = eggman
}
add_activity_log_entry = {
key = hunt_eggs_found
tags = { pulse_action }
character = scope:eggman
# Effect
scope:eggman = {
add_gold = {
value = {
add = tiny_gold_value
max = 10
}
}
}
}
}
}

You might also like