package Character
using RTDB, BaseStats, ArchetypeData

q101_blackhand_minion : Quest_NPC_Base
{
	quest = "NPCQuestAffiliation.MainQuest";
	entityTemplatePath = "base\quest\main_quests\part1\q101\characters\q101_blackhand_minion.ent";
	baseAttitudeGroup = "friendly";
	reactionPreset = "ReactionPresets.NoReaction";
	priority = "SpawnableObjectPriority.Quest";
	savable = true;
	displayName = "LocKey#32271";
	fullDisplayName = "LocKey#32273";
	statModifiers += 
	[
	];
}

q101_spider_murphy : Quest_NPC_Base
{
	quest = "NPCQuestAffiliation.MainQuest";
	entityTemplatePath = "base\quest\main_quests\part1\q101\characters\q101_spider_murphy.ent";
	reactionPreset = "ReactionPresets.NoReaction";
	baseAttitudeGroup = "friendly";
	priority = "SpawnableObjectPriority.Quest";
	tags = 
	[
		"Immortal"
	];
	savable = true;
	displayName = "LocKey#32275";
	fullDisplayName = "LocKey#32277";
	fk< Affiliation > affiliation = "Factions.Unaffiliated";
	statModifiers += 
	[
	];
}

q101_pilot : Quest_NPC_Base
{
	quest = "NPCQuestAffiliation.MainQuest";
	entityTemplatePath = "base\quest\main_quests\part1\q101\characters\q101_militech_pilot.ent";
	baseAttitudeGroup = "friendly";
	reactionPreset = "ReactionPresets.NoReaction";
	priority = "SpawnableObjectPriority.Quest";
	tags = 
	[
		"Immortal"
	];
	displayName = "LocKey#32279";
	fk< Affiliation > affiliation = "Factions.Militech";
	statModifiers += 
	[
	];
}

q101_arasaka_scientist_male : Quest_NPC_Base
{
	quest = "NPCQuestAffiliation.MainQuest";
	entityTemplatePath = "base\quest\main_quests\part1\q101\characters\q101_arasaka_scientist_male.ent";
	priority = "SpawnableObjectPriority.Quest";
	savable = true;
	isCrowd = true;
	displayName = "LocKey#32281";
	fk< Affiliation > affiliation = "Factions.Arasaka";
	statModifiers += 
	[
	];
}

q101_arasaka_soulkilling_agents : Quest_NPC_Base
{
	quest = "NPCQuestAffiliation.MainQuest";
	entityTemplatePath = "base\quest\main_quests\part1\q101\characters\q101_arasaka_soulkilling_agents.ent";
	priority = "SpawnableObjectPriority.Quest";
	savable = true;
	isCrowd = true;
	displayName = "LocKey#32283";
	fk< Affiliation > affiliation = "Factions.Arasaka";
	statModifiers += 
	[
	];
}

q101_samurai_band_staff_female : Quest_NPC_Base
{
	quest = "NPCQuestAffiliation.MainQuest";
	entityTemplatePath = "base\quest\main_quests\part1\q101\characters\q101_samurai_band_staff_female.ent";
	reactionPreset = "ReactionPresets.NoReaction";
	baseAttitudeGroup = "friendly";
	savable = true;
	isCrowd = true;
	canHaveGenericTalk = false;
	displayName = "LocKey#32291";
	fk< Affiliation > affiliation = "Factions.Unaffiliated";
	statModifiers += 
	[
	];
}

q101_samurai_band_staff_male : Quest_NPC_Base
{
	quest = "NPCQuestAffiliation.MainQuest";
	entityTemplatePath = "base\quest\main_quests\part1\q101\characters\q101_samurai_band_staff_male.ent";
	reactionPreset = "ReactionPresets.NoReaction";
	baseAttitudeGroup = "friendly";
	savable = true;
	isCrowd = true;
	canHaveGenericTalk = false;
	displayName = "LocKey#32293";
	fk< Affiliation > affiliation = "Factions.Unaffiliated";
	statModifiers += 
	[
	];
}

