package Character
using RTDB, BaseStats, ArchetypeData, Prereqs, Perks

ma_bls_ina_se1_07_cyberpsycho_1 : Exo_NPC_Base
{
	quest = "NPCQuestAffiliation.MinorActivity";
	entityTemplatePath = "base\open_world\minor_activities\badlands\inland_avenue_se1\ma_bls_ina_07\characters\ma_bls_ina_07_psycho.ent";
	priority = "SpawnableObjectPriority.Quest";
	displayName = "LocKey#43870";
	fullDisplayName = "LocKey#43871";
	reactionPreset = "ReactionPresets.Ganger_Aggressive";
	fk< Affiliation > affiliation = "Factions.Aldecaldos";
	fk< NPCRarity > rarity = "NPCRarity.Boss";
	tags += 
	[
		"Cyberpsycho"
	];
	statModifierGroups += 
	[
		"Character.Cyberpsycho_ModGroup", "Character.ForceDefeatedModifierGroup", "Character.StunImunityModifierGroup", "Character.ma_bls_ina_se1_07_cyberpsycho_1_Stat_ModGroup"
	];
	lootDrop = "LootTables.Loot_ma_bls_ina_se1_07";
	contentAssignment = "DeviceContentAssignment.ma_bls_ina_se1_07";
}

ma_bls_ina_se1_07_cyberpsycho_1_Stat_ModGroup : NPC_Base_Curves
{
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.UnconsciousImmunity";
			modifierType = "Additive";
			value = 1;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.ImpactDamageThreshold";
			modifierType = "Additive";
			value = 0;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.KnockdownDamageThreshold";
			modifierType = "Additive";
			value = 100;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.ImpactDamageThresholdInCover";
			modifierType = "Additive";
			value = 100;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.StaggerDamageThresholdInCover";
			modifierType = "Additive";
			value = 100;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.ImpactDamageThresholdImpulse";
			modifierType = "Additive";
			value = 0;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.KnockdownDamageThresholdImpulse";
			modifierType = "Additive";
			value = 100;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.WoundHeadDamageThreshold";
			modifierType = "Additive";
			value = -1;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.WoundLArmDamageThreshold";
			modifierType = "Additive";
			value = -1;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.WoundRArmDamageThreshold";
			modifierType = "Additive";
			value = -1;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.WoundLLegDamageThreshold";
			modifierType = "Additive";
			value = -1;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.WoundRLegDamageThreshold";
			modifierType = "Additive";
			value = -1;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.DismHeadDamageThreshold";
			modifierType = "Additive";
			value = -1;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.DismLArmDamageThreshold";
			modifierType = "Additive";
			value = -1;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.DismRArmDamageThreshold";
			modifierType = "Additive";
			value = -1;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.DismLLegDamageThreshold";
			modifierType = "Additive";
			value = -1;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.DismRLegDamageThreshold";
			modifierType = "Additive";
			value = -1;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.DefeatedHeadDamageThreshold";
			modifierType = "Additive";
			value = 100;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.DefeatedLArmDamageThreshold";
			modifierType = "Additive";
			value = 100;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.DefeatedRArmDamageThreshold";
			modifierType = "Additive";
			value = 100;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.DefeatedLLegDamageThreshold";
			modifierType = "Additive";
			value = 100;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.DefeatedRLegDamageThreshold";
			modifierType = "Additive";
			value = 100;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HitReactionFactor";
			modifierType = "Additive";
			value = 1;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HitWoundsFactor";
			modifierType = "Additive";
			value = 1;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HitDismembermentFactor";
			modifierType = "Additive";
			value = 1;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HitTimerAfterImpact";
			modifierType = "Additive";
			value = 5;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HitTimerAfterImpactMelee";
			modifierType = "Additive";
			value = 5;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HitTimerAfterStagger";
			modifierType = "Additive";
			value = 5;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HitTimerAfterStaggerMelee";
			modifierType = "Additive";
			value = 5;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HitTimerAfterDefeated";
			modifierType = "Additive";
			value = 2;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HitTimerAfterPain";
			modifierType = "Additive";
			value = 5;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HitTimerAfterKnockdown";
			modifierType = "Additive";
			value = 20;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.KnockdownImmunity";
			modifierType = "Additive";
			value = 1.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BleedingImmunity";
			modifierType = "Additive";
			value = 1;
		} : ConstantStatModifier
	];
}

