﻿-- chunkname: @scripts/settings/dialogue/dialogue_category_config.lua

local dialogue_category_config = {}

dialogue_category_config.default = {
	mutually_exclusive = true,
	query_score = 0,
	interrupted_by = {},
	playable_during_category = {},
}
dialogue_category_config.vox_prio_0 = {
	mutually_exclusive = true,
	query_score = 100,
	interrupted_by = {},
	playable_during_category = {
		conversations_prio_0 = true,
		conversations_prio_1 = true,
		default = true,
		enemy_alerts_prio_0 = true,
		enemy_alerts_prio_1 = true,
		enemy_story_vo = true,
		enemy_vo_prio_0 = true,
		enemy_vo_prio_1 = true,
		npc_prio_0 = true,
		npc_prio_1 = true,
		player_ability_vo = true,
		player_on_demand_vo = true,
		player_prio_0 = true,
		player_prio_1 = true,
		player_prio_2 = true,
	},
}
dialogue_category_config.vox_prio_1 = {
	interrupt_self = true,
	mutually_exclusive = false,
	query_score = 50,
	interrupted_by = {
		vox_prio_1 = true,
	},
	playable_during_category = {
		conversations_prio_0 = true,
		conversations_prio_1 = true,
		default = true,
		enemy_alerts_prio_0 = true,
		enemy_alerts_prio_1 = true,
		enemy_vo_prio_0 = true,
		enemy_vo_prio_1 = true,
		player_ability_vo = true,
		player_on_demand_vo = true,
		player_prio_0 = false,
		player_prio_1 = true,
		player_prio_2 = true,
		vox_prio_1 = true,
	},
}
dialogue_category_config.enemy_alerts_prio_0 = {
	mutually_exclusive = true,
	query_score = 50,
	interrupted_by = {},
	playable_during_category = {
		conversations_prio_0 = true,
		conversations_prio_1 = true,
		default = true,
		enemy_alerts_prio_0 = true,
		enemy_alerts_prio_1 = true,
		enemy_vo_prio_0 = true,
		enemy_vo_prio_1 = true,
		npc_prio_1 = true,
		player_ability_vo = true,
		player_on_demand_vo = true,
		player_prio_0 = true,
		player_prio_1 = true,
		player_prio_2 = true,
		vox_prio_0 = true,
	},
}
dialogue_category_config.enemy_alerts_prio_1 = {
	mutually_exclusive = true,
	query_score = 30,
	interrupted_by = {},
	playable_during_category = {
		default = true,
		enemy_alerts_prio_1 = true,
		enemy_vo_prio_0 = true,
		enemy_vo_prio_1 = true,
		npc_prio_1 = true,
		player_ability_vo = true,
		player_on_demand_vo = true,
		player_prio_1 = true,
		player_prio_2 = true,
	},
}
dialogue_category_config.player_on_demand_vo = {
	mutually_exclusive = false,
	query_score = 15,
	interrupted_by = {},
	playable_during_category = {
		conversations_prio_0 = true,
		conversations_prio_1 = true,
		default = true,
		enemy_alerts_prio_0 = true,
		enemy_alerts_prio_1 = true,
		enemy_vo_prio_0 = true,
		enemy_vo_prio_1 = true,
		npc_prio_0 = true,
		npc_prio_1 = true,
		player_ability_vo = true,
		player_on_demand_vo = true,
		player_prio_0 = true,
		player_prio_1 = true,
		player_prio_2 = true,
		vox_prio_0 = true,
	},
}
dialogue_category_config.player_ability_vo = {
	interrupt_self = true,
	mutually_exclusive = false,
	query_score = 20,
	interrupted_by = {},
	playable_during_category = {
		conversations_prio_0 = true,
		conversations_prio_1 = true,
		default = true,
		enemy_alerts_prio_0 = true,
		enemy_alerts_prio_1 = true,
		enemy_vo_prio_0 = true,
		enemy_vo_prio_1 = true,
		npc_prio_0 = true,
		npc_prio_1 = true,
		player_on_demand_vo = true,
		player_prio_0 = true,
		player_prio_1 = true,
		player_prio_2 = true,
		vox_prio_0 = true,
	},
}
dialogue_category_config.player_prio_0 = {
	mutually_exclusive = true,
	query_score = 25,
	interrupted_by = {
		enemy_story_vo = true,
	},
	playable_during_category = {
		conversations_prio_0 = true,
		conversations_prio_1 = true,
		default = true,
		enemy_alerts_prio_0 = true,
		enemy_alerts_prio_1 = true,
		enemy_vo_prio_0 = true,
		enemy_vo_prio_1 = true,
		npc_prio_1 = true,
		player_ability_vo = true,
		player_on_demand_vo = true,
		player_prio_1 = true,
		player_prio_2 = true,
	},
}
dialogue_category_config.player_prio_1 = {
	mutually_exclusive = true,
	query_score = 20,
	interrupted_by = {
		enemy_story_vo = true,
	},
	playable_during_category = {
		default = true,
		enemy_alerts_prio_1 = true,
		enemy_vo_prio_0 = true,
		enemy_vo_prio_1 = true,
		npc_prio_1 = true,
		player_ability_vo = true,
		player_on_demand_vo = true,
		player_prio_2 = true,
	},
}
dialogue_category_config.player_prio_2 = {
	mutually_exclusive = true,
	query_score = 5,
	interrupted_by = {},
	playable_during_category = {
		default = true,
		enemy_alerts_prio_1 = true,
		enemy_vo_prio_0 = true,
		enemy_vo_prio_1 = true,
		npc_prio_1 = true,
		player_ability_vo = true,
		player_on_demand_vo = true,
	},
}
dialogue_category_config.conversations_prio_0 = {
	mutually_exclusive = true,
	query_score = 25,
	queue_vox_prio_0 = true,
	interrupted_by = {
		vox_prio_0 = true,
	},
	playable_during_category = {
		default = true,
		enemy_alerts_prio_0 = true,
		enemy_alerts_prio_1 = true,
		enemy_vo_prio_0 = true,
		enemy_vo_prio_1 = true,
		npc_prio_0 = false,
		npc_prio_1 = true,
		player_ability_vo = true,
		player_on_demand_vo = true,
		player_prio_1 = true,
		player_prio_2 = true,
	},
}
dialogue_category_config.conversations_prio_1 = {
	add_rule_memory_on_discard = true,
	mutually_exclusive = true,
	query_score = 15,
	queue_vox_prio_0 = true,
	interrupted_by = {
		vox_prio_0 = true,
	},
	playable_during_category = {
		default = true,
		enemy_vo_prio_0 = true,
		enemy_vo_prio_1 = true,
		npc_prio_1 = true,
		player_ability_vo = true,
		player_on_demand_vo = true,
	},
}
dialogue_category_config.enemy_story_vo = {
	mutually_exclusive = false,
	query_score = 60,
	interrupted_by = {},
	playable_during_category = {
		conversations_prio_0 = true,
		conversations_prio_1 = true,
		enemy_alerts_prio_0 = true,
		enemy_alerts_prio_1 = true,
		enemy_story_vo = true,
		enemy_vo_prio_0 = true,
		enemy_vo_prio_1 = true,
		npc_prio_1 = true,
		player_ability_vo = true,
		player_on_demand_vo = true,
		player_prio_0 = true,
		player_prio_1 = true,
		player_prio_2 = true,
		vox_prio_0 = true,
	},
}
dialogue_category_config.enemy_vo_prio_0 = {
	mutually_exclusive = false,
	query_score = 10,
	interrupted_by = {
		enemy_story_vo = true,
	},
	playable_during_category = {
		conversations_prio_0 = true,
		conversations_prio_1 = true,
		enemy_alerts_prio_0 = true,
		enemy_alerts_prio_1 = true,
		enemy_vo_prio_0 = true,
		enemy_vo_prio_1 = true,
		npc_prio_1 = true,
		player_ability_vo = true,
		player_on_demand_vo = true,
		player_prio_0 = true,
		player_prio_1 = true,
		player_prio_2 = true,
		vox_prio_0 = true,
	},
}
dialogue_category_config.enemy_vo_prio_1 = {
	mutually_exclusive = true,
	query_score = 5,
	interrupted_by = {
		enemy_story_vo = true,
		enemy_vo_prio_0 = true,
	},
	playable_during_category = {
		conversations_prio_0 = true,
		conversations_prio_1 = true,
		enemy_alerts_prio_0 = true,
		enemy_alerts_prio_1 = true,
		enemy_vo_prio_1 = true,
		npc_prio_1 = true,
		player_ability_vo = true,
		player_on_demand_vo = true,
		player_prio_0 = true,
		player_prio_1 = true,
		player_prio_2 = true,
	},
}
dialogue_category_config.chorus_vo_prio_1 = {
	multiple_allowed = true,
	mutually_exclusive = false,
	query_score = 0,
	interrupted_by = {},
	playable_during_category = {
		chorus_vo_prio_1 = true,
		enemy_vo_prio_1 = true,
		npc_prio_1 = true,
		player_prio_1 = true,
		player_prio_2 = true,
	},
}
dialogue_category_config.cutscene = {
	mutually_exclusive = false,
	query_score = 0,
	interrupted_by = {
		cutscene_prio_high = true,
	},
	playable_during_category = {
		conversations_prio_0 = true,
		conversations_prio_1 = true,
		cutscene = true,
		enemy_alerts_prio_0 = true,
		enemy_alerts_prio_1 = true,
		enemy_vo_prio_0 = true,
		enemy_vo_prio_1 = true,
		player_ability_vo = true,
		player_on_demand_vo = true,
		player_prio_0 = true,
		player_prio_1 = true,
		player_prio_2 = true,
	},
}
dialogue_category_config.cutscene_prio_high = {
	mutually_exclusive = true,
	query_score = 0,
	interrupted_by = {},
	playable_during_category = {
		conversations_prio_0 = true,
		conversations_prio_1 = true,
		cutscene = true,
		enemy_alerts_prio_0 = true,
		enemy_alerts_prio_1 = true,
		enemy_vo_prio_0 = true,
		enemy_vo_prio_1 = true,
		player_ability_vo = true,
		player_on_demand_vo = true,
		player_prio_0 = true,
		player_prio_1 = true,
		player_prio_2 = true,
	},
}
dialogue_category_config.npc_prio_0 = {
	mutually_exclusive = true,
	query_score = 90,
	interrupted_by = {},
	playable_during_category = {
		conversations_prio_0 = false,
		conversations_prio_1 = true,
		default = true,
		enemy_alerts_prio_0 = true,
		enemy_alerts_prio_1 = true,
		enemy_vo_prio_0 = true,
		enemy_vo_prio_1 = true,
		npc_prio_0 = false,
		npc_prio_1 = true,
		player_ability_vo = true,
		player_on_demand_vo = true,
		player_prio_0 = true,
		player_prio_1 = true,
		player_prio_2 = true,
	},
}
dialogue_category_config.npc_prio_1 = {
	mutually_exclusive = true,
	query_score = 0,
	interrupted_by = {
		enemy_alerts_prio_0 = true,
		npc_prio_0 = true,
		player_prio_0 = true,
		vox_prio_0 = true,
	},
	playable_during_category = {
		conversations_prio_0 = false,
		conversations_prio_1 = false,
		default = true,
		enemy_alerts_prio_0 = false,
		enemy_alerts_prio_1 = false,
		enemy_vo_prio_0 = true,
		enemy_vo_prio_1 = true,
		npc_prio_0 = false,
		player_ability_vo = true,
		player_on_demand_vo = true,
		player_prio_0 = false,
		player_prio_1 = false,
		player_prio_2 = true,
	},
}
dialogue_category_config.playable_during_cinematic = {
	conversations_prio_0 = false,
	conversations_prio_1 = false,
	cutscene = true,
	cutscene_prio_high = true,
	default = false,
	enemy_alerts_prio_0 = false,
	enemy_alerts_prio_1 = false,
	enemy_vo_prio_0 = false,
	enemy_vo_prio_1 = false,
	npc_prio_0 = false,
	npc_prio_1 = false,
	player_on_demand_vo = false,
	player_prio_0 = false,
	player_prio_1 = false,
	player_prio_2 = false,
	vox_prio_0 = false,
	vox_prio_1 = false,
}

return settings("DialogueCategoryConfig", dialogue_category_config)
