package Character
using RTDB, BaseStats

Alt : Quest_NPC_Base
{
	priority = "SpawnableObjectPriority.Quest";
	entityTemplatePath = "base\quest\secondary_characters\alt.ent";
	savable = true;
	displayName = "LocKey#34467";
	fullDisplayName = "LocKey#34468";
	baseAttitudeGroup = "friendly";
	fk< Affiliation > affiliation = "Factions.Unaffiliated";
}

Alt_cyberspace : Quest_NPC_Base
{
	priority = "SpawnableObjectPriority.Quest";
	entityTemplatePath = "base\characters\entities\main_npc\alt_cyberspace.ent";
	savable = true;
	displayName = "LocKey#34469";
	fullDisplayName = "LocKey#34470";
	baseAttitudeGroup = "friendly";
	fk< Affiliation > affiliation = "Factions.Unaffiliated";
}

Dexter : Quest_NPC_Base
{
	priority = "SpawnableObjectPriority.Quest";
	tags = 
	[
		"Immortal"
	];
	entityTemplatePath = "base\quest\secondary_characters\dex.ent";
	savable = true;
	baseAttitudeGroup = "friendly";
	displayName = "LocKey#34471";
	fullDisplayName = "LocKey#34472";
	CName voiceTag = "dexter";
	fk< Affiliation > affiliation = "Factions.Unaffiliated";
	fk< NPCRarity > rarity = "NPCRarity.Elite";
}

Hanako : Quest_NPC_Base
{
	priority = "SpawnableObjectPriority.Quest";
	tags = 
	[
		"Invulnerable"
	];
	entityTemplatePath = "base\quest\secondary_characters\hanako.ent";
	savable = true;
	baseAttitudeGroup = "friendly";
	displayName = "LocKey#34473";
	fullDisplayName = "LocKey#34474";
	CName voiceTag = "hanako";
	fk< Affiliation > affiliation = "Factions.Arasaka";
}

Yorinobu : Quest_NPC_Base
{
	priority = "SpawnableObjectPriority.Quest";
	tags = 
	[
		"Invulnerable"
	];
	entityTemplatePath = "base\quest\secondary_characters\yorinobu.ent";
	baseAttitudeGroup = "friendly";
	reactionPreset = "ReactionPresets.NoReaction";
	displayName = "LocKey#34475";
	fullDisplayName = "LocKey#34476";
	savable = true;
	fk< Affiliation > affiliation = "Factions.Arasaka";
}

Jackie : valentinos_grunt1_ranged1_nue_ma
{
	priority = "SpawnableObjectPriority.Quest";
	tags = 
	[
		"Immortal"
	];
	entityTemplatePath = "base\quest\secondary_characters\jackie.ent";
	reactionPreset = "ReactionPresets.NoReaction";
	isBumpable = false;
	baseAttitudeGroup = "jackie";
	savable = true;
	displayName = "LocKey#34477";
	fullDisplayName = "LocKey#34478";
	rarity = "NPCRarity.Elite";
	CName voiceTag = "jackie";
	skipDisplayArchetype = true;
	dropsWeaponOnDeath = false;
	lootDrop = "LootTables.Empty";
	fk< GameplayAbility >[] abilities += 
	[
		"Ability.HasChargeJump"
	];
	scannerModulePreset = "ScanningNPCPresets.ScannerPreset_QuestNPCNoLevel";
	statModifiers += 
	[
		{
			statType = "BaseStats.StunImmunity";
			modifierType = "Additive";
			value = 1;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.TBHsBaseCoefficient";
			modifierType = "Additive";
			value = 0.5;
		} : ConstantStatModifier
	];
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Nue_Jackie";
				equipSlot = "AttachmentSlots.WeaponRight";
				onBodySlot = "AttachmentSlots.ItemSlotHandgunLeftJackie";
			} : NPCEquipmentItem, 
			{
				item = "Items.Preset_Nue_Jackie_Left_Hand";
				equipSlot = "AttachmentSlots.WeaponLeft";
				onBodySlot = "AttachmentSlots.ItemSlotHandgunRightJackie";
			} : NPCEquipmentItem
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.w_melee_004__fists_a";
				equipSlot = "AttachmentSlots.WeaponRight";
			} : NPCEquipmentItem
		];
	};
	bountyDrawTable = 
	{
		bountyChoices = 
		[
			{
				bountySetter = "Factions.NCPD";
				transgressions = 
				[
					"Transgression.AssaultPublicOfficial"
				];
				reward = "BountyReward.Generic";
			}
		];
	};
}

