Zone Rouge work part 1
Added a new flag that is special to Zone Rouge, which gives less wanderer XP and doesent give the traveler trait.
This commit is contained in:
parent
80404571fc
commit
821cf5b44c
10 changed files with 238 additions and 1 deletions
|
|
@ -579,7 +579,7 @@ zone_rouge_01 = {
|
||||||
|
|
||||||
type = special
|
type = special
|
||||||
|
|
||||||
flag = travel_point_of_interest_natural_feature
|
flag = travel_point_of_interest_zone_rouge
|
||||||
}
|
}
|
||||||
|
|
||||||
##########
|
##########
|
||||||
|
|
|
||||||
96
common/customizable_localization/NEOW_travel.txt
Normal file
96
common/customizable_localization/NEOW_travel.txt
Normal file
|
|
@ -0,0 +1,96 @@
|
||||||
|
GetSpecialBuildingTouristDescriptor = {
|
||||||
|
type = province
|
||||||
|
|
||||||
|
text = { # Zone Rouge
|
||||||
|
trigger = {
|
||||||
|
has_special_building = yes
|
||||||
|
has_building_or_higher = zone_rouge_01
|
||||||
|
}
|
||||||
|
localization_key = building_zone_rouge_destination_desc
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
GetTouristHoldingOutro = {
|
||||||
|
type = province
|
||||||
|
random_valid = yes
|
||||||
|
text = { #Zone Rouge
|
||||||
|
setup_scope = {
|
||||||
|
root = { save_scope_as = location }
|
||||||
|
}
|
||||||
|
trigger = {
|
||||||
|
has_travel_point_of_interest = poi_special_buildings_zone_rouge
|
||||||
|
}
|
||||||
|
localization_key = building_zone_rouge_outro_desc
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
GetSpecialBuildingSong = {
|
||||||
|
type = province
|
||||||
|
random_valid = yes
|
||||||
|
text = { # Zone Rouge
|
||||||
|
setup_scope = {
|
||||||
|
root = { save_scope_as = location }
|
||||||
|
}
|
||||||
|
trigger = {
|
||||||
|
has_building_with_flag = poi_special_buildings_zone_rouge
|
||||||
|
}
|
||||||
|
localization_key = event_song_natural_wonders_03
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
GetSpecialBuildingCatSleepingSpot = {
|
||||||
|
type = province
|
||||||
|
random_valid = yes
|
||||||
|
text = { # Zone Rouge
|
||||||
|
setup_scope = {
|
||||||
|
root = { save_scope_as = location }
|
||||||
|
}
|
||||||
|
trigger = {
|
||||||
|
has_building_with_flag = poi_special_buildings_zone_rouge
|
||||||
|
}
|
||||||
|
localization_key = cats_sleeping_natural_wonders_01
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
GetSpecialBuildingNonsensicalClaim = {
|
||||||
|
type = province
|
||||||
|
random_valid = yes
|
||||||
|
text = { # Zone Rouge
|
||||||
|
setup_scope = {
|
||||||
|
root = { save_scope_as = location }
|
||||||
|
}
|
||||||
|
trigger = {
|
||||||
|
has_travel_point_of_interest = poi_special_buildings_zone_rouge
|
||||||
|
}
|
||||||
|
localization_key = guide_natural_wonder_5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
GetSpecialBuildingPerson = {
|
||||||
|
type = province
|
||||||
|
random_valid = yes
|
||||||
|
text = { # Zone Rouge
|
||||||
|
setup_scope = {
|
||||||
|
root = { save_scope_as = location }
|
||||||
|
}
|
||||||
|
trigger = {
|
||||||
|
has_travel_point_of_interest = poi_special_buildings_zone_rouge
|
||||||
|
}
|
||||||
|
localization_key = natural_guide
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
MonumentTypeDesc = {
|
||||||
|
type = province
|
||||||
|
random_valid = yes
|
||||||
|
|
||||||
|
text = { # Zone Rouge
|
||||||
|
setup_scope = {
|
||||||
|
root = { save_scope_as = location }
|
||||||
|
}
|
||||||
|
trigger = {
|
||||||
|
has_travel_point_of_interest = poi_special_buildings_zone_rouge
|
||||||
|
}
|
||||||
|
localization_key = monument_beautiful_natural_wonder
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -405,6 +405,14 @@ on_building_completed = {
|
||||||
add_travel_point_of_interest = poi_special_buildings_economic
|
add_travel_point_of_interest = poi_special_buildings_economic
|
||||||
}
|
}
|
||||||
|
|
||||||
|
else_if = {
|
||||||
|
limit = {
|
||||||
|
has_building_with_flag = { flag = travel_point_of_interest_zone_rouge }
|
||||||
|
NOT = { has_travel_point_of_interest = poi_special_buildings_zone_rouge }
|
||||||
|
}
|
||||||
|
add_travel_point_of_interest = poi_special_buildings_zone_rouge
|
||||||
|
}
|
||||||
|
|
||||||
# The Builder event chain
|
# The Builder event chain
|
||||||
if = {
|
if = {
|
||||||
limit = {
|
limit = {
|
||||||
|
|
|
||||||
11
common/scripted_effects/NEOW_travel_effects.txt
Normal file
11
common/scripted_effects/NEOW_travel_effects.txt
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
add_poi_zone_rouge_effect = {
|
||||||
|
if = {
|
||||||
|
limit = {
|
||||||
|
has_bp3_dlc_trigger = yes
|
||||||
|
}
|
||||||
|
poi_lifestyle_experience_effect = {
|
||||||
|
LIFESTYLE = wanderer
|
||||||
|
VALUE = travel_minor_lifestyle_xp
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
# Zone Rouge
|
||||||
|
poi_special_buildings_zone_rouge = {
|
||||||
|
build_province_list = {
|
||||||
|
every_special_building_province = {
|
||||||
|
limit = {
|
||||||
|
has_building_with_flag = { flag = travel_point_of_interest_zone_rouge }
|
||||||
|
}
|
||||||
|
add_to_list = provinces
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
on_visit = {
|
||||||
|
send_interface_toast = {
|
||||||
|
title = poi_special_buildings_zone_rouge.visit
|
||||||
|
left_icon = root
|
||||||
|
|
||||||
|
add_poi_zone_rouge_effect = yes
|
||||||
|
|
||||||
|
wanderer_lifestyle_destination_effect = yes
|
||||||
|
|
||||||
|
traveler_dnager_xp_effect = {
|
||||||
|
MIN = 2
|
||||||
|
MAX = 3
|
||||||
|
}
|
||||||
|
if = {
|
||||||
|
limit = {
|
||||||
|
has_government = landless_adventurer_government
|
||||||
|
has_perk = organized_muster_rolls_perk
|
||||||
|
}
|
||||||
|
add_gold = minor_gold_laamps_value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
visiting_poi_effect = yes
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
Structure:
|
||||||
|
|
||||||
|
# Travel Points of Interest type
|
||||||
|
# Each entry represents a type of interesting locations to visit.
|
||||||
|
key = {
|
||||||
|
|
||||||
|
# Effect that gets triggered when a character visits a POI for the first time
|
||||||
|
# Root - Traveling character.
|
||||||
|
# scope:province - province being visited
|
||||||
|
on_visit = {}
|
||||||
|
|
||||||
|
# Optional, effect which is run monthly period to find which provinces have this type of point of interest
|
||||||
|
# If provinces are also added/removed via effects (`add_travel_point_of_interest`, `remove_travel_point_of_interest`),
|
||||||
|
# they need to be valid/invalid in this effect too.
|
||||||
|
#
|
||||||
|
# use add_to_list = provinces to return which provinces are valid
|
||||||
|
build_province_list = {}
|
||||||
|
}
|
||||||
61
common/travel/travel_options/_travel_options.info
Normal file
61
common/travel/travel_options/_travel_options.info
Normal file
|
|
@ -0,0 +1,61 @@
|
||||||
|
Structure:
|
||||||
|
|
||||||
|
# Travel Option
|
||||||
|
key = {
|
||||||
|
# Trigger which has to be true to be shown while planning travel. Scope is the travel owner.
|
||||||
|
is_shown = {}
|
||||||
|
|
||||||
|
# Trigger which has to be true to be able to be picked while planning travel. Scope is the travel owner.
|
||||||
|
is_valid = {}
|
||||||
|
|
||||||
|
# Scripted cost which will be applied to the travel owner once the travel start, if the option is picked. Scope is the travel owner character.
|
||||||
|
# We have chosen to remove the gold cost and have the player choose what options they want to apply for a limited number of slots. Still maintaining it for special options.
|
||||||
|
cost = {}
|
||||||
|
|
||||||
|
# Travel modifier which gets applied to the travels safety/speed if the option is picked.
|
||||||
|
travel_modifier = {
|
||||||
|
travel_speed = number
|
||||||
|
travel_safety = number
|
||||||
|
}
|
||||||
|
|
||||||
|
# Character modifier that gets applied to the travel owner character
|
||||||
|
owner_modifier = {}
|
||||||
|
|
||||||
|
# Effect that gets triggered once the travel starts, or once the option is gained mid-travel.
|
||||||
|
# Root - Travel Owner.
|
||||||
|
# scope:travel_speed - Travel Speed (percentage points above 100%)
|
||||||
|
# scope:travel_safety - Travel Safety
|
||||||
|
on_applied_effect = {}
|
||||||
|
|
||||||
|
# Effect that gets triggered once the travel ends.
|
||||||
|
# Root - Travel Owner.
|
||||||
|
# scope:travel_speed - Travel Speed (percentage points above 100%)
|
||||||
|
# scope:travel_safety - Travel Safety
|
||||||
|
on_travel_end_effect = {}
|
||||||
|
|
||||||
|
### Brief: ai_will_do (scripted value int32)
|
||||||
|
# How likely is the AI to pick this option if valid? Options will be selected using weighted random.
|
||||||
|
# Options will be re-evaluated after each option is added.
|
||||||
|
#
|
||||||
|
# Root - Travel Plan.
|
||||||
|
# Extra scopes:
|
||||||
|
# scope:highest_future_danger_value - highest danger value on route; to compare with `travel_safety`
|
||||||
|
ai_will_do = {}
|
||||||
|
|
||||||
|
# Select which court characters are added to the travel entourage when this option is added.
|
||||||
|
# Weighted list is evaluated until all values are negative, or `max` is reached.
|
||||||
|
travel_entourage_selection = {
|
||||||
|
# List is all court characters.
|
||||||
|
# root = character in the travel plan owners' court
|
||||||
|
# scope:owner = character owning the travel plan
|
||||||
|
weight = {
|
||||||
|
value = 10
|
||||||
|
}
|
||||||
|
|
||||||
|
# Up to how many characters to select for a player
|
||||||
|
max = 2
|
||||||
|
|
||||||
|
# Up to how many characters to select for an AI
|
||||||
|
ai_max = 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
l_english:
|
||||||
|
|
||||||
|
TRAVEL_POINT_OF_INTEREST_TT_poi_special_buildings_zone_rouge:0 "[Province.GetHolding.GetCurrentSpecialBuildingType.GetName]"
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
l_english:
|
||||||
|
building_zone_rouge_destination_desc: "WIP"
|
||||||
|
building_zone_rouge_outro_desc: "WIP"
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
l_english:
|
||||||
|
poi_special_buildings_zone_rouge.visit:0 "Visited the [province.GetHolding.GetSpecialBuildingType.GetName]"
|
||||||
Loading…
Add table
Add a link
Reference in a new issue