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.