Judy : the_mox_elite2_fmelee2_machete_wa_rare
{
	priority = "SpawnableObjectPriority.Quest";
	entityTemplatePath = "base\quest\secondary_characters\judy.ent";
	reactionPreset = "ReactionPresets.NoReaction";
	isBumpable = false;
	displayName = "LocKey#34479";
	fullDisplayName = "LocKey#34480";
	alternativeDisplayName = "LocKey#32233";
	alternativeFullDisplayName = "LocKey#32235";
	CName voiceTag = "judy";
	savable = true;
	CName baseAttitudeGroup = "judy";
	tags = 
	[
		"Immortal"
	];
	archetypeData = "ArchetypeData.GenericRangedT2";
	skipDisplayArchetype = true;
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Chao_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
			} : NPCEquipmentItem
		];
	};
	bountyDrawTable = 
	{
		bountyChoices = 
		[
			{
				bountySetter = "Factions.NCPD";
				transgressions = 
				[
					{
						localizedDescription = "LocKey#48953";
					}
				];
				reward = "BountyReward.bounty_judy";
			}
		];
	};
}

Misty : Quest_NPC_Base
{
	priority = "SpawnableObjectPriority.Quest";
	entityTemplatePath = "base\quest\tertiary_characters\misty.ent";
	tags += 
	[
		"Immortal"
	];
	savable = true;
	baseAttitudeGroup = "friendly";
	displayName = "LocKey#34481";
	fullDisplayName = "LocKey#34482";
	CName voiceTag = "misty";
	fk< Affiliation > affiliation = "Factions.Unaffiliated";
}

Rogue : afterlife_rare_franged2_ajax_wa_rare
{
	priority = "SpawnableObjectPriority.Quest";
	tags = 
	[
		"Invulnerable"
	];
	entityTemplatePath = "base\quest\secondary_characters\rogue.ent";
	reactionPreset = "ReactionPresets.NoReaction";
	isBumpable = false;
	baseAttitudeGroup = "rogue";
	displayName = "LocKey#34483";
	fullDisplayName = "LocKey#34484";
	CName voiceTag = "rogue";
	savable = true;
	archetypeData = "ArchetypeData.GenericRangedT3";
	statModifiers += 
	[
	];
	fk< GameplayAbility >[] abilities += 
	[
		"Ability.CanUseGrenades"
	];
	skipDisplayArchetype = true;
	affiliation = "Factions.AfterlifeMercRogue";
	rarity = "NPCRarity.Elite";
	dropsWeaponOnDeath = false;
	statModifierGroups += 
	[
		"NPCStatPreset.FollowerDamageAgainstBosses"
	];
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Liberty_Rogue";
				equipSlot = "AttachmentSlots.WeaponRight";
				onBodySlot = "AttachmentSlots.ItemSlotHandgunRight";
			} : NPCEquipmentItem
		];
	};
	secondaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Masamune_Arasaka_2020";
				equipSlot = "AttachmentSlots.WeaponRight";
				onBodySlot = "AttachmentSlots.ItemSlotGenericRanged";
			} : NPCEquipmentItem
		];
	};
	bountyDrawTable = "BountyDrawTable.Rogue";
}

Saul : adelcaldos_grunt2_ranged2_sidewinder_ma
{
	priority = "SpawnableObjectPriority.Quest";
	tags = 
	[
		"Invulnerable"
	];
	entityTemplatePath = "base\quest\secondary_characters\saul.ent";
	reactionPreset = "ReactionPresets.NoReaction";
	isBumpable = false;
	savable = true;
	displayName = "LocKey#34485";
	fullDisplayName = "LocKey#34486";
	CName voiceTag = "saul";
	baseAttitudeGroup = "friendly";
	skipDisplayArchetype = true;
	dropsWeaponOnDeath = false;
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.BurningImmunity";
			modifierType = "Additive";
			value = 1;
		} : ConstantStatModifier
	];
	bountyDrawTable = 
	{
		bountyChoices = 
		[
			{
				bountySetter = "Factions.NCPD";
				transgressions = 
				[
					{
						localizedDescription = "LocKey#48954";
					}
				];
				reward = "BountyReward.bounty_saul";
			}
		];
	};
}

