Excavation starting
This commit is contained in:
parent
ab0d893250
commit
21f3ff5fe3
19 changed files with 7723 additions and 2 deletions
3040
common/activities/activity_types/excavation.txt
Normal file
3040
common/activities/activity_types/excavation.txt
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -4735,3 +4735,29 @@ RegionalPeasantHeadgearPlural = {
|
|||
parent = RegionalPeasantHeadgear
|
||||
suffix = "_plural"
|
||||
}
|
||||
|
||||
GetRegionalLootedMaterialType = {
|
||||
type = character
|
||||
random_valid = yes
|
||||
|
||||
text = {
|
||||
trigger = {
|
||||
location = {
|
||||
terrain = tells
|
||||
}
|
||||
}
|
||||
localization_key = looted_material_type_copper_wire
|
||||
}
|
||||
text = {
|
||||
trigger = {
|
||||
location = {
|
||||
geographical_region = world_europe_south_east
|
||||
}
|
||||
}
|
||||
localization_key = looted_material_type_cut_marble
|
||||
}
|
||||
text = {
|
||||
localization_key = looted_material_type_relic_sack
|
||||
fallback = yes
|
||||
}
|
||||
}
|
||||
|
|
@ -50,4 +50,16 @@ monotown_holding = {
|
|||
texture = "gfx/interface/icons/map_icons/onmap_holding_icon.dds"
|
||||
parent = domicile
|
||||
alias = { monotown_holdings }
|
||||
}
|
||||
}
|
||||
|
||||
excavation_success_chance = {
|
||||
alias = { excavation_success_chance_no_prefix }
|
||||
texture = "gfx/interface/icons/activities/activity_hunt.dds"
|
||||
parent = activity
|
||||
}
|
||||
|
||||
excavation_sighting = {
|
||||
texture = "gfx/interface/icons/activities/activity_excavation.dds"
|
||||
alias = { excavation_sightings excavation_sighting_no_prefix excavation_sightings_no_prefix }
|
||||
parent = activity
|
||||
}
|
||||
|
|
|
|||
17
common/modifiers/NEOW_excavation_modifiers.txt
Normal file
17
common/modifiers/NEOW_excavation_modifiers.txt
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
|
||||
excavation_punished_locals_modifier = {
|
||||
icon = hunt_mixed
|
||||
tax_mult = 0.1
|
||||
county_opinion_add = -30
|
||||
}
|
||||
|
||||
excavation_upset_excavationing_county_modifier = {
|
||||
icon = hunt_negative
|
||||
county_opinion_add = -30
|
||||
}
|
||||
|
||||
excavation_looter_training_modifier = {
|
||||
icon = hunt_positive
|
||||
prowess = 2
|
||||
trait_track_hunter_xp_gain_mult = 0.1
|
||||
}
|
||||
82
common/on_action/excavation_on_actions.txt
Normal file
82
common/on_action/excavation_on_actions.txt
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
# On actions for the excavation activity
|
||||
|
||||
# 1. Start/Method
|
||||
excavation_start_events = {
|
||||
trigger = {
|
||||
exists = scope:activity
|
||||
involved_activity.activity_host ?= this
|
||||
}
|
||||
events = {
|
||||
excavation.0500 # Standard
|
||||
}
|
||||
}
|
||||
|
||||
# 2. Random Flavor
|
||||
excavation_random_pulse = {
|
||||
trigger = {
|
||||
exists = scope:activity
|
||||
OR = {
|
||||
is_ai = no
|
||||
involved_activity.activity_host ?= this
|
||||
}
|
||||
}
|
||||
random_events = {
|
||||
chance_of_no_event = {
|
||||
if = {
|
||||
limit = { this = scope:host }
|
||||
value = 0
|
||||
}
|
||||
else = { value = 50 }
|
||||
}
|
||||
200 = excavation.4002 #A hunt guest shares a secret about someone with you
|
||||
100 = excavation.4003 #Poachers in the woods
|
||||
}
|
||||
effect = { # Used to ensure a certain progress has been made before some events to fire
|
||||
involved_activity = { set_variable = excavation_outcome_random }
|
||||
}
|
||||
}
|
||||
|
||||
# Outcome Start
|
||||
excavation_outcome_start_events = {
|
||||
trigger = {
|
||||
exists = scope:activity
|
||||
involved_activity.activity_host ?= this
|
||||
}
|
||||
random_events = {
|
||||
}
|
||||
}
|
||||
|
||||
# Outcome Complication
|
||||
excavation_outcome_complication_events = {
|
||||
trigger = {
|
||||
exists = scope:activity
|
||||
OR = {
|
||||
is_ai = no
|
||||
involved_activity.activity_host ?= this
|
||||
}
|
||||
}
|
||||
random_events = {
|
||||
}
|
||||
}
|
||||
|
||||
# Outcome End
|
||||
excavation_outcome_end_events = {
|
||||
trigger = {
|
||||
exists = scope:activity
|
||||
involved_activity.activity_host ?= this
|
||||
}
|
||||
random_events = {
|
||||
}
|
||||
}
|
||||
|
||||
# End summary
|
||||
excavation_end_events = {
|
||||
trigger = {
|
||||
exists = scope:activity
|
||||
involved_activity.activity_host ?= this
|
||||
}
|
||||
random_events = {
|
||||
1 = excavation.1003 # Success
|
||||
1 = excavation.1004 # Failure
|
||||
}
|
||||
}
|
||||
8
common/opinion_modifiers/excav_opinion.txt
Normal file
8
common/opinion_modifiers/excav_opinion.txt
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
|
||||
# Released Poachers
|
||||
excavation_released_looters_opinion = {
|
||||
opinion = -10
|
||||
decaying = yes
|
||||
years = 5
|
||||
}
|
||||
|
||||
284
common/script_values/NEOW_excavation_values.txt
Normal file
284
common/script_values/NEOW_excavation_values.txt
Normal file
|
|
@ -0,0 +1,284 @@
|
|||
######################
|
||||
# excavation STUFF
|
||||
######################
|
||||
|
||||
excavation_activity_base_cost = {
|
||||
value = standard_activity_base_cost
|
||||
# Adventurer
|
||||
if = {
|
||||
limit = { has_government = landless_adventurer_government }
|
||||
multiply = 0.25
|
||||
}
|
||||
}
|
||||
|
||||
excavation_normal_option_cost = {
|
||||
value = 10
|
||||
multiply = activity_cost_scale_by_tier
|
||||
multiply = activity_cost_scale_by_era
|
||||
}
|
||||
|
||||
excavation_good_option_cost = {
|
||||
value = 35
|
||||
multiply = activity_cost_scale_by_tier
|
||||
multiply = activity_cost_scale_by_era
|
||||
}
|
||||
|
||||
standard_excavationing_cooldown_time = {
|
||||
value = 2
|
||||
}
|
||||
|
||||
excavation_prestige_reward_value = {
|
||||
# Standard value for most chars.
|
||||
value = minor_prestige_value
|
||||
}
|
||||
|
||||
|
||||
excavation_piety_reward_value = {
|
||||
# Standard value for most chars.
|
||||
value = minor_piety_value
|
||||
}
|
||||
|
||||
|
||||
excavation_secondary_outcome = 1
|
||||
excavation_participants = 10
|
||||
|
||||
excavation_event_delay_min = 25
|
||||
excavation_event_delay_max = 35
|
||||
|
||||
min_default_excavation_events = 2
|
||||
max_default_excavation_events = 3
|
||||
chance_of_extra_excavation_events = 25
|
||||
|
||||
min_excavation_event_spacing = 2
|
||||
max_excavation_event_spacing = 4
|
||||
|
||||
excavation_activity_guest_list_size_value = {
|
||||
value = 4
|
||||
if = {
|
||||
limit = { primary_title.tier = tier_duchy }
|
||||
add = 2
|
||||
}
|
||||
else_if = {
|
||||
limit = { primary_title.tier = tier_kingdom }
|
||||
add = 4
|
||||
}
|
||||
if = {
|
||||
limit = { primary_title.tier >= tier_empire }
|
||||
add = 6
|
||||
}
|
||||
}
|
||||
|
||||
excavation_prestige_guest_gain_value = {
|
||||
value = excavation_prestige_reward_value
|
||||
divide = 2
|
||||
}
|
||||
|
||||
excavation_piety_guest_gain_value = {
|
||||
value = excavation_piety_reward_value
|
||||
divide = 2
|
||||
}
|
||||
|
||||
excavation_activity_success_increase_minor_value = 3
|
||||
excavation_activity_success_increase_medium_value = 5
|
||||
excavation_activity_success_increase_major_value = 10
|
||||
excavation_activity_success_increase_massive_value = 15 # use very sparingly, this is huge
|
||||
excavation_activity_success_increase_adventurer_initial_medium_value = 30
|
||||
excavation_activity_success_increase_adventurer_initial_high_value = 50
|
||||
|
||||
excavation_activity_success_decrease_minor_value = {
|
||||
value = excavation_activity_success_increase_minor_value
|
||||
multiply = -1
|
||||
}
|
||||
excavation_activity_success_decrease_medium_value = {
|
||||
value = excavation_activity_success_increase_medium_value
|
||||
multiply = -1
|
||||
}
|
||||
excavation_activity_success_decrease_major_value = {
|
||||
value = excavation_activity_success_increase_major_value
|
||||
multiply = -1
|
||||
}
|
||||
excavation_activity_success_decrease_massive_value = {
|
||||
value = excavation_activity_success_increase_massive_value
|
||||
multiply = -1
|
||||
}
|
||||
|
||||
excavation_success_chance_value = {
|
||||
activity_host = {
|
||||
### HOST
|
||||
# SKILLS
|
||||
add = {
|
||||
value = learning
|
||||
divide = 4
|
||||
ceiling = yes
|
||||
max = 10
|
||||
desc = learning_modifier
|
||||
}
|
||||
add = {
|
||||
value = martial
|
||||
divide = 8
|
||||
ceiling = yes
|
||||
max = 10
|
||||
desc = martial_modifier
|
||||
}
|
||||
add = {
|
||||
value = prowess
|
||||
divide = 4
|
||||
ceiling = yes
|
||||
max = 10
|
||||
desc = prowess_modifier
|
||||
}
|
||||
# TRAIT
|
||||
add = {
|
||||
value = 0
|
||||
if = {
|
||||
limit = { has_trait = lifestyle_antiquarian }
|
||||
add = 3
|
||||
}
|
||||
desc = excavation_success_chance.trait
|
||||
}
|
||||
}
|
||||
# GUESTS
|
||||
if = { # excavationers
|
||||
limit = {
|
||||
any_attending_character = {
|
||||
NOR = {
|
||||
this = prev.activity_host
|
||||
# prev.activity_host.court_position:master_of_excavation_court_position ?= this
|
||||
}
|
||||
OR = {
|
||||
has_trait = lifestyle_antiquarian
|
||||
}
|
||||
}
|
||||
}
|
||||
add = {
|
||||
value = 0
|
||||
every_attending_character = {
|
||||
limit = {
|
||||
NOR = {
|
||||
this = prev.activity_host
|
||||
# prev.activity_host.court_position:master_of_excavation_court_position ?= this
|
||||
}
|
||||
has_trait = lifestyle_antiquarian
|
||||
}
|
||||
add = 3
|
||||
}
|
||||
desc = excavation_success_chance.attending_excavationers
|
||||
}
|
||||
}
|
||||
min = 10
|
||||
max = 80
|
||||
}
|
||||
|
||||
excavation_success_chance_inverse_value = {
|
||||
value = 100
|
||||
subtract = excavation_success_chance_value
|
||||
}
|
||||
|
||||
# PARTY SIZE
|
||||
|
||||
# These should ALWAYS be synced with the relevant activity option select_travel_entourage_max parameter.
|
||||
excavation_entourage_party_size_small_max_value = 5
|
||||
excavation_entourage_party_size_normal_max_value = 10
|
||||
excavation_entourage_party_size_many_max_value = 15
|
||||
|
||||
excavation_entourage_base_set_weighting_value = {
|
||||
if = {
|
||||
limit = {
|
||||
is_available_healthy_adult = yes
|
||||
bannable_serving_diarch_trigger = no
|
||||
OR = {
|
||||
has_court_position = master_of_hunt_court_position
|
||||
has_court_position = huntperson_camp_officer
|
||||
has_court_position = bodyguard_court_position
|
||||
has_court_position = court_physician_court_position
|
||||
has_any_good_relationship_with_character_trigger = { CHARACTER = scope:host }
|
||||
has_trait = lifestyle_antiquarian
|
||||
}
|
||||
}
|
||||
# Base
|
||||
add = 50
|
||||
add = ai_energy
|
||||
add = ai_boldness
|
||||
# We want to have MoH most of all.
|
||||
if = {
|
||||
limit = { has_court_position = master_of_hunt_court_position }
|
||||
add = 100000
|
||||
}
|
||||
if = {
|
||||
limit = { has_court_position = huntperson_camp_officer }
|
||||
add = 100000
|
||||
}
|
||||
# We want bodyguards too.
|
||||
if = {
|
||||
limit = { has_court_position = bodyguard_court_position }
|
||||
add = 50000
|
||||
}
|
||||
# We want doctors too.
|
||||
if = {
|
||||
limit = { has_court_position = court_physician_court_position }
|
||||
add = 50000
|
||||
}
|
||||
# Adventurers bring their court.
|
||||
if = {
|
||||
limit = {
|
||||
scope:host = { has_government = landless_adventurer_government }
|
||||
}
|
||||
add = 500
|
||||
}
|
||||
# We want friends too.
|
||||
if = {
|
||||
limit = {
|
||||
has_any_good_relationship_with_character_trigger = { CHARACTER = scope:host }
|
||||
}
|
||||
add = 500
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
bannable_serving_diarch_trigger = yes
|
||||
}
|
||||
add = -1000
|
||||
}
|
||||
}
|
||||
|
||||
excavation_entourage_extras_set_weighting_value = {
|
||||
value = 0
|
||||
if = {
|
||||
limit = {
|
||||
is_available_healthy_adult = yes
|
||||
is_designated_diarch = no
|
||||
}
|
||||
# Base
|
||||
add = 150
|
||||
}
|
||||
}
|
||||
|
||||
excavation_entourage_sodding_everyone_set_weighting_value = {
|
||||
value = 0
|
||||
if = {
|
||||
limit = {
|
||||
is_available_healthy_adult = yes
|
||||
is_designated_diarch = no
|
||||
}
|
||||
# Base
|
||||
add = 50
|
||||
# Alright, now we're just grabbing everyone.
|
||||
## Anyone who can fight.
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
excavation_province_reference_value = {
|
||||
value = 0
|
||||
# TERRAIN
|
||||
if = {
|
||||
limit = {
|
||||
exists = var:recent_excavation_held
|
||||
}
|
||||
add = {
|
||||
value = -10
|
||||
multiply = var:recent_hunt_held
|
||||
desc = hunt_success_chance.recent_hunt_held
|
||||
}
|
||||
}
|
||||
}
|
||||
42
common/scripted_effects/NEOW_excavation_scripted_effects.txt
Normal file
42
common/scripted_effects/NEOW_excavation_scripted_effects.txt
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
excavation_remove_variables_effect = {
|
||||
scope:host = {
|
||||
if = {
|
||||
limit = { is_alive = yes }
|
||||
}
|
||||
}
|
||||
scope:activity = {
|
||||
every_attending_character = {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
excavation_invalidation_event_effect = {
|
||||
if = {
|
||||
limit = { is_in_list = attendees }
|
||||
}
|
||||
if = {
|
||||
limit = { exists = scope:activity }
|
||||
custom_tooltip = excavation_ends_tt
|
||||
}
|
||||
custom_tooltip = excavation_invalidated_warning_tt
|
||||
}
|
||||
|
||||
excavation_activity_success_change_effect = {
|
||||
scope:activity = {
|
||||
if = {
|
||||
limit = {
|
||||
NOT = { exists = var:excavation_success_chance_event }
|
||||
}
|
||||
set_variable = { name = excavation_success_chance_event value = 0 }
|
||||
}
|
||||
change_variable = {
|
||||
name = excavation_success_chance_event
|
||||
add = excavation_activity_success_$CHANGE$_value
|
||||
}
|
||||
set_variable = {
|
||||
name = excavation_success_chance
|
||||
value = excavation_success_chance_value
|
||||
}
|
||||
}
|
||||
custom_tooltip = excavation_activity_success_$CHANGE$_tt
|
||||
}
|
||||
|
|
@ -159,7 +159,10 @@ graphical_wilderness_ocean_trigger = {
|
|||
}
|
||||
|
||||
graphical_hills_trigger = {
|
||||
terrain = hills
|
||||
OR = {
|
||||
terrain = tells
|
||||
terrain = hills
|
||||
}
|
||||
}
|
||||
|
||||
### Scripted illustrations
|
||||
|
|
|
|||
17
common/scripted_triggers/NEOW_excavation_triggers.txt
Normal file
17
common/scripted_triggers/NEOW_excavation_triggers.txt
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
can_excavate_trigger = {
|
||||
NOR = {
|
||||
has_trait = wounded_2
|
||||
has_trait = wounded_3
|
||||
has_trait = infirm
|
||||
has_trait = maimed
|
||||
has_trait = blind
|
||||
}
|
||||
has_contagious_deadly_disease_trigger = no
|
||||
}
|
||||
|
||||
is_valid_excavation_site = {
|
||||
OR = {
|
||||
terrain = tells
|
||||
has_special_building_slot = yes
|
||||
}
|
||||
}
|
||||
122
common/traits/NEOW_traits.txt
Normal file
122
common/traits/NEOW_traits.txt
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
lifestyle_antiquarian = {
|
||||
icon = hunter.dds
|
||||
category = lifestyle
|
||||
same_opinion = 10
|
||||
ruler_designer_cost = 20
|
||||
stress_loss_mult = 0.05
|
||||
diplomacy = 1
|
||||
|
||||
desc = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
NOT = { exists = this }
|
||||
}
|
||||
desc = trait_lifestyle_antiquarian_desc
|
||||
}
|
||||
desc = trait_lifestyle_antiquarian_character_desc
|
||||
}
|
||||
}
|
||||
|
||||
tracks = {
|
||||
archaeologist = {
|
||||
50 = {
|
||||
stress_loss_mult = 0.05
|
||||
prowess = 1
|
||||
health = 0.05
|
||||
learning = 1
|
||||
glory_hound_opinion = 5
|
||||
culture_modifier = {
|
||||
parameter = hunting_traits_more_valued
|
||||
monthly_prestige = 0.5
|
||||
glory_hound_same_culture_opinion = 5
|
||||
}
|
||||
culture_modifier = {
|
||||
parameter = hunting_traits_more_pious
|
||||
monthly_piety = 0.3
|
||||
glory_hound_same_faith_opinion = 5
|
||||
}
|
||||
culture_modifier = {
|
||||
parameter = forest_trait_bonuses
|
||||
forest_advantage = 1
|
||||
taiga_advantage = 1
|
||||
}
|
||||
culture_modifier = {
|
||||
parameter = jungle_trait_bonuses
|
||||
jungle_advantage = 1
|
||||
}
|
||||
}
|
||||
100 = {
|
||||
stress_loss_mult = 0.1
|
||||
prowess = 2
|
||||
health = 0.15
|
||||
learning = 1
|
||||
glory_hound_opinion = 10
|
||||
culture_modifier = {
|
||||
parameter = hunting_traits_more_valued
|
||||
monthly_prestige = 0.5
|
||||
glory_hound_same_culture_opinion = 5
|
||||
}
|
||||
culture_modifier = {
|
||||
parameter = hunting_traits_more_pious
|
||||
monthly_piety = 0.4
|
||||
glory_hound_same_faith_opinion = 5
|
||||
}
|
||||
culture_modifier = {
|
||||
parameter = forest_trait_bonuses
|
||||
forest_advantage = 1
|
||||
taiga_advantage = 1
|
||||
}
|
||||
culture_modifier = {
|
||||
parameter = jungle_trait_bonuses
|
||||
jungle_advantage = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
surveyer = {
|
||||
50 = {
|
||||
attraction_opinion = 5
|
||||
stewardship = 1
|
||||
learning = 1
|
||||
courtly_opinion = 5
|
||||
monthly_prestige = 0.25
|
||||
culture_modifier = {
|
||||
parameter = hunting_traits_more_valued
|
||||
monthly_prestige = 0.5
|
||||
courtly_same_culture_opinion = 5
|
||||
}
|
||||
culture_modifier = {
|
||||
parameter = hunting_traits_more_pious
|
||||
monthly_piety = 0.15
|
||||
courtly_same_faith_opinion = 5
|
||||
}
|
||||
}
|
||||
100 = {
|
||||
attraction_opinion = 5
|
||||
stewardship = 2
|
||||
learning = 1
|
||||
courtly_opinion = 10
|
||||
monthly_prestige = 0.5
|
||||
culture_modifier = {
|
||||
parameter = hunting_traits_more_valued
|
||||
monthly_prestige = 0.5
|
||||
courtly_same_culture_opinion = 5
|
||||
}
|
||||
culture_modifier = {
|
||||
parameter = hunting_traits_more_pious
|
||||
monthly_piety = 0.4
|
||||
courtly_same_faith_opinion = 5
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
compatibility = {
|
||||
brave = @pos_compat_low
|
||||
diligent = @pos_compat_low
|
||||
craven = @neg_compat_low
|
||||
lazy = @neg_compat_low
|
||||
}
|
||||
|
||||
ai_energy = 15
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue