﻿NJominiMapGraphics = {
	MAP_OBJECT_CELL_COUNT = 100
	MAP_OBJECT_FADE_SPEED = 3.0

	COUNTRY_NAMES_TEST_LINES_SPACING = 10.0
	COUNTRY_NAMES_SCALE = 0.75
	COUNTRY_NAMES_SCALE_CAP_WIDTH = 0.9
	COUNTRY_NAMES_SCALE_CAP_HEIGHT = 0.6
	COUNTRY_NAMES_NUM_LINE_TESTS = 5
	COUNTRY_NAMES_MAX_STRETCH_FACTOR = 1.6
	COUNTRY_NAMES_LOD_FACTOR = 0.05	# Names get blurrier as the texel/pixel ratio increases. Blur amount will be lod factor * texel/pixel ratio
	COUNTRY_NAMES_THICKNESS_BIAS = 0.015	# More bias = thicker map names. Can be used to solve artifacts caused by thin areas
	COUNTRY_NAMES_STRIDE_SIZE = 4
}

NJominiGraphics = {
	BLOOM_ITERATIONS = 3
	NULL_ENTITY = "test_object_entity"
	NULL_MESH = "test_object_mesh"
}

NGraphics = {
	MOON_HEIGHT = 600 # higher means softer shadows and more intense light
	SUN_HEIGHT  = 600 # higher means softer shadows and more intense light
	DRAW_FOW_CUTOFF = 400
	DRAW_FOW_FADE_LENGTH = 350
	SUN_LATITUDE  = 848
	DRAW_SHADOWS_CUTOFF = 400
	DRAW_SHADOWS_FADE_LENGTH = 50
	MAX_MESHES_LOADED_PER_FRAME = 100
	ARROW_MOVEMENT_SPEED = 2.0
	DRAG_SELECTION_THRESHOLD = 20.0 # if selecting less than this it will count as a click instead of dragselect
	HIGHLIGHT_TIMEOUT = 2.0

	FLAT_MAP_HEIGHT = 3.92
	FLAT_MAP_FADE_SPEED = 2.0		# How fast to fade to/from flat map state
	FLAT_MAP_ZOOM_STEP = 20			# At which zoom step to fade to flat map

	SURROUND_MAP_INNER_RECT = { 500.0 1000.0 500.0 3700.0 } 			#x-start, y-start, x-end, y-end
	#SURROUND_MAP_OUTER_RECT = { 0.0 0.0 6500.0 4100.0 }		#x-start, y-start, x-end, y-end
	SURROUND_MAP_OUTER_RECT = { -10000.0 -10000.0 20000.0 20000.0 }		#x-start, y-start, x-end, y-end
	SURROUND_MAP_TILE_FACTOR = { 3 1.5 }
	SURROUND_MAP_CLOUDHEIGHT = 5.0
	SURROUND_MAP_MINCLOUDALPHA = 0.1
	SURROUND_MAP_MAXCLOUDALPHA = 1.0
	SURROUND_MAP_PARALLAXSTRENGTH = 30.0
	SURROUND_MAP_PARALLAXFADEFACTOR = 1000.0
	SURROUND_MAP_BASECLOUDTILEFACTOR = { 5.0 2.5 }		# Large shapes scale
	SURROUND_MAP_BASECLOUDSCROLLING = { 0.0045 0.00125 }		# Large shapes direction
	SURROUND_MAP_BASECLOUDSTRENGTH = 20.0					# Large shapes normals strength
	#	SURROUND_MAP_BASECLOUDSTRENGTH = 0.1
	SURROUND_MAP_CLOUD1TILEFACTOR = { 4.0 4.0 }				# Mid scale
	SURROUND_MAP_CLOUD1SCROLLING = { 0.0025 -0.0025 }			# Mid direction
	SURROUND_MAP_CLOUD1STRENGTH = 1.0						# Mid strength
	#	SURROUND_MAP_CLOUD1STRENGTH = 0.1
	SURROUND_MAP_CLOUD2TILEFACTOR = { 8.0 8.0 }
	SURROUND_MAP_CLOUD2SCROLLING = { -0.0015 0.0015 }
	SURROUND_MAP_CLOUD2STRENGTH = 0.99
	#	SURROUND_MAP_CLOUD2STRENGTH = 0.1
	SURROUND_MAP_LOWCLOUDCOLOR = { 1.0 0.0 0.0 }
	SURROUND_MAP_HIGHCLOUDCOLOR = { 1.0 0.0 0.0 }
	SURROUND_MAP_SHADOWCOLOR = { 0.9 0.0 0.0 }

	WINTER_GRAPHICS_DEFAULT_FADE_SPEED = 0.035				# Snow fade speed used when the game is paused
	WINTER_GRAPHICS_FADE_SPEEDS = { 0 0 0 0.05 0.085 } 		# Snow fade speed based on the current game speed if the game is unpaused. If 0 is defined for a speed, it will use WINTER_GRAPHICS_DEFAULT_FADE_SPEED instead

	ERRORHOOF_DIVISOR = 100

	# Court
	COURT_EMISSIVE_STRENGTH = 10			# Strength of all emissive materials in the court shader
	COURT_GEMCUBE_STRENGTH = 1			# Strength of cubemap in the gemcube shader
	COURT_HOVER_GROW = 10.5				# Speed for hover effect increase in royal court scene
	COURT_HOVER_FADE = -8.				# Speed for hover effect fade in royal court scene
}

NCamera = {
	FOV	= 60 # Field-of-View
	ZNEAR = 10
	ZFAR = 10000

	EDGE_SCROLLING_PIXELS = 5 # how many pixels from window edge that will trigger edge scrolling

	SCROLL_SPEED = 0.045 # higher values = faster camera. NOTE that this is tweakables from settings as well!
	ZOOM_RATE = 0.2 # Zoom when right-mouse down
	ZOOM_STEPS = { 100 125 146 165 183 204 229 260 300 350 405 461 518 578 643 714 793 881 981 1092 1218 1360 1521 1703 1903 2116 2341 2573 2809 3047 3282 3512 3733 }	# Zoom steps
	# STEPS					0  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
	ZOOM_STEPS_TILT = {	 50 53 56 59 62 65 67 70 72 74 76 77 79 80 82 83 83 84 85 85 85 85 85 85 85 85 85 85 85 85 85 85 85 }		# Defualt zoom tilt
	#ZOOM_STEPS_TILT = {	45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 47 49 51 53 55 55 55 55 55 55 55 55 55 55 55 55 55 55 }		# Tweak Zoom steps
	ZOOM_STEPS_MIN_TILT = { 40 41 43 44 45 46 47 48 49 50 51 52 52 53 54 54 54 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 55 }
	ZOOM_STEPS_MAX_TILT = { 70 73 76 78 80 82 84 85 86 87 88 88 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 89 }
	ZOOM_AUDIO_PARAMETER_SCALE = 0.1		# The audio parameter "CameraHeight" will be set to the camera's height X ZOOM_AUDIO_PARAMETER_SCALE




	MAX_PAN_TO_ZOOM_STEP = 4							# The camera will lower to this height (but only if above it) when panning to characters/provinces etc.
	START_LOOK_AT = { 2600.0 0 2250.0 }					# Initial look at (X/Y)

	# Debug defines
	DEBUG_GAMEPAD_LOWSPEED 		= 25.0
	DEBUG_GAMEPAD_NORMALSPEED 	= 100.0
	DEBUG_GAMEPAD_HIGHSPEED 	= 300.0
	DEBUG_GAMEPAD_SENSITIVITY 	= 2.0

	TITLE_ZOOM_LEVEL_BY_EXTENT = { 20 15 13 11 9 7 5 4 3 }
	TITLE_ZOOM_LEVEL_EXTENTS = { 1000 800 600 400 300 200 100 -1 }
	TITLE_ZOOM_OFFSET_IF_LEFT_VIEW_SHOWN = { 230 175 145 120 95 70 50 40 30 } # We pretend the center point of the title is this far to the west if a left-view (E.G., the title view) is shown, and no right-view. It ensures that it ends up centered in the part of the screen not obscured by the UI

	PANNING_WIDTH =  6400
	PANNING_HEIGHT = 4096

	ROYAL_COURT_TOOL_MOVEMENT_SPEED = 6.0 				# Camera movement speed with WASD keys.
	ROYAL_COURT_TOOL_MOVEMENT_SPEED_FAST = 18.0 		# Camera movement speed with WASD keys while SHIFT is pressed.
	ROYAL_COURT_TOOL_LOOK_AROUND_SENSITIVITY = 1.0 		# How fast camera looks around when holding RMB.
	ROYAL_COURT_TOOL_LOOK_AROUND_SMOOTHNESS = 0.45 		# Camera looking around smooth interpolation. Value must be 1 or less and greater than 0. 1 = no interpolation.
	ROYAL_COURT_TOOL_LOOK_VERTICAL_LIMIT_ANGLE = 2.0 	# Looking up/down angle limit to avoid looking 90deg up/down.
	ROYAL_COURT_TOOL_DEFAULT_SPHERE_RADIUS = 25.0 		# Default sphere drawn for objects without any asset spawned, lights or other invisible entries.
	ROYAL_COURT_TOOL_DEV_CAM_FOV = 90.0 				# Field of view of developer camera
	ROYAL_COURT_TOOL_DEV_CAM_INITIAL_DISTANCE = 175.0 	# Distance from the scene origo at startup of developer camera.
	ROYAL_COURT_TOOL_DEV_CAM_INITIAL_PITCH = 45.0 		# Looking pitch direction at startup of developer camera.
	ROYAL_COURT_TOOL_DEV_CAM_INITIAL_YAW = 45.0 		# Looking yaw direction at startup of developer camera.
	ROYAL_COURT_TOOL_DEV_CAM_NEAR_CLIP = 25.0 			# Near clip distance of developer camera.
	ROYAL_COURT_TOOL_DEV_CAM_FAR_CLIP = 2500.0 			# Far clip distance of developer camera.
}

NMapColors = {
	OCEAN_MAP_COLOR = { 0.0 0.0 0.1 }
	WATER_MAP_COLOR = { 0.67 0.6 1.0 }
	IMPASSABLE_LAND_MAP_COLOR = { 0.0 0.0 0.0 }

	HOLDING_HIGHLIGHT_COLOR = { 0 0 1 }
	MAP_HIGHLIGHT_ALPHA = 0.1		# Transparency of the map highlight color overlay
	MAP_HIGHLIGHT_ALPHA_FLAT_MAP = 0.1	# Transparency of the map highlight color overlay when zoomed out to see the flat map
	MAP_HIGHLIGHT_ALPHA_CHARACTER = 0.2 # Transparency of the map highlight color overlay in the realms highlight
	MAP_HIGHLIGHT_ALPHA_TITLE = 0.1 # Transparency of the map highlight color overlay in the titles highlight
	MAP_HIGHLIGHT_ALPHA_MAIN_PROVINCE = 0.15 # Transparency of the map highlight color overlay on the main province tooltiped for holdings
	MAP_HIGHLIGHT_SNOW = 10.0 # Intensity multiplier of highlight over snow, to compensate for white on white
}

NBorder = {
	BORDER_WIDTH = 1.5			# Works
	COLOR_SELECTION_REGION = { 1.0 1.0 1.0 1.0 }
	COLOR_SELECTION_PROVINCE = { 1.0 1.0 1.0 1.0 }
	COLOR_SELECTION_HIGHLIGHT = { 1.0 1.0 1.0 1.0 }
	REGION_FADE_FAR = 1.0
	REGION_FADE_NEAR = 0.0
	PROVINCE_FADE_FAR = 1.0
	PROVINCE_FADE_NEAR = 0.0
	DISABLE_PROVINCE_AND_COUNTY_IN_FLAT_MAP = yes	# For performance reasons we disable these entirely, since they're not actually visible anyway in the flat map
	DISABLE_SUB_REALM_IN_FLAT_MAP = yes	# For performance reasons we disable these entirely, since they're not actually visible anyway in the flat map
	ENABLE_GRADIENT_BORDERS_SHORELINE = yes # need to restart the game for this setting to take effect
	BORDERS_FULL_UPDATE_INTERVAL = 20 # interval between full border updates instead of partial one
}

NTrees = {
	FADE_FAR = 1.0
	FADE_NEAR = 0.0
	QUAD_SIZE = 100
}

NRiver = {
	FADE_FROM = 0.0
	FADE_TO = 1.0
}

NMapName = {
	NAME_DRAW_DISTANCE = 4000.0		# Remove province names beyond this distance
	LARGE_NAMES_ZOOM_STEP = 10.5		# At which zoom steps are large map names shown
	NAME_FONT_NAME = "MapFont"		# Font used for drawing the map names
	NAME_FONT_SIZE = 50				# Font size used for drawing the map names
	FADE_SPEED = 1.6				# How fast names fade in/out
	CROSSFADE_DELAY = 0.7			# For how long should both small and big names be shown when fading between them
	MIN_OPACITY = 0.7				# minimum opacity. Names hidden by draw distance will still fade to 0
	MAX_OPACITY = 0.9
	MIN_OPACITY_DIST = 375.0		# Camera height at which the names have min opacity
	MAX_OPACITY_DIST = 1400.0		# Camera height at which the names have max opacity
	ZOOM_STEPS_VISIBLE_SCALES = {	# Each map-name has a scale. This list contains min-max values for each zoom step. If a name's scale is outside that range it will not be visible
		# min (hides names that are too small)
		# max (hides names when they get to large)
		0.0		0.0 	#50		0	Closest zoomed in
		0.0		0.0 	#75		1
		0.0		0.0		#100 	2
		0.0		50.0	#150 	3
		0.0		50.0	#200 	4
		0.0		50.0	#275 	5
		0.0		50.0	#375 	6
		0.0		50.0	#500 	7
		0.0		50.0	#650 	8
		0.0		50.0	#850 	9
		0.11	50.0	#1100 	10
		0.12	50.0	#1400 	11	Flat map
		0.13	50.0	#1750 	12
		0.14	50.0	#2150 	13
		0.15	50.0	#2600 	14
		0.17	50.0	#3050 	15
		0.19	50.0	#3500 	16
		0.21	50.0	#4000 	17
		0.23	50.0	#4500 	18
		0.27	50.0	#5000	19	Farthest out
	}
}

NUnitGraphics = {
	UNIT_MOVEMENT_MAX_BORDER_DISTANCE = 5.0		# The maximal distance the unit will move towards the province borders before actually changing the location
	UNIT_MOVEMENT_SPEED_WALK_TO_BORDER = 8.0 	# The speed for walking up to the province border
	UNIT_MOVEMENT_SPEED = 48.0					# The speed for moving between provinces 8.0 good speed for animation (48 default)
	UNIT_TURN_SPEED = 3.0
	UNIT_MAX_DAYS_IN_WRONG_PROVINCE = 8	# for how many days the units are allowed to be displayed in a previous province during movement animations

	# Unit scale depending on zoom step. Note that if it is 0, all other dynamic map objects are also hidden.
	UNIT_SCALE_PER_ZOOM_STEP = { 1.0 1.0 1.1 1.2  1.4  1.6  1.8  2.0 2.2  2.4  2.6  2.8  2.1  1.4  0.7  0.0  0.0  0.0  0.0  0.0 }

	# Dimensions of the units' CoA textures
	UNIT_COA_SIZE = { 256 256 }

	# Randomization of unit CoA-based coloring
	UNIT_COA_HUE_RANDOMIZATION = 0.00
	UNIT_COA_SATURATION_RANDOMIZATION = 0.0
	UNIT_COA_VALUE_RANDOMIZATION = 0.00

	WINNING_COMBAT_THRESHOLD = 1.5	# How much more power does the combat side need to show it's winning combat animation. (E.g. 1.5 means it has to be over 150% of the opponent)
	DISBAND_FADE_LENGTH = 3.0f # The length of the disbanding unit fadeout in seconds
}

NCombatInterface = {
	COMBAT_BALANCE_UNDECIDED_ZONE = 0.1					# If the balance of the combat is within this range around 50% (0.5) the prediction is considered undecided
	COMBAT_BALANCE_DIRECTION_STEPS = 3					# How many steps should the combat balance progress direction indicator have
	COMBAT_BALANCE_STEP_CHANGE = 10						# Balance change needed for increasing the steps of the indicator by one
	UNIT_QUALITY_THRESHOLDS = { # If the weighted (damage + toughness)^2 per man is at least the threshold value, the quality level is considered one higher. Weight is damage + toughness or MAX_QUALITY_POWER_MULT. Whichever is lower
		25
		60
		95
		130
	}
	MAX_QUALITY_POWER_MULT = 50							# When multiplying damage + toughness with itself, we cap it at this value. So damage + toughness of 100 would result in 100 * MAX_QUALITY_POWER_MULT rather than 100^2, while a value of 20 would result in 20*20
	MAX_COMBAT_PREDICTION_DISTANCE = 5					# How far along the path of your units should we bother to look? Higher means we can predict combat further away, but the situation is more likely to change before combat occurs
	BATTLE_EVENT_DURATION = 5.0							# How many seconds do battle events stick around for?
}

NCombatPrediction = {
	COMBAT_PREDICTION_ADVANTAGE_ROUNDS = 5				# How many rounds of the advantage are added to the starting advanatage when predicting the combat result
	EDGE_COMMANDER_MARTIAL_THRESHOLD = 3				# Commanders' martial skill difference needs to be at least this for it to be counted as an edge
	EDGE_COMMANDER_TRAITS_THRESHOLD = 1					# Commanders' number of commander traits skill difference needs to be at least this for it to be counted as an edge
	EDGE_SOLDIERS_RATIO_THRESHOLD = 1.25				# Total soldier count ratio needs to be at least this for it to be counted as an edge
	EDGE_QUALITY_THRESHOLD = 1.25						# Quality ratio needs to be at least this for it to be counted as an edge (together with EDGE_MIN_MEN_AT_ARMS)
	EDGE_COUNTER_RATIO_THRESHOLD = 1.25					# Total MAA counters need to be at least this for it to be counted as an edge
	EDGE_FORTIFICATION_THRESHOLD = 20					# Fortification needs to be at least this for it to be counted as an edge
	COMBAT_PREDICTION_LEVELS = { 0.3 0.45 0.6 0.8 }		# Prediction levels thresholds
	EDGE_ICON_COMMANDER_SKILL = "gfx/interface/icons/icon_skills_martial.dds"
	EDGE_ICON_COMMANDER_TRAITS = "gfx/interface/icons/icon_commander_trait.dds"
	EDGE_ICON_SOLDIERS = "gfx/interface/icons/icon_soldier.dds"
	EDGE_ICON_MEN_AT_ARMS = "gfx/interface/icons/combat_effects/men_at_arms_advantage.dds"
	EDGE_ICON_COUNTER = "gfx/interface/icons/icon_maa_countered.dds"
}

NGrantTitleInterface = {
	GRANT_TITLE_ITEM_HEIGHT = 45
	GRANT_TITLE_ITEM_WIDTH = { 450 425 400 375 350 }
	GRANT_TITLE_IN_LIST_COLOR = { 0.2 0.2 0.7 1.0 }
	GRANT_TITLE_COLOR = { 0.1 0.3 1.0 1.0 }
	REVOKE_TITLE_COLOR = { 1.0 0.3 0.1 1.0 }
	GRANT_TITLE_VASSAL_COLOR = { 0.1 0.3 1.0 1.0 }
	GRANT_TITLE_RECIPIENT_COLOR = { 0.0 0.9 0.25 1.0 }
	GRANT_TITLE_RECIPIENT_REALM_COLOR = { 0.0 0.4 0.25 1.0 }
	GRANT_VASSAL_COLOR_CANNOT_TRANSFER = { 0.4 0.4 0.4 0.6 }
}

NMapModes = {
	OTHER_REALM_COLOR = { 0.25 0.25 0.2 1.0 } 	# Outside of Realm
	MY_COLOR = { 0.05 0.05 1 1.0 }				# My Realm (international)
	MY_REALM_COLOR = { 0.3 0.3 0.45 1.0 }		# My Realm (internal, when interacting with a vassal)
	INVALID_COLOR = { 0.7 0.05 0.05 1.0 }
	VALID_COLOR = { 0. 1.0 0. 1.0 }
	OUT_OF_DIPLO_RANGE_COLOR = { .7 0.05 0.05 1. }
	IN_DIPLO_RANGE_COLOR = { 0.0 1 0.2 0.9 }
	DEBUG_MARK_COLOR = { 1 1 0 1 }
	COUNCIL_DEVELOPMENT_LOW = { .4 0 0.2 1 } # map color for 0-development county
	COUNCIL_DEVELOPMENT_HIGH = { 0.9 0.9 0 1 } # map color for max development county
	COUNCIL_CONTROL_LOW = { 1 0 0 1 } # map color for 0-control county
	COUNCIL_CONTROL_HIGH = { 0.6 0.15 0.2 1 } # map color for max control county
	COUNCIL_FABRICATE_CLAIM_COLOR_ADJACENT = { 0.2 0.8 0.2 1 }
	COUNCIL_FABRICATE_CLAIM_COLOR_DISTANT = { 0.6 0.6 0.2 1 }
	COUNCIL_FABRICATE_CLAIM_COLOR_HAS_CLAIM = { 0.9 0.3 0.9 1 }
	COUNCIL_FIND_SECRETS_COLOR_LIEGE = { 0.8 0.8 0.1 1 }
	COUNCIL_FIND_SECRETS_COLOR_INDEPENDENT = { 0.2 0.6 0.2 1 }
	COUNCIL_FIND_SECRETS_COLOR_VASSAL = { 0.4 0.8 1 1 }
	COUNCIL_FIND_SECRETS_COLOR_LANDED = { 0.8 0.8 0.8 1 }
	DEFAULT_PROVINCE_COLOR = { 1 .7 .7 .7 }		# used in various mapmodes
	DEFAULT_PROVINCE_COLOR_2 = { .15 .15 .15 1 }
	DEFAULT_SECONDARY_COLOR = { 0 0 0 0 }
	SELECT_CHARACTERS_ZOOM_STEP = 9			# Min zoom threshold for showing holdings/characters when clicking the map
	VASSALS_LIEGE_REALM_COLOR_ZOOM_STEP = 0	# Min zoom threshold for showing the liege's color instead direct vassals' colors in the realms map mode
	LARGE_IMPASSABLE_PROVINCE_PIXELS = 100000 # How many pixels qualify the impassible province as too big to be included in map colors and names
	WATER_BORDERS_ZOOM_STEP = 8 # at what zoom level disable borders along water shores
	CIVIL_WAR_REALM_INTERPOLATE_FACTOR = 0.45 # Factor of interpolation for civil wars when combining their primary title colour with the default map colour
	CIVIL_WAR_DARKEN_INTERPOLATE_FACTOR = 0.45 # The factor of interpolation for civil wars when combining the above merged colour with black to darken it
}

NWarMapModes = {
	DECLARE_WAR_TARGET_EXTRA_VALUE = 0.5
	ENEMY_COLOR = { 1.0 0.05 0.05 1.0 }
	WAR_TARGET_LOSING_COLOR = { 0.7 0.2 0.2 1.0 }
	WAR_TARGET_WINNING_COLOR = { 0.2 0.2 0.7 1.0 }
	GOING_TO_VASSAL_COLOR = { 0.9 0.9 0.9 0.2 }
	MY_ALLY_COLOR = { 0.03 0.03 0.7 1.0 }
	ENEMY_ALLY_COLOR = { 0.7 0.03 0.03 1.0 }
}

NCharacterWindow = {
	MAX_TRAITS_IN_PERSONALITY_BOX = 4				# How many traits per row in the trait box
	SKILL_LIST_ITEMS = { 0 1 2 3 4 }
}

NArmyWindow = {
	TOTAL_COMPOSITION_MAX_LINES = 30
}

