package Character
using RTDB, BaseStats, ArchetypeData

kurt_replacer : Player_Replacer_Puppet_Base
{
	priority = "SpawnableObjectPriority.Quest";
	entityTemplatePath = "ep1\quest\minor_quests\mq301\characters\kurt_replacer.ent";
	displayName = "LocKey#80560";
	fullDisplayName = "LocKey#80561";
	alternativeDisplayName = "LocKey#80560";
	voiceTag = "kurtz_v";
	baseAttitudeGroup = "kurt_replacer";
	savable = true;
	persistentName = "";
	fk< StatPool >[] statPools = 
	[
		"BaseStatPools.Johnny_Health_Base", "BaseStatPools.Player_Stamina_Base", "BaseStatPools.Player_Oxygen_Base", "BaseStatPools.Player_Adrenaline_Base", "BaseStatPools.Memory"
	];
	statModifiers += 
	[
		{
			statType = "BaseStats.Health";
			modifierType = "Multiplier";
			value = 2.56;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HealthInCombatRegenEnabled";
			modifierType = "Additive";
			value = 1;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HealthInCombatRegenEndThreshold";
			modifierType = "Additive";
			value = 100;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HealthOutOfCombatRegenEndThreshold";
			modifierType = "Additive";
			value = 100;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HealthOutOfCombatRegenRate";
			modifierType = "Multiplier";
			value = 10;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HealthInCombatRegenRate";
			modifierType = "Multiplier";
			value = 10;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HealthInCombatStartDelay";
			modifierType = "Additive";
			value = 3;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HealthOutOfCombatRegenDelayOnChange";
			modifierType = "Additive";
			value = 3;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HasCybereye";
			modifierType = "Multiplier";
			value = 0;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.MaxSpeed";
			modifierType = "Additive";
			value = 0.5f;
		} : ConstantStatModifier
	];
	effectors = 
	[
		{
			fk< StatusEffect > statusEffect = "GameplayRestriction.InfiniteAmmo";
		} : ApplyStatusEffectEffector, 
		{
			prereqRecord = "Prereqs.AnyWeaponHeldPrereq";
			statGroup = 
			{
				statModifiers = 
				[
					{
						statType = "BaseStats.DPS";
						modifierType = "Multiplier";
						value = 1.8f;
					} : ConstantStatModifier, 
					{
						statType = "BaseStats.FirePower";
						modifierType = "Multiplier";
						value = 0f;
					} : ConstantStatModifier
				];
			};
			applicationTarget = "Weapon";
		} : ApplyStatGroupEffector
	];
	fk< GenderEntity >[] genders = 
	[
		{
			initial = true;
			gender = "Gender.Male";
			entity = "ep1\quest\minor_quests\mq301\characters\kurt_replacer.ent";
		}
	];
	attachmentSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft", "AttachmentSlots.TppHead", "AttachmentSlots.PersonalLink", "AttachmentSlots.Consumable", "AttachmentSlots.Splinter"
	];
}

kurtz_mirror : arasaka_rare2_gunner3_hmg_mm_elite
{
	priority = "SpawnableObjectPriority.Quest";
	tags = 
	[
		"Invulnerable"
	];
	entityTemplatePath = "ep1\quest\minor_quests\mq301\characters\kurt_mirror.ent";
	reactionPreset = "ReactionPresets.NoReaction";
	displayName = "LocKey#80560";
	fullDisplayName = "LocKey#80561";
	voiceTag = "kurtz";
	baseAttitudeGroup = "kurtz";
	rarity = "NPCRarity.Boss";
	uiNameplate = "UINameplate.QuestSettings";
	bountyDrawTable = 
	{
		bountyChoices = 
		[
			"Bounty.Q304_Kurt_Bounty"
		];
	};
	skipDisplayArchetype = true;
	abilities += 
	[
		"Ability.HasSandevistanTier1", "Ability.HasKerenzikov", "Ability.HasDodge", "Ability.CanParry"
	];
	savable = true;
	affiliation = "Factions.Barghest";
	objectActions += 
	[
		"GenericInteraction.ReturnTalk"
	];
	statModifierGroups += 
	[
		"Character.Boss_Poise_Primary_Stat_ModGroup"
	];
}

