package Character
using RTDB, BaseStats, Factions, NPCStatPreset, ArchetypeType, ArchetypeData

Q304_boss_placeholder : ma_hey_spr_06_cyberpsycho
{
}

STS_08_BB_miniboss_placeholder : arasaka_sniper_sniper3_nekomata_ma_elite
{
	tags += 
	[
		"Cyberpsycho"
	];
	entityTemplatePath = "base\open_world\minor_activities\watson\kabuki\ma_wat_kab_02\characters\ma_wat_kab_02_cyberpsycho.ent";
	priority = "SpawnableObjectPriority.Quest";
	skipDisplayArchetype = true;
	bool enableSensesOnStart = true;
	sensePreset = "Senses.SniperRelaxed100m";
	relaxedSensesPreset = "SniperRelaxed100m";
	alertedSensesPreset = "SniperAlerted100m";
	combatSensesPreset = "SniperCombat100m";
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
			} : TygerClawsKatanaWeaponPool
		];
	};
	statModifiers += 
	[
		{
			statType = "BaseStats.CanUseCombatStims";
			modifierType = "Multiplier";
			value = 0;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.WoundLArmDamageThreshold";
			modifierType = "Additive";
			value = 100;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.WoundRArmDamageThreshold";
			modifierType = "Additive";
			value = 100;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.KnockdownDamageThreshold";
			modifierType = "Additive";
			value = 100;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.DismLArmDamageThreshold";
			modifierType = "Additive";
			value = 100;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.DismRArmDamageThreshold";
			modifierType = "Additive";
			value = 100;
		} : ConstantStatModifier
	];
	rarity = "NPCRarity.Boss";
	statModifierGroups += 
	[
		"Character.Cyberpsycho_ModGroup"
	];
}

sts_ep1_03_miniboss_placeholder : Gameplay_NPC_Base
{
	quest = "NPCQuestAffiliation.StreetStory";
	CName archetypeName = "wagner_bodyguard";
	fk< Affiliation > affiliation = "Factions.Scavengers";
	rarity = "NPCRarity.Boss";
	reactionPreset = "ReactionPresets.Ganger_Aggressive";
	actionMap = "Gang.Map";
	priority = "SpawnableObjectPriority.Quest";
	displayName = "LocKey#87661";
	fullDisplayName = "LocKey#87661";
	savable = true;
	lootDrop = "LootTables.Empty";
	entityTemplatePath = "ep1\openworld\street_stories\sts_ep1_03\characters\sts_ep1_03_guard.ent";
	bossHealthBarThresholds = 
	[
		50.f
	];
	statModifiers += 
	[
		{
			statType = "BaseStats.HasSandevistanTier1";
			modifierType = "Multiplier";
			value = 0;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HasSandevistanTier2";
			modifierType = "Multiplier";
			value = 0;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HasSandevistanTier3";
			modifierType = "Multiplier";
			value = 0;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.PoisonImmunity";
			modifierType = "Additive";
			value = 1;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.StunImmunity";
			modifierType = "Additive";
			value = 1;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.Health";
			modifierType = "Multiplier";
			value = 2.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BonusHealth";
			modifierType = "Multiplier";
			value = 0;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.PoisonImmunity";
			modifierType = "Additive";
			value = 1;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.DPS";
			modifierType = "Multiplier";
			value = 0.85f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HitTimerAfterImpact";
			modifierType = "Additive";
			value = 15.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HitTimerAfterImpactMelee";
			modifierType = "Additive";
			value = 15.f;
		} : ConstantStatModifier
	];
	statModifierGroups += 
	[
		"Character.Boss_Yasha_HitReactions_Stat_ModGroup", "Character.Boss_Poise_Primary_Stat_ModGroup"
	];
	archetypeData = "ArchetypeData.HeavyRangedT3";
	abilities += 
	[
		"Ability.HasMeleeHitReactionAndTakedownResistance"
	];
}

Boss_Yasha_HitReactions_Stat_ModGroup : StatModifierGroup
{
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.HitTimerAfterKnockdown";
			modifierType = "Additive";
			value = 4.33;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HitTimerAfterStagger";
			modifierType = "Additive";
			value = 3.5;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HitTimerAfterStaggerMelee";
			modifierType = "Additive";
			value = 3.5;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HitTimerAfterImpact";
			modifierType = "Additive";
			value = 2.5;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HitTimerAfterImpactMelee";
			modifierType = "Additive";
			value = 2.5;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.ImpactDamageThreshold";
			modifierType = "Multiplier";
			value = 0.2f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.StaggerDamageThreshold";
			modifierType = "Multiplier";
			value = 0.2f;
		} : ConstantStatModifier
	];
}

we_ep1_05_miniboss_placeholder : ma_bls_ina_se1_17_outpost_miniboss
{
	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
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Psycho_ma_bls_ina_se1_08";
				equipSlot = "AttachmentSlots.WeaponRight";
				onBodySlot = "AttachmentSlots.ItemSlotGenericRanged";
				equipCondition = 
				[
					"WeaponConditions.BaseRangedPrimaryWeaponEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.BaseRangedPrimaryWeaponUnequipCondition"
				];
			} : NPCEquipmentItem
		];
	};
}

we_ep1_17_miniboss_placeholder : arasaka_sniper_sniper3_nekomata_ma_elite
{
	tags += 
	[
		"Cyberpsycho"
	];
	entityTemplatePath = "base\open_world\minor_activities\watson\kabuki\ma_wat_kab_02\characters\ma_wat_kab_02_cyberpsycho.ent";
	priority = "SpawnableObjectPriority.Quest";
	skipDisplayArchetype = true;
	bool enableSensesOnStart = true;
	sensePreset = "Senses.SniperRelaxed100m";
	relaxedSensesPreset = "SniperRelaxed100m";
	alertedSensesPreset = "SniperAlerted100m";
	combatSensesPreset = "SniperCombat100m";
	archetypeData = "ArchetypeData.FastSniperT3";
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Psycho_ma_wat_kab_02";
				equipSlot = "AttachmentSlots.WeaponRight";
				onBodySlot = "AttachmentSlots.ItemSlotGenericRanged";
				equipCondition = 
				[
					"WeaponConditions.SniperPrimaryWeaponSniperEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.SniperPrimaryWeaponSniperUnequipCondition"
				];
			} : NPCEquipmentItem
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
			} : TygerClawsKatanaWeaponPool
		];
	};
	statModifiers += 
	[
		{
			statType = "BaseStats.CanUseCombatStims";
			modifierType = "Multiplier";
			value = 0;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.WoundLArmDamageThreshold";
			modifierType = "Additive";
			value = 100;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.WoundRArmDamageThreshold";
			modifierType = "Additive";
			value = 100;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.KnockdownDamageThreshold";
			modifierType = "Additive";
			value = 100;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.DismLArmDamageThreshold";
			modifierType = "Additive";
			value = 100;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.DismRArmDamageThreshold";
			modifierType = "Additive";
			value = 100;
		} : ConstantStatModifier
	];
	abilities += 
	[
		"Ability.CanPickUpWeapon", "Ability.HasDodge", "Ability.CanGuardBreak", "Ability.HasSandevistanTier1", "Ability.CanParry", "Ability.HasChargeJump", "Ability.HasKerenzikov", "Ability.CanBlock", "Ability.CanUseCovers", "Ability.CanCatchUpDistance", "Ability.CanCatchUp"
	];
	rarity = "NPCRarity.Boss";
	statModifierGroups += 
	[
		"Character.Cyberpsycho_ModGroup"
	];
}

