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

afterlife_base : Gameplay_NPC_Base
{
	reactionPreset = "ReactionPresets.Ganger_Aggressive";
	actionMap = "Corpo.Map";
	fk< AISquadParams > squadParamsID = "FactionSquads.AfterlifeMercsSquad";
	fk< Affiliation > affiliation = "Factions.AfterlifeMercs";
	bountyDrawTable = "BountyDrawTable.Generic";
	visualTags = 
	[
		"AfterlifeMercs"
	];
	fk< StatModifier >[] statModifiers += 
	[
	];
	abilities += 
	[
		"Ability.IsBalanced", "Ability.CanUseBiohazardGrenades"
	];
	isBumpable = true;
}

afterlife_base_ma : afterlife_base
{
	[ EP1 ]
	entityTemplatePath = "ep1\characters\entities\gang\gang__ep1_cyberpunk_ma.ent";
}

afterlife_base_wa : afterlife_base
{
	[ EP1 ]
	entityTemplatePath = "ep1\characters\entities\gang\gang__ep1_cyberpunk_wa.ent";
}

afterlife_base_mb : afterlife_base
{
	visualTags += 
	[
		"Big"
	];
	[ EP1 ]
	entityTemplatePath = "ep1\characters\entities\gang\gang__ep1_cyberpunk_mb.ent";
}

afterlife_rare_franged2_ajax_wa_rare : afterlife_base_wa
{
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
			} : MaelstromAssaultRiflePool
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
			} : ArasakaSecondaryHandgunPool
		];
	};
	visualTags += 
	[
		"Rare"
	];
	rarity = "NPCRarity.Rare";
	archetypeData = 
	{
		type = 
		{
			localizedName = "LocKey#42658";
		} : ArchetypeType.FastRangedT2;
	} : ArchetypeData.FastRangedT2;
}

afterlife_rare_franged2_ajax_ma_rare : afterlife_base_ma
{
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
			} : MaelstromAssaultRiflePool
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
			} : ArasakaSecondaryHandgunPool
		];
	};
	visualTags += 
	[
		"Rare"
	];
	rarity = "NPCRarity.Rare";
	archetypeData = 
	{
		type = 
		{
			localizedName = "LocKey#42659";
		} : ArchetypeType.FastRangedT2;
	} : ArchetypeData.FastRangedT2;
}

afterlife_rare_franged2_saratoga_wa_rare : afterlife_base_wa
{
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
			} : MilitechSMGPool
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
			} : ArasakaSecondaryHandgunPool
		];
	};
	visualTags += 
	[
		"Rare"
	];
	rarity = "NPCRarity.Rare";
	archetypeData = 
	{
		type = 
		{
			localizedName = "LocKey#42658";
		} : ArchetypeType.FastRangedT2;
	} : ArchetypeData.FastRangedT2;
}

afterlife_rare_franged2_saratoga_ma_rare : afterlife_base_ma
{
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
			} : MilitechSMGPool
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
			} : ArasakaSecondaryHandgunPool
		];
	};
	visualTags += 
	[
		"Rare"
	];
	rarity = "NPCRarity.Rare";
	archetypeData = 
	{
		type = 
		{
			localizedName = "LocKey#42659";
		} : ArchetypeType.FastRangedT2;
	} : ArchetypeData.FastRangedT2;
}

afterlife_rare_franged2_overture_wa_rare : afterlife_base_wa
{
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
			} : ValentinosPrimaryHandgunPool
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
			} : ArasakaSecondaryHandgunPool
		];
	};
	visualTags += 
	[
		"Rare"
	];
	rarity = "NPCRarity.Rare";
	archetypeData = 
	{
		type = 
		{
			localizedName = "LocKey#42658";
		} : ArchetypeType.FastRangedT2;
	} : ArchetypeData.FastRangedT2;
}

afterlife_rare_fmelee3_mantis_wa_elite : afterlife_base_wa
{
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.NPC_Mantis_Blades";
				equipSlot = "AttachmentSlots.WeaponRight";
				equipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponUnequipCondition"
				];
			} : NPCEquipmentItem
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
			} : ArasakaSecondaryHandgunPool
		];
	};
	fk< StatModifier >[] statModifiers += 
	[
		{
			statType = "BaseStats.WoundLArmDamageThreshold";
			modifierType = "Multiplier";
			value = 0;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.WoundRArmDamageThreshold";
			modifierType = "Multiplier";
			value = 0;
		} : ConstantStatModifier
	];
	visualTags += 
	[
		"Rare"
	];
	rarity = "NPCRarity.Elite";
	archetypeData = 
	{
		type = 
		{
			localizedName = "LocKey#42660";
		} : ArchetypeType.FastMeleeT3;
	} : ArchetypeData.FastMeleeT3;
	dropsWeaponOnDeath = false;
}

