86 lines
7.3 KiB
Text
86 lines
7.3 KiB
Text
|
|
name_of_the_task = {
|
||
|
|
default_task = yes #Is the defualt task for the specified position (no by default, only applicable on task_type_general with task_progress_infinite)
|
||
|
|
position = councillor_chancellor #Position that can perform this task (positions can be found in common/council_positions)
|
||
|
|
task_type = task_type_general #Type of the task [task_type_general|task_type_county|task_type_court]
|
||
|
|
county_target = all|realm|etc #What can a county task target? Not relevant for other task-types. Valid: all, realm, domain, neighbor_land, neighbor_land_or_water. neighbor_land_or_water only works for the AI
|
||
|
|
ai_county_target = as above #What can a county task target for the AI? Not relevant for other task-types. If not set, defaults to what you set for the county_target. You might want this more restrictive for performance reasons
|
||
|
|
ai_target_score = { ... } # Script value for county target scores. Defaults to completely random if not set. Scopes are the same as all other council task script. Score of 0 or below means "don't do this". AI picks weighted random from all targets with a score above 0
|
||
|
|
task_progress = task_progress_infinite #Type of the progress task [task_progress_infinite|task_progress_percentage|task_progress_value]
|
||
|
|
task_current_value = script_value #When using task_progress_value, this defines the current progress
|
||
|
|
task_max_value = script_value #When using task_progress_value, this defines the max progress; the point at which the task is considered complete
|
||
|
|
restart_on_finish = no #Should the task restart once is finished automatically?
|
||
|
|
highlight_own_realm = yes #Own realm counties will have a slightly different color from other-realm counties
|
||
|
|
|
||
|
|
# Which visual assets should this Council Task use? Multiple assets may be scripted. First valid asset will be chosen.
|
||
|
|
asset = {
|
||
|
|
# Trigger for when to pick this asset over another, remove trigger to make this the default asset
|
||
|
|
# root = liege owning the council
|
||
|
|
trigger = { ... }
|
||
|
|
|
||
|
|
# Path to the central icon texture
|
||
|
|
icon = "path/to/image.dds"
|
||
|
|
|
||
|
|
# Path to background texture shown behind the icon
|
||
|
|
background = "path/to/image.dds"
|
||
|
|
|
||
|
|
# Path to frame texture shown around the icon
|
||
|
|
frame = "path/to/image.dds"
|
||
|
|
|
||
|
|
# Path to the glow emitted when this task is selected
|
||
|
|
glow = "path/to/image.dds"
|
||
|
|
}
|
||
|
|
|
||
|
|
councillor_modifier = { } #Modifier applied to the councillor while performing this task. Can take a "scale" parameter to scale by (a script value; see _script_values.info). Scopes are the same as for valid_character. You can define more than one of these if you need multiple scaling factors
|
||
|
|
council_owner_modifier = { }#Modifier applied to the council owner when the councillor is performing this task. Can take a "scale" parameter to scale by (a script value; see _script_values.info). Scopes are the same as for valid_character. You can define more than one of these if you need multiple scaling factors
|
||
|
|
county_modifier = { } #Modifier applied to the county where this task is being performed. Can take a "scale" parameter to scale by (a script value; see _script_values.info). Scopes are the same as for valid_county. You can define more than one of these if you need multiple scaling factors
|
||
|
|
|
||
|
|
# In the below, root is the councillor. Also saved as scope:councillor, and scope:councillor_liege is the councillor's liege
|
||
|
|
is_shown = { } #Check if the task is shown for the COUNCILLOR character. Task will stop if this is at any time false. This task will not be visible at all.
|
||
|
|
is_valid_showing_failures_only = { } #Check if the task is valid for the COUNCILLOR character. Otherwise the task will be grayed out showing the reason(s).
|
||
|
|
on_start_task = { } #Effect when the task starts
|
||
|
|
on_finish_task = { } #effect when the task finishes
|
||
|
|
on_cancel_task = { } #effect when the task is cancelled
|
||
|
|
on_monthly = { } #effect once a month while task is active
|
||
|
|
monthly_on_action = key #This on-action will be fired once a month. It is delayed 1 to 30 days to ensure it doesn't keep falling on the same day. Using this is more performant than firing an on-action from on_monthly. For province and court tasks, it'll provide those scopes too (as outlined below). It will not fire in the first 30 days after a task starts or its councillor is switched out
|
||
|
|
|
||
|
|
# In the below, scopes are the same as for valid_targets, except with the addition of scope:province, representing the capital province of the county, and scope:county representing the county title
|
||
|
|
potential_county = { } #check if the county scope is valid. Task will stop if this is at any time false
|
||
|
|
valid_county = { } #check if the county scope is valid
|
||
|
|
on_start_task_county = { } #effect when the task is starts
|
||
|
|
on_finish_task_county = { } #effect when the task finishes
|
||
|
|
on_cancel_task_county = { } #effect when the task is cancelled
|
||
|
|
on_monthly_county = { } #effect once a month while task is active
|
||
|
|
|
||
|
|
# In the below, scopes are the same as for valid_targets, except with the addition of scope:target_character, representing the character being targeted
|
||
|
|
potential_target_court = { }#check if the court scope is valid. Task will stop if this is at any time false
|
||
|
|
valid_target_court = { } #check if the court scope is valid
|
||
|
|
on_start_task_court = { } #effect when the task is starts
|
||
|
|
on_finish_task_court = { } #effect when the task finishes
|
||
|
|
on_cancel_task_court = { } #effect when the task is cancelled
|
||
|
|
on_monthly_court = { } #effect once a month while task is active
|
||
|
|
|
||
|
|
progress = { # For task_progress_percentage, how fast it progresses. Scope is councillor for global tasks. Same scopes as the count effects for county tasks. Rate is applied daily, scaled down by a factor of 30. It is presented in the UI as monthly despite days per month deviating slightly from 30
|
||
|
|
# For task_progress_value, this can be used to communicate to the player. The value can also be obtained in script using council_task_monthly_progress on the councillor
|
||
|
|
base = 1
|
||
|
|
modifier = {
|
||
|
|
add = 1
|
||
|
|
always = yes
|
||
|
|
desc = some_loc_key
|
||
|
|
}
|
||
|
|
}
|
||
|
|
full_progres = some_script_value/math # Some tasks just affect an existing process, such as development. Use this to obtain/calculate the full progress rate of that task. For tooltips and ETAs, that value will be used as the overall progress. In the progress rate breakdown for the task, that value minus the value provided by the task itself will be listed under the entry COUNCIL_TASK_OTHER_SOURCES. If you use this MAKE SURE that you actually apply everything that affects progress to the underlying value. E.G., for county control, make sure to have county_modifier that applies the county control gain
|
||
|
|
custom_other_loc = some_loc_key # This loc key replaces the COUNCIL_TASK_OTHER_SOURCES line in the progress breakdown
|
||
|
|
|
||
|
|
effect_desc = { # Dynamic description for effect description. Scopes based on task type. To add the modifier effects, you can do stuff like this [councillor.GetModifierDescForTask('task_foreign_affairs')]
|
||
|
|
}
|
||
|
|
|
||
|
|
# you can define a task that completely clones another one. They will share loc, triggers, effects but can be defined for different court positions.
|
||
|
|
# If you define a task as clone of another one:
|
||
|
|
# * the cloned task must be filled out (you cannot build clone chains where A clones B and B clones C)
|
||
|
|
# * you cannot redefine anything else than the court position, and that field MUST be redefined.
|
||
|
|
clone = other_task
|
||
|
|
}
|
||
|
|
|
||
|
|
== Related loc ==
|
||
|
|
The key of the task will be used as its name.
|