NGui = {
	# Tooltip open time is a setting now.
	TOOLTIP_OPEN_DELAYED_TIME = 0.0		# Time a delayed tooltip takes to show up
	TOOLTIP_CLOSE_TIME = 0.2			# Time a delayed tooltip takes to close
	TOOLTIP_TENDENCY_BUFFER = 15		# Tendency buffer to detect where the mouse if going to be in the future
	TOOLTIP_MIDDLE_MOUSE_LOCK_TIME = 0.25 # How quickly you need to click/release the middle mouse button to lock a tooltip in seconds
	# Tooltip stack tint RGBA colors starting with the top tooltip
	TOOLTIP_TINT_RGBA = {
		1.0  1.0  1.0	1.0
		0.8 0.8 0.8 1.0
		0.6 0.6 0.6  1.0
		0.1  0.1  0.1	0.2
	}
	MESSAGE_FEED_DELAY = 1 # Number of seconds between the feed systems wait before adding another message if there's a queue
	MESSAGE_FEED_DAYS_SHOWN = 120 # Number of days a items will be shown in the feed before disappearing.
	TOAST_MESSAGE_TIME_SHOWN = 11 # Duration in seconds for how long to show a toast. Use < 0 to require manual dismissal.
	TOAST_MESSAGE_POST_HOVER_DELAY = 1.0 # When a message is hovered it doesn't disappear, but the above timeout still runs. When leaving with the mouse and the time has run out, leave the message on the screen for TOAST_MESSAGE_POST_HOVER_DELAY seconds.
	EVENT_WINDOW_EDGE_PIXELS = 200	# If an event window is moved outside the game window this number of pixels will stay inside it
	EVENT_PORTRAIT_DEFAULT_ENVIRONMENT = "environment_event_standard" # Default portrait environment for animated event portraits
	EVENT_OPTIONS_SHOWN_HIDE_UNAVAILABLE = 3 # How many options can be shown before unavailable options are not shown anymore (can lead to none/only some unavailable options being shown according to their order in the event)
	EVENT_OPTIONS_DISABLED_TIME = 0.5 # How long are event options unclickable after an event spawns, to prevent accidental clicks?
	MORE_INTERACTIONS_MOVED_TO_COMMON = 2 # If the common interactions are empty how many non common ones are moved to be shown as common. If there is going to be only one left in the more section it will be moved too.
	DAYS_SINCE_LAST_RAID_SHOULD_DISBAND = 60	# If this long since last raided, prompt player to disband their troops if they're not at war

	# Tint for opinion box, from bad to neutral to good. Neutral has two values,
	OPINION_TINT_RGBA = {
		0.83 	0.17 	0.17 	1.0 	# -100 Opinion
		0.76 	0.53 	0.17 	1.0 	# -0.1 Opinion
		0.58 	0.69 	0.28 	1.0 	# +0.1 Opinion
		0.29  	0.88  	0.31		1.0		# +100 Opinion
	}

	DISABLE_SHORTCUT_ACCESS_FOR_WINDOW_NAMES = {
		"character_window"
		"my_realm_window"
		"council_window"
		"military_window"
		"intrigue_window"
		"factions_window"
		"decision_window"
		"encyclopedia"
	}

	FIND_TITLES_MAX_MATCHES = 20	# The maximum number of titles that show up in the list while doing find titles
	MAX_MS_FOR_FIND_TITLE_LOOKUP = 10	# How much time should we spend ecah frame on updating the title lookup for Find Title after opening it

	MAX_PRISONER_COUNT_GRID = 0 	# The maximum amount of prisoners to display in the grid view (before switching over to the list view, when this grows beyond what is set here)
	MAX_WAR_PARTICIPANTS_IN_TOOLTIP = 6 # If a war side has more than this number of people, we cap the list and say "and x more"
	
	DECISION_DETAILS_VIEW_POSITION_DEFAULT = { -650 110 }
	DECISION_DETAILS_VIEW_POSITION_COURT = { -20 110 }
}

NRallyPoint = {
	COLORS = {
		0.7  0.2  0.2 1.0 #Red
		0.2 0.6 0.3 1.0 #Green
		0.8  0.6 0  1.0 #Yellow
		0.0  0.5 0.7 1.0 #Blue
		0.9 0.5 0.1 1.0 #Orange
		0.6 0.3 0.6 1.0 #Purple
		0.1 0.7 0.7 1.0 #Cyan
		#	0.7 0.1  0.6  1.0 #Magenta
		0.5 0.7 0.3 1.0 #Lime
		0.98 0.75 0.75 1.0 #Pink
		0.0  0.5  0.5  1.0 #Teal
		0.9  0.75 1.0  1.0 #Lavender
		0.67 0.43 0.16 1.0 #Brown
		#		0.5  0.0  0.0  1.0 #Maroon
		0.67 1.0  0.6 1.0 #Mint
		0.5  0.5  0.0  1.0 #Olive
		1.0  0.5 0.2 1.0 #Coral
		0.4  0.4  0.8  1.0 #Navy
	}
}

NMapIcon = {
	FORT_VISIBLE_ZOOM_STEPS = { 0 9 }
	STRAITS_VISIBLE_ZOOM_STEPS = { 0 8 }
	HOLDING_VISIBLE_ZOOM_STEPS = { 0 4 }
	HOLDING_SMALL_VISIBLE_ZOOM_STEPS = { 5 8 }
	REALM_CAPITAL_VISIBLE_ZOOM_STEPS = { 0 19 }
	TITLE_CAPITAL_VISIBLE_ZOOM_STEPS = { 0 16 }
	DYNASTY_HOUSES_VISIBLE_ZOOM_STEPS = { 5 10 }
	RALLY_POINT_VISIBLE_ZOOM_STEPS = { 0 8 }
	UNIT_VISIBLE_ZOOM_STEPS = { 0 16 }
	UNIT_NEUTRAL_VISIBLE_ZOOM_STEPS = { 0 8 }
	COMBAT_VISIBLE_ZOOM_STEPS = { 0 16 }
	COMBAT_NEUTRAL_VISIBLE_ZOOM_STEPS = { 0 8 }
	COMBAT_PREDICITON_VISIBLE_ZOOM_STEPS = { 0 8 }
	COUNCIL_TASK_VISIBLE_ZOOM_STEPS = { 0 8 }
	PROVINCE_VISIBLE_ZOOM_STEPS = { 0 19 }
	COURT_LANGUAGE_VISIBLE_ZOOM_STEPS = { 0 19 }
	FADE_IN_SPEED = 2.0
	FADE_OUT_SPEED = 4.0
}