babs_off : Quest_NPC_Base
{
	priority = "SpawnableObjectPriority.Quest";
	reactionPreset = "ReactionPresets.NoReaction";
	entityTemplatePath = "ep1\quest\minor_quests\mq301\characters\babs_off.ent";
	displayName = "LocKey#80581";
	fullDisplayName = "LocKey#80582";
	voiceTag = "Babs_off";
	baseAttitudeGroup = "friendly";
	savable = true;
}

paco_off : Quest_NPC_Base
{
	priority = "SpawnableObjectPriority.Quest";
	reactionPreset = "ReactionPresets.NoReaction";
	entityTemplatePath = "ep1\quest\minor_quests\mq301\characters\paco_off.ent";
	displayName = "LocKey#80583";
	fullDisplayName = "LocKey#80584";
	voiceTag = "Paco_off";
	baseAttitudeGroup = "friendly";
	savable = true;
}

mq301_kurt_initiation_ma : bou_kurtz_grunt1_ranged1_saratoga_ma
{
	priority = "SpawnableObjectPriority.Quest";
	reactionPreset = "ReactionPresets.NoReaction";
	baseAttitudeGroup = "friendly";
	savable = true;
	canHaveGenericTalk = false;
	tags = 
	[
		"Invulnerable"
	];
	isBumpable = false;
}

mq301_kurt_initiation_wa : bou_kurtz_grunt1_ranged1_saratoga_wa
{
	priority = "SpawnableObjectPriority.Quest";
	reactionPreset = "ReactionPresets.NoReaction";
	baseAttitudeGroup = "friendly";
	savable = true;
	canHaveGenericTalk = false;
	tags = 
	[
		"Invulnerable"
	];
	isBumpable = false;
}

mq301_kurt_initiation_mb : bou_kurtz_elite3_gunner3_HMG_mb_elite
{
	priority = "SpawnableObjectPriority.Quest";
	reactionPreset = "ReactionPresets.NoReaction";
	baseAttitudeGroup = "friendly";
	savable = true;
	canHaveGenericTalk = false;
	tags = 
	[
		"Invulnerable"
	];
	isBumpable = false;
}

mq301_ambush_scav_soldier_ma : scavenger_grunt2_ranged2_pulsar_ma
{
	quest = "NPCQuestAffiliation.MinorQuest";
	baseAttitudeGroup = "mq301_scavs";
	dropsWeaponOnDeath = false;
	lootDrop = "LootTables.Empty";
}

mq301_ambush_scav_soldier_shotgun : scavenger_elite2_shotgun_tactician_ma
{
	quest = "NPCQuestAffiliation.MinorQuest";
	baseAttitudeGroup = "mq301_scavs";
	dropsWeaponOnDeath = false;
	lootDrop = "LootTables.Empty";
}

mq301_ambush_scav_elite3_sniper2_grad_ma : high_scavenger_elite3_sniper2_grad_ma
{
	quest = "NPCQuestAffiliation.MinorQuest";
	baseAttitudeGroup = "mq301_scavs";
	dropsWeaponOnDeath = false;
	lootDrop = "LootTables.Empty";
}

mq301_ambush_scav_grunt2_ranged2_pulsar_ma : hpark_scavenger_grunt2_ranged2_pulsar_ma
{
	quest = "NPCQuestAffiliation.MinorQuest";
	baseAttitudeGroup = "mq301_scavs";
	dropsWeaponOnDeath = false;
	lootDrop = "LootTables.Empty";
}

mq301_ambush_scav_elite2_shotgun_tactician_ma : hpark_scavenger_elite2_shotgun_tactician_ma
{
	quest = "NPCQuestAffiliation.MinorQuest";
	baseAttitudeGroup = "mq301_scavs";
	dropsWeaponOnDeath = false;
	lootDrop = "LootTables.Empty";
}

mq301_ambush_scav_grunt2_ranged2_copperhead_ma : hpark_scavenger_grunt2_ranged2_copperhead_ma
{
	quest = "NPCQuestAffiliation.MinorQuest";
	baseAttitudeGroup = "mq301_scavs";
	dropsWeaponOnDeath = false;
	lootDrop = "LootTables.Empty";
}