Smasher : main_boss_adam_smasher
{
	priority = "SpawnableObjectPriority.Quest";
	displayName = "LocKey#34487";
	fullDisplayName = "LocKey#34488";
	CName voiceTag = "smasher";
	savable = true;
	fk< LootTable > lootDrop = "LootTables.q116_smasher_keycard_lt";
}

q113_boss_smasher : Smasher
{
	statModifiers += 
	[
		{
			value = 3.5f;
			modifierType = "Multiplier";
			statType = "BaseStats.Health";
		} : ConstantStatModifier, 
		{
			value = 1.f;
			modifierType = "Multiplier";
			statType = "BaseStats.DPS";
		} : ConstantStatModifier
	];
	contentAssignment = "DeviceContentAssignment.q113";
}

q116_boss_smasher : q113_boss_smasher
{
}

Thompson : afterlife_rare_franged2_ajax_ma_rare
{
	priority = "SpawnableObjectPriority.Quest";
	tags = 
	[
		"Invulnerable"
	];
	entityTemplatePath = "base\quest\secondary_characters\thompson.ent";
	savable = true;
	displayName = "LocKey#34489";
	fullDisplayName = "LocKey#34490";
	CName voiceTag = "thompson";
	baseAttitudeGroup = "friendly";
	isBumpable = false;
	archetypeData = "ArchetypeData.GenericRangedT3";
	skipDisplayArchetype = true;
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Base_Copperhead";
				equipSlot = "AttachmentSlots.WeaponRight";
				equipCondition = 
				[
					"WeaponConditions.BaseRangedPrimaryWeaponEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.BaseRangedPrimaryWeaponUnequipCondition"
				];
			} : NPCEquipmentItem
		];
	};
	statModifiers += 
	[
	];
}

Weyland : afterlife_rare_gunner3_hmg_mb_elite
{
	priority = "SpawnableObjectPriority.Quest";
	tags = 
	[
		"Invulnerable"
	];
	entityTemplatePath = "base\quest\secondary_characters\weyland.ent";
	displayName = "LocKey#34491";
	fullDisplayName = "LocKey#34492";
	CName voiceTag = "weyland";
	savable = true;
	baseAttitudeGroup = "weyland";
	isBumpable = false;
	skipDisplayArchetype = true;
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Preset_Defender_Default";
				equipSlot = "AttachmentSlots.WeaponRight";
				equipCondition = 
				[
					"WeaponConditions.BaseRangedPrimaryWeaponEquipCondition"
				];
				unequipCondition = 
				[
					"WeaponConditions.BaseRangedPrimaryWeaponUnequipCondition"
				];
			} : NPCEquipmentItem
		];
	};
	statModifierGroups += 
	[
		"NPCStatPreset.FollowerDamageAgainstBosses"
	];
	bountyDrawTable = 
	{
		bountyChoices = 
		[
			{
				bountySetter = "Factions.NCPD";
				transgressions = 
				[
					"Transgression.AssaultPublicOfficial"
				];
				reward = "BountyReward.Generic";
			}
		];
	};
}

Wilson : Quest_NPC_Base
{
	priority = "SpawnableObjectPriority.Quest";
	entityTemplatePath = "base\quest\tertiary_characters\wilson.ent";
	savable = true;
	baseAttitudeGroup = "friendly";
	displayName = "LocKey#34493";
	fullDisplayName = "LocKey#34494";
	CName voiceTag = "wilson";
	fk< Vendor > vendorID = "Vendors.wat_lch_gunsmith_01";
	fk< Affiliation > affiliation = "Factions.Civilian";
	statModifiers += 
	[
		"BaseStats.ItemPurchasedAtVendorModifier"
	];
	contentAssignment = "DeviceContentAssignment.Autoscaling";
}

boxer_pants_sim : Quest_NPC_Base
{
	priority = "SpawnableObjectPriority.Quest";
	entityTemplatePath = "base\items\shots\sh_0070_boxer_pants_clothsim.ent";
}

visitor_dress_sim : Quest_NPC_Base
{
	priority = "SpawnableObjectPriority.Quest";
	entityTemplatePath = "base\items\shots\sh_0120_visitor_dress_clothsim.ent";
}

kid_pants_sim : Quest_NPC_Base
{
	priority = "SpawnableObjectPriority.Quest";
	entityTemplatePath = "base\items\shots\sh_0110__casuanfamily_pants.ent";
}

neko_cat : Quest_NPC_Base
{
	priority = "SpawnableObjectPriority.Quest";
	entityTemplatePath = "base\items\interactive\misc\int_misc_002__chinese_sculpture.ent";
}