NGameIcons = {
	TRAIT_ICON_PATH = "gfx/interface/icons/traits"
	STATICMODIFIER_ICON_PATH = "gfx/interface/icons/modifiers"
	REGIMENTYPE_ICON_PATH = "gfx/interface/icons/regimenttypes"
	REGIMENTYPE_HORIZONTAL_IMAGE_PATH = "gfx/interface/illustrations/men_at_arms_big"
	REGIMENTYPE_VERTICAL_IMAGE_PATH = "gfx/interface/illustrations/men_at_arms_small"
	COMBAT_EFFECT_ICON_PATH = "gfx/interface/icons/combat_effects"
	BUILDING_TYPE_ICON_PATH = "gfx/interface/icons/building_types"
	HOLDING_TYPE_ICON_PATH = "gfx/interface/icons/holding_types"
	HOLDING_TYPE_TAB_ICON_PATH = "gfx/interface/icons/holding_types_tab"
	COUNCIL_TASK_TYPE_ICON_PATH = "gfx/interface/icons/council_task_types"
	ACTIVITY_TYPE_ICON_PATH = "gfx/interface/icons/activities"
	ACTIVITY_TYPE_BACKGROUND_PATH = "gfx/interface/illustrations/activities"
	IMPORTANT_ACTIONS_TYPE_ICON_PATH = "gfx/interface/icons/alerts"
	SUGGESTION_TYPE_ICON_PATH = "gfx/interface/icons/suggestion_types"
	DECISION_ICON_PATH = "gfx/interface/icons/decisions"
	FAITH_DOCTRINE_ICON_PATH = "gfx/interface/icons/faith_doctrines"
	FAITH_DOCTRINE_GROUP_ICON_PATH = "gfx/interface/icons/faith_doctrine_groups"
	CULTURE_ERA_ILLUSTRATION_PATH = "gfx/interface/window_culture/culture_era_illustrations"
	CULTURE_ERA_FRAME_PATH = "gfx/interface/icons/culture_era_frames"
	FACTION_TYPE_ICON_PATH = "gfx/interface/icons/faction_type"
	TERRAIN_ICON_PATH = "gfx/interface/icons/terrain_types"
	TERRAIN_TYPE_ILLSUTRATION_PATH = "gfx/interface/illustrations/terrain_types"
	LAW_ICON_PATH = "gfx/interface/icons/laws"
	PERK_ICON_PATH = "gfx/interface/icons/lifestyles_perks"
	FOCUS_ICON_PATH = "gfx/interface/icons/focuses"
	LIFESTYLE_ICON_PATH = "gfx/interface/icons/lifestyles"
	LIFESTYLE_BIG_ICON_PATH = "gfx/interface/icons/lifestyles_big"
	LIFESTYLE_BACKGROUND_PATH = "gfx/interface/illustrations/lifestyles_background"
	LEGACY_ICON_PATH = "gfx/interface/icons/dynasty"
	LEGACY_TRACK_ICON_PATH = "gfx/interface/illustrations/legacy_tracks"
	CASUS_BELLI_TYPE_ICON_PATH = "gfx/interface/icons/casus_bellis"
	FAITH_DOCTRINE_BACKGROUND_PATH = "gfx/interface/icons/faith_doctrines"
	DEATH_REASON_ICON_PATH = "gfx/interface/icons/death_reason"
	CHARACTER_INTERACTION_ICON_PATH = "gfx/interface/icons/character_interactions"
	CHARACTER_INTERACTION_CATEGORY_ICON_PATH = "gfx/interface/icons/character_interaction_category"
	CHARACTER_INTERACTION_CATEGORY_BACKGROUND_PATH = "gfx/interface/icons/character_interaction_category_background"
	CHARACTER_INTERACTION_ALERT_PATH = "gfx/interface/icons/alerts_character_interaction"
	MESSAGE_ICON_PATH = "gfx/interface/icons/message_feed"
	BOOKMARK_BUTTON_PATH = "gfx/interface/icons/bookmark_buttons"
	BOOKMARK_BUTTON_BIG_PATH = "gfx/interface/icons/bookmark_big"
	SECRET_TYPE_PATH = "gfx/interface/icons/secret_categories"
	CULTURE_PILLAR_PATH = "gfx/interface/icons/culture_pillars"
	LIFESTYPE_TREE_BACKGROUND_PATH = "gfx/interface/icons/lifestyle_tree_backgrounds"

	DEFAULT_DEATH_REASON_ICON = "death_natural.dds"

	GOVERNMENT_TYPE_PATH = "gfx/interface/icons/government_types"
	GOVERNMENT_TYPE_REALM_MASK_PATH = "gfx/interface/icons/realm_masks"
	GOVERNMENT_TYPE_REALM_FRAME_PATH = "gfx/interface/icons/realm_frames"
	GOVERNMENT_TYPE_REALM_FRAME_SIZES = { 28 44 62 86 115 }

	BUILDING_LEVEL_ICONS = {
		"gfx/interface/icons/building_types/building_level_01.dds"
		"gfx/interface/icons/building_types/building_level_02.dds"
		"gfx/interface/icons/building_types/building_level_03.dds"
		"gfx/interface/icons/building_types/building_level_04.dds"
		"gfx/interface/icons/building_types/building_level_05.dds"
		"gfx/interface/icons/building_types/building_level_06.dds"
		"gfx/interface/icons/building_types/building_level_07.dds"
		"gfx/interface/icons/building_types/building_level_08.dds"
	}
	HEALTH_STATE_LEVELS_ICON_FRAMES = {
		3
		3
		2
		2
		1
		1
	}

	TRAIT_OVERLAY_VIRTUE = "gfx/interface/icons/traits/virtue_big.dds"
	TRAIT_OVERLAY_SIN = "gfx/interface/icons/traits/sin_big.dds"

	DEFAULT_CULTURE_INNOVATION_TYPE_ICON_PATH = "gfx/interface/icons/culture_innovations/_default.dds"
	DEFAULT_BOOKMARK_BACKGROUND_PATH = "gfx/interface/bookmarks/_default.dds"

	PIETY_GROUPS = { "christian" "islam" "pagan" "eastern" "judaism" "zoroastrian" }
	PIETY_GAME_CONCEPT_LEVEL = 1	# Which level of piety is used for the game concept icon
	PRESTIGE_LEVEL_PATH = "gfx/interface/icons/currencies"
	DYNASTY_PRESTIGE_LEVEL_PATH = "gfx/interface/icons/currencies"
	PIETY_LEVEL_PATH = "gfx/interface/icons/currencies"
	BATTLE_REPORT_VICTORY = "gfx/interface/icons/alerts_reports/report_battle_won.dds"
	BATTLE_REPORT_DEFEAT = "gfx/interface/icons/alerts_reports/report_battle_lost.dds"
	WAR_REPORT_VICTORY = "gfx/interface/icons/alerts_reports/report_war_victory.dds"
	WAR_REPORT_DEFEAT = "gfx/interface/icons/alerts_reports/report_war_defeat.dds"
	WAR_REPORT_WHITE_PEACE = "gfx/interface/icons/alerts_reports/report_war_white_peace.dds"
	WAR_REPORT_INVALIDATED = "gfx/interface/icons/alerts_reports/report_war_invalidation.dds"
	FAITH_ICON_PATH = "gfx/interface/icons/faith"
	INVENTORY_SLOT_ICON_PATH = "gfx/interface/icons/inventory"
	INSPIRATION_TYPE_ICON_PATH = "gfx/interface/icons/inspirations"
	SCHEME_TYPE_ICON_PATH = "gfx/interface/icons/scheme_types"
	ARTIFACT_ICON_PATH = "gfx/interface/icons/artifact"
	COURT_AMENITY_ICON_PATH = "gfx/interface/icons/amenities"
}

