package TEST
using RTDB, BaseStats, Factions, Character, WeaponConditions

corpo_knife : arasaka_base_ma
{
	baseAttitudeGroup = "hostile";
	fk< GameplayAbility >[] abilities += 
	[
		"Ability.HasDodge", "Ability.HasSandevistanTier1", "Ability.HasKerenzikov", "Ability.CanParry", "Ability.CanPickUpWeapon"
	];
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Knife_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
				equipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponUnequipCondition"
				];
			} : NPCEquipmentItem
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Nue_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
			} : NPCEquipmentItem
		];
	};
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.Health";
			modifierType = "Multiplier";
			value = 1.5f;
		} : ConstantStatModifier
	];
}

corpo_knife_parry : arasaka_base_ma
{
	fk< GameplayAbility >[] abilities += 
	[
		"Ability.CanParry"
	];
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Knife_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
				equipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponUnequipCondition"
				];
			} : NPCEquipmentItem
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Nue_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
			} : NPCEquipmentItem
		];
	};
}

corpo_mantis : arasaka_base_ma
{
	baseAttitudeGroup = "hostile";
	fk< GameplayAbility >[] abilities += 
	[
		"Ability.HasDodge", "Ability.CanParry", "Ability.CanPickUpWeapon"
	];
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Oda_Mantis_Blades";
				equipSlot = "AttachmentSlots.WeaponRight";
				equipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponUnequipCondition"
				];
			} : NPCEquipmentItem
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Nue_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
			} : NPCEquipmentItem
		];
	};
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.Health";
			modifierType = "Multiplier";
			value = 1.5f;
		} : ConstantStatModifier
	];
}

corpo_mantis_parry : arasaka_base_ma
{
	fk< GameplayAbility >[] abilities += 
	[
		"Ability.CanParry"
	];
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Oda_Mantis_Blades";
				equipSlot = "AttachmentSlots.WeaponRight";
				equipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponUnequipCondition"
				];
			} : NPCEquipmentItem
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Nue_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
			} : NPCEquipmentItem
		];
	};
}

corpo_sniper : arasaka_base_ma
{
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Nekomata_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
				onBodySlot = "AttachmentSlots.ItemSlotGenericRanged";
				equipCondition = 
				[
					"WeaponConditions.SniperPrimaryWeaponSniperEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.SniperPrimaryWeaponSniperUnequipCondition"
				];
			} : NPCEquipmentItem, 
			{
				item = "Items.Preset_Nue_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
				onBodySlot = "AttachmentSlots.ItemSlotHandgunRight";
				equipCondition = 
				[
					"WeaponConditions.SniperPrimaryWeaponRangedEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.SniperPrimaryWeaponRangedUnequipCondition"
				];
			} : NPCEquipmentItem, 
			{
				item = "Items.Preset_Machete_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
				onBodySlot = "AttachmentSlots.ItemSlotGenericMelee";
				equipCondition = 
				[
					"WeaponConditions.SniperPrimaryWeaponMeleeEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.SniperPrimaryWeaponMeleeUnequipCondition"
				];
			} : NPCEquipmentItem
		];
	};
	secondaryEquipment = 
	{
	};
	visualTags += 
	[
		"Lvl3", "Cyborg"
	];
	fk< GameplayAbility >[] abilities += 
	[
		"Ability.HasDodge", "Ability.HasSandevistanTier1", "Ability.HasKerenzikov", "Ability.CanPickUpWeapon"
	];
}

corpo_fist : arasaka_base_ma
{
	baseAttitudeGroup = "hostile";
	fk< GameplayAbility >[] abilities += 
	[
		"Ability.HasDodge", "Ability.HasChargeJump", "Ability.CanBlock", "Ability.CanPickUpWeapon"
	];
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.w_melee_004__fists_a";
				equipSlot = "AttachmentSlots.WeaponRight";
				equipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponUnequipCondition"
				];
			} : NPCEquipmentItem
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Testera_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
			} : NPCEquipmentItem
		];
	};
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.Health";
			modifierType = "Multiplier";
			value = 2.5f;
		} : ConstantStatModifier
	];
	actionMap = "Corpo.Map";
}

corpo_fist_parry : arasaka_base_ma
{
	baseAttitudeGroup = "hostile";
	fk< GameplayAbility >[] abilities += 
	[
		"Ability.CanParry"
	];
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.w_melee_004__fists_a";
				equipSlot = "AttachmentSlots.WeaponRight";
				equipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponUnequipCondition"
				];
			} : NPCEquipmentItem
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Testera_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
			} : NPCEquipmentItem
		];
	};
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.Health";
			modifierType = "Multiplier";
			value = 2.5f;
		} : ConstantStatModifier
	];
}

corpo_fist_block : arasaka_base_ma
{
	baseAttitudeGroup = "hostile";
	fk< GameplayAbility >[] abilities += 
	[
		"Ability.CanBlock"
	];
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.w_melee_004__fists_a";
				equipSlot = "AttachmentSlots.WeaponRight";
				equipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponUnequipCondition"
				];
			} : NPCEquipmentItem
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Testera_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
			} : NPCEquipmentItem
		];
	};
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.Health";
			modifierType = "Multiplier";
			value = 2.5f;
		} : ConstantStatModifier
	];
}