ma_bls_ina_se1_08_cyberpsycho : generic_shotgun_fshotgun2_palica_ma
{
	tags = 
	[
		"Cyberpsycho"
	];
	quest = "NPCQuestAffiliation.MinorActivity";
	priority = "SpawnableObjectPriority.Quest";
	entityTemplatePath = "base\characters\entities\special\special__cyberpsycho_ma.ent";
	displayName = "LocKey#43872";
	fullDisplayName = "LocKey#43873";
	skipDisplayArchetype = true;
	fk< Affiliation > affiliation = "Factions.Unaffiliated";
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				pool = 
				[
					{
						items = 
						[
							{
								item = "Items.Preset_Psycho_ma_bls_ina_se1_08_early";
								equipSlot = "AttachmentSlots.WeaponRight";
								onBodySlot = "AttachmentSlots.ItemSlotGenericRanged";
								equipCondition = 
								[
									"WeaponConditions.BaseRangedPrimaryWeaponEquipCondition"
								];
								unequipCondition = 
								[
									"WeaponConditions.BaseRangedPrimaryWeaponUnequipCondition"
								];
							} : NPCEquipmentItem
						];
					} : Cyberpsycho_EarlyGame_Weapon, 
					{
						items = 
						[
							{
								item = "Items.Preset_Psycho_ma_bls_ina_se1_08_mid";
								equipSlot = "AttachmentSlots.WeaponRight";
								onBodySlot = "AttachmentSlots.ItemSlotGenericRanged";
								equipCondition = 
								[
									"WeaponConditions.BaseRangedPrimaryWeaponEquipCondition"
								];
								unequipCondition = 
								[
									"WeaponConditions.BaseRangedPrimaryWeaponUnequipCondition"
								];
							} : NPCEquipmentItem
						];
					} : Cyberpsycho_MidGame_Weapon, 
					{
						items = 
						[
							{
								item = "Items.Preset_Psycho_ma_bls_ina_se1_08_late";
								equipSlot = "AttachmentSlots.WeaponRight";
								onBodySlot = "AttachmentSlots.ItemSlotGenericRanged";
								equipCondition = 
								[
									"WeaponConditions.BaseRangedPrimaryWeaponEquipCondition"
								];
								unequipCondition = 
								[
									"WeaponConditions.BaseRangedPrimaryWeaponUnequipCondition"
								];
							} : NPCEquipmentItem
						];
					} : Cyberpsycho_LateGame_Weapon, 
					{
						items = 
						[
							{
								item = "Items.Preset_Psycho_ma_bls_ina_se1_08_end";
								equipSlot = "AttachmentSlots.WeaponRight";
								onBodySlot = "AttachmentSlots.ItemSlotGenericRanged";
								equipCondition = 
								[
									"WeaponConditions.BaseRangedPrimaryWeaponEquipCondition"
								];
								unequipCondition = 
								[
									"WeaponConditions.BaseRangedPrimaryWeaponUnequipCondition"
								];
							} : NPCEquipmentItem
						];
					} : Cyberpsycho_EndGame_Weapon
				];
			} : NPCEquipmentItemPool
		];
	};
	contentAssignment = "DeviceContentAssignment.ma_bls_ina_se1_08";
	statModifierGroups += 
	[
		"Character.Cyberpsycho_ModGroup", "Character.Cyberpsycho_HitReaction_Resistance"
	];
	archetypeData = "ArchetypeData.FastShotgunnerT3";
	rarity = "NPCRarity.Boss";
	lootDrop = "LootTables.Loot_ma_bls_ina_se1_08";
	dropsWeaponOnDeath = true;
}

ma_bls_ina_se1_08_griffin : maelstrom_base_drone_griffin
{
	squadParamsID = "FactionSquads.GenericSquad";
	affiliation = "Factions.Unaffiliated";
	statModifiers += [];
}