NOwnMapMode = {
	DEFAULT_COLOR = { 0.15 0.15 0.15 1.0 }
	MY_COLOR = { 0. 1.0 0. 1.0 }
	REALM_COLOR = { 0.0 0.2 0.0 1.0 }
	VASSAL_COLOR = { 0.2 1.0 0.15 1.0 }
}

NProvincePositions = {
	ARMY_OFFSET = { 5 0 0 }
	CHARACTER_OFFSET = { 0 0 2 }
	CITY_NAMEPLATE_OFFSET = { 1.0 0 -2.5 }
	ACTIVITY_OFFSET = { 4 0 -2.5 }
}
NHoldingGraphics = {
	MAX_ACTIVE_SOUND_EFFECTS = 5
	FLAG_MESHES = {
		"western_flag_01_mesh"
	}
	CLEAR_RADIUS = 7.0	# The radius (in map pixels) of a disk that will get cleared around the holding when built.
	CLEAR_RADIUS_SPECIAL_BUILDING = 7.0	# The radius (in map pixels) of a disk that will get cleared around special buildings when built. If the special building is closer to the holding than (CLEAR_RADIUS + CLEAR_RADIUS_SPECIAL_BUILDING), it won't get cleared.
	CLEAR_LAYERS = { "tree_low_layer" "tree_medium_layer" "tree_high_layer" }	# Which layers to clear around holdings.
}

NCouncil = {
	COUNCIL_COUNTY_TASK_UNSELECTED = { 0.0 0.0 0.5 0.8 } 	# color for unselected coutties
	COUNCIL_COUNTY_TASK_SELECTED = { 0.0 0.8 0.8 1.0 } 	# color for selected coutties
}

NScheme = {
	PROGRESS_FRAMES = 4
}

NMapObjects = {
	PLAYER_HOLDING_SCALE_MIN = { 0.6 400.0}		# The minimum scale and the distance used for scaling the player holding 3D objects
	PLAYER_HOLDING_SCALE_MAX = { 3.0 700.0 }	# The maximum scale and the distance used for scaling the player holding 3D objects

	# Entity states for city_siege_effect to represent current breach state.
	# Correspond to the breach states in NSiege::BREACH_PHASE_TIMER_LEVELS, but there is one extra level for no breach.
	CITY_SIEGE_EFFECT_STATE_PER_BREACH_LEVEL = {
		"no_breach"		# no breach (extra entry not in BREACH_PHASE_TIMER_LEVELS)
		"breached"		# first breach level (first entry in BREACH_PHASE_TIMER_LEVELS)
		"breached"		# second breach level
	}
}

NMapLines = {
	CHARACTER_LINE_TIER_TYPES = { # Which line type to use for showing character map lines (barony, county, duchy, kingdom vassal)
		"line_vassal"
		"line_vassal"
		"line_vassal_2"
		"line_vassal_2"
	}
	CHARACTER_LINE_TIER_TYPES_STRONG = { # Which line type to use for showing character map lines (barony, county, duchy, kingdom vassal), strong version for highlighting the direct liege
		"line_liege"
		"line_liege"
		"line_liege"
		"line_liege"
	}
	VASSAL_LINES_CYCLE_THRESHOLD = 0	# How many vassal lines can be shown at the same time (if it's more, the lines will cycle), 0 = no limit
	MAX_CYCLE_VASSAL_LINES = 7			# How many vassal lines can be shown at the same time when cycling, it can be different than VASSAL_LINES_CYCLE_THRESHOLD so we don't e.g. only cycle one line at a time
	VASSAL_LINES_MIN_SHOW_TIME = 1.0	# Minimal show time for vassal lines (before they are hidden by other vassal lines appearing thanks to MAX_VASSAL_LINES)
	VASSAL_LINES_MIN_SHOW_TIME_VARIANCE = 1.0	# Random variance in minimal show time for vassal lines
	ARMY_MOVEMENT_ARROW_ZOOM = 15		# Max zoom level to show the short army movement arrow, selected armies always show their move arrow
}

NLifestyle = {
	PERK_OFFSET = { 75 110 }	# How many pixels is 1 point of offset for a perk? x vs y axis
}

NMainMenu = {
	DEFAULT_MAIN_BOOKMARK_CHARACTER = "bookmark_hastings_normandy"
	DEFAULT_HEIR_BOOKMARK_CHARACTER = "bookmark_rags_to_riches_emir_yahya"
	DEFAULT_SECONDARY_BOOKMARK_CHARACTER = "bookmark_rags_to_riches_duchess_matilda"
}

NFindVassalList = {
	DESIRES_TITLE = 100
	LANDED_RULER_DOES_NOT_DESIRE_TITLE = -500
	IS_CHILD_OF_PLAYER = 25
	IS_CLOSE_RELATIVE_OF_PLAYER = 5
	SAME_DYNASTY_HOUSE_AS_PLAYER = 5
	SAME_DYNASTY_AS_PLAYER = 15
	PLAYER_HAS_HIGH_OPINION = 15
	PLAYER_HIGH_OPINION_VALUE = 35
	PLAYER_HAS_HOOK_ON_THEM = 20
	THEY_HAVE_HOOK_ON_PLAYER = -100
	PLAYER_KNOWS_SECRET_OF_THEIRS = 30
	THEY_KNOW_SECRET_OF_PLAYER = -80
	HAS_GOOD_RELATION = 30
	GOOD_RELATION_STRING = "friend"
	HAS_BAD_RELATION = -300
	BAD_RELATION_STRING = "rival"
	HIGH_GOLD_AMOUNT = 500
	HIGH_GOLD = 30
	THEY_ARE_VISIBLY_INFERTILE = -50
	OLD_AGE_YEARS = 50
	OLD_AGE = -25
	DIFFERENT_CULTURES = -150
	DIFFERENT_FAITHS = -150
	GENERAL_SKILL_MULTIPLIER = 1.75
	IS_LOWBORN = 0
}