afterlife_rare_fmelee3_katana_wa_elite : afterlife_base_wa
{
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Katana_Military";
				equipSlot = "AttachmentSlots.WeaponRight";
				onBodySlot = "AttachmentSlots.ItemSlotKatana";
				equipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponUnequipCondition"
				];
			} : NPCEquipmentItem
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
			} : ArasakaSecondaryHandgunPool
		];
	};
	visualTags += 
	[
		"Rare"
	];
	rarity = "NPCRarity.Elite";
	archetypeData = 
	{
		type = 
		{
			localizedName = "LocKey#42660";
		} : ArchetypeType.FastMeleeT3;
	} : ArchetypeData.FastMeleeT3;
}

afterlife_rare_fmelee3_mantis_ma_elite : afterlife_base_ma
{
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.NPC_Mantis_Blades";
				equipSlot = "AttachmentSlots.WeaponRight";
				equipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponUnequipCondition"
				];
			} : NPCEquipmentItem
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
			} : ArasakaSecondaryHandgunPool
		];
	};
	fk< StatModifier >[] statModifiers += 
	[
		{
			statType = "BaseStats.WoundLArmDamageThreshold";
			modifierType = "Multiplier";
			value = 0;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.WoundRArmDamageThreshold";
			modifierType = "Multiplier";
			value = 0;
		} : ConstantStatModifier
	];
	visualTags += 
	[
		"Rare"
	];
	rarity = "NPCRarity.Elite";
	archetypeData = 
	{
		type = 
		{
			localizedName = "LocKey#42661";
		} : ArchetypeType.FastMeleeT3;
	} : ArchetypeData.FastMeleeT3;
	dropsWeaponOnDeath = false;
}

afterlife_rare_fmelee3_katana_ma_elite : afterlife_base_ma
{
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Katana_Military";
				equipSlot = "AttachmentSlots.WeaponRight";
				onBodySlot = "AttachmentSlots.ItemSlotKatana";
				equipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponUnequipCondition"
				];
			} : NPCEquipmentItem
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
			} : ArasakaSecondaryHandgunPool
		];
	};
	visualTags += 
	[
		"Rare"
	];
	rarity = "NPCRarity.Elite";
	archetypeData = 
	{
		type = 
		{
			localizedName = "LocKey#42661";
		} : ArchetypeType.FastMeleeT3;
	} : ArchetypeData.FastMeleeT3;
}

afterlife_rare_gunner3_hmg_mb_elite : afterlife_base_mb
{
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_HMG_Pimp";
				equipSlot = "AttachmentSlots.WeaponRight";
			} : NPCEquipmentItem
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
			} : AnimalsSecondaryHandgunPool
		];
	};
	visualTags += 
	[
		"Rare"
	];
	rarity = "NPCRarity.Elite";
	archetypeData = 
	{
		type = 
		{
			localizedName = "LocKey#42663";
		} : ArchetypeType.HeavyRangedT3;
	} : ArchetypeData.HeavyRangedT3;
	useForcedTBHZOffset = true;
	forcedTBHZOffset = -0.3f;
}

afterlife_netrunner_netrunner2_yukimura_wa_rare : afterlife_base_wa
{
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
			} : ArasakaPrimaryHandgunPool
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
			} : ArasakaSecondaryHandgunPool
		];
	};
	visualTags += 
	[
		"Rare"
	];
	actionMap = "CorpoNetrunner.Map";
	archetypeData = 
	{
		type = 
		{
			localizedName = "LocKey#42664";
		} : ArchetypeType.NetrunnerT2;
	} : NetrunnerT2Arasaka;
}

afterlife_netrunner_netrunner2_yukimura_ma_rare : afterlife_base_wa
{
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
			} : ArasakaPrimaryHandgunPool
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
			} : ArasakaSecondaryHandgunPool
		];
	};
	visualTags += 
	[
		"Rare"
	];
	actionMap = "CorpoNetrunner.Map";
	archetypeData = 
	{
		type = 
		{
			localizedName = "LocKey#42665";
		} : ArchetypeType.NetrunnerT2;
	} : NetrunnerT2Arasaka;
}

afterlife_rare_fshotgun3_zhuo_mb_elite : afterlife_base_mb
{
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
			} : ArasakaShotgunPool
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
			} : AnimalsSecondaryHandgunPool
		];
	};
	visualTags += 
	[
		"Rare"
	];
	rarity = "NPCRarity.Elite";
	archetypeData = 
	{
		type = 
		{
			localizedName = "LocKey#42666";
		} : ArchetypeType.FastShotgunnerT3;
	} : ArchetypeData.FastShotgunnerT3;
}