ma_bls_ina_se1_22_psycho : aldecaldos_grunt2_sniper2_sor22_wa_elite
{
	quest = "NPCQuestAffiliation.MinorActivity";
	entityTemplatePath = "base\characters\entities\special\special__cyberpsycho_ma.ent";
	priority = "SpawnableObjectPriority.Quest";
	displayName = "LocKey#43874";
	fullDisplayName = "LocKey#50107";
	skipDisplayArchetype = true;
	fk< Affiliation > affiliation = "Factions.Unaffiliated";
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				pool = 
				[
					{
						items = 
						[
							{
								item = "Items.Preset_Psycho_ma_bls_ina_se1_22_early";
								equipSlot = "AttachmentSlots.WeaponRight";
								onBodySlot = "AttachmentSlots.ItemSlotGenericRanged";
								equipCondition = 
								[
									"WeaponConditions.SniperPrimaryWeaponSniperEquipCondition"
								];
								unequipCondition = 
								[
									"WeaponConditions.SniperPrimaryWeaponSniperUnequipCondition"
								];
							} : NPCEquipmentItem
						];
					} : Cyberpsycho_EarlyGame_Weapon, 
					{
						items = 
						[
							{
								item = "Items.Preset_Psycho_ma_bls_ina_se1_22_mid";
								equipSlot = "AttachmentSlots.WeaponRight";
								onBodySlot = "AttachmentSlots.ItemSlotGenericRanged";
								equipCondition = 
								[
									"WeaponConditions.SniperPrimaryWeaponSniperEquipCondition"
								];
								unequipCondition = 
								[
									"WeaponConditions.SniperPrimaryWeaponSniperUnequipCondition"
								];
							} : NPCEquipmentItem
						];
					} : Cyberpsycho_MidGame_Weapon, 
					{
						items = 
						[
							{
								item = "Items.Preset_Psycho_ma_bls_ina_se1_22_late";
								equipSlot = "AttachmentSlots.WeaponRight";
								onBodySlot = "AttachmentSlots.ItemSlotGenericRanged";
								equipCondition = 
								[
									"WeaponConditions.SniperPrimaryWeaponSniperEquipCondition"
								];
								unequipCondition = 
								[
									"WeaponConditions.SniperPrimaryWeaponSniperUnequipCondition"
								];
							} : NPCEquipmentItem
						];
					} : Cyberpsycho_LateGame_Weapon, 
					{
						items = 
						[
							{
								item = "Items.Preset_Psycho_ma_bls_ina_se1_22_end";
								equipSlot = "AttachmentSlots.WeaponRight";
								onBodySlot = "AttachmentSlots.ItemSlotGenericRanged";
								equipCondition = 
								[
									"WeaponConditions.SniperPrimaryWeaponSniperEquipCondition"
								];
								unequipCondition = 
								[
									"WeaponConditions.SniperPrimaryWeaponSniperUnequipCondition"
								];
							} : NPCEquipmentItem
						];
					} : Cyberpsycho_EndGame_Weapon
				];
			} : NPCEquipmentItemPool
		];
	};
	statModifierGroups += 
	[
		"Character.Cyberpsycho_ModGroup", "Character.Cyberpsycho_HitReaction_Resistance"
	];
	contentAssignment = "DeviceContentAssignment.ma_bls_ina_se1_22";
	abilities += 
	[
		"Ability.HasSandevistanTier2"
	];
	sensePreset = "Senses.SniperRelaxed150m";
	relaxedSensesPreset = "SniperRelaxed150m";
	alertedSensesPreset = "SniperAlerted150m";
	combatSensesPreset = "SniperCombat150m";
	threatTrackingPreset = "TargetTracking.CyberpsychoPreset";
	rarity = "NPCRarity.Boss";
	fk< LootTable > lootDrop = "LootTables.ma_bls_ina_se1_22_onscreen_01_loot_table";
	dropsWeaponOnDeath = true;
	tags += 
	[
		"Cyberpsycho"
	];
}

ma_bls_ina_se1_17_outpost_miniboss : bls_se_wraiths_grunt2_ranged2_copperhead_ma
{
	displayName = "LocKey#52153";
	fullDisplayName = "LocKey#52152";
	entityTemplatePath = "base\characters\entities\boss\bruce_ward.ent";
	skipDisplayArchetype = true;
	quest = "NPCQuestAffiliation.MinorActivity";
	fk< LootTable > lootDrop = "LootTables.ma_bls_ina_se1_17_Copperhead_Recipe_loot_table";
	rarity = "NPCRarity.Elite";
	archetypeData = "ArchetypeData.FastRangedT3";
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Saratoga_Pimp";
				equipSlot = "AttachmentSlots.WeaponRight";
				onBodySlot = "AttachmentSlots.ItemSlotGenericRanged";
				equipCondition = 
				[
					"WeaponConditions.RangedHybridPrimaryWeaponRangedEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.RangedHybridPrimaryWeaponRangedUnequipCondition"
				];
			} : NPCEquipmentItem, 
			{
				item = "Items.Preset_Machete_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
				onBodySlot = "AttachmentSlots.ItemSlotGenericMelee";
				equipCondition = 
				[
					"WeaponConditions.RangedHybridPrimaryWeaponMeleeEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.RangedHybridPrimaryWeaponMeleeUnequipCondition"
				];
			} : NPCEquipmentItem
		];
	};
	effectors = 
	[
		{
			prereqRecord = "Prereqs.RangedWeaponHeldPrereq";
			statGroup = 
			{
				statModifiers = 
				[
					{
						statType = "BaseStats.ChemicalDamage";
						modifierType = "Additive";
						value = 1f;
					} : ConstantStatModifier
				];
			};
		} : ApplyStatGroupOnWeapon
	];
	abilities += 
	[
		"Ability.CanUseBiohazardGrenades"
	];
}