NElectionCandidateList = {
	NOT_MY_DYNASTY = -100
	INFERTILE = -50
	BAD_HEALTH = -20
	DIFFERENT_FAITH = -50
	TOO_OLD = -10
	CLOSE_FAMILY = 5
	SAME_HOUSE = 10
	MY_CHILD = 20
	ADULT = 5
	GENERAL_SKILL_MULTIPLIER = 1
}

NUnitStatus = {
	NORMAL = "gfx/interface/illustrations/army_status/camped.dds"
	INCOMBAT = "gfx/interface/illustrations/army_status/moving.dds"
	SIEGING = "gfx/interface/illustrations/army_status/raiding.dds"
	EMBARKED = "gfx/interface/illustrations/army_status/embarked.dds"
	GATHERING = "gfx/interface/illustrations/army_status/camped.dds"
	RETREATING = "gfx/interface/illustrations/army_status/retreating.dds"
	MOVING = "gfx/interface/illustrations/army_status/moving.dds"
	RAIDING = "gfx/interface/illustrations/army_status/raiding.dds"
}

NVassalContract = {
	OBLIGATION_OFFSET = { 110 50 } # How many pixels is 1 point of offset for an obligation level? x vs y axis
}

NTextMatching = {
	DEFAULT_CUT_OFF_MULTIPLIER = 0.5 # The default cut off multiplier for text matching relative to the top score
}

NRulerDesigner = {
	PORTRAIT_MODIFIER_OVERRIDE_SET_KEY = { "clothes" "weight" "weight" "muscularity" }
	PORTRAIT_MODIFIER_OVERRIDE_ITEM_KEY = { "ruler_designer_clothes" "ruler_designer_overweight" "ruler_designer_underweight" "muscular" }
	
	ACCESSORY_GENES = { "hairstyles" "beards" }
	ACESSORY_GENES_PORTRAIT_SET = { "custom_hair" "custom_beards" }

	DEFAULT_AGE = 25
	FEMALE_ONLY_VISIBLE_GENES = { "gene_bs_bust" }
	HIDE_GENE_SLIDER = { "gene_bs_body_type" }
	MIN_AGE_FOR_SEXUALITY = 10 # If your age is below this we hide the sexuality choice
}

NCultureHybridization = {
	NUM_NAME_EXAMPLES = 6 # How many name examples to show in the hybridization view
}

NRoyalCourt = {
	COURT_GRANDEUR_LEVEL_TEXTURE_STEPS = 5 # A texture will be placed every X levels
	COURT_GRANDEUR_LEVEL_TEXTURES = {
		"gfx/interface/icons/building_types/building_level_01.dds"
		"gfx/interface/icons/building_types/building_level_02.dds"
		"gfx/interface/icons/building_types/building_level_03.dds"
		"gfx/interface/icons/building_types/building_level_04.dds"
		"gfx/interface/icons/building_types/building_level_05.dds"
		"gfx/interface/icons/building_types/building_level_06.dds"
		"gfx/interface/icons/building_types/building_level_07.dds"
		"gfx/interface/icons/building_types/building_level_08.dds"
		"gfx/interface/icons/building_types/building_level_08.dds"
		"gfx/interface/icons/building_types/building_level_08.dds"
	}
	IDLE_CAMERA_OFFSET = { 1.0 2.0 0 } # Vector that defines the offset for the Idle camera animation
	IDLE_CAMERA_TRANSITION_DURATION = 30 # Idle camera animation duration in seconds
	CAMERA_TRANSITION_SPEED = 650 	# Camera transition speed in unit per seconds
	DEFAULT_THRONE_CAMERA = "Default View" # Camera that court will open in if open in throne tab 
	DEFAULT_GRANDEUR_CAMERA = "Throne View" # Camera that court will open in if open in grandeur tab 
	DEFAULT_ARTIFACTS_CAMERA = "Artifact View" # Return camera after deselecting an artifact slot

	# Different durations (in seconds) of camera movement trigger different sound effect
	# 1st value at index 0 is reserved for scene refresh 
	CAMERA_MOVEMENT_DURATIONS_SECONDS = { 0 2 }
	# Sound effect played when camera moves from one point to another
	CAMERA_MOVEMENT_SOUND_EFFECT_PATH = "event:/DLC/EP1/SFX/courtcamera"


	COURT_LANGUAGE_GRANDEST_COURTS_TO_SHOW = 5 # The top X grandest royal courts should be shown in the court language view
	TOP_COURTS_TO_SHOW = 10 # How many courts to show in the "top x grand courts" tooltip
	CLOSE_COURTS_TO_SHOW = 5 # How many courts above and below the player in the ranking to show if the player isn't in the top

	COURT_EVENT_AVAILABLE_SOUND_EFFECT_PATH = "event:/DLC/EP1/SFX/UI/Notifications/royal_court_event_available" # Sound effect played when a court event is available.
}

NCourtPositions = {
	COURT_POSITIONS_BACKGROUND_PATH = "gfx/interface/illustrations/court_positions"
}

NCoatOfArmsDesigner = {
	NUM_EMBLEM_PER_GROUP = 8 # Number of emblem instances to show per paged group in the designer's panel
	EMBLEM_INSTANCE_PATTERN = "pattern_solid.dds" # "Neutral" pattern to use in the background of the emblem instance panel's previews
	EMBLEM_INSTANCE_DARK_BACKGROUND_COLOR = "black" # "Dark" named color to use in the background of the emblem instance panel's previews
	EMBLEM_INSTANCE_LIGHT_BACKGROUND_COLOR = "white" # "Light" named color to use in the background of the emblem instance panel's previews
	NEW_EMBLEM_DEFAULT_TEXTURE = "ce_fleur.dds" # Default texture for when adding a new emblem and no others exist
	NEW_EMBLEM_DEFAULT_COLOR = "yellow" # Default color to use in the above texture
}