mq301_ambush_scav_elite2_shotgun_igla_ma : hpark_scavenger_elite2_shotgun_igla_ma
{
	quest = "NPCQuestAffiliation.MinorQuest";
	baseAttitudeGroup = "mq301_scavs";
	dropsWeaponOnDeath = false;
	lootDrop = "LootTables.Empty";
}

mq301_ambush_scav_strong3_gunner2_defender_mb_rare : hpark_scavenger_strong3_gunner2_defender_mb_rare
{
	quest = "NPCQuestAffiliation.MinorQuest";
	baseAttitudeGroup = "mq301_scavs";
	dropsWeaponOnDeath = false;
	lootDrop = "LootTables.Empty";
}

mq301_ambush_scav_butcher3_hmelee2_machete_mb_rare : hpark_scavenger_butcher3_hmelee2_machete_mb_rare
{
	quest = "NPCQuestAffiliation.MinorQuest";
	baseAttitudeGroup = "mq301_scavs";
	dropsWeaponOnDeath = false;
	lootDrop = "LootTables.Empty";
}

mq301_ambush_scav_soldier_wa : ep1_scavenger_grunt1_ranged1_slaughtomatic_wa
{
	quest = "NPCQuestAffiliation.MinorQuest";
	baseAttitudeGroup = "mq301_scavs";
	dropsWeaponOnDeath = false;
	lootDrop = "LootTables.Empty";
}

mq301_ambush_scav_soldier_grunt1_ranged1_nova_wa : hpark_scavenger_grunt1_ranged1_nova_wa
{
	quest = "NPCQuestAffiliation.MinorQuest";
	baseAttitudeGroup = "mq301_scavs";
	dropsWeaponOnDeath = false;
	lootDrop = "LootTables.Empty";
}

mq301_ambush_scav_soldier_grunt1_ranged1_pulsar_wa : hpark_scavenger_grunt1_ranged1_pulsar_wa
{
	quest = "NPCQuestAffiliation.MinorQuest";
	baseAttitudeGroup = "mq301_scavs";
	dropsWeaponOnDeath = false;
	lootDrop = "LootTables.Empty";
}

mq301_ambush_scav_soldier_grunt2_ranged2_pulsar_wa : hpark_scavenger_grunt2_ranged2_pulsar_wa
{
	quest = "NPCQuestAffiliation.MinorQuest";
	baseAttitudeGroup = "mq301_scavs";
	dropsWeaponOnDeath = false;
	lootDrop = "LootTables.Empty";
}

mq301_ambush_scav_soldier_netrunner2_netrunner2_nova_wa_rare : hpark_scavenger_netrunner2_netrunner2_nova_wa_rare
{
	quest = "NPCQuestAffiliation.MinorQuest";
	baseAttitudeGroup = "mq301_scavs";
	dropsWeaponOnDeath = false;
	lootDrop = "LootTables.Empty";
}

mq301_ambush_scav_grunt1_ranged1_slaughtomatic_wa : hpark_scavenger_grunt1_ranged1_slaughtomatic_wa
{
	quest = "NPCQuestAffiliation.MinorQuest";
	baseAttitudeGroup = "mq301_scavs";
	dropsWeaponOnDeath = false;
	lootDrop = "LootTables.Empty";
}

mq301_ambush_scav_elite_melee : scavenger_fast3_fmelee3_machete_wa_elite
{
	quest = "NPCQuestAffiliation.MinorQuest";
	baseAttitudeGroup = "mq301_scavs";
	dropsWeaponOnDeath = false;
	lootDrop = "LootTables.Empty";
}

mq301_captive : hpark_scavenger_elite3_sniper2_grad_ma
{
	priority = "SpawnableObjectPriority.Quest";
	reactionPreset = "ReactionPresets.NoReaction";
	baseAttitudeGroup = "friendly";
	savable = true;
	canHaveGenericTalk = false;
	tags = 
	[
		"Invulnerable"
	];
	isBumpable = false;
	displayName = "LocKey#32122";
	fullDisplayName = "LocKey#32122";
	voiceTag = "captive";
}