q101_audience_male : Crowd_NPC_Base
{
	quest = "NPCQuestAffiliation.MainQuest";
	entityTemplatePath = "base\quest\main_quests\part1\q101\characters\q101_audience_male.ent";
	staticCommunityAppearancesDistributionEnabled = true;
	fk< Affiliation > affiliation = "Factions.Unaffiliated";
	crowdAppearanceNames = 
	[
		"citizen__lowlife_ma_king_of_the_stoop_ma_01", "citizen__lowlife_ma_king_of_the_stoop_ma_02", "citizen__lowlife_ma_king_of_the_stoop_ma_03", "citizen__lowlife_ma_king_of_the_stoop_ma_04", "citizen__lowlife_ma_king_of_the_stoop_ma_05", "citizen__lowlife_ma_king_of_the_stoop_ma_06", "citizen__lowlife_ma_king_of_the_stoop_ma_07", "citizen__lowlife_ma_king_of_the_stoop_ma_08", "citizen__lowlife_ma_king_of_the_stoop_ma_09", "citizen__lowlife_ma_king_of_the_stoop_ma_011", "citizen__lowlife_ma_king_of_the_stoop_ma_012", "citizen__lowlife_ma_king_of_the_stoop_ma_013", "citizen__lowlife_ma_king_of_the_stoop_ma_014", "special__samurai_fan_ma_fan_01", "special__samurai_fan_ma_fan_02", "special__samurai_fan_ma_fan_03", "special__samurai_fan_ma_fan_04", "special__samurai_fan_ma_fan_05"
	];
	reactionPreset = "ReactionPresets.NoReaction";
	displayName = "LocKey#32295";
	statModifiers += [];
}

q101_audience_female : Crowd_NPC_Base
{
	quest = "NPCQuestAffiliation.MainQuest";
	entityTemplatePath = "base\quest\main_quests\part1\q101\characters\q101_audience_female.ent";
	staticCommunityAppearancesDistributionEnabled = true;
	fk< Affiliation > affiliation = "Factions.Unaffiliated";
	crowdAppearanceNames = 
	[
		"queen_of_the_stoop_wa_queen_of_the_stoop_wa_01", "queen_of_the_stoop_wa_queen_of_the_stoop_wa_02", "queen_of_the_stoop_wa_queen_of_the_stoop_wa_03", "queen_of_the_stoop_wa_queen_of_the_stoop_wa_04", "queen_of_the_stoop_wa_queen_of_the_stoop_wa_05", "queen_of_the_stoop_wa_queen_of_the_stoop_wa_06", "queen_of_the_stoop_wa_queen_of_the_stoop_wa_07", "queen_of_the_stoop_wa_queen_of_the_stoop_wa_08", "queen_of_the_stoop_wa_queen_of_the_stoop_wa_09", "queen_of_the_stoop_wa_queen_of_the_stoop_wa_10", "queen_of_the_stoop_wa_queen_of_the_stoop_wa_11", "queen_of_the_stoop_wa_queen_of_the_stoop_wa_12", "queen_of_the_stoop_wa_queen_of_the_stoop_wa_13", "queen_of_the_stoop_wa_queen_of_the_stoop_wa_14", "queen_of_the_stoop_wa_queen_of_the_stoop_wa_15", "queen_of_the_stoop_wa_queen_of_the_stoop_wa_16", "queen_of_the_stoop_wa_queen_of_the_stoop_wa_17", "queen_of_the_stoop_wa_queen_of_the_stoop_wa_18", "special__samurai_fan_wa_fan_01", "special__samurai_fan_wa_fan_02", "special__samurai_fan_wa_fan_03", "special__samurai_fan_wa_fan_04", "special__samurai_fan_wa_fan_05"
	];
	reactionPreset = "ReactionPresets.NoReaction";
	displayName = "LocKey#32297";
	statModifiers += [];
}

q101_punk_female : Quest_NPC_Base
{
	quest = "NPCQuestAffiliation.MainQuest";
	entityTemplatePath = "base\quest\main_quests\part1\q101\characters\q101_punk_female.ent";
	reactionPreset = "ReactionPresets.NoReaction";
	baseAttitudeGroup = "friendly";
	priority = "SpawnableObjectPriority.Quest";
	isCrowd = true;
	canHaveGenericTalk = false;
	displayName = "LocKey#32291";
	fk< Affiliation > affiliation = "Factions.Unaffiliated";
	statModifiers += 
	[
	];
}

q101_parasite : Quest_NPC_Base
{
	quest = "NPCQuestAffiliation.MainQuest";
	entityTemplatePath = "base\quest\main_quests\part1\q101\characters\q101_parasite.ent";
	reactionPreset = "ReactionPresets.NoReaction";
	baseAttitudeGroup = "friendly";
	priority = "SpawnableObjectPriority.Quest";
	savable = true;
	isCrowd = true;
	canHaveGenericTalk = false;
	displayName = "LocKey#32301";
	fk< Affiliation > affiliation = "Factions.Unaffiliated";
	statModifiers += 
	[
	];
}

q101_toten_guard : Quest_NPC_Base
{
	quest = "NPCQuestAffiliation.MainQuest";
	entityTemplatePath = "base\quest\main_quests\part1\q101\characters\q101_tt_security.ent";
	reactionPreset = "ReactionPresets.NoReaction";
	baseAttitudeGroup = "friendly";
	priority = "SpawnableObjectPriority.Quest";
	canHaveGenericTalk = false;
	displayName = "LocKey#32303";
	isCrowd = true;
	fk< Affiliation > affiliation = "Factions.Unaffiliated";
	statModifiers += 
	[
	];
}

q101_tom : Quest_NPC_Base
{
	quest = "NPCQuestAffiliation.MainQuest";
	entityTemplatePath = "base\quest\main_quests\part1\q101\characters\q101_tom_diner.ent";
	baseAttitudeGroup = "friendly";
	priority = "SpawnableObjectPriority.Quest";
	savable = true;
	isCrowd = false;
	displayName = "LocKey#32305";
	fullDisplayName = "LocKey#32306";
	fk< Affiliation > affiliation = "Factions.Civilian";
	statModifiers += 
	[
	];
}

q101_diner_waitress : Quest_NPC_Base
{
	quest = "NPCQuestAffiliation.MainQuest";
	entityTemplatePath = "base\characters\entities\service\service__dining_wa.ent";
	baseAttitudeGroup = "friendly";
	fk< Affiliation > affiliation = "Factions.Civilian";
	statModifiers += 
	[
	];
}

q101_diner_asian_suit1 : Quest_NPC_Base
{
	quest = "NPCQuestAffiliation.MainQuest";
	entityTemplatePath = "base\characters\entities\citizen\citizen__corporat_ma.ent";
	baseAttitudeGroup = "friendly";
	priority = "SpawnableObjectPriority.Quest";
	savable = true;
	isCrowd = false;
	fk< Affiliation > affiliation = "Factions.Civilian";
	statModifiers += 
	[
	];
}

q101_diner_asian_suit2 : Quest_NPC_Base
{
	quest = "NPCQuestAffiliation.MainQuest";
	entityTemplatePath = "base\characters\entities\citizen\citizen__arasaka_corpo_ma.ent";
	baseAttitudeGroup = "friendly";
	priority = "SpawnableObjectPriority.Quest";
	savable = true;
	isCrowd = false;
	fk< Affiliation > affiliation = "Factions.Civilian";
	statModifiers += 
	[
	];
}

q101_diner_female1 : Quest_NPC_Base
{
	quest = "NPCQuestAffiliation.MainQuest";
	entityTemplatePath = "base\characters\entities\citizen\citizen__lowlife_wa.ent";
	baseAttitudeGroup = "friendly";
	priority = "SpawnableObjectPriority.Quest";
	savable = true;
	isCrowd = false;
	fk< Affiliation > affiliation = "Factions.Civilian";
	statModifiers += 
	[
	];
}

q101_diner_female3 : Quest_NPC_Base
{
	quest = "NPCQuestAffiliation.MainQuest";
	entityTemplatePath = "base\characters\entities\citizen\citizen__corporat_wa.ent";
	baseAttitudeGroup = "friendly";
	priority = "SpawnableObjectPriority.Quest";
	savable = true;
	isCrowd = false;
	fk< Affiliation > affiliation = "Factions.Civilian";
	statModifiers += 
	[
	];
}

q101_diner_female4 : Quest_NPC_Base
{
	quest = "NPCQuestAffiliation.MainQuest";
	entityTemplatePath = "base\characters\entities\citizen\citizen__nightlife_wa.ent";
	baseAttitudeGroup = "friendly";
	priority = "SpawnableObjectPriority.Quest";
	savable = true;
	isCrowd = false;
	fk< Affiliation > affiliation = "Factions.Civilian";
	statModifiers += 
	[
	];
}

q101_diner_female5 : Quest_NPC_Base
{
	quest = "NPCQuestAffiliation.MainQuest";
	entityTemplatePath = "base\characters\entities\citizen\citizen__nightlife_wa.ent";
	baseAttitudeGroup = "friendly";
	priority = "SpawnableObjectPriority.Quest";
	savable = true;
	isCrowd = false;
	fk< Affiliation > affiliation = "Factions.Civilian";
	statModifiers += 
	[
	];
}

q101_diner_lady : Quest_NPC_Base
{
	quest = "NPCQuestAffiliation.MainQuest";
	entityTemplatePath = "base\characters\entities\citizen\citizen__biker_wa.ent";
	baseAttitudeGroup = "friendly";
	priority = "SpawnableObjectPriority.Quest";
	savable = true;
	isCrowd = false;
	fk< Affiliation > affiliation = "Factions.Civilian";
	statModifiers += 
	[
	];
}

q101_diner_male2 : Quest_NPC_Base
{
	quest = "NPCQuestAffiliation.MainQuest";
	entityTemplatePath = "base\characters\entities\citizen\citizen__youngster_ma.ent";
	baseAttitudeGroup = "friendly";
	priority = "SpawnableObjectPriority.Quest";
	savable = true;
	isCrowd = false;
	fk< Affiliation > affiliation = "Factions.Civilian";
	statModifiers += 
	[
	];
}

q101_diner_male6 : Quest_NPC_Base
{
	quest = "NPCQuestAffiliation.MainQuest";
	entityTemplatePath = "base\characters\entities\citizen\citizen__tenant_ma.ent";
	baseAttitudeGroup = "friendly";
	priority = "SpawnableObjectPriority.Quest";
	savable = true;
	isCrowd = false;
	fk< Affiliation > affiliation = "Factions.Civilian";
	statModifiers += 
	[
	];
}

q101_diner_male7 : Quest_NPC_Base
{
	quest = "NPCQuestAffiliation.MainQuest";
	entityTemplatePath = "base\characters\entities\citizen\citizen__lowlife_ma.ent";
	baseAttitudeGroup = "friendly";
	priority = "SpawnableObjectPriority.Quest";
	savable = true;
	isCrowd = false;
	fk< Affiliation > affiliation = "Factions.Civilian";
	statModifiers += 
	[
	];
}

q101_soulkiller_fem : Quest_NPC_Base
{
	quest = "NPCQuestAffiliation.MainQuest";
	entityTemplatePath = "base\quest\main_quests\part1\q101\characters\q101_arasaka_scientist_female.ent";
	priority = "SpawnableObjectPriority.Quest";
	savable = true;
	isCrowd = true;
	displayName = "LocKey#32308";
	fk< Affiliation > affiliation = "Factions.Arasaka";
	statModifiers += 
	[
	];
}

troyAssassinTemplate : arasaka_ninja_fmelee3_mantis_ma_elite
{
	priority = "SpawnableObjectPriority.Quest";
	reactionPreset = "ReactionPresets.Corpo_Passive";
	archetypeData = "ArchetypeData.FastMeleeT3";
	rarity = "NPCRarity.Elite";
	savable = true;
	contentAssignment = "DeviceContentAssignment.q101";
	statModifiers += 
	[
		{
			statType = "BaseStats.Health";
			modifierType = "Multiplier";
			value = 12.0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.PoisonImmunity";
			modifierType = "Additive";
			value = 1;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BleedingImmunity";
			modifierType = "Additive";
			value = 1;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BurningImmunity";
			modifierType = "Additive";
			value = 1;
		} : ConstantStatModifier
	];
	onSpawnGLPs += 
	[
		{
			effectors = 
			[
				{
					prereqRecord = 
					{
						valueToCheck = 
						[
							{
								statType = "BaseStats.Health";
								modifierType = "Additive";
								value = 40.0f;
							} : ConstantStatModifier
						];
						statPoolType = "Health";
						comparisonType = "GreaterOrEqual";
					} : StatPoolPrereq;
					statusEffect = "Character.TakePercantegeDamage";
					removeWithEffector = true;
				} : ApplyStatusEffectEffector
			];
		}
	];
}

taxiAssassin_001 : troyAssassinTemplate
{
	entityTemplatePath = "base\quest\tertiary_characters\taxiassassin_001.ent";
	displayName = "LocKey#44078";
	fullDisplayName = "LocKey#44079";
	primaryEquipment = 
	{
		equipmentItems = 
		[
			{
				item = "Items.Troy_Mantis_Blades";
				equipSlot = "AttachmentSlots.WeaponRight";
			} : NPCEquipmentItem
		];
	};
}

taxiAssassin_002 : troyAssassinTemplate
{
	entityTemplatePath = "base\quest\tertiary_characters\taxiassassin_002.ent";
	displayName = "LocKey#44080";
	fullDisplayName = "LocKey#44081";
}

taxiAssassin_003 : troyAssassinTemplate
{
	entityTemplatePath = "base\quest\tertiary_characters\taxiassassin_003.ent";
	displayName = "LocKey#44082";
	fullDisplayName = "LocKey#44083";
}

[ notQueryable ]
TakePercantegeDamage : StatusEffect
{
	duration = "BaseStats.InfiniteDuration";
	packages = 
	[
		{
			effectors = 
			[
				{
					prereqRecord = "Prereqs.HitReceivedPrereq";
					statPoolUpdates = 
					[
						{
							statPoolType = "BaseStatPools.Health";
							statPoolValue = -6.25f;
						} : StatPoolUpdate
					];
					bool usePercent = true;
				} : ModifyStatPoolValueEffector
			];
		}
	];
}

