4434 lines
103 KiB
Text
4434 lines
103 KiB
Text
|
|
#Effects used in hunt events
|
||
|
|
|
||
|
|
|
||
|
|
#####################################################################
|
||
|
|
# EFFECT LIST
|
||
|
|
#####################################################################
|
||
|
|
# !!! Remember to add all new effects with a short description here !!!
|
||
|
|
#
|
||
|
|
|
||
|
|
#hunt_end_pulse_effect
|
||
|
|
#select_local_animal_effect
|
||
|
|
|
||
|
|
######################################################################
|
||
|
|
# EFFECTS
|
||
|
|
######################################################################
|
||
|
|
|
||
|
|
|
||
|
|
#Used to find a local animal to hunt
|
||
|
|
#Note: Don't add more here without also revisiting artifact creation for Skulls and hides.
|
||
|
|
#Note: May save any of below scopes before running the effect to limit possible animals:
|
||
|
|
## big_local_game
|
||
|
|
## small_local_game
|
||
|
|
## dangerous_local_game
|
||
|
|
## harmless_local_game
|
||
|
|
## prowling_local_game
|
||
|
|
select_local_animal_effect = {
|
||
|
|
save_scope_as = $TYPE$_local_game
|
||
|
|
location = { save_scope_as = animal_location }
|
||
|
|
hidden_effect = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
NOT = { exists = var:animal_type }
|
||
|
|
}
|
||
|
|
random_list = {
|
||
|
|
60 = { # Deer, Antelope, Gazelle, etc.
|
||
|
|
trigger = {
|
||
|
|
scope:animal_location = { hunt_animal_deer_antelope_trigger = yes }
|
||
|
|
NOT = { exists = scope:dangerous_local_game }
|
||
|
|
NOT = { exists = scope:prowling_local_game }
|
||
|
|
}
|
||
|
|
hunt_activity_deer_game_effect = { PROVINCE = scope:animal_location }
|
||
|
|
}
|
||
|
|
20 = { # Boar
|
||
|
|
trigger = {
|
||
|
|
scope:animal_location = { hunt_animal_boar_trigger = yes }
|
||
|
|
NOT = { exists = scope:small_local_game }
|
||
|
|
NOT = { exists = scope:harmless_local_game }
|
||
|
|
NOT = { exists = scope:prowling_local_game }
|
||
|
|
}
|
||
|
|
# they're everywhere, but Muslims and Jews wouldn't hunt them
|
||
|
|
modifier = {
|
||
|
|
factor = 0
|
||
|
|
faith = {
|
||
|
|
OR = {
|
||
|
|
religion_tag = islam_religion
|
||
|
|
religion_tag = judaism_religion
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:boar years = 3 }
|
||
|
|
}
|
||
|
|
10 = { # Fox
|
||
|
|
trigger = {
|
||
|
|
scope:animal_location = { hunt_animal_fox_trigger = yes }
|
||
|
|
NOT = { exists = scope:big_local_game }
|
||
|
|
NOT = { exists = scope:dangerous_local_game }
|
||
|
|
NOT = { exists = scope:prowling_local_game }
|
||
|
|
}
|
||
|
|
# they're everywhere
|
||
|
|
set_variable = { name = animal_type value = flag:fox years = 3 }
|
||
|
|
}
|
||
|
|
1 = { # Aurochs
|
||
|
|
trigger = {
|
||
|
|
scope:animal_location = { hunt_animal_aurochs_trigger = yes }
|
||
|
|
NOT = { religion = religion:hinduism_religion }
|
||
|
|
NOT = { exists = scope:small_local_game }
|
||
|
|
NOT = { exists = scope:dangerous_local_game }
|
||
|
|
NOT = { exists = scope:prowling_local_game }
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:aurochs }
|
||
|
|
}
|
||
|
|
10 = { # Bison
|
||
|
|
trigger = {
|
||
|
|
scope:animal_location = { hunt_animal_bison_trigger = yes }
|
||
|
|
NOT = { exists = scope:small_local_game }
|
||
|
|
NOT = { exists = scope:dangerous_local_game }
|
||
|
|
NOT = { exists = scope:prowling_local_game }
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:bison }
|
||
|
|
}
|
||
|
|
10 = { # Wolf, Hyena, Lynx
|
||
|
|
trigger = {
|
||
|
|
NOT = { exists = scope:harmless_local_game }
|
||
|
|
scope:animal_location = {
|
||
|
|
OR = {
|
||
|
|
hunt_animal_wolf_trigger = yes
|
||
|
|
hunt_animal_hyena_trigger = yes
|
||
|
|
hunt_animal_lynx_trigger = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
random_list = {
|
||
|
|
10 = { # Wolf
|
||
|
|
trigger = {
|
||
|
|
scope:animal_location = { hunt_animal_wolf_trigger = yes }
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:wolf years = 3 }
|
||
|
|
}
|
||
|
|
20 = { # Hyena
|
||
|
|
trigger = {
|
||
|
|
scope:animal_location = { hunt_animal_hyena_trigger = yes }
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:hyena years = 3 }
|
||
|
|
}
|
||
|
|
5 = { # Lynx
|
||
|
|
trigger = {
|
||
|
|
scope:animal_location = { hunt_animal_lynx_trigger = yes }
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:lynx years = 3 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
1 = { # Hare
|
||
|
|
trigger = {
|
||
|
|
NOT = { exists = scope:dangerous_local_game }
|
||
|
|
NOT = { exists = scope:prowling_local_game }
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
exists = scope:big_local_game
|
||
|
|
add = -5
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
add = 10 #A really poor hunter or a child has a higher chance of focusing on hunting a hare
|
||
|
|
OR = {
|
||
|
|
is_adult = no
|
||
|
|
adventure_inspiration_average_skill_value < 2
|
||
|
|
}
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:hare years = 3 }
|
||
|
|
}
|
||
|
|
5 = { # Bear
|
||
|
|
trigger = {
|
||
|
|
NOT = { exists = scope:small_local_game }
|
||
|
|
NOT = { exists = scope:harmless_local_game }
|
||
|
|
NOT = { exists = scope:prowling_local_game }
|
||
|
|
scope:animal_location = { hunt_animal_bear_trigger = yes }
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:bear years = 3 }
|
||
|
|
}
|
||
|
|
5 = { # Big Cat
|
||
|
|
trigger = {
|
||
|
|
NOT = { exists = scope:small_local_game }
|
||
|
|
NOT = { exists = scope:harmless_local_game }
|
||
|
|
scope:animal_location = {
|
||
|
|
hunt_animal_big_cat_trigger = yes
|
||
|
|
OR = {
|
||
|
|
hunt_animal_lion_trigger = yes
|
||
|
|
hunt_animal_tiger_trigger = yes
|
||
|
|
hunt_animal_leopard_trigger = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
random_list = {
|
||
|
|
5 = { # Lion
|
||
|
|
trigger = {
|
||
|
|
scope:animal_location = { hunt_animal_lion_trigger = yes }
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
factor = 5
|
||
|
|
scope:animal_location = {
|
||
|
|
OR = {
|
||
|
|
terrain = desert
|
||
|
|
terrain = forest
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:lion years = 3 }
|
||
|
|
}
|
||
|
|
5 = { # Tiger
|
||
|
|
trigger = {
|
||
|
|
scope:animal_location = { hunt_animal_tiger_trigger = yes }
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
factor = 5
|
||
|
|
scope:animal_location = { terrain = jungle }
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:tiger years = 3 }
|
||
|
|
}
|
||
|
|
5 = { # Leopard
|
||
|
|
trigger = {
|
||
|
|
scope:animal_location = { hunt_animal_leopard_trigger = yes }
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
factor = 0.5
|
||
|
|
scope:animal_location = {
|
||
|
|
OR = {
|
||
|
|
terrain = desert
|
||
|
|
terrain = mountains
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:leopard years = 3 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
1 = { # Unicorn
|
||
|
|
# they're nowhere
|
||
|
|
trigger = {
|
||
|
|
NOT = { exists = scope:small_local_game }
|
||
|
|
NOT = { exists = scope:dangerous_local_game }
|
||
|
|
NOT = { exists = scope:prowling_local_game }
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
factor = 0
|
||
|
|
NOT = { has_trait = lunatic }
|
||
|
|
}
|
||
|
|
set_variable = {
|
||
|
|
name = animal_type
|
||
|
|
value = flag:unicorn
|
||
|
|
years = 3
|
||
|
|
}
|
||
|
|
}
|
||
|
|
1 = { # Dragon
|
||
|
|
trigger = {
|
||
|
|
NOT = { exists = scope:small_local_game }
|
||
|
|
NOT = { exists = scope:harmless_local_game }
|
||
|
|
NOT = { exists = scope:prowling_local_game }
|
||
|
|
}
|
||
|
|
# they're nowhere
|
||
|
|
modifier = {
|
||
|
|
factor = 0
|
||
|
|
NOT = { has_trait = lunatic }
|
||
|
|
}
|
||
|
|
set_variable = {
|
||
|
|
name = animal_type
|
||
|
|
value = flag:dragon
|
||
|
|
years = 3
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Fallback
|
||
|
|
if = {
|
||
|
|
limit = { NOT = { exists = var:animal_type } }
|
||
|
|
set_variable = { name = animal_type value = flag:stag years = 3 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
#Effect to start the story and show the right tooltip
|
||
|
|
start_hunt_mystical_animal_story_cycle_effect = {
|
||
|
|
#Only for players, fake it for ai
|
||
|
|
if = {
|
||
|
|
limit = { is_ai = no }
|
||
|
|
hidden_effect = { create_story = story_cycle_hunt_mystical_animal }
|
||
|
|
random_owned_story = {
|
||
|
|
type = story_cycle_hunt_mystical_animal
|
||
|
|
set_variable = {
|
||
|
|
name = legendary_county
|
||
|
|
value = scope:activity.activity_location.county
|
||
|
|
}
|
||
|
|
save_scope_as = story
|
||
|
|
}
|
||
|
|
custom_tooltip = hunt.4013.a.tt
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
hidden_effect = {
|
||
|
|
random_list = {
|
||
|
|
5 = { #The ai got the animal, wow!
|
||
|
|
add_prestige = major_prestige_gain
|
||
|
|
add_character_modifier = {
|
||
|
|
modifier = hunt_mystical_animal_modifier
|
||
|
|
years = 20
|
||
|
|
}
|
||
|
|
}
|
||
|
|
95 = {
|
||
|
|
#Nothing happens for them
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
#Effect to end the story and apply everything - You got the animal!
|
||
|
|
end_hunt_mystical_animal_story_cycle_effect = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
has_dlc_feature = legends
|
||
|
|
NOT = { has_game_rule = historical_legends_only }
|
||
|
|
}
|
||
|
|
create_legend_seed = {
|
||
|
|
type = heroic
|
||
|
|
quality = famed
|
||
|
|
chronicle = beast_slayer
|
||
|
|
properties = {
|
||
|
|
beast = scope:activity.var:animal_type
|
||
|
|
location = root.location
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add_prestige = major_prestige_gain
|
||
|
|
give_nickname = nick_the_venator
|
||
|
|
add_trait_xp = {
|
||
|
|
trait = lifestyle_hunter
|
||
|
|
track = hunter
|
||
|
|
value = 20
|
||
|
|
}
|
||
|
|
add_character_modifier = {
|
||
|
|
modifier = hunt_mystical_animal_modifier
|
||
|
|
years = 20
|
||
|
|
}
|
||
|
|
set_variable = {
|
||
|
|
name = hunted_mystical_animal
|
||
|
|
value = scope:activity.var:animal_type
|
||
|
|
}
|
||
|
|
hidden_effect = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
can_animal_produce_skull_trigger = { VARIABLE = scope:activity.var:animal_type }
|
||
|
|
}
|
||
|
|
random = {
|
||
|
|
chance = 50
|
||
|
|
create_artifact_wall_skull_effect = {
|
||
|
|
OWNER = root
|
||
|
|
HUNTER = root
|
||
|
|
LEGENDARY = yes
|
||
|
|
ANIMAL = scope:activity.var:animal_type
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
create_artifact_animal_hide_effect = {
|
||
|
|
OWNER = root
|
||
|
|
HUNTER = root
|
||
|
|
LEGENDARY = yes
|
||
|
|
ANIMAL = scope:activity.var:animal_type
|
||
|
|
}
|
||
|
|
add_stress = medium_stress_loss
|
||
|
|
scope:story = {
|
||
|
|
hidden_effect = { end_story = yes }
|
||
|
|
}
|
||
|
|
# Achievement tracking.
|
||
|
|
## Ahab.
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
is_ai = no
|
||
|
|
exists = global_var:started_ahab_achievement
|
||
|
|
}
|
||
|
|
set_global_variable = {
|
||
|
|
name = achieved_ahab_achievement
|
||
|
|
value = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_activity_standard_game_effect = {
|
||
|
|
random_list = {
|
||
|
|
10 = { # Boar
|
||
|
|
trigger = {
|
||
|
|
$PROVINCE$ = { hunt_animal_boar_trigger = yes }
|
||
|
|
NOT = { exists = scope:small_local_game }
|
||
|
|
}
|
||
|
|
# Master of Hunt aptitude affects chance of managed game
|
||
|
|
activity_court_position_aptitude_positive_modifier = { LIEGE = root POS = master_of_hunt }
|
||
|
|
# Increase larger deer chance with management buildings
|
||
|
|
hunt_activity_game_building_modifier = { PROVINCE = $PROVINCE$ }
|
||
|
|
set_variable = { name = animal_type value = flag:boar years = 3 }
|
||
|
|
}
|
||
|
|
30 = { # Deer/Antelope
|
||
|
|
trigger = {
|
||
|
|
$PROVINCE$ = { hunt_animal_deer_antelope_trigger = yes }
|
||
|
|
}
|
||
|
|
# Master of Hunt aptitude affects chance of managed game
|
||
|
|
activity_court_position_aptitude_positive_modifier = { LIEGE = root POS = master_of_hunt }
|
||
|
|
# Increase larger deer chance with management buildings
|
||
|
|
hunt_activity_game_building_modifier = { PROVINCE = $PROVINCE$ }
|
||
|
|
hunt_activity_deer_game_effect = { PROVINCE = $PROVINCE$ }
|
||
|
|
}
|
||
|
|
1 = { # Aurochs
|
||
|
|
trigger = {
|
||
|
|
$PROVINCE$ = { hunt_animal_aurochs_trigger = yes }
|
||
|
|
NOT = { $HUNTER$.religion = religion:hinduism_religion }
|
||
|
|
NOT = { exists = scope:small_local_game }
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:aurochs }
|
||
|
|
}
|
||
|
|
10 = { # Bison
|
||
|
|
trigger = {
|
||
|
|
$PROVINCE$ = { hunt_animal_bison_trigger = yes }
|
||
|
|
NOT = { exists = scope:small_local_game }
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:bison }
|
||
|
|
}
|
||
|
|
5 = { # Fox
|
||
|
|
trigger = {
|
||
|
|
$PROVINCE$ = { hunt_animal_fox_trigger = yes }
|
||
|
|
NOT = { exists = scope:big_local_game }
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:fox }
|
||
|
|
}
|
||
|
|
5 = { # Hare
|
||
|
|
modifier = {
|
||
|
|
exists = scope:big_local_game
|
||
|
|
add = -5
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:hare }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Fallback
|
||
|
|
if = {
|
||
|
|
limit = { NOT = { exists = var:animal_type } }
|
||
|
|
set_variable = { name = animal_type value = flag:stag years = 3 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_activity_deer_game_effect = {
|
||
|
|
random_list = {
|
||
|
|
5 = { # Deer - Europe, Middle East, India, Steppe
|
||
|
|
trigger = {
|
||
|
|
$PROVINCE$ = { hunt_animal_deer_trigger = yes }
|
||
|
|
}
|
||
|
|
random_list = {
|
||
|
|
4 = { # Roe - Small deer
|
||
|
|
trigger = {
|
||
|
|
$PROVINCE$ = { hunt_animal_roe_trigger = yes }
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
add = -4
|
||
|
|
exists = scope:big_local_game
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:roe } # Roe
|
||
|
|
}
|
||
|
|
4 = { # Stag - Standard deer
|
||
|
|
# Increase larger deer chance with management buildings
|
||
|
|
hunt_activity_game_building_modifier = { PROVINCE = $PROVINCE$ }
|
||
|
|
# Master of Hunt aptitude affects chance of managed game
|
||
|
|
activity_court_position_aptitude_positive_modifier = { LIEGE = root POS = master_of_hunt }
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
$PROVINCE$ = {
|
||
|
|
geographical_region = hunt_animal_reindeer_region
|
||
|
|
OR = {
|
||
|
|
terrain = taiga
|
||
|
|
terrain = forest
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:reindeer }
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
set_variable = { name = animal_type value = flag:stag }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
2 = { # Hart - Prestigious deer
|
||
|
|
trigger = {
|
||
|
|
NOT = { exists = scope:small_local_game }
|
||
|
|
}
|
||
|
|
# Offset lack of Roe chance
|
||
|
|
modifier = {
|
||
|
|
factor = 0.5
|
||
|
|
$PROVINCE$ = { hunt_animal_roe_trigger = yes }
|
||
|
|
}
|
||
|
|
# Increase larger deer chance with management buildings
|
||
|
|
hunt_activity_game_building_modifier = { PROVINCE = $PROVINCE$ }
|
||
|
|
# Master of Hunt aptitude affects chance of managed game
|
||
|
|
activity_court_position_aptitude_positive_modifier = { LIEGE = root POS = master_of_hunt }
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
$PROVINCE$ = {
|
||
|
|
geographical_region = hunt_animal_elk_region
|
||
|
|
OR = {
|
||
|
|
terrain = taiga
|
||
|
|
terrain = forest
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:elk }
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
set_variable = { name = animal_type value = flag:hart }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
5 = { # Antelope - Africa, Middle East, India, Steppe
|
||
|
|
trigger = {
|
||
|
|
$PROVINCE$ = { hunt_animal_antelope_trigger = yes }
|
||
|
|
}
|
||
|
|
random_list = {
|
||
|
|
4 = { # Gazelle - Small antelope
|
||
|
|
trigger = {
|
||
|
|
$PROVINCE$ = { hunt_animal_gazelle_trigger = yes }
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
add = -4
|
||
|
|
exists = scope:big_local_game
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:gazelle }
|
||
|
|
}
|
||
|
|
4 = { # Antelope - Standard antelope
|
||
|
|
# Increase larger deer chance with management buildings
|
||
|
|
hunt_activity_game_building_modifier = { PROVINCE = $PROVINCE$ }
|
||
|
|
# Master of Hunt aptitude affects chance of managed game
|
||
|
|
activity_court_position_aptitude_positive_modifier = { LIEGE = root POS = master_of_hunt }
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
$PROVINCE$ = { hunt_animal_steppe_trigger = yes }
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:saiga }
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
set_variable = { name = animal_type value = flag:antelope }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Fallback
|
||
|
|
if = {
|
||
|
|
limit = { NOT = { exists = var:animal_type } }
|
||
|
|
set_variable = { name = animal_type value = flag:stag years = 3 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_activity_dangerous_game_effect = {
|
||
|
|
random_list = {
|
||
|
|
15 = { # Wolf/Hyena/Lynx - Common
|
||
|
|
modifier = {
|
||
|
|
exists = scope:big_local_game
|
||
|
|
factor = 0
|
||
|
|
}
|
||
|
|
random_list = {
|
||
|
|
10 = { # Wolf
|
||
|
|
trigger = {
|
||
|
|
$PROVINCE$ = { hunt_animal_wolf_trigger = yes }
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:wolf years = 3 }
|
||
|
|
}
|
||
|
|
20 = { # Hyena
|
||
|
|
trigger = {
|
||
|
|
$PROVINCE$ = { hunt_animal_hyena_trigger = yes }
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:hyena years = 3 }
|
||
|
|
}
|
||
|
|
5 = { # Lynx
|
||
|
|
trigger = {
|
||
|
|
$PROVINCE$ = { hunt_animal_lynx_trigger = yes }
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:lynx years = 3 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
5 = { # Lion/Tiger/Leopard - Occasional (outside Europe)
|
||
|
|
trigger = {
|
||
|
|
$PROVINCE$ = {
|
||
|
|
hunt_animal_big_cat_trigger = yes
|
||
|
|
OR = {
|
||
|
|
hunt_animal_lion_trigger = yes
|
||
|
|
hunt_animal_tiger_trigger = yes
|
||
|
|
hunt_animal_leopard_trigger = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
exists = scope:small_local_game
|
||
|
|
factor = 0
|
||
|
|
}
|
||
|
|
random_list = {
|
||
|
|
5 = { # Lion
|
||
|
|
trigger = {
|
||
|
|
$PROVINCE$ = { hunt_animal_lion_trigger = yes }
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
factor = 5
|
||
|
|
$PROVINCE$ = {
|
||
|
|
OR = {
|
||
|
|
terrain = desert
|
||
|
|
terrain = forest
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:lion years = 3 }
|
||
|
|
}
|
||
|
|
5 = { # Tiger
|
||
|
|
trigger = {
|
||
|
|
$PROVINCE$ = { hunt_animal_tiger_trigger = yes }
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
factor = 5
|
||
|
|
$PROVINCE$ = { terrain = jungle }
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:tiger years = 3 }
|
||
|
|
}
|
||
|
|
5 = { # Leopard
|
||
|
|
trigger = {
|
||
|
|
$PROVINCE$ = { hunt_animal_leopard_trigger = yes }
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
factor = 0.5
|
||
|
|
$PROVINCE$ = {
|
||
|
|
OR = {
|
||
|
|
terrain = desert
|
||
|
|
terrain = mountains
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:leopard years = 3 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
5 = { # Bear - Occasional (outside Europe)
|
||
|
|
trigger = {
|
||
|
|
$PROVINCE$ = { hunt_animal_bear_trigger = yes }
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
exists = scope:small_local_game
|
||
|
|
factor = 0
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:bear years = 3 }
|
||
|
|
}
|
||
|
|
10 = { # Boar
|
||
|
|
trigger = {
|
||
|
|
$PROVINCE$ = { hunt_animal_boar_trigger = yes }
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
exists = scope:small_local_game
|
||
|
|
factor = 0
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:boar years = 3 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Fallback
|
||
|
|
if = {
|
||
|
|
limit = { NOT = { exists = var:animal_type } }
|
||
|
|
set_variable = { name = animal_type value = flag:wolf years = 3 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_activity_falconry_game_effect = {
|
||
|
|
random_list = {
|
||
|
|
15 = { ### WATERFOWL ###
|
||
|
|
trigger = {
|
||
|
|
$PROVINCE$ = {
|
||
|
|
NOR = {
|
||
|
|
terrain = desert
|
||
|
|
terrain = desert_mountains
|
||
|
|
terrain = jungle
|
||
|
|
terrain = drylands
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
hunt_falconry_select_waterfowl_effect = { VAR = animal_type PROVINCE = $PROVINCE$ }
|
||
|
|
}
|
||
|
|
10 = { ### GROUND ###
|
||
|
|
hunt_falconry_select_gamebird_effect = { VAR = animal_type PROVINCE = $PROVINCE$ }
|
||
|
|
}
|
||
|
|
5 = { ### EXOTIC ###
|
||
|
|
random_list = {
|
||
|
|
5 = { # Egret
|
||
|
|
trigger = {
|
||
|
|
$PROVINCE$ = {
|
||
|
|
OR = {
|
||
|
|
geographical_region = world_africa_north
|
||
|
|
geographical_region = world_africa_east
|
||
|
|
geographical_region = world_africa_west
|
||
|
|
geographical_region = world_middle_east_persia
|
||
|
|
geographical_region = world_europe_south_east
|
||
|
|
geographical_region = world_asia_minor
|
||
|
|
geographical_region = world_steppe
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
factor = 2
|
||
|
|
$PROVINCE$ = {
|
||
|
|
OR = {
|
||
|
|
terrain = wetlands
|
||
|
|
terrain = floodplains
|
||
|
|
terrain = oasis
|
||
|
|
is_riverside_province = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:egret years = 3 }
|
||
|
|
}
|
||
|
|
5 = { # Crane
|
||
|
|
trigger = {
|
||
|
|
$PROVINCE$ = {
|
||
|
|
OR = {
|
||
|
|
geographical_region = world_africa_north
|
||
|
|
geographical_region = world_africa_east
|
||
|
|
geographical_region = world_europe_north
|
||
|
|
geographical_region = world_europe_east
|
||
|
|
geographical_region = world_asia_minor
|
||
|
|
geographical_region = world_steppe
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
factor = 2
|
||
|
|
$PROVINCE$ = {
|
||
|
|
OR = {
|
||
|
|
terrain = wetlands
|
||
|
|
terrain = floodplains
|
||
|
|
terrain = oasis
|
||
|
|
is_riverside_province = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:crane years = 3 }
|
||
|
|
}
|
||
|
|
5 = { # Stork
|
||
|
|
modifier = {
|
||
|
|
factor = 2
|
||
|
|
$PROVINCE$ = {
|
||
|
|
OR = {
|
||
|
|
terrain = wetlands
|
||
|
|
terrain = floodplains
|
||
|
|
terrain = oasis
|
||
|
|
is_riverside_province = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:stork years = 3 }
|
||
|
|
}
|
||
|
|
5 = { # Heron
|
||
|
|
modifier = {
|
||
|
|
factor = 2
|
||
|
|
$PROVINCE$ = {
|
||
|
|
OR = {
|
||
|
|
terrain = wetlands
|
||
|
|
terrain = floodplains
|
||
|
|
terrain = oasis
|
||
|
|
is_riverside_province = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:heron years = 3 }
|
||
|
|
}
|
||
|
|
5 = { # Pelican
|
||
|
|
trigger = {
|
||
|
|
$PROVINCE$ = {
|
||
|
|
OR = {
|
||
|
|
geographical_region = world_africa_east
|
||
|
|
geographical_region = world_africa_west
|
||
|
|
geographical_region = world_india
|
||
|
|
geographical_region = world_middle_east_persia
|
||
|
|
geographical_region = world_asia_minor
|
||
|
|
geographical_region = world_europe_south_east
|
||
|
|
geographical_region = world_steppe_west
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
factor = 2
|
||
|
|
$PROVINCE$ = { is_coastal = yes }
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:pelican years = 3 }
|
||
|
|
}
|
||
|
|
5 = { # Flamingo
|
||
|
|
trigger = {
|
||
|
|
$PROVINCE$ = {
|
||
|
|
OR = {
|
||
|
|
geographical_region = world_africa_east
|
||
|
|
geographical_region = world_africa_west
|
||
|
|
geographical_region = world_india
|
||
|
|
geographical_region = world_middle_east_persia
|
||
|
|
geographical_region = dlc_fp2_mediterranean_shoreline
|
||
|
|
}
|
||
|
|
is_coastal = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
set_variable = { name = animal_type value = flag:flamingo years = 3 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_falconry_select_waterfowl_effect = {
|
||
|
|
random_list = {
|
||
|
|
5 = { # Swan
|
||
|
|
trigger = {
|
||
|
|
$PROVINCE$ = {
|
||
|
|
NOT = { geographical_region = world_africa }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
factor = 2
|
||
|
|
$PROVINCE$ = {
|
||
|
|
OR = {
|
||
|
|
terrain = oasis
|
||
|
|
terrain = wetlands
|
||
|
|
terrain = floodplains
|
||
|
|
is_riverside_province = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
factor = 2
|
||
|
|
$PROVINCE$.county.holder.top_liege = { employs_court_position = keeper_of_swans_court_position }
|
||
|
|
}
|
||
|
|
set_variable = { name = $VAR$ value = flag:swan years = 3 }
|
||
|
|
}
|
||
|
|
10 = { # Goose
|
||
|
|
modifier = {
|
||
|
|
factor = 0.5
|
||
|
|
$PROVINCE$ = {
|
||
|
|
OR = {
|
||
|
|
terrain = desert
|
||
|
|
terrain = desert_mountains
|
||
|
|
terrain = jungle
|
||
|
|
terrain = drylands
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
set_variable = { name = $VAR$ value = flag:goose years = 3 }
|
||
|
|
}
|
||
|
|
10 = { # Duck
|
||
|
|
modifier = {
|
||
|
|
factor = 2
|
||
|
|
$PROVINCE$ = {
|
||
|
|
OR = {
|
||
|
|
terrain = oasis
|
||
|
|
terrain = wetlands
|
||
|
|
terrain = floodplains
|
||
|
|
is_riverside_province = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
set_variable = { name = $VAR$ value = flag:duck years = 3 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_falconry_select_gamebird_effect = {
|
||
|
|
random_list = {
|
||
|
|
5 = { # Pheasant
|
||
|
|
modifier = {
|
||
|
|
factor = 2
|
||
|
|
$PROVINCE$ = {
|
||
|
|
OR = {
|
||
|
|
terrain = farmlands
|
||
|
|
terrain = plains
|
||
|
|
terrain = hills
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
set_variable = { name = $VAR$ value = flag:pheasant years = 3 }
|
||
|
|
}
|
||
|
|
5 = { # Bustard
|
||
|
|
modifier = {
|
||
|
|
factor = 2
|
||
|
|
$PROVINCE$ = {
|
||
|
|
OR = {
|
||
|
|
terrain = steppe
|
||
|
|
terrain = plains
|
||
|
|
terrain = drylands
|
||
|
|
terrain = desert
|
||
|
|
terrain = oasis
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
set_variable = { name = $VAR$ value = flag:bustard years = 3 }
|
||
|
|
}
|
||
|
|
5 = { # Grouse
|
||
|
|
trigger = {
|
||
|
|
$PROVINCE$ = {
|
||
|
|
OR = {
|
||
|
|
geographical_region = world_europe_north
|
||
|
|
geographical_region = world_europe_west_britannia
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
factor = 2
|
||
|
|
$PROVINCE$ = {
|
||
|
|
OR = {
|
||
|
|
terrain = mountains
|
||
|
|
terrain = hills
|
||
|
|
terrain = taiga
|
||
|
|
terrain = forest
|
||
|
|
terrain = plains
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
set_variable = { name = $VAR$ value = flag:grouse years = 3 }
|
||
|
|
}
|
||
|
|
5 = { # Quail
|
||
|
|
modifier = {
|
||
|
|
factor = 2
|
||
|
|
$PROVINCE$ = {
|
||
|
|
OR = {
|
||
|
|
terrain = mountains
|
||
|
|
terrain = hills
|
||
|
|
terrain = steppe
|
||
|
|
terrain = plains
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
set_variable = { name = $VAR$ value = flag:quail years = 3 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_activity_success_change_effect = {
|
||
|
|
scope:activity = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
NOT = { exists = var:hunt_success_chance_event }
|
||
|
|
}
|
||
|
|
set_variable = { name = hunt_success_chance_event value = 0 }
|
||
|
|
}
|
||
|
|
change_variable = {
|
||
|
|
name = hunt_success_chance_event
|
||
|
|
add = hunt_activity_success_$CHANGE$_value
|
||
|
|
}
|
||
|
|
set_variable = {
|
||
|
|
name = hunt_success_chance
|
||
|
|
value = hunt_success_chance_value
|
||
|
|
}
|
||
|
|
}
|
||
|
|
custom_tooltip = hunt_activity_success_$CHANGE$_tt
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_activity_success_outcome_effect = {
|
||
|
|
scope:activity = {
|
||
|
|
hidden_effect = {
|
||
|
|
random = {
|
||
|
|
chance = var:hunt_success_chance
|
||
|
|
set_variable = {
|
||
|
|
name = hunt_success
|
||
|
|
value = flag:yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_individual_guest_awards_effect = {
|
||
|
|
# If character had the reduce stress intent, give them stress loss
|
||
|
|
if = { # Hosts
|
||
|
|
limit = { this = scope:host }
|
||
|
|
if = { # To hide hunter tooltip for guests
|
||
|
|
limit = { has_character_flag = host_existing_hunter }
|
||
|
|
if = {
|
||
|
|
limit = { scope:activity.var:hunt_success ?= flag:yes }
|
||
|
|
stress_impact = {
|
||
|
|
base = major_stress_loss
|
||
|
|
lazy = medium_stress_impact_loss
|
||
|
|
gregarious = medium_stress_impact_loss
|
||
|
|
lifestyle_hunter = major_stress_loss
|
||
|
|
shy = medium_stress_impact_gain
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
stress_impact = {
|
||
|
|
base = medium_stress_impact_loss
|
||
|
|
lazy = minor_stress_impact_loss
|
||
|
|
gregarious = minor_stress_impact_loss
|
||
|
|
lifestyle_hunter = medium_stress_impact_loss
|
||
|
|
shy = medium_stress_impact_gain
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
if = {
|
||
|
|
limit = { scope:activity.var:hunt_success ?= flag:yes }
|
||
|
|
stress_impact = {
|
||
|
|
base = major_stress_loss
|
||
|
|
lazy = medium_stress_impact_loss
|
||
|
|
gregarious = medium_stress_impact_loss
|
||
|
|
shy = medium_stress_impact_gain
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
stress_impact = {
|
||
|
|
base = medium_stress_impact_loss
|
||
|
|
lazy = minor_stress_impact_loss
|
||
|
|
gregarious = minor_stress_impact_loss
|
||
|
|
shy = medium_stress_impact_gain
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else = { # Guests
|
||
|
|
if = {
|
||
|
|
limit = { scope:activity.var:hunt_success ?= flag:yes }
|
||
|
|
stress_impact = {
|
||
|
|
base = medium_stress_impact_loss
|
||
|
|
lazy = minor_stress_impact_loss
|
||
|
|
gregarious = minor_stress_impact_loss
|
||
|
|
lifestyle_hunter = medium_stress_impact_loss
|
||
|
|
shy = minor_stress_impact_gain
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
stress_impact = {
|
||
|
|
base = minor_stress_impact_loss
|
||
|
|
lazy = miniscule_stress_impact_loss
|
||
|
|
gregarious = miniscule_stress_impact_loss
|
||
|
|
lifestyle_hunter = minor_stress_impact_loss
|
||
|
|
shy = minor_stress_impact_gain
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Prestige/piety
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
this != scope:host
|
||
|
|
is_adult = yes
|
||
|
|
trigger_if = {
|
||
|
|
limit = {
|
||
|
|
scope:activity = {
|
||
|
|
NOT = {
|
||
|
|
has_activity_option = { category = special_type option = hunt_type_falconry }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = scope:host }
|
||
|
|
}
|
||
|
|
trigger_if = {
|
||
|
|
limit = { is_clergy = yes }
|
||
|
|
OR = {
|
||
|
|
faith = { has_doctrine_parameter = clergy_can_fight }
|
||
|
|
culture = { has_cultural_parameter = culture_clergy_can_fight }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
culture = { has_cultural_parameter = sacred_hunts }
|
||
|
|
}
|
||
|
|
add_prestige = hunt_prestige_with_piety_guest_gain_value
|
||
|
|
add_piety = hunt_piety_guest_gain_value
|
||
|
|
}
|
||
|
|
else = { add_prestige = hunt_prestige_guest_gain_value }
|
||
|
|
}
|
||
|
|
# Nomads gain prowess from dangerous animal kills
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
NOT = { this = scope:host }
|
||
|
|
government_has_flag = government_is_nomadic
|
||
|
|
scope:activity = {
|
||
|
|
var:hunt_success ?= flag:yes
|
||
|
|
NOT = { exists = var:animal_spared }
|
||
|
|
hunt_animal_type_dangerous_trigger = { VAR = var:animal_type }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add_prowess_skill = 1
|
||
|
|
}
|
||
|
|
# Trait XP
|
||
|
|
# Only called on the end of a *successful* hunt. Hunts which are interrupted due to death, imprisonment, etc., don't get this, so put critical clean-up stuff in the activity itself.
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:activity = {
|
||
|
|
has_activity_option = { category = special_type option = hunt_type_falconry }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
hunter_lifestyle_rank_up_check_effect = { FALCONRY = yes }
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
hunter_lifestyle_rank_up_check_effect = { FALCONRY = no }
|
||
|
|
}
|
||
|
|
# Tourney
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = tourney_participant }
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:activity = {
|
||
|
|
NOT = {
|
||
|
|
has_activity_option = { category = special_type option = hunt_type_falconry }
|
||
|
|
}
|
||
|
|
NOT = {
|
||
|
|
hunt_story_trigger = { STORY = chase }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add_trait_xp = {
|
||
|
|
trait = tourney_participant
|
||
|
|
track = horse
|
||
|
|
value = { 1 3 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
hunt_story_trigger = { STORY = ambush }
|
||
|
|
hunt_story_trigger = { STORY = stealth }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add_trait_xp = {
|
||
|
|
trait = tourney_participant
|
||
|
|
track = bow
|
||
|
|
value = { 1 3 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
accolades_activity_complete_hunt_glory_effect = yes
|
||
|
|
# LEGITIMACY GAIN FOR ACTIVITY PARTICIPATION - HUNT
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:activity = { # Special gain for Legendary Hunt
|
||
|
|
has_activity_option = { category = special_type option = hunt_type_legendary }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
legendary_hunt_participation_legitimacy_effect = yes
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
standard_activity_participation_legitimacy_effect = yes
|
||
|
|
}
|
||
|
|
# Memories
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
save_temporary_scope_as = hunter_temp
|
||
|
|
NOT = {
|
||
|
|
any_memory = {
|
||
|
|
has_memory_type = hunt_animal_slayer_memory
|
||
|
|
memory_participant:animal_slayer = scope:hunter_temp
|
||
|
|
memory_participant:host = scope:host
|
||
|
|
memory_age_years < 1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
exists = scope:activity.var:kill_animal_type
|
||
|
|
}
|
||
|
|
create_character_memory = {
|
||
|
|
type = hunt_success_memory
|
||
|
|
participants = {
|
||
|
|
host = scope:host
|
||
|
|
}
|
||
|
|
}
|
||
|
|
ordered_memory = {
|
||
|
|
limit = { has_memory_type = hunt_success_memory }
|
||
|
|
order_by = memory_creation_date
|
||
|
|
save_scope_as = new_memory
|
||
|
|
set_variable = {
|
||
|
|
name = animal_type
|
||
|
|
value = scope:activity.var:kill_animal_type
|
||
|
|
}
|
||
|
|
set_variable = {
|
||
|
|
name = location
|
||
|
|
value = scope:activity.activity_location
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_animal_wound_effect = {
|
||
|
|
if = {
|
||
|
|
limit = { exists = $VARIABLE$ }
|
||
|
|
if = {
|
||
|
|
limit = { $VARIABLE$ = flag:elk }
|
||
|
|
increase_wounds_effect = { REASON = moose }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { $VARIABLE$ = flag:hart }
|
||
|
|
increase_wounds_effect = { REASON = hart }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
$VARIABLE$ = flag:stag
|
||
|
|
$VARIABLE$ = flag:reindeer
|
||
|
|
}
|
||
|
|
}
|
||
|
|
increase_wounds_effect = { REASON = deer }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { $VARIABLE$ = flag:roe }
|
||
|
|
increase_wounds_effect = { REASON = roe }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
$VARIABLE$ = flag:antelope
|
||
|
|
$VARIABLE$ = flag:saiga
|
||
|
|
}
|
||
|
|
}
|
||
|
|
increase_wounds_effect = { REASON = antelope }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { $VARIABLE$ = flag:gazelle }
|
||
|
|
increase_wounds_effect = { REASON = gazelle }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { $VARIABLE$ = flag:bison }
|
||
|
|
increase_wounds_effect = { REASON = bison }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { $VARIABLE$ = flag:aurochs }
|
||
|
|
increase_wounds_effect = { REASON = aurochs }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { $VARIABLE$ = flag:boar }
|
||
|
|
increase_wounds_effect = { REASON = boar }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { $VARIABLE$ = flag:bear }
|
||
|
|
increase_wounds_effect = { REASON = bear }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { $VARIABLE$ = flag:wolf }
|
||
|
|
increase_wounds_effect = { REASON = wolf }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { $VARIABLE$ = flag:hyena }
|
||
|
|
increase_wounds_effect = { REASON = hyena }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { $VARIABLE$ = flag:lynx }
|
||
|
|
increase_wounds_effect = { REASON = lynx }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { $VARIABLE$ = flag:lion }
|
||
|
|
increase_wounds_effect = { REASON = lion }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { $VARIABLE$ = flag:tiger }
|
||
|
|
increase_wounds_effect = { REASON = tiger }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { $VARIABLE$ = flag:leopard }
|
||
|
|
increase_wounds_effect = { REASON = leopard }
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
increase_wounds_effect = { REASON = maimed_by_wild_beast }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
increase_wounds_effect = { REASON = maimed_by_wild_beast }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_animal_death_effect = {
|
||
|
|
if = {
|
||
|
|
limit = { exists = $VAR$ }
|
||
|
|
if = {
|
||
|
|
limit = { $VAR$ = flag:elk }
|
||
|
|
death = { death_reason = death_moose }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { $VAR$ = flag:hart }
|
||
|
|
death = { death_reason = death_hart }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
$VAR$ = flag:stag
|
||
|
|
$VAR$ = flag:reindeer
|
||
|
|
}
|
||
|
|
}
|
||
|
|
death = { death_reason = death_deer }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { $VAR$ = flag:roe }
|
||
|
|
death = { death_reason = death_roe }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
$VAR$ = flag:antelope
|
||
|
|
$VAR$ = flag:saiga
|
||
|
|
}
|
||
|
|
}
|
||
|
|
death = { death_reason = death_antelope }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { $VAR$ = flag:gazelle }
|
||
|
|
death = { death_reason = death_gazelle }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { $VAR$ = flag:bison }
|
||
|
|
death = { death_reason = death_bison }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { $VAR$ = flag:aurochs }
|
||
|
|
death = { death_reason = death_aurochs }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { $VAR$ = flag:boar }
|
||
|
|
death = { death_reason = death_boar }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { $VAR$ = flag:bear }
|
||
|
|
death = { death_reason = death_bear }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { $VAR$ = flag:wolf }
|
||
|
|
death = { death_reason = death_wolf }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { $VAR$ = flag:hyena }
|
||
|
|
death = { death_reason = death_hyena }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { $VAR$ = flag:lynx }
|
||
|
|
death = { death_reason = death_lynx }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { $VAR$ = flag:lion }
|
||
|
|
death = { death_reason = death_lion }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { $VAR$ = flag:tiger }
|
||
|
|
death = { death_reason = death_tiger }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { $VAR$ = flag:leopard }
|
||
|
|
death = { death_reason = death_leopard }
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
death = { death_reason = death_maimed_by_wild_beast }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
death = { death_reason = death_maimed_by_wild_beast }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_activity_random_subordinate_participant_effect = {
|
||
|
|
save_scope_value_as = {
|
||
|
|
name = hunt_participant_archetype
|
||
|
|
value = flag:$ARCHETYPE$
|
||
|
|
}
|
||
|
|
save_scope_value_as = {
|
||
|
|
name = hunt_participant_martial_gender
|
||
|
|
value = flag:$COMBATANT$
|
||
|
|
}
|
||
|
|
scope:activity = {
|
||
|
|
random_attending_character = {
|
||
|
|
limit = {
|
||
|
|
trigger_if = {
|
||
|
|
limit = { scope:hunt_participant_martial_gender = flag:yes }
|
||
|
|
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = scope:host }
|
||
|
|
}
|
||
|
|
hunt_is_valid_subordinate_trigger = { LIEGE = scope:host }
|
||
|
|
}
|
||
|
|
weight = {
|
||
|
|
base = 10
|
||
|
|
hunt_relevant_participant_modifiers = yes
|
||
|
|
}
|
||
|
|
save_scope_as = $SCOPE$
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_activity_random_interest_participant_effect = {
|
||
|
|
save_scope_value_as = {
|
||
|
|
name = hunt_participant_archetype
|
||
|
|
value = flag:$ARCHETYPE$
|
||
|
|
}
|
||
|
|
save_scope_value_as = {
|
||
|
|
name = hunt_participant_martial_gender
|
||
|
|
value = flag:$COMBATANT$
|
||
|
|
}
|
||
|
|
scope:activity = {
|
||
|
|
random_attending_character = {
|
||
|
|
# Major
|
||
|
|
limit = {
|
||
|
|
is_adult = yes
|
||
|
|
is_of_major_interest_trigger = { CHARACTER = root }
|
||
|
|
trigger_if = {
|
||
|
|
limit = { scope:hunt_participant_martial_gender = flag:yes }
|
||
|
|
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = scope:host }
|
||
|
|
}
|
||
|
|
NAND = {
|
||
|
|
exists = scope:murder_target
|
||
|
|
this = scope:murder_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Minor
|
||
|
|
alternative_limit = {
|
||
|
|
is_adult = yes
|
||
|
|
is_of_minor_interest_trigger = { CHARACTER = root }
|
||
|
|
trigger_if = {
|
||
|
|
limit = { scope:hunt_participant_martial_gender = flag:yes }
|
||
|
|
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = scope:host }
|
||
|
|
}
|
||
|
|
NAND = {
|
||
|
|
exists = scope:murder_target
|
||
|
|
this = scope:murder_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
weight = {
|
||
|
|
base = 10
|
||
|
|
hunt_relevant_participant_modifiers = yes
|
||
|
|
}
|
||
|
|
save_scope_as = $SCOPE$
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_activity_chose_smaller_game_effect = {
|
||
|
|
save_scope_as = chose_smaller_game
|
||
|
|
if = {
|
||
|
|
limit = { exists = scope:hunt_participant }
|
||
|
|
scope:hunt_participant = {
|
||
|
|
add_opinion = {
|
||
|
|
modifier = hunt_disappointed_opinion
|
||
|
|
target = root
|
||
|
|
opinion = -10
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
scope:activity = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
any_attending_character = {
|
||
|
|
NOR = {
|
||
|
|
this = root
|
||
|
|
AND = {
|
||
|
|
exists = scope:hunt_participant
|
||
|
|
this = scope:hunt_participant
|
||
|
|
}
|
||
|
|
}
|
||
|
|
has_trait = lifestyle_hunter
|
||
|
|
}
|
||
|
|
}
|
||
|
|
every_attending_character = {
|
||
|
|
limit = {
|
||
|
|
NOR = {
|
||
|
|
this = root
|
||
|
|
AND = {
|
||
|
|
exists = scope:hunt_participant
|
||
|
|
this = scope:hunt_participant
|
||
|
|
}
|
||
|
|
}
|
||
|
|
has_trait = lifestyle_hunter
|
||
|
|
}
|
||
|
|
custom = hunt_every_hunter_attendee_tt
|
||
|
|
add_opinion = {
|
||
|
|
modifier = hunt_disappointed_opinion
|
||
|
|
target = root
|
||
|
|
opinion = -10
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_animal_kill_effect = {
|
||
|
|
save_scope_as = animal_slayer
|
||
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Hunts/ConstructionKits/ep2_event_grand_hunt_ck_spear_impact"
|
||
|
|
# Is it possible to die?
|
||
|
|
save_scope_value_as = {
|
||
|
|
name = hunt_kill_death_chance
|
||
|
|
value = flag:$DEATH$
|
||
|
|
}
|
||
|
|
|
||
|
|
# Determine what is slayed
|
||
|
|
scope:activity = {
|
||
|
|
set_variable = {
|
||
|
|
name = kill_animal_type
|
||
|
|
value = $VAR$
|
||
|
|
}
|
||
|
|
set_variable = {
|
||
|
|
name = animal_slayer
|
||
|
|
value = scope:animal_slayer
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_animal_melee_kill_effect = {
|
||
|
|
save_scope_as = melee_kill
|
||
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Hunts/ConstructionKits/ep2_event_grand_hunt_ck_spear_impact"
|
||
|
|
hunt_animal_kill_effect = { DEATH = $DEATH$ VAR = $VAR$ }
|
||
|
|
hunter_progress_point_gain_effect = { CHANGE = 3 RANDOM_CHANGE = 1 } #Gives Hunter Lifestyle XP
|
||
|
|
# Determine who could be wounded
|
||
|
|
scope:activity ?= {
|
||
|
|
random_attending_character = {
|
||
|
|
limit = { is_alive = yes }
|
||
|
|
save_scope_as = injury_target
|
||
|
|
hunt_wound_select_effect = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
save_scope_as = injury_target
|
||
|
|
hunt_wound_select_effect = yes
|
||
|
|
duel = {
|
||
|
|
skill = prowess
|
||
|
|
value = hunt_melee_kill_prowess_value
|
||
|
|
50 = {
|
||
|
|
desc = hunt_kill_success_melee
|
||
|
|
hunt_kill_melee_modifiers = yes # SPEAR
|
||
|
|
hunt_kill_hunter_modifiers = yes # HUNTER
|
||
|
|
if = { #chance_to_gain_prowess_during_bear_hunts parameter check
|
||
|
|
limit = {
|
||
|
|
faith = { has_doctrine_parameter = chance_to_gain_prowess_during_bear_hunts }
|
||
|
|
scope:activity.var:animal_type = flag:bear
|
||
|
|
}
|
||
|
|
add_prowess_skill = 1
|
||
|
|
add_martial_skill = 1
|
||
|
|
}
|
||
|
|
send_interface_toast = {
|
||
|
|
title = {
|
||
|
|
first_valid = {
|
||
|
|
triggered_desc = {
|
||
|
|
trigger = { scope:animal_slayer ?= root }
|
||
|
|
desc = hunt_kill_success_melee_root
|
||
|
|
}
|
||
|
|
desc = hunt_kill_success_melee_guest
|
||
|
|
}
|
||
|
|
}
|
||
|
|
left_icon = scope:animal_slayer
|
||
|
|
scope:activity ?= {
|
||
|
|
add_activity_log_entry = {
|
||
|
|
key = hunt_melee_log
|
||
|
|
tags = { kill }
|
||
|
|
score = 100
|
||
|
|
|
||
|
|
character = scope:animal_slayer
|
||
|
|
|
||
|
|
#Effect
|
||
|
|
scope:animal_slayer ?= {
|
||
|
|
add_prestige = hunt_prestige_melee_value
|
||
|
|
# Complete activity intent if relevant
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
AND = {
|
||
|
|
scope:hunt_kill_death_chance = flag:yes
|
||
|
|
NOT = {
|
||
|
|
hunt_small_game_trigger = { VAR = $VAR$ }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
hunt_animal_slayer_memory_effect = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
save_scope_as = melee_success
|
||
|
|
}
|
||
|
|
1 = { # Injury
|
||
|
|
desc = hunt_kill_failure_melee
|
||
|
|
compare_modifier = {
|
||
|
|
value = scope:duel_value
|
||
|
|
multiplier = -3.5
|
||
|
|
min = 5
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
hunt_small_game_trigger = { VAR = $VAR$ }
|
||
|
|
factor = 0.05
|
||
|
|
}
|
||
|
|
modifier = { add = hunt_melee_danger_value }
|
||
|
|
# Effect
|
||
|
|
hidden_effect = {
|
||
|
|
scope:injury_target = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
hunt_animal_type_dangerous_trigger = { VAR = $VAR$ }
|
||
|
|
}
|
||
|
|
hunt_wound_apply_effect = { SEVERE = yes }
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
hunt_wound_apply_effect = { SEVERE = no }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
scope:activity ?= {
|
||
|
|
add_activity_log_entry = {
|
||
|
|
key = hunt_melee_log
|
||
|
|
tags = { kill }
|
||
|
|
score = 100
|
||
|
|
|
||
|
|
character = scope:animal_slayer
|
||
|
|
|
||
|
|
#Effects
|
||
|
|
scope:animal_slayer ?= {
|
||
|
|
add_prestige = hunt_prestige_melee_wound_value
|
||
|
|
# Complete activity intent if relevant
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
AND = {
|
||
|
|
scope:hunt_kill_death_chance = flag:yes
|
||
|
|
NOT = {
|
||
|
|
hunt_small_game_trigger = { VAR = $VAR$ }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
hunt_animal_slayer_memory_effect = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
hidden_effect = {
|
||
|
|
add_activity_log_entry = {
|
||
|
|
key = hunt_melee_wounded_log
|
||
|
|
score = 75
|
||
|
|
tags = { kill }
|
||
|
|
character = scope:injury_target
|
||
|
|
scope:injury_target = { hunt_wound_tooltip_effect = yes }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = { scope:severe ?= yes }
|
||
|
|
custom_tooltip = hunt_character_wound_tt
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
show_as_tooltip = {
|
||
|
|
increase_wounds_no_death_effect = { REASON = fight }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
save_scope_as = melee_failure
|
||
|
|
}
|
||
|
|
1 = { # Death
|
||
|
|
desc = hunt_kill_critical_failure_melee
|
||
|
|
trigger = {
|
||
|
|
scope:hunt_kill_death_chance = flag:yes
|
||
|
|
NOT = {
|
||
|
|
hunt_small_game_trigger = { VAR = $VAR$ }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
compare_modifier = {
|
||
|
|
value = scope:duel_value
|
||
|
|
multiplier = -3.5
|
||
|
|
min = 5
|
||
|
|
}
|
||
|
|
modifier = { add = hunt_melee_kill_prowess_value }
|
||
|
|
scope:activity ?= {
|
||
|
|
add_activity_log_entry = {
|
||
|
|
key = hunt_melee_killed_log
|
||
|
|
score = 75
|
||
|
|
tags = { kill }
|
||
|
|
character = scope:animal_slayer
|
||
|
|
|
||
|
|
# Effect
|
||
|
|
scope:animal_slayer = {
|
||
|
|
hunt_animal_death_effect = { VAR = $VAR$ }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
save_scope_as = melee_critical
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Outcome
|
||
|
|
scope:animal_slayer ?= {
|
||
|
|
if = {
|
||
|
|
limit = { has_activity_intent = slay_beast_intent }
|
||
|
|
show_as_tooltip = { complete_activity_intent = yes }
|
||
|
|
}
|
||
|
|
hunt_complete_slay_beast_intent_effect = yes # Complete activity intent if relevant
|
||
|
|
}
|
||
|
|
scope:activity ?= {
|
||
|
|
every_attending_character = {
|
||
|
|
limit = { is_ai = no }
|
||
|
|
trigger_event = hunt.1201
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_animal_melee_kill_group_effect = {
|
||
|
|
save_scope_as = group_kill
|
||
|
|
hunt_animal_kill_effect = { DEATH = $DEATH$ VAR = $VAR$ }
|
||
|
|
scope:activity ?= {
|
||
|
|
# Determine who is slaying
|
||
|
|
every_attending_character = {
|
||
|
|
limit = {
|
||
|
|
is_alive = yes
|
||
|
|
NOT = { has_character_flag = not_slaying }
|
||
|
|
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = scope:host }
|
||
|
|
trigger_if = {
|
||
|
|
limit = { exists = scope:group_craven }
|
||
|
|
this != scope:host
|
||
|
|
}
|
||
|
|
}
|
||
|
|
custom = hunt_every_hunter_tt
|
||
|
|
add_to_list = animal_slayers
|
||
|
|
hunter_progress_point_gain_effect = { CHANGE = 1 RANDOM_CHANGE = 1 } #Gives Hunter Lifestyle XP
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Determine who could be wounded
|
||
|
|
random_in_list = {
|
||
|
|
list = animal_slayers
|
||
|
|
weight = {
|
||
|
|
base = 20
|
||
|
|
hunt_likely_injured_modifiers = yes
|
||
|
|
}
|
||
|
|
save_scope_as = injury_target
|
||
|
|
hunt_wound_select_effect = yes
|
||
|
|
}
|
||
|
|
# Outcome
|
||
|
|
random_list = {
|
||
|
|
50 = { # Animal is captured
|
||
|
|
trigger = { exists = scope:group_capture }
|
||
|
|
desc = hunt_kill_success_capture
|
||
|
|
scope:activity ?= {
|
||
|
|
add_activity_log_entry = {
|
||
|
|
key = hunt_melee_capture_log
|
||
|
|
score = 75
|
||
|
|
tags = { kill }
|
||
|
|
character = scope:animal_slayer
|
||
|
|
|
||
|
|
# Effect
|
||
|
|
every_in_list = {
|
||
|
|
list = animal_slayers
|
||
|
|
custom = hunt_every_hunter_tt
|
||
|
|
add_prestige = hunt_prestige_melee_group_value
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
save_scope_as = group_success
|
||
|
|
}
|
||
|
|
50 = { # Animal is slain
|
||
|
|
trigger = {
|
||
|
|
NOT = { exists = scope:group_capture }
|
||
|
|
}
|
||
|
|
desc = hunt_kill_success_melee
|
||
|
|
scope:activity ?= {
|
||
|
|
add_activity_log_entry = {
|
||
|
|
key = hunt_melee_group_log
|
||
|
|
score = 75
|
||
|
|
tags = { kill }
|
||
|
|
character = scope:animal_slayer
|
||
|
|
|
||
|
|
# Effect
|
||
|
|
every_in_list = {
|
||
|
|
list = animal_slayers
|
||
|
|
custom = hunt_every_hunter_tt
|
||
|
|
add_prestige = hunt_prestige_melee_group_value
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
save_scope_as = group_success
|
||
|
|
}
|
||
|
|
25 = { # ...but someone is injured
|
||
|
|
desc = hunt_kill_failure_melee_group
|
||
|
|
modifier = { add = hunt_melee_kill_prowess_value }
|
||
|
|
modifier = {
|
||
|
|
hunt_small_game_trigger = { VAR = $VAR$ }
|
||
|
|
factor = 0.1
|
||
|
|
}
|
||
|
|
modifier = { add = hunt_melee_danger_value }
|
||
|
|
# Effect
|
||
|
|
hidden_effect = {
|
||
|
|
scope:injury_target = {
|
||
|
|
if = { # Big animal injure big
|
||
|
|
limit = {
|
||
|
|
hunt_animal_type_dangerous_trigger = { VAR = $VAR$ }
|
||
|
|
}
|
||
|
|
hunt_wound_apply_effect = { SEVERE = yes }
|
||
|
|
}
|
||
|
|
else = { # Smol animal injure smol
|
||
|
|
hunt_wound_apply_effect = { SEVERE = no }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
scope:activity ?= {
|
||
|
|
add_activity_log_entry = {
|
||
|
|
key = hunt_melee_group_log
|
||
|
|
score = 75
|
||
|
|
tags = { kill }
|
||
|
|
character = scope:animal_slayer
|
||
|
|
|
||
|
|
# Effect
|
||
|
|
every_in_list = {
|
||
|
|
list = animal_slayers
|
||
|
|
custom = hunt_every_hunter_tt
|
||
|
|
add_prestige = hunt_prestige_melee_wound_group_value
|
||
|
|
}
|
||
|
|
}
|
||
|
|
hidden_effect = {
|
||
|
|
add_activity_log_entry = {
|
||
|
|
key = hunt_melee_group_wounded_log
|
||
|
|
score = 75
|
||
|
|
tags = { kill }
|
||
|
|
character = scope:injury_target
|
||
|
|
scope:injury_target = { hunt_wound_tooltip_effect = yes }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
custom_tooltip = hunt_random_attendee_injured_tt
|
||
|
|
save_scope_as = group_failure
|
||
|
|
}
|
||
|
|
10 = { # ...but someone is killed
|
||
|
|
desc = hunt_kill_critical_failure_melee_group
|
||
|
|
trigger = {
|
||
|
|
scope:hunt_kill_death_chance = flag:yes
|
||
|
|
NOT = {
|
||
|
|
hunt_small_game_trigger = { VAR = $VAR$ }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
modifier = { add = hunt_melee_kill_prowess_value }
|
||
|
|
custom_tooltip = hunt_random_attendee_killed_tt
|
||
|
|
scope:activity ?= {
|
||
|
|
add_activity_log_entry = {
|
||
|
|
key = hunt_melee_group_log
|
||
|
|
score = 75
|
||
|
|
tags = { kill }
|
||
|
|
character = scope:animal_slayer
|
||
|
|
}
|
||
|
|
hidden_effect = {
|
||
|
|
add_activity_log_entry = {
|
||
|
|
key = hunt_melee_group_killed_log
|
||
|
|
score = 75
|
||
|
|
tags = { kill }
|
||
|
|
character = scope:injury_target
|
||
|
|
|
||
|
|
# Effect
|
||
|
|
scope:injury_target = {
|
||
|
|
hunt_animal_death_effect = { VAR = $VAR$ }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
save_scope_as = group_critical
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
NOT = { exists = scope:group_capture }
|
||
|
|
}
|
||
|
|
hidden_effect = {
|
||
|
|
every_in_list = {
|
||
|
|
list = animal_slayers
|
||
|
|
custom = hunt_every_slay_beast_hunter_tt
|
||
|
|
# Complete activity intent if relevant
|
||
|
|
hunt_complete_slay_beast_intent_effect = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
scope:activity ?= {
|
||
|
|
every_attending_character = {
|
||
|
|
limit = { is_ai = no }
|
||
|
|
trigger_event = hunt.1202
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_animal_bow_kill_effect = {
|
||
|
|
save_scope_as = bow_kill
|
||
|
|
hunt_animal_kill_effect = { DEATH = $DEATH$ VAR = $VAR$ }
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = tourney_participant }
|
||
|
|
add_trait_xp = {
|
||
|
|
trait = tourney_participant
|
||
|
|
track = bow
|
||
|
|
value = { 1 3 }
|
||
|
|
}
|
||
|
|
hunter_progress_point_gain_effect = { CHANGE = 1 RANDOM_CHANGE = 1 } #Gives Hunter Lifestyle XP
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
hunter_progress_point_gain_effect = { CHANGE = 2 RANDOM_CHANGE = 1 } #Gives Hunter Lifestyle XP
|
||
|
|
}
|
||
|
|
# Determine who could be wounded
|
||
|
|
scope:activity ?= {
|
||
|
|
random_attending_character = {
|
||
|
|
limit = { is_alive = yes }
|
||
|
|
save_scope_as = injury_target
|
||
|
|
hunt_wound_select_effect = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = { # Separate win option to avoid Duel tooltips if very easy
|
||
|
|
limit = {
|
||
|
|
scope:hunt_kill_death_chance = flag:no
|
||
|
|
exists = scope:hunt_ending
|
||
|
|
scope:activity = {
|
||
|
|
hunt_story_trigger = { STORY = chase }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
scope:activity ?= {
|
||
|
|
add_activity_log_entry = {
|
||
|
|
key = hunt_bow_log
|
||
|
|
score = 75
|
||
|
|
tags = { kill }
|
||
|
|
character = scope:animal_slayer
|
||
|
|
|
||
|
|
# Effect
|
||
|
|
scope:animal_slayer = {
|
||
|
|
# Complete activity intent if relevant
|
||
|
|
if = {
|
||
|
|
limit = { has_activity_intent = slay_beast_intent }
|
||
|
|
show_as_tooltip = { complete_activity_intent = yes }
|
||
|
|
}
|
||
|
|
hunt_complete_slay_beast_intent_effect = yes
|
||
|
|
add_prestige = hunt_prestige_bow_value
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
save_scope_as = bow_success
|
||
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Hunts/ConstructionKits/ep2_event_grand_hunt_ck_arrow_shoot"
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
duel = {
|
||
|
|
skill = prowess
|
||
|
|
value = hunt_melee_kill_prowess_value
|
||
|
|
50 = { # Success
|
||
|
|
desc = hunt_kill_success_bow_tt
|
||
|
|
hunt_kill_bow_modifiers = yes # BOW
|
||
|
|
hunt_kill_hunter_modifiers = yes # HUNTER
|
||
|
|
compare_modifier = {
|
||
|
|
value = scope:duel_value
|
||
|
|
multiplier = 3.5
|
||
|
|
min = -25
|
||
|
|
}
|
||
|
|
scope:activity ?= {
|
||
|
|
add_activity_log_entry = {
|
||
|
|
key = hunt_bow_log
|
||
|
|
score = 75
|
||
|
|
tags = { kill }
|
||
|
|
character = scope:animal_slayer
|
||
|
|
|
||
|
|
# Effect
|
||
|
|
scope:animal_slayer = {
|
||
|
|
add_prestige = hunt_prestige_bow_value
|
||
|
|
# Complete activity intent if relevant
|
||
|
|
if = {
|
||
|
|
limit = { has_activity_intent = slay_beast_intent }
|
||
|
|
show_as_tooltip = { complete_activity_intent = yes }
|
||
|
|
}
|
||
|
|
hunt_complete_slay_beast_intent_effect = yes
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
has_activity_intent = impose_obedience_intent
|
||
|
|
scope:host.intent_target = {
|
||
|
|
NOT = { is_obedient_to = scope:host }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
scope:host.intent_target = {
|
||
|
|
add_opinion = {
|
||
|
|
target = scope:host
|
||
|
|
modifier = obedience_opinion
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
hunt_animal_slayer_memory_effect = yes
|
||
|
|
if = { #chance_to_gain_prowess_during_bear_hunts parameter check
|
||
|
|
limit = {
|
||
|
|
faith = { has_doctrine_parameter = chance_to_gain_prowess_during_bear_hunts }
|
||
|
|
scope:activity.var:animal_type = flag:bear
|
||
|
|
}
|
||
|
|
random = {
|
||
|
|
chance = 10
|
||
|
|
add_prowess_skill = 1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
save_scope_as = bow_success
|
||
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Hunts/ConstructionKits/ep2_event_grand_hunt_ck_arrow_impact_hit"
|
||
|
|
}
|
||
|
|
5 = { # Failure
|
||
|
|
desc = hunt_kill_failure_melee_group
|
||
|
|
trigger = { scope:hunt_kill_death_chance = flag:yes }
|
||
|
|
compare_modifier = {
|
||
|
|
value = scope:duel_value
|
||
|
|
multiplier = -1.5
|
||
|
|
min = 1
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
hunt_small_game_trigger = { VAR = $VAR$ }
|
||
|
|
factor = 0.1
|
||
|
|
}
|
||
|
|
modifier = { add = hunt_bow_danger_value }
|
||
|
|
custom_tooltip = hunt_random_attendee_injured_tt
|
||
|
|
hidden_effect = {
|
||
|
|
scope:host ?= {
|
||
|
|
send_interface_toast = {
|
||
|
|
title = hunt_kill_failure_melee_group
|
||
|
|
left_icon = scope:animal_slayer
|
||
|
|
right_icon = scope:injury_target
|
||
|
|
scope:activity = {
|
||
|
|
add_activity_log_entry = {
|
||
|
|
key = hunt_bow_log
|
||
|
|
score = 75
|
||
|
|
tags = { kill }
|
||
|
|
character = scope:animal_slayer
|
||
|
|
target = scope:injury_target
|
||
|
|
|
||
|
|
# Effect
|
||
|
|
scope:animal_slayer = {
|
||
|
|
custom_tooltip = hunt_kill_failure_bow
|
||
|
|
# Complete activity intent if relevant
|
||
|
|
hunt_complete_slay_beast_intent_effect = yes
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = { exists = scope:injury_target }
|
||
|
|
scope:injury_target = { hunt_wound_tooltip_effect = yes }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
save_scope_as = bow_failure
|
||
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Hunts/ConstructionKits/ep2_event_grand_hunt_ck_arrow_impact_miss"
|
||
|
|
}
|
||
|
|
50 = { # Critical Failure
|
||
|
|
desc = hunt_kill_critical_failure_bow_tt
|
||
|
|
trigger = {
|
||
|
|
NAND = {
|
||
|
|
exists = scope:hunt_ending
|
||
|
|
scope:activity ?= {
|
||
|
|
hunt_story_trigger = { STORY = chase }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
compare_modifier = {
|
||
|
|
value = scope:duel_value
|
||
|
|
multiplier = -3.5
|
||
|
|
min = 5
|
||
|
|
}
|
||
|
|
send_interface_toast = {
|
||
|
|
title = hunt_kill_miss_bow_tt
|
||
|
|
left_icon = scope:animal_slayer
|
||
|
|
scope:activity ?= {
|
||
|
|
add_activity_log_entry = {
|
||
|
|
key = hunt_bow_miss_log
|
||
|
|
score = 75
|
||
|
|
tags = { kill }
|
||
|
|
character = scope:animal_slayer
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
save_scope_as = bow_critical
|
||
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Hunts/ConstructionKits/ep2_event_grand_hunt_ck_arrow_impact_miss"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
scope:activity = {
|
||
|
|
every_attending_character = {
|
||
|
|
limit = { is_ai = no }
|
||
|
|
trigger_event = hunt.1200
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
animal_artifact_wealth_quality_effect = {
|
||
|
|
save_scope_value_as = {
|
||
|
|
name = quality
|
||
|
|
value = {
|
||
|
|
value = 0
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
exists = scope:excellent_animal_artifacts
|
||
|
|
}
|
||
|
|
add = 500
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
scope:owner.var:animal_type ?= flag:hare
|
||
|
|
AND = {
|
||
|
|
hunt_activity_bird_trigger = { VAR = scope:owner.var:animal_type }
|
||
|
|
NOR = {
|
||
|
|
hunt_activity_ground_bird_trigger = { VAR = scope:owner.var:animal_type }
|
||
|
|
hunt_activity_exotic_bird_trigger = { VAR = scope:owner.var:animal_type }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = { 0 30 }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
scope:owner.var:animal_type ?= flag:fox
|
||
|
|
hunt_activity_ground_bird_trigger = { VAR = scope:owner.var:animal_type }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = { 15 45 }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
scope:owner.var:animal_type ?= flag:roe
|
||
|
|
scope:owner.var:animal_type ?= flag:gazelle
|
||
|
|
# Pets
|
||
|
|
scope:owner.var:animal_type ?= flag:cat
|
||
|
|
scope:owner.var:animal_type ?= flag:dog
|
||
|
|
scope:owner.var:animal_type ?= flag:eagle
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = { 30 60 }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
scope:owner.var:animal_type ?= flag:wolf
|
||
|
|
scope:owner.var:animal_type ?= flag:hyena
|
||
|
|
scope:owner.var:animal_type ?= flag:lynx
|
||
|
|
# Exotic Birds
|
||
|
|
hunt_activity_exotic_bird_trigger = { VAR = scope:owner.var:animal_type }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = { 45 75 }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
scope:owner.var:animal_type ?= flag:bison
|
||
|
|
scope:owner.var:animal_type ?= flag:aurochs
|
||
|
|
scope:owner.var:animal_type ?= flag:stag
|
||
|
|
scope:owner.var:animal_type ?= flag:reindeer
|
||
|
|
scope:owner.var:animal_type ?= flag:antelope
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = { 60 90 }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
scope:owner.var:animal_type ?= flag:lion
|
||
|
|
scope:owner.var:animal_type ?= flag:tiger
|
||
|
|
scope:owner.var:animal_type ?= flag:bear
|
||
|
|
scope:owner.var:animal_type ?= flag:leopard
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = { 75 105 }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
scope:owner.var:animal_type ?= flag:boar
|
||
|
|
scope:owner.var:animal_type ?= flag:hart
|
||
|
|
scope:owner.var:animal_type ?= flag:elk
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = { 90 120 }
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = { scope:legendary ?= yes }
|
||
|
|
multiply = 2
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = { exists = scope:impressive_trophy }
|
||
|
|
multiply = 1.5
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = { exists = var:pet_name }
|
||
|
|
multiply = 2
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
save_scope_value_as = {
|
||
|
|
name = wealth
|
||
|
|
value = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
exists = scope:excellent_animal_artifacts
|
||
|
|
}
|
||
|
|
add = 500
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
# If our artifact already has a quality, set base wealth equal to 1/4th quality value.
|
||
|
|
limit = { exists = scope:quality }
|
||
|
|
add = scope:quality
|
||
|
|
multiply = 0.5
|
||
|
|
round = yes
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
add = 10 # Otherwise, set base wealth value to 10.
|
||
|
|
}
|
||
|
|
scope:creator = {
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = lifestyle_hunter }
|
||
|
|
add = 10
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = { # Falconry Exp
|
||
|
|
limit = {
|
||
|
|
exists = scope:activity
|
||
|
|
scope:activity = {
|
||
|
|
has_activity_type = activity_hunt
|
||
|
|
has_activity_option = { category = special_type option = hunt_type_falconry }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:creator = {
|
||
|
|
hunt_lifestyle_track_greater_equal_trigger = { TRACK = falconer GREATER_EQUAL = 50 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 10
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:creator = {
|
||
|
|
hunt_lifestyle_track_greater_equal_trigger = { TRACK = falconer GREATER_EQUAL = 100 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 10
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else = { # Hunter Exp
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:creator = {
|
||
|
|
hunt_lifestyle_track_greater_equal_trigger = { TRACK = hunter GREATER_EQUAL = 50 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 10
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:creator = {
|
||
|
|
hunt_lifestyle_track_greater_equal_trigger = { TRACK = hunter GREATER_EQUAL = 100 }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add = 10
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_animal_slayer_bow_opinion_effect = {
|
||
|
|
if = {
|
||
|
|
limit = { hunt_dharmic_pacificist_trigger = yes }
|
||
|
|
add_opinion = {
|
||
|
|
target = scope:host
|
||
|
|
modifier = hunt_dharmic_mercy_opinion
|
||
|
|
opinion = -15
|
||
|
|
}
|
||
|
|
stress_impact = { base = minor_stress_impact_gain }
|
||
|
|
add_character_flag = {
|
||
|
|
flag = dharmic_mercy_flag
|
||
|
|
weeks = 1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
scope:host = {
|
||
|
|
exists = intent_target
|
||
|
|
OR = {
|
||
|
|
has_activity_intent = befriend_attendee_intent
|
||
|
|
has_activity_intent = woo_attendee_intent
|
||
|
|
AND = {
|
||
|
|
has_activity_intent = impose_obedience_intent
|
||
|
|
scope:host.intent_target = { # They're not obedient to you already
|
||
|
|
NOT = { is_obedient_to = scope:host }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
this = scope:host.intent_target
|
||
|
|
}
|
||
|
|
save_scope_as = opinion_target
|
||
|
|
scope:host = {
|
||
|
|
switch = {
|
||
|
|
trigger = has_activity_intent
|
||
|
|
befriend_attendee_intent = {
|
||
|
|
progress_towards_friend_effect = {
|
||
|
|
REASON = friend_gave_hunt_kill_reason
|
||
|
|
CHARACTER = scope:opinion_target
|
||
|
|
OPINION = default_friend_opinion
|
||
|
|
}
|
||
|
|
}
|
||
|
|
woo_attendee_intent = {
|
||
|
|
progress_towards_lover_effect = {
|
||
|
|
REASON = friend_gave_hunt_kill_reason
|
||
|
|
CHARACTER = scope:opinion_target
|
||
|
|
OPINION = default_lover_opinion
|
||
|
|
}
|
||
|
|
}
|
||
|
|
impose_obedience_intent = {
|
||
|
|
scope:opinion_target = {
|
||
|
|
add_opinion = {
|
||
|
|
target = scope:host
|
||
|
|
modifier = obedience_opinion
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
$VAR$ = flag:hart
|
||
|
|
$VAR$ = flag:boar
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add_opinion = {
|
||
|
|
target = scope:host
|
||
|
|
modifier = hunt_honored_with_kill_opinion
|
||
|
|
opinion = 15
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
$VAR$ = flag:fox
|
||
|
|
$VAR$ = flag:hare
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add_opinion = {
|
||
|
|
target = scope:host
|
||
|
|
modifier = hunt_honored_with_kill_opinion
|
||
|
|
opinion = 5
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
add_opinion = {
|
||
|
|
target = scope:host
|
||
|
|
modifier = hunt_honored_with_kill_opinion
|
||
|
|
opinion = 10
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_animal_slayer_melee_opinion_effect = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
has_trait = craven
|
||
|
|
AND = {
|
||
|
|
NOT = { has_trait = lifestyle_hunter }
|
||
|
|
OR = {
|
||
|
|
scope:activity.var:animal_type = flag:hart
|
||
|
|
scope:activity.var:animal_type = flag:boar
|
||
|
|
}
|
||
|
|
}
|
||
|
|
hunt_dharmic_pacificist_trigger = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add_opinion = {
|
||
|
|
target = scope:host
|
||
|
|
modifier = hunt_forced_to_kill_opinion
|
||
|
|
opinion = -10
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
scope:host = {
|
||
|
|
exists = intent_target
|
||
|
|
OR = {
|
||
|
|
has_activity_intent = befriend_attendee_intent
|
||
|
|
has_activity_intent = woo_attendee_intent
|
||
|
|
AND = {
|
||
|
|
has_activity_intent = impose_obedience_intent
|
||
|
|
scope:host.intent_target = { # They're not obedient to you already
|
||
|
|
NOT = { is_obedient_to = scope:host }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
this = scope:host.intent_target
|
||
|
|
}
|
||
|
|
save_scope_as = opinion_target
|
||
|
|
scope:host = {
|
||
|
|
switch = {
|
||
|
|
trigger = has_activity_intent
|
||
|
|
befriend_attendee_intent = {
|
||
|
|
progress_towards_friend_effect = {
|
||
|
|
REASON = friend_gave_hunt_kill_reason
|
||
|
|
CHARACTER = scope:opinion_target
|
||
|
|
OPINION = default_friend_opinion
|
||
|
|
}
|
||
|
|
}
|
||
|
|
woo_attendee_intent = {
|
||
|
|
progress_towards_lover_effect = {
|
||
|
|
REASON = friend_gave_hunt_kill_reason
|
||
|
|
CHARACTER = scope:opinion_target
|
||
|
|
OPINION = default_lover_opinion
|
||
|
|
}
|
||
|
|
}
|
||
|
|
impose_obedience_intent = {
|
||
|
|
scope:opinion_target = {
|
||
|
|
add_opinion = {
|
||
|
|
target = scope:host
|
||
|
|
modifier = obedience_opinion
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
has_trait = lifestyle_hunter
|
||
|
|
has_trait = ambitious
|
||
|
|
has_trait = arrogant
|
||
|
|
has_trait = brave
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add_opinion = {
|
||
|
|
target = scope:host
|
||
|
|
modifier = hunt_honored_with_kill_opinion
|
||
|
|
opinion = 10
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_activity_method_effect = {
|
||
|
|
custom_tooltip = hunt_activity_$STORY$_tt
|
||
|
|
scope:activity = {
|
||
|
|
if = {
|
||
|
|
limit = { exists = var:hunt_activity_story }
|
||
|
|
remove_variable = hunt_activity_story
|
||
|
|
}
|
||
|
|
set_variable = {
|
||
|
|
name = hunt_activity_story
|
||
|
|
value = flag:$STORY$
|
||
|
|
}
|
||
|
|
add_activity_log_entry = {
|
||
|
|
key = hunt_$STORY$_method_selected_log
|
||
|
|
score = 25
|
||
|
|
tags = { method }
|
||
|
|
character = scope:host
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
activity_improve_relations_intent_effect = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
intent_target ?= $CHARACTER$
|
||
|
|
OR = {
|
||
|
|
has_activity_intent = befriend_attendee_intent
|
||
|
|
has_activity_intent = woo_attendee_intent
|
||
|
|
AND = {
|
||
|
|
has_activity_intent = impose_obedience_intent
|
||
|
|
scope:host.intent_target = { # They're not obedient to you already
|
||
|
|
NOT = { is_obedient_to = scope:host }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
switch = {
|
||
|
|
trigger = has_activity_intent
|
||
|
|
befriend_attendee_intent = {
|
||
|
|
progress_towards_friend_effect = {
|
||
|
|
REASON = $REASON$
|
||
|
|
CHARACTER = $CHARACTER$
|
||
|
|
OPINION = default_friend_opinion
|
||
|
|
}
|
||
|
|
}
|
||
|
|
woo_attendee_intent = {
|
||
|
|
progress_towards_lover_effect = {
|
||
|
|
REASON = $REASON$
|
||
|
|
CHARACTER = $CHARACTER$
|
||
|
|
OPINION = default_lover_opinion
|
||
|
|
}
|
||
|
|
}
|
||
|
|
impose_obedience_intent = {
|
||
|
|
scope:opinion_target = {
|
||
|
|
add_opinion = {
|
||
|
|
target = scope:host
|
||
|
|
modifier = obedience_opinion
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
NOT = { this = $CHARACTER$ }
|
||
|
|
}
|
||
|
|
reverse_add_opinion = {
|
||
|
|
modifier = $MODIFIER$
|
||
|
|
opinion = $OPINION$
|
||
|
|
target = $CHARACTER$
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Save master of the hunt or a fallback
|
||
|
|
hunt_activity_sighting_master_effect = {
|
||
|
|
add_character_flag = {
|
||
|
|
flag = recent_hunt_sighting
|
||
|
|
years = 3
|
||
|
|
}
|
||
|
|
save_scope_value_as = {
|
||
|
|
name = lifestyle
|
||
|
|
value = flag:$TYPE$
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
employs_court_position = master_of_hunt_court_position
|
||
|
|
court_position:master_of_hunt_court_position = { is_available_adult = yes }
|
||
|
|
}
|
||
|
|
court_position:master_of_hunt_court_position = { save_scope_as = sighting_character }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
employs_court_position = huntperson_camp_officer
|
||
|
|
court_position:huntperson_camp_officer = { is_available_adult = yes }
|
||
|
|
}
|
||
|
|
court_position:huntperson_camp_officer = { save_scope_as = sighting_character }
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
every_vassal_or_below = {
|
||
|
|
limit = {
|
||
|
|
is_available_adult = yes
|
||
|
|
has_trait = lifestyle_hunter
|
||
|
|
}
|
||
|
|
add_to_list = potential_sighting_givers
|
||
|
|
}
|
||
|
|
every_courtier = {
|
||
|
|
limit = {
|
||
|
|
is_available_adult = yes
|
||
|
|
has_trait = lifestyle_hunter
|
||
|
|
}
|
||
|
|
add_to_list = potential_sighting_givers
|
||
|
|
}
|
||
|
|
random_in_list = {
|
||
|
|
list = potential_sighting_givers
|
||
|
|
weight = {
|
||
|
|
base = 1
|
||
|
|
modifier = {
|
||
|
|
factor = 2
|
||
|
|
scope:lifestyle = flag:hunter
|
||
|
|
has_trait_xp = {
|
||
|
|
trait = lifestyle_hunter
|
||
|
|
track = hunter
|
||
|
|
value >= 25
|
||
|
|
}
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
factor = 2
|
||
|
|
scope:lifestyle = flag:falconer
|
||
|
|
has_trait_xp = {
|
||
|
|
trait = lifestyle_hunter
|
||
|
|
track = falconer
|
||
|
|
value >= 25
|
||
|
|
}
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
factor = 0
|
||
|
|
# Exclude clergy who don't fight
|
||
|
|
is_clergy = yes
|
||
|
|
NOR = {
|
||
|
|
faith = { has_doctrine_parameter = clergy_can_fight }
|
||
|
|
culture = { has_cultural_parameter = culture_clergy_can_fight }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
factor = 0.1
|
||
|
|
scope:lifestyle = flag:hunter
|
||
|
|
NOT = {
|
||
|
|
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = root }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
save_scope_as = sighting_character
|
||
|
|
}
|
||
|
|
}
|
||
|
|
scope:sighting_character ?= { save_scope_as = portrait_character }
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
NOT = { exists = scope:sighting_character }
|
||
|
|
is_ai = no
|
||
|
|
}
|
||
|
|
create_character = {
|
||
|
|
location = root.location
|
||
|
|
template = hunter_template
|
||
|
|
culture = root.location.culture
|
||
|
|
faith = root.location.faith
|
||
|
|
dynasty = none
|
||
|
|
save_scope_as = new_hunter
|
||
|
|
}
|
||
|
|
scope:new_hunter = { save_scope_as = portrait_character }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_dharmic_pacificism_effect = {
|
||
|
|
scope:activity ?= {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
any_attending_character = {
|
||
|
|
NOT = { scope:host ?= this }
|
||
|
|
hunt_dharmic_pacificist_trigger = yes
|
||
|
|
NOT = { has_character_flag = dharmic_mercy_flag }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
every_attending_character = {
|
||
|
|
limit = {
|
||
|
|
NOT = { scope:host ?= this }
|
||
|
|
hunt_dharmic_pacificist_trigger = yes
|
||
|
|
NOT = { has_character_flag = dharmic_mercy_flag }
|
||
|
|
}
|
||
|
|
custom = every_non_cynical_dharmic_attendee_tt
|
||
|
|
add_opinion = {
|
||
|
|
target = root
|
||
|
|
modifier = hunt_dharmic_mercy_opinion
|
||
|
|
opinion = -10
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
scope:host ?= { hunt_dharmic_pacificism_stress_effect = yes }
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_dharmic_pacificism_stress_effect = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
is_alive = yes
|
||
|
|
hunt_dharmic_pacificist_trigger = yes
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
NOT = { scope:host ?= this }
|
||
|
|
}
|
||
|
|
add_opinion = {
|
||
|
|
target = scope:host
|
||
|
|
modifier = hunt_dharmic_mercy_opinion
|
||
|
|
opinion = -15
|
||
|
|
}
|
||
|
|
}
|
||
|
|
stress_impact = { base = minor_stress_impact_gain }
|
||
|
|
add_character_flag = {
|
||
|
|
flag = dharmic_mercy_flag
|
||
|
|
weeks = 1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_humble_hunter_stress_effect = {
|
||
|
|
if = {
|
||
|
|
limit = { is_alive = yes }
|
||
|
|
stress_impact = {
|
||
|
|
lazy = miniscule_stress_impact_gain
|
||
|
|
humble = miniscule_stress_impact_gain
|
||
|
|
shy = miniscule_stress_impact_gain
|
||
|
|
generous = miniscule_stress_impact_gain
|
||
|
|
lifestyle_hunter = minor_stress_impact_loss
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_jealous_hunter_stress_effect = {
|
||
|
|
if = {
|
||
|
|
limit = { is_alive = yes }
|
||
|
|
stress_impact = {
|
||
|
|
diligent = miniscule_stress_impact_gain
|
||
|
|
arrogant = miniscule_stress_impact_gain
|
||
|
|
arbitrary = miniscule_stress_impact_gain
|
||
|
|
greedy = miniscule_stress_impact_gain
|
||
|
|
lifestyle_hunter = minor_stress_impact_gain
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_remove_variables_effect = {
|
||
|
|
scope:host = {
|
||
|
|
if = {
|
||
|
|
limit = { is_alive = yes }
|
||
|
|
if = {
|
||
|
|
limit = { has_character_flag = dangerous_road }
|
||
|
|
remove_character_flag = dangerous_road
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = { exists = var:animal_type }
|
||
|
|
remove_variable = animal_type
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = { has_variable = strife_loss_total }
|
||
|
|
remove_variable = strife_loss_total
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
scope:activity = {
|
||
|
|
every_attending_character = {
|
||
|
|
if = {
|
||
|
|
limit = { exists = var:animal_type }
|
||
|
|
remove_variable = animal_type
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_wound_select_effect = {
|
||
|
|
hidden_effect = {
|
||
|
|
random_list = {
|
||
|
|
50 = {
|
||
|
|
save_scope_value_as = {
|
||
|
|
name = wound
|
||
|
|
value = flag:wound
|
||
|
|
}
|
||
|
|
}
|
||
|
|
5 = {
|
||
|
|
trigger = {
|
||
|
|
NOT = { has_trait = incapable }
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
has_trait = wounded
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
save_scope_value_as = {
|
||
|
|
name = wound
|
||
|
|
value = flag:incapable
|
||
|
|
}
|
||
|
|
}
|
||
|
|
5 = {
|
||
|
|
trigger = {
|
||
|
|
NOT = { has_trait = maimed }
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
has_trait = wounded
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
save_scope_value_as = {
|
||
|
|
name = wound
|
||
|
|
value = flag:maimed
|
||
|
|
}
|
||
|
|
}
|
||
|
|
5 = {
|
||
|
|
trigger = {
|
||
|
|
NOT = { has_trait = one_eyed }
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
has_trait = wounded
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
save_scope_value_as = {
|
||
|
|
name = wound
|
||
|
|
value = flag:one_eyed
|
||
|
|
}
|
||
|
|
}
|
||
|
|
5 = {
|
||
|
|
trigger = {
|
||
|
|
NOT = { has_trait = one_legged }
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
has_trait = wounded
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
save_scope_value_as = {
|
||
|
|
name = wound
|
||
|
|
value = flag:one_legged
|
||
|
|
}
|
||
|
|
}
|
||
|
|
5 = {
|
||
|
|
trigger = {
|
||
|
|
NOT = { has_trait = disfigured }
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
has_trait = wounded
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
save_scope_value_as = {
|
||
|
|
name = wound
|
||
|
|
value = flag:disfigured
|
||
|
|
}
|
||
|
|
}
|
||
|
|
5 = {
|
||
|
|
save_scope_value_as = {
|
||
|
|
name = wound
|
||
|
|
value = flag:none
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_wound_apply_effect = {
|
||
|
|
if = {
|
||
|
|
limit = { has_character_flag = hunt_wound_ignored }
|
||
|
|
remove_character_flag = hunt_wound_ignored
|
||
|
|
}
|
||
|
|
save_scope_value_as = {
|
||
|
|
name = severe
|
||
|
|
value = $SEVERE$
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = { scope:severe = yes }
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
NOT = { scope:wound = flag:wound }
|
||
|
|
}
|
||
|
|
hidden_effect = {
|
||
|
|
change_trait_rank = {
|
||
|
|
trait = wounded
|
||
|
|
rank = 1
|
||
|
|
max = 3
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
switch = {
|
||
|
|
trigger = scope:wound
|
||
|
|
flag:wound = {
|
||
|
|
hidden_effect = {
|
||
|
|
change_trait_rank = {
|
||
|
|
trait = wounded
|
||
|
|
rank = 2
|
||
|
|
max = 3
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
flag:incapable = { add_trait_force_tooltip = incapable }
|
||
|
|
flag:maimed = { apply_maimed_trait_and_modifier_effect = yes }
|
||
|
|
flag:one_eyed = { add_trait_force_tooltip = one_eyed }
|
||
|
|
flag:one_legged = { add_trait_force_tooltip = one_legged }
|
||
|
|
flag:disfigured = { add_trait_force_tooltip = disfigured }
|
||
|
|
flag:none = {}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
hidden_effect = {
|
||
|
|
change_trait_rank = {
|
||
|
|
trait = wounded
|
||
|
|
rank = 1
|
||
|
|
max = 3
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = wounded_1 }
|
||
|
|
add_trait_force_tooltip = wounded_1
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { has_trait = wounded_2 }
|
||
|
|
add_trait_force_tooltip = wounded_2
|
||
|
|
}
|
||
|
|
else = { add_trait_force_tooltip = wounded_3 }
|
||
|
|
add_character_flag = {
|
||
|
|
flag = recent_hunt_wound
|
||
|
|
weeks = 1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_wound_tooltip_effect = {
|
||
|
|
show_as_tooltip = {
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = wounded_3 }
|
||
|
|
add_trait_force_tooltip = wounded_3
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { has_trait = wounded_2 }
|
||
|
|
add_trait_force_tooltip = wounded_2
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { has_trait = wounded_1 }
|
||
|
|
add_trait_force_tooltip = wounded_1
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = { scope:severe = yes }
|
||
|
|
switch = {
|
||
|
|
trigger = scope:wound
|
||
|
|
flag:wound = {}
|
||
|
|
flag:incapable = { add_trait_force_tooltip = incapable }
|
||
|
|
flag:maimed = { apply_maimed_trait_and_modifier_effect = yes }
|
||
|
|
flag:one_eyed = { add_trait_force_tooltip = one_eyed }
|
||
|
|
flag:one_legged = { add_trait_force_tooltip = one_legged }
|
||
|
|
flag:disfigured = { add_trait_force_tooltip = disfigured }
|
||
|
|
flag:none = {}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_story_tooltip_effect = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
hunt_story_trigger = { STORY = chase }
|
||
|
|
}
|
||
|
|
custom_tooltip = hunt_activity_chase_tt
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
hunt_story_trigger = { STORY = stealth }
|
||
|
|
}
|
||
|
|
custom_tooltip = hunt_activity_stealth_tt
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
hunt_story_trigger = { STORY = ambush }
|
||
|
|
}
|
||
|
|
custom_tooltip = hunt_activity_ambush_tt
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_save_murder_target_effect = {
|
||
|
|
hidden_effect = {
|
||
|
|
if = {
|
||
|
|
limit = { hunt_murder_intent_target_trigger = yes }
|
||
|
|
intent_target = { save_scope_as = murder_target }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
var:hunt_murder_attempt ?= {
|
||
|
|
is_alive = yes
|
||
|
|
is_participant_in_activity = scope:activity
|
||
|
|
}
|
||
|
|
}
|
||
|
|
var:hunt_murder_attempt = {
|
||
|
|
save_scope_as = murder_target
|
||
|
|
random_targeting_scheme = {
|
||
|
|
limit = {
|
||
|
|
scheme_type = murder
|
||
|
|
OR = {
|
||
|
|
scheme_owner = root
|
||
|
|
any_scheme_agent_character = { this = root }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
save_scope_as = scheme
|
||
|
|
every_scheme_agent_character = { add_to_list = murder_agents }
|
||
|
|
scheme_owner = { save_scope_as = murder_schemer }
|
||
|
|
hunt_save_hostile_accomplice_effect = {
|
||
|
|
SCHEME = murder
|
||
|
|
VICTIM = scope:murder_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { hunt_1012_hated_participant_trigger = yes }
|
||
|
|
var:participant_to_use_1011 = { save_scope_as = murder_target }
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
scope:activity = {
|
||
|
|
random_attending_character = {
|
||
|
|
limit = { has_relation_nemesis = root }
|
||
|
|
alternative_limit = { has_relation_rival = root }
|
||
|
|
save_scope_as = murder_target
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
NOT = { exists = scope:accomplice }
|
||
|
|
}
|
||
|
|
random_list = {
|
||
|
|
10 = {
|
||
|
|
trigger = {
|
||
|
|
primary_title = {
|
||
|
|
has_order_of_succession = election
|
||
|
|
any_election_candidate = { this = scope:murder_target }
|
||
|
|
any_elector = {
|
||
|
|
hunt_elective_accomplice_trigger = {
|
||
|
|
MURDERER = scope:murder_target
|
||
|
|
TARGET = root
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
primary_title = {
|
||
|
|
ordered_elector = {
|
||
|
|
limit = {
|
||
|
|
hunt_elective_accomplice_trigger = {
|
||
|
|
MURDERER = scope:murder_target
|
||
|
|
TARGET = root
|
||
|
|
}
|
||
|
|
}
|
||
|
|
order_by = intrigue
|
||
|
|
save_scope_as = accomplice
|
||
|
|
save_scope_as = elective_accomplice
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
10 = {
|
||
|
|
trigger = {
|
||
|
|
any_targeting_faction = {
|
||
|
|
hunt_claimant_faction_trigger = {
|
||
|
|
MURDERER = scope:murder_target
|
||
|
|
TARGET = root
|
||
|
|
}
|
||
|
|
any_faction_member = {
|
||
|
|
hunt_accomplice_general_trigger = {
|
||
|
|
MURDERER = scope:murder_target
|
||
|
|
TARGET = root
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
random_targeting_faction = {
|
||
|
|
limit = {
|
||
|
|
hunt_claimant_faction_trigger = {
|
||
|
|
MURDERER = scope:murder_target
|
||
|
|
TARGET = root
|
||
|
|
}
|
||
|
|
any_faction_member = {
|
||
|
|
hunt_accomplice_general_trigger = {
|
||
|
|
MURDERER = scope:murder_target
|
||
|
|
TARGET = root
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
ordered_faction_member = {
|
||
|
|
limit = {
|
||
|
|
hunt_accomplice_general_trigger = {
|
||
|
|
MURDERER = scope:murder_target
|
||
|
|
TARGET = root
|
||
|
|
}
|
||
|
|
}
|
||
|
|
order_by = intrigue
|
||
|
|
save_scope_as = accomplice
|
||
|
|
save_scope_as = claimant_accomplice
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
10 = {
|
||
|
|
trigger = {
|
||
|
|
scope:murder_target = {
|
||
|
|
any_relation = {
|
||
|
|
type = lover
|
||
|
|
type = friend
|
||
|
|
hunt_accomplice_general_trigger = {
|
||
|
|
MURDERER = scope:murder_target
|
||
|
|
TARGET = root
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
scope:murder_target = {
|
||
|
|
ordered_relation = {
|
||
|
|
type = lover
|
||
|
|
type = friend
|
||
|
|
limit = {
|
||
|
|
hunt_accomplice_general_trigger = {
|
||
|
|
MURDERER = scope:murder_target
|
||
|
|
TARGET = root
|
||
|
|
}
|
||
|
|
}
|
||
|
|
order_by = intrigue
|
||
|
|
save_scope_as = accomplice
|
||
|
|
save_scope_as = relation_accomplice
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
0 = {}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_save_physician_effect = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
exists = court_position:court_physician_court_position
|
||
|
|
court_position:court_physician_court_position = {
|
||
|
|
is_participant_in_activity = scope:activity
|
||
|
|
is_alive = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
court_position:court_physician_court_position = { save_scope_as = physician }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_physician_treatment_effect = {
|
||
|
|
scope:physician = {
|
||
|
|
duel = {
|
||
|
|
skill = learning
|
||
|
|
value = medium_skill_rating
|
||
|
|
20 = {
|
||
|
|
compare_modifier = {
|
||
|
|
value = scope:duel_value
|
||
|
|
multiplier = 3.5
|
||
|
|
min = -25
|
||
|
|
}
|
||
|
|
min = 5
|
||
|
|
desc = hunt.4014.c.success
|
||
|
|
scope:host = {
|
||
|
|
send_interface_toast = {
|
||
|
|
title = hunt.4014.c.success
|
||
|
|
left_icon = scope:patient
|
||
|
|
right_icon = scope:physician
|
||
|
|
scope:patient = {
|
||
|
|
change_trait_rank = {
|
||
|
|
trait = wounded
|
||
|
|
rank = -1
|
||
|
|
max = 1
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
this != scope:host
|
||
|
|
}
|
||
|
|
add_opinion = {
|
||
|
|
target = scope:host
|
||
|
|
modifier = grateful_opinion
|
||
|
|
opinion = 10
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add_opinion = {
|
||
|
|
target = scope:physician
|
||
|
|
modifier = grateful_opinion
|
||
|
|
opinion = 10
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
15 = {
|
||
|
|
compare_modifier = {
|
||
|
|
value = scope:duel_value
|
||
|
|
multiplier = -3.5
|
||
|
|
min = -25
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
factor = 0.5
|
||
|
|
has_trait = lifestyle_physician
|
||
|
|
}
|
||
|
|
min = 5
|
||
|
|
desc = hunt.4014.c.failure
|
||
|
|
scope:host = {
|
||
|
|
send_interface_toast = {
|
||
|
|
title = hunt.4014.c.failure
|
||
|
|
left_icon = scope:patient
|
||
|
|
right_icon = scope:physician
|
||
|
|
scope:patient = {
|
||
|
|
add_character_modifier = { modifier = infected_wound_modifier }
|
||
|
|
add_opinion = {
|
||
|
|
target = scope:physician
|
||
|
|
modifier = failed_to_treat_me_opinion
|
||
|
|
opinion = -15
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_friendly_intent_effect = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
has_activity_intent = woo_attendee_intent
|
||
|
|
intent_target ?= $TARGET$
|
||
|
|
}
|
||
|
|
progress_towards_lover_effect = {
|
||
|
|
REASON = $REASON$
|
||
|
|
CHARACTER = $TARGET$
|
||
|
|
OPINION = default_lover_opinion
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
has_activity_intent = befriend_attendee_intent
|
||
|
|
intent_target ?= $TARGET$
|
||
|
|
}
|
||
|
|
progress_towards_friend_effect = {
|
||
|
|
REASON = $REASON$
|
||
|
|
CHARACTER = $TARGET$
|
||
|
|
OPINION = default_friend_opinion
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
can_add_hook = { target = $TARGET$ type = favor_hook }
|
||
|
|
}
|
||
|
|
add_hook = { type = favor_hook target = $TARGET$ }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
# Give hunt xp to every attending character
|
||
|
|
hunt_all_attendee_xp_effect = {
|
||
|
|
hidden_effect = {
|
||
|
|
scope:activity = {
|
||
|
|
every_attending_character = {
|
||
|
|
limit = {
|
||
|
|
is_alive = yes
|
||
|
|
NOT = { has_character_flag = not_slaying }
|
||
|
|
trigger_if = {
|
||
|
|
limit = {
|
||
|
|
NOT = {
|
||
|
|
scope:activity = {
|
||
|
|
has_activity_option = { category = special_type option = hunt_type_falconry }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = scope:host }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
add_to_list = animal_slayers
|
||
|
|
}
|
||
|
|
activity_host = { add_to_list = animal_slayers }
|
||
|
|
}
|
||
|
|
every_in_list = {
|
||
|
|
list = animal_slayers
|
||
|
|
if = {
|
||
|
|
limit = { has_trait = lifestyle_hunter }
|
||
|
|
send_interface_toast = {
|
||
|
|
title = hunter_xp_gain_message
|
||
|
|
hunter_progress_point_gain_effect = { CHANGE = $CHANGE$ RANDOM_CHANGE = $RANDOM$ } #Gives points towards ranking up the Hunter Lifestyle
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
hunter_progress_point_gain_effect = { CHANGE = $CHANGE$ RANDOM_CHANGE = $RANDOM$ } #Gives points towards ranking up the Hunter Lifestyle
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_intent_outcome_tooltip_effect = {
|
||
|
|
if = { # Murder
|
||
|
|
limit = { has_activity_intent = murder_attendee_intent }
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
exists = intent_target.killer
|
||
|
|
intent_target.killer = root
|
||
|
|
}
|
||
|
|
custom_tooltip = intent_murder_success_tt
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
exists = intent_target.killer
|
||
|
|
intent_target.killer = { is_alive = no }
|
||
|
|
}
|
||
|
|
custom_tooltip = intent_murder_dead_tt
|
||
|
|
}
|
||
|
|
else = { custom_tooltip = intent_murder_fail_tt }
|
||
|
|
}
|
||
|
|
if = { # Impose Obedience
|
||
|
|
limit = { has_activity_intent = impose_obedience_intent }
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
intent_target = { is_obedient_to = root }
|
||
|
|
}
|
||
|
|
custom_tooltip = intent_obedience_success_tt
|
||
|
|
}
|
||
|
|
else = { custom_tooltip = intent_obedience_fail_tt }
|
||
|
|
}
|
||
|
|
else_if = { # Woo
|
||
|
|
limit = { has_activity_intent = woo_attendee_intent }
|
||
|
|
if = {
|
||
|
|
limit = { has_relation_lover = intent_target }
|
||
|
|
custom_tooltip = intent_woo_success_tt
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { has_relation_potential_friend = intent_target }
|
||
|
|
custom_tooltip = intent_woo_potential_tt
|
||
|
|
}
|
||
|
|
else = { custom_tooltip = intent_woo_fail_tt }
|
||
|
|
}
|
||
|
|
else_if = { # Befriend
|
||
|
|
limit = { has_activity_intent = befriend_attendee_intent }
|
||
|
|
if = {
|
||
|
|
limit = { has_relation_friend = intent_target }
|
||
|
|
custom_tooltip = intent_befriend_success_tt
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { has_relation_potential_friend = intent_target }
|
||
|
|
custom_tooltip = intent_befriend_potential_tt
|
||
|
|
}
|
||
|
|
else = { custom_tooltip = intent_befriend_fail_tt }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_participant_to_blame_effect = {
|
||
|
|
scope:activity = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
any_attending_character = {
|
||
|
|
NOR = {
|
||
|
|
this = root
|
||
|
|
this = scope:murder_target
|
||
|
|
}
|
||
|
|
is_alive = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
every_attending_character = {
|
||
|
|
limit = {
|
||
|
|
NOR = {
|
||
|
|
this = root
|
||
|
|
this = scope:murder_target
|
||
|
|
}
|
||
|
|
is_alive = yes
|
||
|
|
}
|
||
|
|
add_to_list = potential_blamees
|
||
|
|
}
|
||
|
|
random_in_list = {
|
||
|
|
list = potential_blamees
|
||
|
|
limit = { #Blame someone you don't like!
|
||
|
|
OR = {
|
||
|
|
has_relation_rival = root
|
||
|
|
has_relation_potential_rival = root
|
||
|
|
reverse_opinion = {
|
||
|
|
target = root
|
||
|
|
value <= -30
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
alternative_limit = {
|
||
|
|
reverse_opinion = {
|
||
|
|
target = root
|
||
|
|
value <= -10
|
||
|
|
}
|
||
|
|
}
|
||
|
|
alternative_limit = { always = yes } #Just pick whomever at this stage
|
||
|
|
weight = {
|
||
|
|
base = 10
|
||
|
|
modifier = {
|
||
|
|
add = -9
|
||
|
|
OR = {
|
||
|
|
has_relation_friend = root
|
||
|
|
has_relation_potential_friend = root
|
||
|
|
has_relation_lover = root
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
save_scope_as = participant_to_blame
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_murder_confession_opinion_effect = {
|
||
|
|
scope:activity = {
|
||
|
|
every_attending_character = { #All honorable participants lose opinion
|
||
|
|
limit = {
|
||
|
|
this != root
|
||
|
|
this != scope:murder_target
|
||
|
|
is_alive = yes
|
||
|
|
ai_honor >= high_positive_honor
|
||
|
|
}
|
||
|
|
custom = hunt.1014.all_honorable_hunt_participants
|
||
|
|
add_opinion = {
|
||
|
|
modifier = opinion_acting_strange
|
||
|
|
target = root
|
||
|
|
}
|
||
|
|
}
|
||
|
|
every_attending_character = { #All evil participants gain opinion
|
||
|
|
limit = {
|
||
|
|
this != root
|
||
|
|
this != scope:murder_target
|
||
|
|
is_alive = yes
|
||
|
|
OR = {
|
||
|
|
has_trait = sadistic
|
||
|
|
opinion = {
|
||
|
|
target = scope:murder_target
|
||
|
|
value <= -30
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
custom = hunt.1014.all_who_dislike_or_are_evil
|
||
|
|
add_opinion = {
|
||
|
|
modifier = cruelty_opinion
|
||
|
|
target = root
|
||
|
|
opinion = 10
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_increment_murder_accident_attempt = {
|
||
|
|
if = {
|
||
|
|
limit = { exists = var:hunt_murder_accident_attempt }
|
||
|
|
change_variable = {
|
||
|
|
name = hunt_murder_accident_attempt
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
set_variable = {
|
||
|
|
name = hunt_murder_accident_attempt
|
||
|
|
value = var:hunt_murder_accident_attempt
|
||
|
|
years = 10
|
||
|
|
}
|
||
|
|
custom_tooltip = hunt_attempted_accident_murder_tt
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
set_variable = {
|
||
|
|
name = hunt_murder_accident_attempt
|
||
|
|
value = 1
|
||
|
|
years = 10
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_animal_from_death_effect = {
|
||
|
|
$DEAD$ = {
|
||
|
|
switch = {
|
||
|
|
trigger = death_reason
|
||
|
|
death_deer = {
|
||
|
|
$TARGET$ = { set_variable = { name = animal_type value = flag:stag } }
|
||
|
|
}
|
||
|
|
death_moose = {
|
||
|
|
$TARGET$ = { set_variable = { name = animal_type value = flag:elk } }
|
||
|
|
}
|
||
|
|
death_bear = {
|
||
|
|
$TARGET$ = { set_variable = { name = animal_type value = flag:bear } }
|
||
|
|
}
|
||
|
|
death_boar = {
|
||
|
|
$TARGET$ = { set_variable = { name = animal_type value = flag:boar } }
|
||
|
|
}
|
||
|
|
death_antelope = {
|
||
|
|
$TARGET$ = { set_variable = { name = animal_type value = flag:antelope } }
|
||
|
|
}
|
||
|
|
death_gazelle = {
|
||
|
|
$TARGET$ = { set_variable = { name = animal_type value = flag:gazelle } }
|
||
|
|
}
|
||
|
|
death_bison = {
|
||
|
|
$TARGET$ = { set_variable = { name = animal_type value = flag:bison } }
|
||
|
|
}
|
||
|
|
death_aurochs = {
|
||
|
|
$TARGET$ = { set_variable = { name = animal_type value = flag:aurochs } }
|
||
|
|
}
|
||
|
|
death_wolf = {
|
||
|
|
$TARGET$ = { set_variable = { name = animal_type value = flag:wolf } }
|
||
|
|
}
|
||
|
|
death_hyena = {
|
||
|
|
$TARGET$ = { set_variable = { name = animal_type value = flag:hyena } }
|
||
|
|
}
|
||
|
|
death_lion = {
|
||
|
|
$TARGET$ = { set_variable = { name = animal_type value = flag:lion } }
|
||
|
|
}
|
||
|
|
death_tiger = {
|
||
|
|
$TARGET$ = { set_variable = { name = animal_type value = flag:tiger } }
|
||
|
|
}
|
||
|
|
death_leopard = {
|
||
|
|
$TARGET$ = { set_variable = { name = animal_type value = flag:leopard } }
|
||
|
|
}
|
||
|
|
death_lynx = {
|
||
|
|
$TARGET$ = { set_variable = { name = animal_type value = flag:lynx } }
|
||
|
|
}
|
||
|
|
death_roe = {
|
||
|
|
$TARGET$ = { set_variable = { name = animal_type value = flag:roe } }
|
||
|
|
}
|
||
|
|
death_hart = {
|
||
|
|
$TARGET$ = { set_variable = { name = animal_type value = flag:hart } }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_chance_for_no_pelt_effect = {
|
||
|
|
# Chance for no pelt reward
|
||
|
|
if = {
|
||
|
|
limit = { has_royal_court = yes }
|
||
|
|
random = {
|
||
|
|
chance = 50
|
||
|
|
custom_tooltip = hunt_pelt_damaged_tt
|
||
|
|
scope:activity = { set_variable = pelt_damaged }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_no_pelt_effect = {
|
||
|
|
if = {
|
||
|
|
limit = { has_royal_court = yes }
|
||
|
|
custom_tooltip = hunt_pelt_damaged_tt
|
||
|
|
scope:activity = { set_variable = pelt_damaged }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_no_skull_effect = {
|
||
|
|
if = {
|
||
|
|
limit = { has_royal_court = yes }
|
||
|
|
custom_tooltip = hunt_skull_damaged_tt
|
||
|
|
scope:activity = { set_variable = skull_damaged }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_save_master_or_hunter_courtier_effect = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
employs_court_position = master_of_hunt_court_position
|
||
|
|
court_position:master_of_hunt_court_position = { is_available = yes }
|
||
|
|
}
|
||
|
|
court_position:master_of_hunt_court_position = { save_scope_as = m_hunt }
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
random_courtier = {
|
||
|
|
limit = {
|
||
|
|
is_adult = yes
|
||
|
|
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = root }
|
||
|
|
}
|
||
|
|
weight = {
|
||
|
|
base = 10
|
||
|
|
modifier = {
|
||
|
|
factor = 2
|
||
|
|
has_trait = lifestyle_hunter
|
||
|
|
}
|
||
|
|
# Not priest
|
||
|
|
modifier = {
|
||
|
|
factor = 0
|
||
|
|
is_clergy = yes
|
||
|
|
}
|
||
|
|
modifier = {
|
||
|
|
factor = 0
|
||
|
|
hunt_dharmic_pacificist_trigger = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
save_scope_as = m_hunt
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_murder_add_and_reveal_attempted_murder = {
|
||
|
|
if = {
|
||
|
|
limit = { is_alive = yes }
|
||
|
|
hidden_effect = {
|
||
|
|
add_secret = {
|
||
|
|
type = secret_murder_attempt
|
||
|
|
target = root
|
||
|
|
}
|
||
|
|
}
|
||
|
|
random_secret = {
|
||
|
|
type = secret_murder_attempt
|
||
|
|
limit = {
|
||
|
|
secret_target = root
|
||
|
|
}
|
||
|
|
reveal_to_without_events_effect = { CHARACTER = root }
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
exists = scope:bodyguard_appears
|
||
|
|
exists = scope:bodyguard
|
||
|
|
scope:bodyguard = { is_alive = yes }
|
||
|
|
}
|
||
|
|
reveal_to_without_events_effect = { CHARACTER = scope:bodyguard }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_gift_trophy_opinion_effect = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
$RECIPIENT$ != scope:host
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
hunt_dharmic_pacificist_trigger = yes
|
||
|
|
}
|
||
|
|
add_opinion = {
|
||
|
|
target = scope:host
|
||
|
|
modifier = hunt_dharmic_mercy_opinion
|
||
|
|
opinion = -10
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
scope:activity = {
|
||
|
|
has_activity_option = { category = special_type option = hunt_type_legendary }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
activity_improve_relations_intent_effect = {
|
||
|
|
CHARACTER = scope:host
|
||
|
|
REASON = friend_gave_hunt_trophy_reason
|
||
|
|
OPINION = 20
|
||
|
|
MODIFIER = hunt_gifted_trophy_opinion
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
$RECIPIENT$ = { is_adult = yes }
|
||
|
|
scope:newly_created_artifact = {
|
||
|
|
OR = {
|
||
|
|
artifact_type = animal_trinket
|
||
|
|
artifact_type = bird_feather
|
||
|
|
}
|
||
|
|
}
|
||
|
|
NOT = {
|
||
|
|
hunt_animal_type_predator_trigger = { VAR = scope:activity.var:animal_type }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
activity_improve_relations_intent_effect = {
|
||
|
|
CHARACTER = scope:host
|
||
|
|
REASON = friend_gave_hunt_trophy_reason
|
||
|
|
OPINION = 5
|
||
|
|
MODIFIER = hunt_gifted_trophy_opinion
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
$RECIPIENT$ = { is_adult = yes }
|
||
|
|
scope:newly_created_artifact = {
|
||
|
|
hunt_activity_large_game_trigger = { VAR = var:animal_type }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
activity_improve_relations_intent_effect = {
|
||
|
|
CHARACTER = scope:host
|
||
|
|
REASON = friend_gave_hunt_trophy_reason
|
||
|
|
OPINION = 15
|
||
|
|
MODIFIER = hunt_gifted_trophy_opinion
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
activity_improve_relations_intent_effect = {
|
||
|
|
CHARACTER = scope:host
|
||
|
|
REASON = friend_gave_hunt_trophy_reason
|
||
|
|
OPINION = 10
|
||
|
|
MODIFIER = hunt_gifted_trophy_opinion
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_complete_remove_sightings_effect = { # Remove sightings
|
||
|
|
scope:activity = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
activity_location.county.var:sighting_owner ?= scope:host
|
||
|
|
OR = {
|
||
|
|
# Standard/dangerous
|
||
|
|
AND = {
|
||
|
|
has_activity_option = { category = special_type option = hunt_type_standard }
|
||
|
|
activity_location.county = {
|
||
|
|
OR = {
|
||
|
|
has_county_modifier = hunt_sighting_standard_modifier
|
||
|
|
has_county_modifier = hunt_sighting_dangerous_modifier
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Falconry
|
||
|
|
AND = {
|
||
|
|
has_activity_option = { category = special_type option = hunt_type_falconry }
|
||
|
|
activity_location.county = { has_county_modifier = hunt_sighting_falconry_modifier }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Remove sighting and trackers
|
||
|
|
activity_location.county = { hunt_remove_sighting_effect = yes }
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
has_activity_option = { category = special_type option = hunt_type_legendary }
|
||
|
|
NOT = { exists = var:hunt_4013 } # Sighting already created
|
||
|
|
}
|
||
|
|
# Create new sighting
|
||
|
|
activity_location.county = {
|
||
|
|
hunt_create_sighting_effect = {
|
||
|
|
TYPE = legendary
|
||
|
|
ANIMAL = scope:activity.var:animal_type
|
||
|
|
OWNER = scope:host
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_outcome_scope_effect = {
|
||
|
|
# Scopes
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
exists = scope:activity.var:accident_target
|
||
|
|
scope:activity.var:accident_target != scope:host
|
||
|
|
}
|
||
|
|
scope:activity.var:accident_target = { save_scope_as = wounded_courtier }
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = { exists = scope:activity.var:participant_to_use }
|
||
|
|
scope:activity.var:participant_to_use = { save_scope_as = hunt_participant }
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
hunt_activity_random_subordinate_participant_effect = {
|
||
|
|
ARCHETYPE = hunter
|
||
|
|
COMBATANT = yes
|
||
|
|
SCOPE = hunt_participant
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
exists = intent_target
|
||
|
|
this != intent_target
|
||
|
|
}
|
||
|
|
intent_target = {
|
||
|
|
save_scope_as = intentee
|
||
|
|
save_scope_as = pertinent
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = { exists = scope:hunt_participant }
|
||
|
|
save_scope_as = pertinent
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_complete_slay_beast_intent_effect = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
exists = involved_activity
|
||
|
|
has_activity_intent = slay_beast_intent
|
||
|
|
is_alive = yes
|
||
|
|
}
|
||
|
|
save_scope_as = intent_completer
|
||
|
|
hidden_effect = {
|
||
|
|
send_interface_toast = {
|
||
|
|
title = activity_intent_complete_toast
|
||
|
|
left_icon = scope:intent_completer
|
||
|
|
complete_activity_intent = yes
|
||
|
|
if = {
|
||
|
|
limit = { exists = scope:group_kill }
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
involved_activity.var:animal_type ?= flag:hare
|
||
|
|
involved_activity.var:animal_type ?= flag:fox
|
||
|
|
}
|
||
|
|
}
|
||
|
|
stress_impact = { base = miniscule_stress_impact_loss }
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
stress_impact = { base = minor_stress_impact_loss }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
involved_activity.var:animal_type ?= flag:hare
|
||
|
|
involved_activity.var:animal_type ?= flag:fox
|
||
|
|
}
|
||
|
|
}
|
||
|
|
stress_impact = { base = minor_stress_impact_loss }
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
stress_impact = { base = major_stress_impact_loss }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
show_as_tooltip = {
|
||
|
|
if = {
|
||
|
|
limit = { exists = scope:group_kill }
|
||
|
|
stress_impact = { base = minor_stress_impact_loss }
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
stress_impact = { base = major_stress_impact_loss }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_animal_slayer_memory_effect = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
is_alive = yes
|
||
|
|
scope:activity.var:hunt_success ?= flag:yes
|
||
|
|
exists = scope:activity.var:kill_animal_type
|
||
|
|
}
|
||
|
|
create_character_memory = {
|
||
|
|
type = hunt_animal_slayer_memory
|
||
|
|
|
||
|
|
participants = {
|
||
|
|
animal_slayer = scope:animal_slayer
|
||
|
|
host = scope:host
|
||
|
|
}
|
||
|
|
}
|
||
|
|
ordered_memory = {
|
||
|
|
memory_type = hunt_animal_slayer_memory
|
||
|
|
order_by = memory_creation_date
|
||
|
|
save_scope_as = new_memory
|
||
|
|
set_variable = {
|
||
|
|
name = animal_type
|
||
|
|
value = scope:activity.var:kill_animal_type
|
||
|
|
}
|
||
|
|
set_variable = {
|
||
|
|
name = location
|
||
|
|
value = scope:activity.activity_location
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_trophy_recipient_scope_effect = {
|
||
|
|
# Save potential gift recipient
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
intent_target ?= { is_alive = yes }
|
||
|
|
OR = {
|
||
|
|
has_activity_intent = woo_attendee_intent
|
||
|
|
has_activity_intent = befriend_attendee_intent
|
||
|
|
AND = {
|
||
|
|
has_activity_intent = impose_obedience_intent
|
||
|
|
scope:host.intent_target = { # They're not obedient to you already
|
||
|
|
NOT = { is_obedient_to = scope:host }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
intent_target = { save_scope_as = trophy_recipient }
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
every_child = {
|
||
|
|
limit = { hunt_trophy_recipient_trigger = yes }
|
||
|
|
add_to_list = trophy_recipients
|
||
|
|
}
|
||
|
|
every_consort = {
|
||
|
|
limit = { hunt_trophy_recipient_trigger = yes }
|
||
|
|
add_to_list = trophy_recipients
|
||
|
|
}
|
||
|
|
every_close_family_member = {
|
||
|
|
limit = { hunt_trophy_recipient_trigger = yes }
|
||
|
|
add_to_list = trophy_recipients
|
||
|
|
}
|
||
|
|
every_relation = {
|
||
|
|
type = friend
|
||
|
|
type = lover
|
||
|
|
type = potential_friend
|
||
|
|
type = potential_lover
|
||
|
|
add_to_list = trophy_recipients
|
||
|
|
}
|
||
|
|
random_in_list = {
|
||
|
|
list = trophy_recipients
|
||
|
|
limit = {
|
||
|
|
trigger_if = {
|
||
|
|
limit = {
|
||
|
|
exists = scope:newly_created_artifact
|
||
|
|
scope:newly_created_artifact = {
|
||
|
|
OR = {
|
||
|
|
artifact_type = animal_hide_big
|
||
|
|
artifact_type = animal_hide
|
||
|
|
artifact_type = animal_skull
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
has_royal_court = yes
|
||
|
|
}
|
||
|
|
NOR = {
|
||
|
|
scope:animal_slayer ?= this
|
||
|
|
hunt_dharmic_pacificist_trigger = yes
|
||
|
|
}
|
||
|
|
this != root
|
||
|
|
}
|
||
|
|
alternative_limit = {
|
||
|
|
NOT = { scope:animal_slayer ?= this }
|
||
|
|
this != root
|
||
|
|
}
|
||
|
|
weight = {
|
||
|
|
base = 1
|
||
|
|
modifier = {
|
||
|
|
add = 10
|
||
|
|
OR = {
|
||
|
|
has_relation_potential_friend = root
|
||
|
|
has_relation_potential_lover = root
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
save_scope_as = trophy_recipient
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_create_trophy_effect = {
|
||
|
|
# Scopes for artifact loc
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
NOT = { exists = scope:animal_slayer }
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = { exists = scope:credit_taker }
|
||
|
|
scope:credit_taker = { save_scope_as = animal_slayer }
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
scope:host = { save_scope_as = animal_slayer }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
# Create trophy artifact
|
||
|
|
hidden_effect = {
|
||
|
|
random_list = {
|
||
|
|
100 = { # Create Skull
|
||
|
|
trigger = {
|
||
|
|
has_royal_court = yes
|
||
|
|
exists = scope:activity.var:animal_type
|
||
|
|
can_animal_produce_skull_trigger = { VARIABLE = scope:activity.var:animal_type }
|
||
|
|
scope:activity = {
|
||
|
|
NOR = {
|
||
|
|
AND = {
|
||
|
|
hunt_activity_deer_game_trigger = { VAR = var:animal_type }
|
||
|
|
exists = scope:activity.var:female_quarry
|
||
|
|
}
|
||
|
|
exists = var:skull_damaged
|
||
|
|
has_activity_option = { category = special_type option = hunt_type_falconry }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
modifier = { # Already have one of the same
|
||
|
|
factor = 0.5
|
||
|
|
any_character_artifact = {
|
||
|
|
artifact_type = animal_skull
|
||
|
|
exists = var:animal_type
|
||
|
|
var:animal_type = scope:activity.var:animal_type
|
||
|
|
}
|
||
|
|
}
|
||
|
|
create_artifact_wall_skull_effect = {
|
||
|
|
OWNER = root
|
||
|
|
HUNTER = scope:animal_slayer
|
||
|
|
LEGENDARY = no
|
||
|
|
ANIMAL = scope:activity.var:animal_type
|
||
|
|
}
|
||
|
|
}
|
||
|
|
100 = { # Create Hide
|
||
|
|
trigger = {
|
||
|
|
has_royal_court = yes
|
||
|
|
exists = scope:activity.var:animal_type
|
||
|
|
scope:activity = {
|
||
|
|
NOR = {
|
||
|
|
exists = scope:activity.var:pelt_damaged
|
||
|
|
has_activity_option = { category = special_type option = hunt_type_falconry }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
modifier = { # Already have one
|
||
|
|
factor = 0.5
|
||
|
|
trigger_if = {
|
||
|
|
limit = {
|
||
|
|
hunt_hide_big_trigger = { VARIABLE = scope:activity.var:animal_type }
|
||
|
|
}
|
||
|
|
any_character_artifact = {
|
||
|
|
artifact_type = animal_hide_big
|
||
|
|
exists = var:animal_type
|
||
|
|
var:animal_type = scope:activity.var:animal_type
|
||
|
|
}
|
||
|
|
}
|
||
|
|
trigger_else = {
|
||
|
|
any_character_artifact = {
|
||
|
|
artifact_type = animal_hide
|
||
|
|
exists = var:animal_type
|
||
|
|
var:animal_type = scope:activity.var:animal_type
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
create_artifact_animal_hide_effect = {
|
||
|
|
OWNER = root
|
||
|
|
HUNTER = scope:animal_slayer
|
||
|
|
LEGENDARY = no
|
||
|
|
ANIMAL = scope:activity.var:animal_type
|
||
|
|
}
|
||
|
|
}
|
||
|
|
5 = { # Create Trinket
|
||
|
|
trigger = {
|
||
|
|
scope:activity = { # Must be hare if Falconry
|
||
|
|
trigger_if = {
|
||
|
|
limit = {
|
||
|
|
has_activity_option = { category = special_type option = hunt_type_falconry }
|
||
|
|
}
|
||
|
|
var:animal_type = flag:hare
|
||
|
|
}
|
||
|
|
NAND = {
|
||
|
|
hunt_activity_deer_game_trigger = { VAR = var:animal_type }
|
||
|
|
exists = scope:activity.var:female_quarry
|
||
|
|
}
|
||
|
|
NOT = {
|
||
|
|
has_activity_option = { category = special_type option = hunt_type_falconry }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
create_artifact_animal_trinket_effect = {
|
||
|
|
OWNER = root
|
||
|
|
HUNTER = scope:animal_slayer
|
||
|
|
LEGENDARY = no
|
||
|
|
ANIMAL = scope:activity.var:animal_type
|
||
|
|
}
|
||
|
|
}
|
||
|
|
5 = { # Create Feather
|
||
|
|
trigger = {
|
||
|
|
scope:activity = {
|
||
|
|
has_activity_option = { category = special_type option = hunt_type_falconry }
|
||
|
|
}
|
||
|
|
NOT = { scope:activity.var:animal_type = flag:hare }
|
||
|
|
}
|
||
|
|
create_artifact_bird_feather_effect = {
|
||
|
|
OWNER = root
|
||
|
|
HUNTER = root
|
||
|
|
ANIMAL = scope:activity.var:animal_type
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = { exists = scope:newly_created_artifact }
|
||
|
|
scope:activity = {
|
||
|
|
add_to_variable_list = {
|
||
|
|
name = artifact_rewards
|
||
|
|
target = scope:newly_created_artifact
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_save_hostile_accomplice_effect = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
any_in_list = {
|
||
|
|
list = $SCHEME$_agents
|
||
|
|
is_ai = yes
|
||
|
|
is_participant_in_activity = scope:activity
|
||
|
|
NOR = {
|
||
|
|
this = root
|
||
|
|
trigger_if = {
|
||
|
|
limit = { exists = scope:accomplice }
|
||
|
|
this = scope:accomplice
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
random_in_list = {
|
||
|
|
list = $SCHEME$_agents
|
||
|
|
limit = {
|
||
|
|
is_ai = yes
|
||
|
|
is_participant_in_activity = scope:activity
|
||
|
|
NOR = {
|
||
|
|
this = root
|
||
|
|
trigger_if = {
|
||
|
|
limit = { exists = scope:accomplice }
|
||
|
|
this = scope:accomplice
|
||
|
|
}
|
||
|
|
}
|
||
|
|
save_temporary_scope_as = $SCHEME$er_temp
|
||
|
|
}
|
||
|
|
weight = {
|
||
|
|
base = 1
|
||
|
|
hunt_murderer_modifier = { MURDERER = scope:$SCHEME$er_temp TARGET = $VICTIM$ }
|
||
|
|
}
|
||
|
|
save_scope_as = accomplice
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
any_in_list = {
|
||
|
|
list = $SCHEME$_agents
|
||
|
|
is_ai = yes
|
||
|
|
is_participant_in_activity = scope:activity
|
||
|
|
NOR = {
|
||
|
|
this = root
|
||
|
|
trigger_if = {
|
||
|
|
limit = { exists = scope:accomplice }
|
||
|
|
this = scope:accomplice
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
random_in_list = {
|
||
|
|
list = $SCHEME$_agents
|
||
|
|
limit = {
|
||
|
|
is_ai = yes
|
||
|
|
is_participant_in_activity = scope:activity
|
||
|
|
NOR = {
|
||
|
|
this = root
|
||
|
|
trigger_if = {
|
||
|
|
limit = { exists = scope:accomplice }
|
||
|
|
this = scope:accomplice
|
||
|
|
}
|
||
|
|
}
|
||
|
|
save_temporary_scope_as = $SCHEME$er_temp
|
||
|
|
}
|
||
|
|
weight = {
|
||
|
|
base = 1
|
||
|
|
hunt_murderer_modifier = { MURDERER = scope:$SCHEME$er_temp TARGET = $VICTIM$ }
|
||
|
|
}
|
||
|
|
save_scope_as = accomplice_2
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_invalidation_event_effect = {
|
||
|
|
if = {
|
||
|
|
limit = { is_in_list = attendees }
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:activity = {
|
||
|
|
has_activity_option = { category = special_type option = hunt_type_falconry }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
hunter_lifestyle_rank_up_check_effect = { FALCONRY = yes }
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
hunter_lifestyle_rank_up_check_effect = { FALCONRY = no }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = { exists = scope:activity }
|
||
|
|
custom_tooltip = hunt_ends_tt
|
||
|
|
}
|
||
|
|
custom_tooltip = hunt_invalidated_warning_tt
|
||
|
|
}
|
||
|
|
|
||
|
|
# Unified effect for adding sightings to counties
|
||
|
|
hunt_create_sighting_effect = {
|
||
|
|
if = {
|
||
|
|
limit = { NOT = { exists = scope:sighting_county } }
|
||
|
|
save_scope_as = sighting_county
|
||
|
|
}
|
||
|
|
# Track who can use the sighting
|
||
|
|
set_variable = {
|
||
|
|
name = animal_type
|
||
|
|
years = 3
|
||
|
|
value = $ANIMAL$
|
||
|
|
}
|
||
|
|
# Track who can use the sighting
|
||
|
|
set_variable = {
|
||
|
|
name = sighting_owner
|
||
|
|
years = 3
|
||
|
|
value = $OWNER$
|
||
|
|
}
|
||
|
|
# Stop sightings in the same place too regularly
|
||
|
|
set_variable = {
|
||
|
|
name = recent_sighting
|
||
|
|
years = 10
|
||
|
|
}
|
||
|
|
# Add sighting modifier
|
||
|
|
add_county_modifier = {
|
||
|
|
modifier = hunt_sighting_$TYPE$_modifier
|
||
|
|
years = 3
|
||
|
|
desc = hunt_sighting_$TYPE$_modifier_custom_desc
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hunt_remove_sighting_effect = {
|
||
|
|
# Remove sighting modifier
|
||
|
|
if = {
|
||
|
|
limit = { has_county_modifier = hunt_sighting_standard_modifier }
|
||
|
|
remove_county_modifier = hunt_sighting_standard_modifier
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = { has_county_modifier = hunt_sighting_dangerous_modifier }
|
||
|
|
remove_county_modifier = hunt_sighting_dangerous_modifier
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = { has_county_modifier = hunt_sighting_legendary_modifier }
|
||
|
|
remove_county_modifier = hunt_sighting_legendary_modifier
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = { has_county_modifier = hunt_sighting_falconry_modifier }
|
||
|
|
remove_county_modifier = hunt_sighting_falconry_modifier
|
||
|
|
}
|
||
|
|
# Remove sightings
|
||
|
|
remove_variable = animal_type
|
||
|
|
remove_variable = sighting_owner
|
||
|
|
}
|
||
|
|
|
||
|
|
### Nerge
|
||
|
|
nerge_rewards_effect = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
scope:activity.var:activity_special_type_progression < 25
|
||
|
|
}
|
||
|
|
scope:host = {
|
||
|
|
add_dread = unimpressive_nerge_dread_value
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
scope:activity.var:activity_special_type_progression < 50
|
||
|
|
}
|
||
|
|
scope:host = {
|
||
|
|
add_dread = regular_nerge_dread_value
|
||
|
|
add_prestige = regular_nerge_prestige_value
|
||
|
|
add_gold = regular_nerge_gold_value
|
||
|
|
add_legitimacy = regular_nerge_legitimacy_value
|
||
|
|
}
|
||
|
|
scope:activity = {
|
||
|
|
every_attending_character = {
|
||
|
|
custom = every_nerge_character
|
||
|
|
limit = {
|
||
|
|
NOT = { this = scope:host }
|
||
|
|
}
|
||
|
|
add_prestige = regular_nerge_guest_prestige_value
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
scope:activity.var:activity_special_type_progression < 75
|
||
|
|
}
|
||
|
|
scope:host = {
|
||
|
|
add_dread = impressive_nerge_dread_value
|
||
|
|
add_prestige = impressive_nerge_prestige_value
|
||
|
|
add_gold = impressive_nerge_gold_value
|
||
|
|
add_legitimacy = impressive_nerge_legitimacy_value
|
||
|
|
}
|
||
|
|
scope:activity = {
|
||
|
|
every_attending_character = {
|
||
|
|
custom = every_nerge_character
|
||
|
|
limit = {
|
||
|
|
NOT = { this = scope:host }
|
||
|
|
}
|
||
|
|
add_prestige = impressive_nerge_guest_prestige_value
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
scope:activity.var:activity_special_type_progression < 100
|
||
|
|
}
|
||
|
|
scope:host = {
|
||
|
|
add_dread = great_nerge_dread_value
|
||
|
|
add_prestige = great_nerge_prestige_value
|
||
|
|
add_gold = great_nerge_gold_value
|
||
|
|
add_legitimacy = great_nerge_legitimacy_value
|
||
|
|
}
|
||
|
|
scope:activity = {
|
||
|
|
every_attending_character = {
|
||
|
|
custom = every_nerge_character
|
||
|
|
limit = {
|
||
|
|
NOT = { this = scope:host }
|
||
|
|
}
|
||
|
|
custom_tooltip = nerge_commander_trait_tt
|
||
|
|
add_prestige = great_nerge_guest_prestige_value
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
scope:activity.var:activity_special_type_progression >= 100
|
||
|
|
}
|
||
|
|
scope:host = {
|
||
|
|
add_dread = fantastic_nerge_dread_value
|
||
|
|
add_prestige = fantastic_nerge_prestige_value
|
||
|
|
add_gold = fantastic_nerge_gold_value
|
||
|
|
add_legitimacy = fantastic_nerge_legitimacy_value
|
||
|
|
add_martial_skill = fantastic_nerge_martial_value
|
||
|
|
# MPO ACHIEVEMENT Shut up, Nerge
|
||
|
|
if = {
|
||
|
|
limit = { is_ai = no }
|
||
|
|
add_achievement_global_variable_effect = {
|
||
|
|
VARIABLE = mpo_shut_up_nerge_achievement_unlocked
|
||
|
|
VALUE = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
scope:activity = {
|
||
|
|
every_attending_character = {
|
||
|
|
custom = every_nerge_character
|
||
|
|
limit = {
|
||
|
|
NOT = { this = scope:host }
|
||
|
|
}
|
||
|
|
custom_tooltip = nerge_commander_trait_tt
|
||
|
|
add_prestige = fantastic_nerge_guest_prestige_value
|
||
|
|
add_martial_skill = fantastic_nerge_guest_martial_value
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
hand_out_nerge_rewards = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
this = scope:host
|
||
|
|
}
|
||
|
|
scope:activity = {
|
||
|
|
add_activity_log_entry = {
|
||
|
|
key = finished_nerge_$OUTCOME$
|
||
|
|
character = scope:host
|
||
|
|
show_in_conclusion = yes
|
||
|
|
scope:host = { nerge_rewards_effect = yes }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else = {
|
||
|
|
show_as_tooltip = {
|
||
|
|
nerge_rewards_effect = yes
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
nerge_check_commander_trait_effect = {
|
||
|
|
prev = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
NOT = { has_trait = $TRAIT$ }
|
||
|
|
}
|
||
|
|
add_trait_force_tooltip = $TRAIT$
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
nerge_check_commander_trait_xp_effect = {
|
||
|
|
prev = {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
has_trait = $TRAIT$
|
||
|
|
}
|
||
|
|
add_trait_xp = {
|
||
|
|
trait = $TRAIT$
|
||
|
|
value = 10
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
nerge_commander_trait_effect = {
|
||
|
|
scope:nerge_location = {
|
||
|
|
switch = {
|
||
|
|
trigger = terrain
|
||
|
|
plains = {
|
||
|
|
nerge_check_commander_trait_xp_effect = { TRAIT = open_terrain_expert }
|
||
|
|
}
|
||
|
|
farmlands = {
|
||
|
|
nerge_check_commander_trait_xp_effect = { TRAIT = open_terrain_expert }
|
||
|
|
}
|
||
|
|
steppe = {
|
||
|
|
nerge_check_commander_trait_xp_effect = { TRAIT = open_terrain_expert }
|
||
|
|
}
|
||
|
|
wetlands = {
|
||
|
|
nerge_check_commander_trait_xp_effect = { TRAIT = rough_terrain_expert }
|
||
|
|
}
|
||
|
|
hills = {
|
||
|
|
nerge_check_commander_trait_xp_effect = { TRAIT = rough_terrain_expert }
|
||
|
|
}
|
||
|
|
mountains = {
|
||
|
|
nerge_check_commander_trait_xp_effect = { TRAIT = rough_terrain_expert }
|
||
|
|
}
|
||
|
|
desert = {
|
||
|
|
nerge_check_commander_trait_xp_effect = { TRAIT = rough_terrain_expert }
|
||
|
|
}
|
||
|
|
desert_mountains = {
|
||
|
|
nerge_check_commander_trait_xp_effect = { TRAIT = desert_warrior }
|
||
|
|
}
|
||
|
|
oasis = {
|
||
|
|
nerge_check_commander_trait_xp_effect = { TRAIT = desert_warrior }
|
||
|
|
}
|
||
|
|
drylands = {
|
||
|
|
nerge_check_commander_trait_xp_effect = { TRAIT = desert_warrior }
|
||
|
|
}
|
||
|
|
jungle = {
|
||
|
|
nerge_check_commander_trait_xp_effect = { TRAIT = jungle_stalker }
|
||
|
|
}
|
||
|
|
forest = {
|
||
|
|
nerge_check_commander_trait_xp_effect = { TRAIT = forest_fighter }
|
||
|
|
}
|
||
|
|
taiga = {
|
||
|
|
nerge_check_commander_trait_xp_effect = { TRAIT = forest_fighter }
|
||
|
|
}
|
||
|
|
floodplains = {
|
||
|
|
nerge_check_commander_trait_xp_effect = { TRAIT = forder }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
number_of_commander_traits < 3
|
||
|
|
}
|
||
|
|
scope:nerge_location = {
|
||
|
|
switch = {
|
||
|
|
trigger = terrain
|
||
|
|
plains = {
|
||
|
|
nerge_check_commander_trait_effect = { TRAIT = open_terrain_expert }
|
||
|
|
}
|
||
|
|
farmlands = {
|
||
|
|
nerge_check_commander_trait_effect = { TRAIT = open_terrain_expert }
|
||
|
|
}
|
||
|
|
steppe = {
|
||
|
|
nerge_check_commander_trait_effect = { TRAIT = open_terrain_expert }
|
||
|
|
}
|
||
|
|
wetlands = {
|
||
|
|
nerge_check_commander_trait_effect = { TRAIT = rough_terrain_expert }
|
||
|
|
}
|
||
|
|
hills = {
|
||
|
|
nerge_check_commander_trait_effect = { TRAIT = rough_terrain_expert }
|
||
|
|
}
|
||
|
|
mountains = {
|
||
|
|
nerge_check_commander_trait_effect = { TRAIT = rough_terrain_expert }
|
||
|
|
}
|
||
|
|
desert = {
|
||
|
|
nerge_check_commander_trait_effect = { TRAIT = rough_terrain_expert }
|
||
|
|
}
|
||
|
|
desert_mountains = {
|
||
|
|
nerge_check_commander_trait_effect = { TRAIT = desert_warrior }
|
||
|
|
}
|
||
|
|
oasis = {
|
||
|
|
nerge_check_commander_trait_effect = { TRAIT = desert_warrior }
|
||
|
|
}
|
||
|
|
drylands = {
|
||
|
|
nerge_check_commander_trait_effect = { TRAIT = desert_warrior }
|
||
|
|
}
|
||
|
|
jungle = {
|
||
|
|
nerge_check_commander_trait_effect = { TRAIT = jungle_stalker }
|
||
|
|
}
|
||
|
|
forest = {
|
||
|
|
nerge_check_commander_trait_effect = { TRAIT = forest_fighter }
|
||
|
|
}
|
||
|
|
taiga = {
|
||
|
|
nerge_check_commander_trait_effect = { TRAIT = forest_fighter }
|
||
|
|
}
|
||
|
|
floodplains = {
|
||
|
|
nerge_check_commander_trait_effect = { TRAIT = forder }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
nerge_progression_effect = {
|
||
|
|
save_temporary_scope_as = root_scope
|
||
|
|
save_scope_value_as = {
|
||
|
|
name = amount_of_players
|
||
|
|
value = {
|
||
|
|
value = 1
|
||
|
|
scope:activity = {
|
||
|
|
every_attending_character = {
|
||
|
|
limit = {
|
||
|
|
is_ai = no
|
||
|
|
}
|
||
|
|
add = 1
|
||
|
|
}
|
||
|
|
subtract = 1
|
||
|
|
}
|
||
|
|
min = 1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
OR = {
|
||
|
|
is_ai = no
|
||
|
|
AND = {
|
||
|
|
NOT = {
|
||
|
|
involved_activity = { any_attending_character = { is_ai = no } }
|
||
|
|
}
|
||
|
|
scope:root_scope = involved_activity.activity_host
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
scope:activity ?= {
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
exists = var:activity_special_type_progression
|
||
|
|
}
|
||
|
|
change_variable = {
|
||
|
|
name = activity_special_type_progression
|
||
|
|
add = {
|
||
|
|
value = $VALUE$
|
||
|
|
multiply = nerge_score_multiplier_value
|
||
|
|
divide = scope:amount_of_players
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
if = {
|
||
|
|
limit = {
|
||
|
|
$VALUE$ <= 2
|
||
|
|
}
|
||
|
|
custom_tooltip = nerge_outcome_boost_tiny
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
$VALUE$ <= 5
|
||
|
|
}
|
||
|
|
custom_tooltip = nerge_outcome_boost_small
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
$VALUE$ <= 9
|
||
|
|
}
|
||
|
|
custom_tooltip = nerge_outcome_boost_medium
|
||
|
|
}
|
||
|
|
else_if = {
|
||
|
|
limit = {
|
||
|
|
$VALUE$ >= 13
|
||
|
|
}
|
||
|
|
custom_tooltip = nerge_outcome_boost_large
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
nerge_progression_tiny_effect = { nerge_progression_effect = { VALUE = 2 } }
|
||
|
|
nerge_progression_small_effect = { nerge_progression_effect = { VALUE = 5 } }
|
||
|
|
nerge_progression_medium_effect = { nerge_progression_effect = { VALUE = 9 } }
|
||
|
|
nerge_progression_large_effect = { nerge_progression_effect = { VALUE = 13 } }
|