ma_bls_ina_se5_03_desi : wraiths_warrior3_melee3_hammer_wa_rare
{
	quest = "NPCQuestAffiliation.MinorActivity";
	entityTemplatePath = "base\characters\entities\gang\gang__wraith_ma.ent";
	displayName = "LocKey#43875";
	fullDisplayName = "LocKey#43876";
	skipDisplayArchetype = true;
	statModifiers += 
	[
	];
	baseAttitudeGroup = "wraiths_ow";
}

ma_bls_se5_07_outpost_miniboss : bls_se_wraiths_grunt1_ranged1_nova_ma
{
	entityTemplatePath = "base\characters\entities\boss\rufus_mcbride.ent";
	quest = "NPCQuestAffiliation.MinorActivity";
	archetypeData = "ArchetypeData.NetrunnerT3";
	rarity = "NPCRarity.Elite";
	fk< LootTable > lootDrop = "LootTables.ma_wat_nid_06_Igla_Recipe_loot_table";
	displayName = "LocKey#43879";
	fullDisplayName = "LocKey#43880";
	skipDisplayArchetype = true;
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Overture_Pimp";
				equipSlot = "AttachmentSlots.WeaponRight";
				equipCondition = 
				[
					"WeaponConditions.BaseRangedPrimaryWeaponEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.BaseRangedPrimaryWeaponUnequipCondition"
				];
			} : NPCEquipmentItem
		];
	};
	visualTags = 
	[
		"Wraith"
	];
}

ma_bls_se5_07_android_bodyguard : bls_se_wraiths_android_android2_pulsar_ma
{
	quest = "NPCQuestAffiliation.MinorActivity";
	archetypeData = "ArchetypeData.ShotgunnerT3";
	rarity = "NPCRarity.Rare";
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Tactician_Pimp";
				equipSlot = "AttachmentSlots.WeaponRight";
				onBodySlot = "AttachmentSlots.ItemSlotGenericRanged";
				equipCondition = 
				[
					"WeaponConditions.BaseRangedPrimaryWeaponEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.BaseRangedPrimaryWeaponUnequipCondition"
				];
			} : NPCEquipmentItem
		];
	};
}

ma_bls_ina_se5_11_michael : wraiths_warrior3_shotgun3_satara_ma_elite
{
	quest = "NPCQuestAffiliation.MinorActivity";
	entityTemplatePath = "base\characters\entities\gang\gang__wraith_mb.ent";
	displayName = "LocKey#43881";
	fullDisplayName = "LocKey#43882";
	skipDisplayArchetype = true;
	statModifiers += 
	[
	];
	baseAttitudeGroup = "wraiths_ow";
}

ma_bls_ina_se5_12_george : wraiths_grunt2_melee2_crowbar_ma
{
	quest = "NPCQuestAffiliation.MinorActivity";
	entityTemplatePath = "base\characters\entities\gang\gang__wraith_ma.ent";
	displayName = "LocKey#43883";
	fullDisplayName = "LocKey#43884";
	skipDisplayArchetype = true;
	statModifiers += 
	[
	];
	baseAttitudeGroup = "wraiths_ow";
}

ma_bls_ina_se5_13_arnold : bls_se_wraiths_warrior3_shotgun3_palica_ma_elite
{
	quest = "NPCQuestAffiliation.MinorActivity";
	entityTemplatePath = "base\characters\entities\gang\gang__wraith_mb.ent";
	displayName = "LocKey#43885";
	fullDisplayName = "LocKey#43886";
	skipDisplayArchetype = true;
	statModifiers += 
	[
	];
	baseAttitudeGroup = "wraiths_ow";
}

ma_bls_ina_se5_16_timothy : bls_se_wraiths_grunt2_ranged2_copperhead_ma
{
	quest = "NPCQuestAffiliation.MinorActivity";
	entityTemplatePath = "base\characters\entities\gang\gang__wraith_ma.ent";
	displayName = "LocKey#43889";
	fullDisplayName = "LocKey#43890";
	skipDisplayArchetype = true;
	statModifiers += 
	[
	];
	baseAttitudeGroup = "wraiths_ow";
}