afterlife_rare_sniper3_ashura_ma_elite : afterlife_base_ma
{
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
			} : ArasakaSniperRiflePool
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
			} : ArasakaSecondaryHandgunPool
		];
	};
	sensePreset = "Senses.SniperRelaxed50m";
	relaxedSensesPreset = "SniperRelaxed50m";
	alertedSensesPreset = "SniperAlerted50m";
	combatSensesPreset = "SniperCombat50m";
	rarity = "NPCRarity.Elite";
	visualTags += 
	[
		"Rare"
	];
	archetypeData = 
	{
		type = 
		{
			localizedName = "LocKey#42667";
		} : ArchetypeType.FastSniperT3;
	} : ArchetypeData.FastSniperT3;
}

afterlife_merc_fast_melee_m_easy : afterlife_base_ma
{
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Machete_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
				onBodySlot = "AttachmentSlots.ItemSlotGenericMelee";
				equipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponUnequipCondition"
				];
			} : NPCEquipmentItem
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Overture_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
				onBodySlot = "AttachmentSlots.ItemSlotHandgunLeft";
			} : NPCEquipmentItem
		];
	};
	visualTags += 
	[
		"Lvl1"
	];
	fk< GameplayAbility >[] abilities += 
	[
		"Ability.HasDodge", "Ability.HasKerenzikov", "Ability.CanParry", "Ability.HasChargeJump", "Ability.CanTaunt", "Ability.CanPickUpWeapon"
	];
}

afterlife_merc_fast_melee_m_medium : afterlife_rare_fmelee3_katana_ma_elite
{
}

afterlife_merc_fast_melee_m_hard : afterlife_rare_fmelee3_mantis_ma_elite
{
}

afterlife_merc_fast_melee_w_easy : afterlife_base_wa
{
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Machete_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
				onBodySlot = "AttachmentSlots.ItemSlotGenericMelee";
				equipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.BaseMeleePrimaryWeaponUnequipCondition"
				];
			} : NPCEquipmentItem
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Lexington_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
				onBodySlot = "AttachmentSlots.ItemSlotHandgunLeft";
			} : NPCEquipmentItem
		];
	};
	visualTags += 
	[
		"Lvl1"
	];
	fk< GameplayAbility >[] abilities += 
	[
		"Ability.HasDodge", "Ability.HasKerenzikov", "Ability.CanParry", "Ability.HasChargeJump", "Ability.CanTaunt", "Ability.CanPickUpWeapon"
	];
}

afterlife_merc_fast_melee_w_medium : afterlife_rare_fmelee3_katana_wa_elite
{
}

afterlife_merc_fast_melee_w_hard : afterlife_rare_fmelee3_mantis_wa_elite
{
}

afterlife_merc_strong_short_range_m_easy : afterlife_rare_fshotgun3_zhuo_mb_elite
{
}

afterlife_merc_strong_short_range_m_medium : afterlife_rare_fshotgun3_zhuo_mb_elite
{
}

afterlife_merc_strong_short_range_m_hard : afterlife_rare_gunner3_hmg_mb_elite
{
}

afterlife_merc_strong_short_range_w_easy : afterlife_rare_franged2_overture_wa_rare
{
}

afterlife_merc_strong_short_range_w_medium : afterlife_rare_franged2_overture_wa_rare
{
}

afterlife_merc_strong_short_range_w_hard : afterlife_rare_franged2_overture_wa_rare
{
}

afterlife_merc_generic_medium_range_m_easy : afterlife_rare_franged2_saratoga_ma_rare
{
}

afterlife_merc_generic_medium_range_m_medium : afterlife_rare_franged2_ajax_ma_rare
{
}

afterlife_merc_generic_medium_range_m_hard : afterlife_rare_sniper3_ashura_ma_elite
{
}

afterlife_merc_generic_medium_range_w_easy : afterlife_rare_franged2_saratoga_wa_rare
{
}

afterlife_merc_generic_medium_range_w_medium : afterlife_rare_franged2_ajax_wa_rare
{
}

afterlife_merc_generic_medium_range_w_hard : afterlife_rare_franged2_ajax_wa_rare
{
}

afterlife_merc_netrunner_m_easy : afterlife_netrunner_netrunner2_yukimura_ma_rare
{
}

afterlife_merc_netrunner_m_medium : afterlife_netrunner_netrunner2_yukimura_ma_rare
{
}

afterlife_merc_netrunner_m_hard : afterlife_netrunner_netrunner2_yukimura_ma_rare
{
}

afterlife_merc_netrunner_w_easy : afterlife_netrunner_netrunner2_yukimura_wa_rare
{
}

afterlife_merc_netrunner_w_medium : afterlife_netrunner_netrunner2_yukimura_wa_rare
{
}

afterlife_merc_netrunner_w_hard : afterlife_netrunner_netrunner2_yukimura_wa_rare
{
}