corpo_smg : arasaka_base_ma
{
	baseAttitudeGroup = "hostile";
	fk< GameplayAbility >[] abilities += 
	[
		"Ability.HasKerenzikov", "Ability.HasDodge"
	];
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Saratoga_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
				onBodySlot = "AttachmentSlots.ItemSlotSMG";
				equipCondition = 
				[
					"WeaponConditions.RangedHybridPrimaryWeaponRangedEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.RangedHybridPrimaryWeaponRangedUnequipCondition"
				];
			} : NPCEquipmentItem, 
			{
				item = "Items.Preset_Knife_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
				onBodySlot = "AttachmentSlots.ItemSlotTechRifle";
				equipCondition = 
				[
					"WeaponConditions.RangedHybridPrimaryWeaponMeleeEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.RangedHybridPrimaryWeaponMeleeUnequipCondition"
				];
			} : NPCEquipmentItem
		];
	};
	secondaryEquipment = 
	{
	};
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.Health";
			modifierType = "Multiplier";
			value = 1.f;
		} : ConstantStatModifier
	];
}

corpo_handgun : arasaka_base_ma
{
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Kenshin_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
				onBodySlot = "AttachmentSlots.ItemSlotSMG";
				equipCondition = 
				[
					"WeaponConditions.RangedHybridPrimaryWeaponRangedEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.RangedHybridPrimaryWeaponRangedUnequipCondition"
				];
			} : NPCEquipmentItem, 
			{
				item = "Items.Preset_Knife_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
				onBodySlot = "AttachmentSlots.ItemSlotTechRifle";
				equipCondition = 
				[
					"WeaponConditions.RangedHybridPrimaryWeaponMeleeEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.RangedHybridPrimaryWeaponMeleeUnequipCondition"
				];
			} : NPCEquipmentItem
		];
	};
	secondaryEquipment = 
	{
	};
	defaultEquipment = 
	{
		item = "Items.w_melee_004__fists_a";
		equipSlot = "AttachmentSlots.WeaponRight";
	} : NPCEquipmentItem;
}

corpo_katana : arasaka_base_ma
{
	baseAttitudeGroup = "hostile";
	fk< GameplayAbility >[] abilities += 
	[
		"Ability.HasDodge", "Ability.CanParry"
	];
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Katana_Arasaka_2020";
				equipSlot = "AttachmentSlots.WeaponRight";
				equipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponUnequipCondition"
				];
			} : NPCEquipmentItem
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Nue_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
			} : NPCEquipmentItem
		];
	};
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.Health";
			modifierType = "Multiplier";
			value = 1.f;
		} : ConstantStatModifier
	];
}

corpo_katana_parry : arasaka_base_ma
{
	baseAttitudeGroup = "hostile";
	fk< GameplayAbility >[] abilities += 
	[
		"Ability.CanParry"
	];
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Katana_Arasaka_2020";
				equipSlot = "AttachmentSlots.WeaponRight";
				equipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponUnequipCondition"
				];
			} : NPCEquipmentItem
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Nue_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
			} : NPCEquipmentItem
		];
	};
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.Health";
			modifierType = "Multiplier";
			value = 1.f;
		} : ConstantStatModifier
	];
}

corpo_android_fist : Android_NPC_Base
{
	entityTemplatePath = "base\characters\entities\corpo\corpo__android_ma.ent";
	displayName = "Arasaka Soldier";
	reactionPreset = "ReactionPresets.Ganger_Aggressive";
	fk< AISquadParams > squadParamsID = "FactionSquads.ArasakaSquad";
	fk< Affiliation > affiliation = "Factions.Arasaka";
	visualTags = 
	[
		"Arasaka"
	];
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.w_melee_004__fists_a";
				equipSlot = "AttachmentSlots.WeaponRight";
			} : NPCEquipmentItem
		];
	};
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.Health";
			modifierType = "Multiplier";
			value = 3.0f;
		} : ConstantStatModifier
	];
}

corpo_lmg : afterlife_merc_strong_short_range_m_hard
{
	baseAttitudeGroup = "hostile";
	fk< GameplayAbility >[] abilities += 
	[
	];
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Defender_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
				onBodySlot = "AttachmentSlots.ItemSlotSMG";
				equipCondition = 
				[
					"WeaponConditions.RangedHybridPrimaryWeaponRangedEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.RangedHybridPrimaryWeaponRangedUnequipCondition"
				];
			} : NPCEquipmentItem, 
			{
				item = "Items.Preset_Knife_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
				onBodySlot = "AttachmentSlots.ItemSlotTechRifle";
				equipCondition = 
				[
					"WeaponConditions.RangedHybridPrimaryWeaponMeleeEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.RangedHybridPrimaryWeaponMeleeUnequipCondition"
				];
			} : NPCEquipmentItem
		];
	};
	secondaryEquipment = 
	{
	};
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.Health";
			modifierType = "Multiplier";
			value = 1.f;
		} : ConstantStatModifier
	];
}

corpo_hmg : militech_enforcer3_gunner3_HMG_mb_elite
{
	baseAttitudeGroup = "hostile";
	fk< GameplayAbility >[] abilities += 
	[
	];
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_HMG_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
				onBodySlot = "AttachmentSlots.ItemSlotSMG";
				equipCondition = 
				[
					"WeaponConditions.RangedHybridPrimaryWeaponRangedEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.RangedHybridPrimaryWeaponRangedUnequipCondition"
				];
			} : NPCEquipmentItem, 
			{
				item = "Items.Preset_Knife_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
				onBodySlot = "AttachmentSlots.ItemSlotTechRifle";
				equipCondition = 
				[
					"WeaponConditions.RangedHybridPrimaryWeaponMeleeEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.RangedHybridPrimaryWeaponMeleeUnequipCondition"
				];
			} : NPCEquipmentItem
		];
	};
	secondaryEquipment = 
	{
	};
}

