package Items
using RTDB, QuickHack, Effectors, Prereqs

[ notQueryable ]
CyberdeckProgram : Part
{
	tags += 
	[
		"SoftwareShard"
	];
	CName shardType = "";
	iconPath = "program_generic";
	buyPrice = 
	[
		"Price.BaseHackPrice", "Price.ItemQualityMultiplier", "Price.BuyPrice_StreetCred_Discount"
	];
	sellPrice = 
	[
		"Price.BaseHackPrice", "Price.ItemQualitySellMultiplier", "Price.SellMultiplier"
	];
	placementSlots = 
	[
		"AttachmentSlots.CyberdeckProgram1", "AttachmentSlots.CyberdeckProgram2", "AttachmentSlots.CyberdeckProgram3", "AttachmentSlots.CyberdeckProgram4", "AttachmentSlots.CyberdeckProgram5", "AttachmentSlots.CyberdeckProgram6", "AttachmentSlots.CyberdeckProgram7", "AttachmentSlots.CyberdeckProgram8"
	];
	itemType = "ItemType.Prt_Program";
	objectActions = 
	[
		"ItemAction.ProgramDisassemble"
	];
	bool hideCooldownUI = false;
	bool hideDurationUI = false;
}

[ notQueryable ]
QuickHackUnlock : CyberdeckProgram
{
}

[ notQueryable ]
CombatQuickHackUnlock : QuickHackUnlock
{
	statModifiers += 
	[
		{
			statType = "BaseStats.HackingPenetration";
			modifierType = "Additive";
			id = "software_shards";
			column = "software_shards";
			refStat = "BaseStats.PowerLevel";
		} : CurveStatModifier
	];
}

[ notQueryable ]
DamageHack : QuickHackUnlock
{
	buyPrice += 
	[
		"Price.DamageHackMultiplier"
	];
	sellPrice += 
	[
		"Price.DamageHackMultiplier"
	];
}

[ notQueryable ]
UltimateHack : QuickHackUnlock
{
	buyPrice += 
	[
		"Price.UltimateHackMultiplier"
	];
	sellPrice += 
	[
		"Price.UltimateHackMultiplier"
	];
}

[ notQueryable ]
ControlHack : QuickHackUnlock
{
	placementSlots += 
	[
		"AttachmentSlots.NanoWiresQuickhackSlot"
	];
	buyPrice += 
	[
		"Price.ControlHackMultiplier"
	];
	sellPrice += 
	[
		"Price.ControlHackMultiplier"
	];
}

[ notQueryable ]
CovertHack : QuickHackUnlock
{
	buyPrice += 
	[
		"Price.CovertHackMultiplier"
	];
	sellPrice += 
	[
		"Price.CovertHackMultiplier"
	];
}

MalfunctionProgram : GameplayLogicPackage
{
	UIData = 
	{
		iconPath = "ability_utility";
		localizedName = "LocKey#2020";
		localizedDescription = "LocKey#2021";
	};
}

EMPOverloadProgram : Items.DamageHack
{
	tags += 
	[
		"Tier0Shard", "HideProgramDuration"
	];
	quality = "Quality.Common";
	shardType = "Overload";
	OnAttach += 
	[
		"EquipmentGLP.EMPOverloadProgram"
	];
	displayName = "LocKey#27968";
	localizedDescription = "LocKey#27723";
	iconPath = "quickhack_overload";
	objectActions += 
	[
		"QuickHack.OverloadHack", "QuickHack.BossOverloadHack", "QuickHack.ChimeraOverloadHack"
	];
	statModifiers += 
	[
		"NPCStatPreset.MediumHackingPenetrationMod"
	];
	hideDurationUI = true;
	CraftingData = "Items.EMPOverloadCraftingPackage";
}

EMPOverloadLvl1Program : EMPOverloadProgram
{
	tags += 
	[
		"Tier1Shard"
	];
	quality = "Quality.Uncommon";
	OnAttach += 
	[
		"EquipmentGLP.EMPOverloadProgramLvl1"
	];
	objectActions += 
	[
		"QuickHack.OverloadLvl1Hack", "QuickHack.BossOverloadLvl1Hack"
	];
	CraftingData = "Items.EMPOverloadLvl1CraftingPackage";
}

EMPOverloadLvl2Program : EMPOverloadLvl1Program
{
	tags += 
	[
		"Tier2Shard"
	];
	quality = "Quality.Rare";
	OnAttach += 
	[
		"EquipmentGLP.EMPOverloadProgramLvl2"
	];
	objectActions += 
	[
		"QuickHack.OverloadLvl2Hack", "QuickHack.BossOverloadLvl2Hack", "QuickHack.ChimeraOverloadLvl2Hack"
	];
	CraftingData = "Items.EMPOverloadLvl2CraftingPackage";
}

EMPOverloadLvl3Program : EMPOverloadLvl2Program
{
	tags += 
	[
		"Tier3Shard"
	];
	quality = "Quality.Epic";
	OnAttach += 
	[
		"EquipmentGLP.EMPOverloadProgramLvl3"
	];
	objectActions += 
	[
		"QuickHack.OverloadLvl3Hack", "QuickHack.BossOverloadLvl3Hack", "QuickHack.ChimeraOverloadLvl3Hack"
	];
	CraftingData = "Items.EMPOverloadLvl3CraftingPackage";
}

EMPOverloadLvl4Program : EMPOverloadLvl3Program
{
	tags += 
	[
		"Tier4Shard"
	];
	quality = "Quality.Legendary";
	OnAttach += 
	[
		"EquipmentGLP.EMPOverloadProgramLvl4"
	];
	objectActions += 
	[
		"QuickHack.OverloadLvl4Hack", "QuickHack.BossOverloadLvl4Hack", "QuickHack.ChimeraOverloadLvl4Hack"
	];
	CraftingData = "Items.EMPOverloadLvl4CraftingPackage";
}

EMPOverloadLvl4PlusPlusProgram : EMPOverloadLvl3Program
{
	tags += 
	[
		"Tier6Shard"
	];
	quality = "Quality.Legendary";
	OnAttach = 
	[
		"EquipmentGLP.EMPOverloadProgram", "EquipmentGLP.EMPOverloadProgramLvl1", "EquipmentGLP.EMPOverloadProgramLvl4PlusPlus", "EquipmentGLP.EMPOverloadProgramLvl3", "EquipmentGLP.EMPOverloadProgramLvl4"
	];
	objectActions += 
	[
		"QuickHack.OverloadLvl4PlusPlusHack", "QuickHack.BossOverloadLvl4PlusPlusHack", "QuickHack.ChimeraOverloadLvl4PlusPlusHack"
	];
	CraftingData = "Items.EMPOverloadLvl4PlusPlusCraftingPackage";
	statModifiers += 
	[
		"Quality.IconicItem"
	];
}

BrainMeltLvl2Program : Items.DamageHack
{
	tags += 
	[
		"Tier2Shard", "HideProgramDuration"
	];
	quality = "Quality.Rare";
	shardType = "BrainMelt";
	displayName = "LocKey#45340";
	localizedDescription = "LocKey#48349";
	iconPath = "quickhack_brainmelt";
	OnAttach += 
	[
		"EquipmentGLP.BrainMeltProgramLvl2"
	];
	objectActions += 
	[
		"QuickHack.BrainMeltLvl2Hack", "QuickHack.BossBrainMeltLvl2Hack", "QuickHack.ChimeraBrainMeltLvl2Hack"
	];
	hideDurationUI = true;
	CraftingData = "Items.BrainMeltLvl2CraftingPackage";
}

BrainMeltLvl3Program : BrainMeltLvl2Program
{
	tags += 
	[
		"Tier3Shard"
	];
	quality = "Quality.Epic";
	OnAttach += 
	[
		"EquipmentGLP.BrainMeltProgramLvl3"
	];
	OnEquip += 
	[
		"EquipmentGLP.BrainMeltProgramLvl3Passive"
	];
	objectActions += 
	[
		"QuickHack.BrainMeltLvl3Hack", "QuickHack.BossBrainMeltLvl3Hack", "QuickHack.ChimeraBrainMeltLvl3Hack"
	];
	CraftingData = "Items.BrainMeltLvl3CraftingPackage";
}

BrainMeltLvl4Program : BrainMeltLvl3Program
{
	quality = "Quality.Legendary";
	tags += 
	[
		"Tier4Shard"
	];
	OnAttach += 
	[
		"EquipmentGLP.BrainMeltProgramLvl4"
	];
	OnEquip += 
	[
		"EquipmentGLP.BrainMeltProgramLvl4Passive"
	];
	objectActions += 
	[
		"QuickHack.BrainMeltLvl4Hack", "QuickHack.BossBrainMeltLvl4Hack", "QuickHack.ChimeraBrainMeltLvl4Hack"
	];
	CraftingData = "Items.BrainMeltLvl4CraftingPackage";
}

BrainMeltLvl4PlusPlusProgram : BrainMeltLvl3Program
{
	quality = "Quality.Legendary";
	tags += 
	[
		"Tier6Shard"
	];
	OnAttach = 
	[
		"EquipmentGLP.BrainMeltProgramLvl4PlusPlus", "EquipmentGLP.BrainMeltProgramLvl3", "EquipmentGLP.BrainMeltProgramLvl4"
	];
	OnEquip += 
	[
		"EquipmentGLP.BrainMeltProgramLvl4Passive"
	];
	objectActions += 
	[
		"QuickHack.BrainMeltLvl4PlusPlusHack", "QuickHack.BossBrainMeltLvl4PlusPlusHack", "QuickHack.ChimeraBrainMeltLvl4PlusPlusHack"
	];
	CraftingData = "Items.BrainMeltLvl4PlusPlusCraftingPackage";
	statModifiers += 
	[
		"Quality.IconicItem"
	];
}

OverheatProgram : Items.DamageHack
{
	tags += 
	[
		"Tier0Shard"
	];
	quality = "Quality.Common";
	shardType = "Overheat";
	displayName = "LocKey#27962";
	localizedDescription = "LocKey#27711";
	iconPath = "quickhack_overheat";
	OnAttach += 
	[
		"EquipmentGLP.OverheatProgram"
	];
	objectActions += 
	[
		"QuickHack.OverheatHack", "QuickHack.BossOverheatHack", "QuickHack.ChimeraOverheatHack"
	];
	CraftingData = "Items.OverheatCraftingPackage";
}

OverheatLvl1Program : OverheatProgram
{
	tags += 
	[
		"Tier1Shard"
	];
	quality = "Quality.Uncommon";
	OnAttach += 
	[
		"EquipmentGLP.OverheatProgramLvl1"
	];
	objectActions += 
	[
		"QuickHack.OverheatLvl1Hack", "QuickHack.BossOverheatLvl1Hack", "QuickHack.ChimeraOverheatLvl1Hack"
	];
	CraftingData = "Items.OverheatLvl1CraftingPackage";
}

OverheatLvl2Program : OverheatLvl1Program
{
	tags += 
	[
		"Tier2Shard"
	];
	quality = "Quality.Rare";
	OnAttach += 
	[
		"EquipmentGLP.OverheatProgramLvl2"
	];
	OnEquip += 
	[
		"EquipmentGLP.OverheatPassiveLvl2"
	];
	objectActions += 
	[
		"QuickHack.OverheatLvl2Hack", "QuickHack.BossOverheatLvl2Hack", "QuickHack.ChimeraOverheatLvl2Hack"
	];
	CraftingData = "Items.OverheatLvl2CraftingPackage";
}

OverheatLvl3Program : OverheatLvl2Program
{
	tags += 
	[
		"Tier3Shard"
	];
	quality = "Quality.Epic";
	OnAttach += 
	[
		"EquipmentGLP.OverheatProgramLvl3"
	];
	objectActions += 
	[
		"QuickHack.OverheatLvl3Hack", "QuickHack.BossOverheatLvl3Hack", "QuickHack.ChimeraOverheatLvl3Hack"
	];
	CraftingData = "Items.OverheatLvl3CraftingPackage";
}

OverheatLvl4Program : OverheatLvl3Program
{
	tags += 
	[
		"Tier4Shard"
	];
	quality = "Quality.Legendary";
	OnAttach += 
	[
		"EquipmentGLP.OverheatProgramLvl4"
	];
	objectActions += 
	[
		"QuickHack.OverheatLvl4Hack", "QuickHack.BossOverheatLvl4Hack", "QuickHack.ChimeraOverheatLvl4Hack"
	];
	CraftingData = "Items.OverheatLvl4CraftingPackage";
	float bonusThermalDamageFactor = 0.1;
}

OverheatLvl4PlusPlusProgram : OverheatLvl3Program
{
	tags += 
	[
		"Tier6Shard"
	];
	quality = "Quality.Legendary";
	OnAttach = 
	[
		"EquipmentGLP.OverheatProgram", "EquipmentGLP.OverheatProgramLvl2", "EquipmentGLP.OverheatProgramLvl3", "EquipmentGLP.OverheatProgramLvl4PlusPlus"
	];
	objectActions += 
	[
		"QuickHack.OverheatLvl4PlusPlusHack", "QuickHack.BossOverheatLvl4PlusPlusHack", "QuickHack.ChimeraOverheatLvl4PlusPlusHack"
	];
	CraftingData = "Items.OverheatLvl4PlusPlusCraftingPackage";
	float bonusThermalDamageFactor = 0.2;
	statModifiers += 
	[
		"Quality.IconicItem"
	];
}

ContagionProgram : Items.DamageHack
{
	tags += 
	[
		"Tier1Shard"
	];
	quality = "Quality.Uncommon";
	shardType = "Contagion";
	displayName = "LocKey#51313";
	localizedDescription = "LocKey#51314";
	iconPath = "quickhack_contagion";
	objectActions += 
	[
		"QuickHack.ContagionHack"
	];
	OnAttach += 
	[
		"EquipmentGLP.ContagionLvl1Program"
	];
	OnEquip += 
	[
		"EquipmentGLP.ContagionLvl1Passive"
	];
	CraftingData = "Items.ContagionCraftingPackage";
}

ContagionLvl2Program : ContagionProgram
{
	tags += 
	[
		"Tier2Shard"
	];
	quality = "Quality.Rare";
	objectActions += 
	[
		"QuickHack.ContagionLvl2Hack"
	];
	OnAttach = 
	[
		"EquipmentGLP.ContagionLvl2Program"
	];
	OnEquip += 
	[
		"EquipmentGLP.ContagionLvl2Passive"
	];
	CraftingData = "Items.ContagionLvl2CraftingPackage";
}

ContagionLvl3Program : ContagionLvl2Program
{
	tags += 
	[
		"Tier3Shard"
	];
	quality = "Quality.Epic";
	objectActions += 
	[
		"QuickHack.ContagionLvl3Hack"
	];
	OnAttach += 
	[
		"EquipmentGLP.ContagionLvl3Program"
	];
	OnEquip += 
	[
		"EquipmentGLP.ContagionLvl3Passive"
	];
	CraftingData = "Items.ContagionLvl3CraftingPackage";
}

ContagionLvl4Program : ContagionLvl3Program
{
	tags += 
	[
		"Tier4Shard"
	];
	quality = "Quality.Legendary";
	objectActions += 
	[
		"QuickHack.ContagionLvl4Hack"
	];
	OnAttach += 
	[
		"EquipmentGLP.ContagionLvl4Program"
	];
	CraftingData = "Items.ContagionLvl4CraftingPackage";
}

ContagionLvl4PlusPlusProgram : ContagionLvl3Program
{
	tags += 
	[
		"Tier6Shard"
	];
	quality = "Quality.Legendary";
	objectActions += 
	[
		"QuickHack.ContagionLvl4PlusPlusHack"
	];
	OnAttach += 
	[
		"EquipmentGLP.ContagionLvl4Program"
	];
	CraftingData = "Items.ContagionLvl4PlusPlusCraftingPackage";
	statModifiers += 
	[
		"Quality.IconicItem"
	];
}

SuicideLvl3Program : Items.UltimateHack
{
	tags += 
	[
		"Tier3Shard", "HideProgramDuration"
	];
	quality = "Quality.Epic";
	shardType = "Suicide";
	displayName = "LocKey#845";
	localizedDescription = "LocKey#844";
	iconPath = "quickhack_suicide_gun";
	OnEquip = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.CanSuicideQuickHack";
					modifierType = "Additive";
					value = 1;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage, 
		"EquipmentGLP.SuicideLvl3ProgramPassive"
	];
	objectActions += 
	[
		"QuickHack.SuicideLvl3Hack", "QuickHack.BossSuicideLvl3Hack", "QuickHack.ChimeraSuicideLvl3Hack"
	];
	hideDurationUI = true;
	OnAttach += 
	[
		"EquipmentGLP.SuicideLvl1Program", "EquipmentGLP.SuicideLvl3Program"
	];
	CraftingData = "Items.SuicideLvl3CraftingPackage";
}

SuicideLvl4Program : SuicideLvl3Program
{
	tags += 
	[
		"Tier4Shard"
	];
	quality = "Quality.Legendary";
	objectActions += 
	[
		"QuickHack.SuicideLvl4Hack", "QuickHack.BossSuicideLvl4Hack", "QuickHack.ChimeraSuicideLvl4Hack"
	];
	OnAttach += 
	[
		"EquipmentGLP.SuicideLvl4Program"
	];
	CraftingData = "Items.SuicideLvl4CraftingPackage";
}

SuicideLvl4PlusPlusProgram : SuicideLvl3Program
{
	tags += 
	[
		"Tier6Shard"
	];
	quality = "Quality.Legendary";
	objectActions += 
	[
		"QuickHack.SuicideLvl4PlusPlusHack", "QuickHack.BossSuicideLvl4PlusPlusHack", "QuickHack.ChimeraSuicideLvl4Hack"
	];
	OnAttach += 
	[
		"EquipmentGLP.SuicideLvl4PlusPlusProgram"
	];
	CraftingData = "Items.SuicideLvl4PlusPlusCraftingPackage";
	statModifiers += 
	[
		"Quality.IconicItem"
	];
}

GrenadeExplodeLvl3Program : Items.UltimateHack
{
	tags += 
	[
		"Tier3Shard"
	];
	quality = "Quality.Epic";
	shardType = "GrenadeExplode";
	displayName = "LocKey#850";
	localizedDescription = "LocKey#851";
	iconPath = "quickhack_suicide_grenade";
	OnEquip = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.CanGrenadeQuickHack";
					modifierType = "Additive";
					value = 1;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.HasGrenadeHack";
					modifierType = "Additive";
					value = 1;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	objectActions += 
	[
		"QuickHack.GrenadeLvl3Hack", "QuickHack.BossGrenadeLvl3Hack", "QuickHack.ChimeraGrenadeLvl3Hack"
	];
	hideDurationUI = true;
	OnAttach += 
	[
		"EquipmentGLP.GrenadeExplodeLvl1Program", "EquipmentGLP.GrenadeExplodeWeakspot", "EquipmentGLP.GrenadeExplodeLvl3Program"
	];
	CraftingData = "Items.GrenadeExplodeLvl3CraftingPackage";
}

GrenadeExplodeLvl4Program : GrenadeExplodeLvl3Program
{
	tags += 
	[
		"Tier4Shard"
	];
	quality = "Quality.Legendary";
	objectActions += 
	[
		"QuickHack.GrenadeLvl4Hack", "QuickHack.BossGrenadeLvl4Hack", "QuickHack.ChimeraGrenadeLvl4Hack"
	];
	CraftingData = "Items.GrenadeExplodeLvl4CraftingPackage";
	OnAttach += 
	[
		"EquipmentGLP.GrenadeExplodeLvl4Program"
	];
}

GrenadeExplodeLvl4PlusPlusProgram : GrenadeExplodeLvl3Program
{
	tags += 
	[
		"Tier6Shard"
	];
	quality = "Quality.Legendary";
	objectActions += 
	[
		"QuickHack.GrenadeLvl4PlusPlusHack", "QuickHack.BossGrenadeLvl4Hack", "QuickHack.ChimeraGrenadeLvl4Hack"
	];
	OnAttach = 
	[
		"EquipmentGLP.GrenadeExplodeLvl1Program", "EquipmentGLP.GrenadeExplodeWeakspot", "EquipmentGLP.GrenadeExplodeLvl4PlusPlusProgram", "EquipmentGLP.GrenadeExplodeLvl4Program"
	];
	OnEquip += 
	[
		"EquipmentGLP.GrenadeExplodeLvl4PlusPlusProgramPassive"
	];
	CraftingData = "Items.GrenadeExplodeLvl4PlusPlusCraftingPackage";
	statModifiers += 
	[
		"Quality.IconicItem"
	];
}

SystemCollapseLvl3Program : Items.UltimateHack
{
	tags += 
	[
		"Tier3Shard", "HideProgramDuration"
	];
	quality = "Quality.Epic";
	shardType = "SystemCollapse";
	displayName = "LocKey#27964";
	localizedDescription = "LocKey#27718";
	iconPath = "quickhack_systemcollapse";
	objectActions += 
	[
		"QuickHack.SystemCollapseLvl3Hack", "QuickHack.BossSystemCollapseLvl3Hack", "QuickHack.ChimeraSystemCollapseLvl3Hack"
	];
	hideDurationUI = true;
	OnAttach += 
	[
		"EquipmentGLP.UntraceableHack", "EquipmentGLP.SystemCollapseLvl1Program", "EquipmentGLP.SystemCollapseLvl3Program"
	];
	OnEquip += 
	[
		"EquipmentGLP.SystemCollapseLvl3Passive"
	];
	CraftingData = "Items.SystemCollapseLvl3CraftingPackage";
}

SystemCollapseLvl4Program : SystemCollapseLvl3Program
{
	tags += 
	[
		"Tier4Shard"
	];
	quality = "Quality.Legendary";
	objectActions += 
	[
		"QuickHack.SystemCollapseLvl4Hack", "QuickHack.BossSystemCollapseLvl4Hack", "QuickHack.ChimeraSystemCollapseLvl4Hack"
	];
	OnAttach += 
	[
		"EquipmentGLP.SystemCollapseLvl4Program"
	];
	CraftingData = "Items.SystemCollapseLvl4CraftingPackage";
}

SystemCollapseLvl4PlusPlusProgram : SystemCollapseLvl3Program
{
	tags += 
	[
		"Tier6Shard"
	];
	quality = "Quality.Legendary";
	objectActions += 
	[
		"QuickHack.SystemCollapseLvl4PlusPlusHack", "QuickHack.BossSystemCollapseLvl4Hack", "QuickHack.ChimeraSystemCollapseLvl4Hack"
	];
	OnAttach += 
	[
		"EquipmentGLP.SystemCollapseLvl4PlusPlusProgram"
	];
	CraftingData = "Items.SystemCollapseLvl4PlusPlusCraftingPackage";
	statModifiers += 
	[
		"Quality.IconicItem"
	];
}

MadnessLvl3Program : Items.UltimateHack
{
	tags += 
	[
		"Tier3Shard"
	];
	quality = "Quality.Epic";
	shardType = "Madness";
	displayName = "LocKey#27958";
	localizedDescription = "LocKey#27717";
	iconPath = "quickhack_cyberpsycho";
	objectActions += 
	[
		"QuickHack.MadnessLvl3Hack", "QuickHack.BossMadnessLvl3Hack", "QuickHack.ChimeraMadnessLvl3Hack", "QuickHack.MadnessSetFriendlyHack"
	];
	OnAttach += 
	[
		"EquipmentGLP.MadnessLvl1Program", "EquipmentGLP.MadnessLvl3Program"
	];
	CraftingData = "Items.MadnessLvl3CraftingPackage";
	fk< StatusEffectType >[] statusEffectsTypeCostReductors = 
	[
		"BaseStatusEffectTypes.QuickHackStaggerCyberware", "BaseStatusEffectTypes.EMP"
	];
	float costReductionPerReductorStack = 6.0f;
	float maxCostReduction = 18.0f;
}

MadnessLvl4Program : MadnessLvl3Program
{
	tags += 
	[
		"Tier4Shard"
	];
	quality = "Quality.Legendary";
	objectActions += 
	[
		"QuickHack.MadnessLvl4Hack", "QuickHack.BossMadnessLvl4Hack", "QuickHack.ChimeraMadnessLvl4Hack", "QuickHack.MadnessSetFriendlyHack"
	];
	OnAttach += 
	[
		"EquipmentGLP.MadnessLvl4Program"
	];
	OnEquip += 
	[
		"EquipmentGLP.MadnessLvl4ProgramPassive"
	];
	CraftingData = "Items.MadnessLvl4CraftingPackage";
}

MadnessLvl4PlusPlusProgram : MadnessLvl3Program
{
	tags += 
	[
		"Tier6Shard"
	];
	quality = "Quality.Legendary";
	objectActions += 
	[
		"QuickHack.MadnessLvl4PlusPlusHack", "QuickHack.BossMadnessLvl4Hack", "QuickHack.ChimeraMadnessLvl4Hack", "QuickHack.MadnessSetFriendlyHack"
	];
	OnAttach += 
	[
		"EquipmentGLP.MadnessLvl4PlusPlusProgram"
	];
	OnEquip += 
	[
		"EquipmentGLP.MadnessLvl4ProgramPassive"
	];
	CraftingData = "Items.MadnessLvl4PlusPlusCraftingPackage";
	statModifiers += 
	[
		"Quality.IconicItem"
	];
}

DisableCyberwareProgram : Items.ControlHack
{
	tags += 
	[
		"Tier1Shard"
	];
	quality = "Quality.Uncommon";
	shardType = "DisableCyberware";
	displayName = "LocKey#27961";
	localizedDescription = "LocKey#51527";
	iconPath = "quickhack_cw_malfunction";
	objectActions += 
	[
		"QuickHack.CyberwareMalfunctionHack", "QuickHack.BossCyberwareMalfunctionHack", "QuickHack.ChimeraCyberwareMalfunctionHack"
	];
	OnAttach += 
	[
		"EquipmentGLP.DisableCyberwareProgramLvl1"
	];
	statModifiers += 
	[
		"NPCStatPreset.HighHackingPenetrationMod"
	];
	hideCooldownUI = true;
	CraftingData = "Items.DisableCyberwareCraftingPackage";
}

DisableCyberwareLvl2Program : DisableCyberwareProgram
{
	tags += 
	[
		"Tier2Shard"
	];
	quality = "Quality.Rare";
	objectActions += 
	[
		"QuickHack.CyberwareMalfunctionLvl2Hack", "QuickHack.BossCyberwareMalfunctionLvl2Hack", "QuickHack.ChimeraCyberwareMalfunctionLvl2Hack"
	];
	OnAttach = 
	[
		"EquipmentGLP.DisableCyberwareProgramLvl2Stacks", "EquipmentGLP.DisableCyberwareProgramLvl1", "EquipmentGLP.DisableCyberwareProgramLvl2"
	];
	CraftingData = "Items.DisableCyberwareLvl2CraftingPackage";
}

DisableCyberwareLvl3Program : DisableCyberwareLvl2Program
{
	tags += 
	[
		"Tier3Shard"
	];
	quality = "Quality.Epic";
	objectActions += 
	[
		"QuickHack.CyberwareMalfunctionLvl3Hack", "QuickHack.BossCyberwareMalfunctionLvl3Hack", "QuickHack.ChimeraCyberwareMalfunctionLvl3Hack"
	];
	OnAttach = 
	[
		"EquipmentGLP.DisableCyberwareProgramLvl3Stacks", "EquipmentGLP.DisableCyberwareProgramLvl1", "EquipmentGLP.DisableCyberwareProgramLvl2", "EquipmentGLP.DisableCyberwareProgramLvl3"
	];
	CraftingData = "Items.DisableCyberwareLvl3CraftingPackage";
}

DisableCyberwareLvl4Program : DisableCyberwareLvl3Program
{
	tags += 
	[
		"Tier4Shard"
	];
	quality = "Quality.Legendary";
	objectActions += 
	[
		"QuickHack.CyberwareMalfunctionLvl4Hack", "QuickHack.BossCyberwareMalfunctionLvl4Hack", "QuickHack.ChimeraCyberwareMalfunctionLvl4Hack"
	];
	OnAttach = 
	[
		"EquipmentGLP.DisableCyberwareProgramLvl4Stacks", "EquipmentGLP.DisableCyberwareProgramLvl1", "EquipmentGLP.DisableCyberwareProgramLvl2", "EquipmentGLP.DisableCyberwareProgramLvl3", "EquipmentGLP.DisableCyberwareProgramLvl4"
	];
	OnEquip += 
	[
		{
			effectors = 
			[
				{
					prereqRecord = 
					{
						conditions = 
						[
							{
								hitFlag = "CWMalfunctionEMPExplosion";
							} : HitFlagHitPrereqCondition
						];
					} : PreProcessHitTriggered;
					hitFlag = "Special";
				} : AddHitFlagToAttackEffector
			];
		}
	];
	CraftingData = "Items.DisableCyberwareLvl4CraftingPackage";
}

DisableCyberwareLvl4PlusPlusProgram : DisableCyberwareLvl3Program
{
	tags += 
	[
		"Tier6Shard"
	];
	quality = "Quality.Legendary";
	objectActions += 
	[
		"QuickHack.CyberwareMalfunctionLvl4PlusPlusHack", "QuickHack.BossCyberwareMalfunctionLvl4PlusPlusHack", "QuickHack.ChimeraCyberwareMalfunctionLvl4PlusPlusHack"
	];
	OnAttach = 
	[
		"EquipmentGLP.DisableCyberwareProgramLvl4Stacks", "EquipmentGLP.DisableCyberwareProgramLvl4PlusPlus", "EquipmentGLP.DisableCyberwareProgramLvl2", "EquipmentGLP.DisableCyberwareProgramLvl3", "EquipmentGLP.DisableCyberwareProgramLvl4"
	];
	OnEquip += 
	[
		{
			effectors = 
			[
				{
					prereqRecord = 
					{
						conditions = 
						[
							{
								hitFlag = "CWMalfunctionEMPExplosion";
							} : HitFlagHitPrereqCondition
						];
					} : PreProcessHitTriggered;
					hitFlag = "Special";
				} : AddHitFlagToAttackEffector
			];
		}
	];
	CraftingData = "Items.DisableCyberwareLvl4PlusPlusCraftingPackage";
	statModifiers += 
	[
		"Quality.IconicItem"
	];
}

LocomotionMalfunctionProgram : Items.ControlHack
{
	tags += 
	[
		"pShard"
	];
	quality = "Quality.Uncommon";
	shardType = "LocomotionMalfunction";
	displayName = "LocKey#27966";
	localizedDescription = "LocKey#27721";
	iconPath = "quickhack_locomo_malfunction";
	objectActions += 
	[
		"QuickHack.LocomotionMalfunctionHack", "QuickHack.BossLocomotionMalfunctionHack", "QuickHack.ChimeraLocomotionMalfunctionHack"
	];
	hideCooldownUI = true;
	OnAttach += 
	[
		"EquipmentGLP.LocomotionMalfunctionProgramLvl1"
	];
	CraftingData = "Items.LocomotionMalfunctionCraftingPackage";
}

LocomotionMalfunctionLvl2Program : LocomotionMalfunctionProgram
{
	tags += 
	[
		"Tier2Shard"
	];
	quality = "Quality.Rare";
	objectActions += 
	[
		"QuickHack.LocomotionMalfunctionLvl2Hack", "QuickHack.BossLocomotionMalfunctionLvl2Hack", "QuickHack.ChimeraLocomotionMalfunctionLvl2Hack"
	];
	OnAttach += 
	[
		"EquipmentGLP.LocomotionMalfunctionProgramLvl2"
	];
	OnEquip += 
	[
		"EquipmentGLP.LocomotionMalfunctionProgramLvl2Passive"
	];
	CraftingData = "Items.LocomotionMalfunctionLvl2CraftingPackage";
}

LocomotionMalfunctionLvl3Program : LocomotionMalfunctionLvl2Program
{
	tags += 
	[
		"Tier3Shard"
	];
	quality = "Quality.Epic";
	objectActions += 
	[
		"QuickHack.LocomotionMalfunctionLvl3Hack", "QuickHack.BossLocomotionMalfunctionLvl3Hack", "QuickHack.ChimeraLocomotionMalfunctionLvl3Hack"
	];
	OnAttach += 
	[
		"EquipmentGLP.LocomotionMalfunctionProgramLvl3"
	];
	CraftingData = "Items.LocomotionMalfunctionLvl3CraftingPackage";
	float finisherThresholdModifier = 20.;
}

LocomotionMalfunctionLvl4Program : LocomotionMalfunctionLvl3Program
{
	tags += 
	[
		"Tier4Shard"
	];
	quality = "Quality.Legendary";
	objectActions += 
	[
		"QuickHack.LocomotionMalfunctionLvl4Hack", "QuickHack.BossLocomotionMalfunctionLvl4Hack", "QuickHack.ChimeraLocomotionMalfunctionLvl4Hack"
	];
	OnAttach += 
	[
		"EquipmentGLP.LocomotionMalfunctionProgramLvl4"
	];
	OnEquip += 
	[
		"EquipmentGLP.LocomotionMalfunctionProgramLvl4Passive"
	];
	CraftingData = "Items.LocomotionMalfunctionLvl4CraftingPackage";
}

LocomotionMalfunctionLvl4PlusPlusProgram : LocomotionMalfunctionLvl3Program
{
	tags += 
	[
		"Tier6Shard"
	];
	quality = "Quality.Legendary";
	objectActions += 
	[
		"QuickHack.LocomotionMalfunctionLvl4Hack", "QuickHack.BossLocomotionMalfunctionLvl4Hack", "QuickHack.ChimeraLocomotionMalfunctionLvl4Hack"
	];
	OnAttach += 
	[
		"EquipmentGLP.LocomotionMalfunctionProgramLvl4PlusPlus"
	];
	OnEquip = 
	[
		"EquipmentGLP.LocomotionMalfunctionProgramLvl2Passive", "EquipmentGLP.LocomotionMalfunctionProgramLvl4PlusPlusPassive"
	];
	CraftingData = "Items.LocomotionMalfunctionLvl4PlusPlusCraftingPackage";
	statModifiers += 
	[
		"Quality.IconicItem"
	];
}

WeaponMalfunctionProgram : Items.ControlHack
{
	tags += 
	[
		"Tier1Shard"
	];
	quality = "Quality.Uncommon";
	shardType = "WeaponMalfunction";
	displayName = "LocKey#27965";
	localizedDescription = "LocKey#51947";
	iconPath = "quickhack_wpn_malfunction";
	objectActions += 
	[
		"QuickHack.WeaponMalfunctionHack", "QuickHack.BossWeaponMalfunctionHack", "QuickHack.ChimeraWeaponMalfunctionHack"
	];
	hideCooldownUI = true;
	OnAttach += 
	[
		"EquipmentGLP.WeaponMalfunctionLvl0Program", "EquipmentGLP.WeaponMalfunctionLvl1Program"
	];
	CraftingData = "Items.WeaponMalfunctionCraftingPackage";
}

WeaponMalfunctionLvl2Program : WeaponMalfunctionProgram
{
	tags += 
	[
		"Tier2Shard"
	];
	quality = "Quality.Rare";
	objectActions += 
	[
		"QuickHack.WeaponMalfunctionLvl2Hack", "QuickHack.BossWeaponMalfunctionLvl2Hack", "QuickHack.ChimeraWeaponMalfunctionLvl2Hack"
	];
	OnEquip = 
	[
		{
			stats += 
			[
				{
					statType = "BaseStats.CanJamWeaponLvl2QuickHack";
					modifierType = "Additive";
					value = 1.f;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	OnAttach += 
	[
		"EquipmentGLP.WeaponMalfunctionLvl2Program"
	];
	CraftingData = "Items.WeaponMalfunctionLvl2CraftingPackage";
}

WeaponMalfunctionLvl3Program : WeaponMalfunctionLvl2Program
{
	tags += 
	[
		"Tier3Shard"
	];
	quality = "Quality.Epic";
	OnAttach = 
	[
		"EquipmentGLP.WeaponMalfunctionLvl3Program", "EquipmentGLP.WeaponMalfunctionLvl1Program", "EquipmentGLP.WeaponMalfunctionLvl2Program"
	];
	objectActions += 
	[
		"QuickHack.WeaponMalfunctionLvl3Hack", "QuickHack.BossWeaponMalfunctionLvl3Hack", "QuickHack.ChimeraWeaponMalfunctionLvl3Hack"
	];
	CraftingData = "Items.WeaponMalfunctionLvl3CraftingPackage";
}

WeaponMalfunctionLvl4Program : WeaponMalfunctionLvl3Program
{
	tags += 
	[
		"Tier4Shard"
	];
	quality = "Quality.Legendary";
	OnAttach += 
	[
		"EquipmentGLP.WeaponMalfunctionLvl4Program"
	];
	objectActions += 
	[
		"QuickHack.WeaponMalfunctionLvl4Hack", "QuickHack.BossWeaponMalfunctionLvl4Hack", "QuickHack.ChimeraWeaponMalfunctionLvl4Hack"
	];
	CraftingData = "Items.WeaponMalfunctionLvl4CraftingPackage";
}

WeaponMalfunctionLvl4PlusPlusProgram : WeaponMalfunctionLvl3Program
{
	tags += 
	[
		"Tier6Shard"
	];
	quality = "Quality.Legendary";
	OnAttach += 
	[
		"EquipmentGLP.WeaponMalfunctionLvl4PlusPlusProgram"
	];
	objectActions += 
	[
		"QuickHack.WeaponMalfunctionLvl4PlusPlusHack", "QuickHack.BossWeaponMalfunctionLvl4PlusPlusHack", "QuickHack.ChimeraWeaponMalfunctionLvl4PlusPlusHack"
	];
	CraftingData = "Items.WeaponMalfunctionLvl4PlusPlusCraftingPackage";
	statModifiers += 
	[
		"Quality.IconicItem"
	];
}

BlindProgram : Items.ControlHack
{
	tags += 
	[
		"Tier0Shard"
	];
	quality = "Quality.Common";
	shardType = "Blind";
	displayName = "LocKey#849";
	localizedDescription = "LocKey#51944";
	iconPath = "quickhack_optics_malfunction";
	OnAttach += 
	[
		"EquipmentGLP.BlindProgram"
	];
	OnEquip = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.CanBlindQuickHack";
					modifierType = "Additive";
					value = 1;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	objectActions += 
	[
		"QuickHack.BlindHack", "QuickHack.BossBlindHack", "QuickHack.ChimeraBlindHack"
	];
	hideCooldownUI = true;
	CraftingData = "Items.BlindCraftingPackage";
}

BlindLvl1Program : BlindProgram
{
	tags += 
	[
		"Tier1Shard"
	];
	quality = "Quality.Uncommon";
	objectActions += 
	[
		"QuickHack.BlindLvl1Hack", "QuickHack.BossBlindLvl1Hack", "QuickHack.ChimeraBlindLvl1Hack"
	];
	OnAttach += 
	[
		"EquipmentGLP.BlindLvl1Program"
	];
	CraftingData = "Items.BlindLvl1CraftingPackage";
}

BlindLvl2Program : BlindLvl1Program
{
	tags += 
	[
		"Tier2Shard"
	];
	quality = "Quality.Rare";
	objectActions += 
	[
		"QuickHack.BlindLvl2Hack", "QuickHack.BossBlindLvl2Hack", "QuickHack.ChimeraBlindLvl2Hack"
	];
	OnAttach += 
	[
		"EquipmentGLP.BlindLvl2Program"
	];
	OnEquip += 
	[
		"EquipmentGLP.BlindLvl2ProgramPassive"
	];
	CraftingData = "Items.BlindLvl2CraftingPackage";
}

BlindLvl3Program : BlindLvl2Program
{
	tags += 
	[
		"Tier3Shard"
	];
	quality = "Quality.Epic";
	objectActions += 
	[
		"QuickHack.BlindLvl3Hack", "QuickHack.BossBlindLvl3Hack", "QuickHack.ChimeraBlindLvl3Hack"
	];
	OnAttach = 
	[
		"EquipmentGLP.BlindLvl3Program", "EquipmentGLP.BlindLvl2Program"
	];
	CraftingData = "Items.BlindLvl3CraftingPackage";
}

BlindLvl4Program : BlindLvl3Program
{
	tags += 
	[
		"Tier4Shard"
	];
	quality = "Quality.Legendary";
	objectActions += 
	[
		"QuickHack.BlindLvl4Hack", "QuickHack.BossBlindLvl4Hack", "QuickHack.ChimeraBlindLvl4Hack"
	];
	OnAttach += 
	[
		"EquipmentGLP.BlindLvl4Program"
	];
	OnEquip += 
	[
		"EquipmentGLP.BlindLvl4ProgramPassive"
	];
	CraftingData = "Items.BlindLvl4CraftingPackage";
}

BlindLvl4PlusPlusProgram : BlindLvl3Program
{
	tags += 
	[
		"Tier6Shard"
	];
	quality = "Quality.Legendary";
	objectActions += 
	[
		"QuickHack.BlindLvl4Hack", "QuickHack.BossBlindLvl4Hack", "QuickHack.ChimeraBlindLvl4Hack"
	];
	OnAttach = 
	[
		"EquipmentGLP.BlindLvl3Program", "EquipmentGLP.BlindLvl4PlusPlusProgram", "EquipmentGLP.BlindLvl4Program"
	];
	OnEquip = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.CanBlindQuickHack";
					modifierType = "Additive";
					value = 1;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage, 
		"EquipmentGLP.BlindLvl4ProgramPassive", "EquipmentGLP.BlindLvl4PlusPlusProgramPassive"
	];
	CraftingData = "Items.BlindLvl4PlusPlusCraftingPackage";
	statModifiers += 
	[
		"Quality.IconicItem"
	];
}

CommsNoiseProgram : Items.CovertHack
{
	tags += 
	[
		"Tier1Shard"
	];
	quality = "Quality.Uncommon";
	shardType = "CommsNoise";
	displayName = "LocKey#27959";
	localizedDescription = "LocKey#27716";
	iconPath = "quickhack_noise";
	objectActions += 
	[
		"QuickHack.CommsNoiseHack"
	];
	OnAttach += 
	[
		"EquipmentGLP.UntraceableHack", "EquipmentGLP.SubsequentHacksStartsTracing", "EquipmentGLP.CommsNoiseLvl1Program"
	];
	CraftingData = "Items.CommsNoiseCraftingPackage";
}

CommsNoiseLvl2Program : CommsNoiseProgram
{
	tags += 
	[
		"Tier2Shard"
	];
	quality = "Quality.Rare";
	objectActions += 
	[
		"QuickHack.CommsNoiseLvl2Hack"
	];
	OnAttach = 
	[
		"EquipmentGLP.UntraceableHack", "EquipmentGLP.SubsequentHacksWillNotBumpTheRevealBar", "EquipmentGLP.CommsNoiseLvl1Program", "EquipmentGLP.CommsNoiseLvl2Program"
	];
	CraftingData = "Items.CommsNoiseLvl2CraftingPackage";
}

CommsNoiseLvl3Program : CommsNoiseLvl2Program
{
	tags += 
	[
		"Tier3Shard"
	];
	quality = "Quality.Epic";
	objectActions += 
	[
		"QuickHack.CommsNoiseLvl3Hack"
	];
	OnAttach += 
	[
		"EquipmentGLP.CommsNoiseLvl3Program"
	];
	CraftingData = "Items.CommsNoiseLvl3CraftingPackage";
}

CommsNoiseLvl4Program : CommsNoiseLvl3Program
{
	tags += 
	[
		"Tier4Shard"
	];
	quality = "Quality.Legendary";
	objectActions += 
	[
		"QuickHack.CommsNoiseLvl4Hack"
	];
	OnAttach += 
	[
		"EquipmentGLP.CommsNoiseLvl4Program"
	];
	CraftingData = "Items.CommsNoiseLvl4CraftingPackage";
}

CommsNoiseLvl4PlusPlusProgram : CommsNoiseLvl3Program
{
	tags += 
	[
		"Tier6Shard"
	];
	quality = "Quality.Legendary";
	objectActions += 
	[
		"QuickHack.CommsNoiseLvl4PlusPlusHack"
	];
	OnAttach += 
	[
		"EquipmentGLP.CommsNoiseLvl4Program"
	];
	CraftingData = "Items.CommsNoiseLvl4PlusPlusCraftingPackage";
	statModifiers += 
	[
		"Quality.IconicItem"
	];
}

[ notQueryable ]
CommsCallInProgram : Items.CovertHack
{
	deprecated = true;
	counterpart = "Items.CommsCallInLvl1Program";
	tags += 
	[
		"Tier1Shard", "DeprecatedQuickhack"
	];
	quality = "Quality.Uncommon";
	objectActions = [];
}

CommsCallInLvl1Program : Items.CovertHack
{
	tags += 
	[
		"Tier1Shard"
	];
	quality = "Quality.Uncommon";
	shardType = "CommsCallIn";
	displayName = "LocKey#27960";
	localizedDescription = "LocKey#27977";
	iconPath = "quickhack_callin";
	objectActions += 
	[
		"QuickHack.CommsCallInLvl1Hack"
	];
	hideCooldownUI = true;
	OnAttach += 
	[
		"EquipmentGLP.CommsCallInLvl1ProgramRange", "EquipmentGLP.CommsCallInLvl1Program"
	];
	OnEquip = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.CommsCallDistance";
					modifierType = "Additive";
					value = 10;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	CraftingData = "Items.CommsCallInLvl1CraftingPackage";
}

CommsCallInLvl2Program : CommsCallInLvl1Program
{
	tags += 
	[
		"Tier2Shard"
	];
	quality = "Quality.Rare";
	objectActions += 
	[
		"QuickHack.CommsCallInLvl2Hack"
	];
	OnAttach = 
	[
		"EquipmentGLP.CommsCallInLvl2ProgramRange", "EquipmentGLP.CommsCallInLvl1Program", "EquipmentGLP.CommsCallInLvl2Program"
	];
	OnEquip = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.CommsCallDistance";
					modifierType = "Additive";
					value = 15;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	CraftingData = "Items.CommsCallInLvl2CraftingPackage";
}

CommsCallInLvl3Program : CommsCallInLvl2Program
{
	tags += 
	[
		"Tier3Shard"
	];
	quality = "Quality.Epic";
	objectActions += 
	[
		"QuickHack.CommsCallInLvl3Hack"
	];
	OnAttach = 
	[
		"EquipmentGLP.CommsCallInLvl3ProgramRange", "EquipmentGLP.CommsCallInLvl1Program", "EquipmentGLP.CommsCallInLvl2Program", "EquipmentGLP.CommsCallInLvl3Program"
	];
	OnEquip = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.CommsCallDistance";
					modifierType = "Additive";
					value = 20;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	CraftingData = "Items.CommsCallInLvl3CraftingPackage";
}

CommsCallInLvl4Program : CommsCallInLvl3Program
{
	tags += 
	[
		"Tier4Shard"
	];
	quality = "Quality.Legendary";
	objectActions += 
	[
		"QuickHack.CommsCallInLvl4Hack"
	];
	OnAttach = 
	[
		"EquipmentGLP.CommsCallInLvl4ProgramRange", "EquipmentGLP.CommsCallInLvl1Program", "EquipmentGLP.CommsCallInLvl2Program", "EquipmentGLP.CommsCallInLvl3Program", "EquipmentGLP.CommsCallInLvl4Program"
	];
	OnEquip = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.CommsCallDistance";
					modifierType = "Additive";
					value = 30;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	CraftingData = "Items.CommsCallInLvl4CraftingPackage";
}

CommsCallInLvl4PlusPlusProgram : CommsCallInLvl3Program
{
	tags += 
	[
		"Tier6Shard"
	];
	quality = "Quality.Legendary";
	objectActions += 
	[
		"QuickHack.CommsCallInLvl4PlusPlusHack"
	];
	OnAttach = 
	[
		"EquipmentGLP.CommsCallInLvl4ProgramRange", "EquipmentGLP.CommsCallInLvl1Program", "EquipmentGLP.CommsCallInLvl2Program", "EquipmentGLP.CommsCallInLvl3Program", "EquipmentGLP.CommsCallInLvl4PlusPlusProgram"
	];
	OnEquip = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.CommsCallDistance";
					modifierType = "Additive";
					value = 30;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	CraftingData = "Items.CommsCallInLvl4PlusPlusCraftingPackage";
	statModifiers += 
	[
		"Quality.IconicItem"
	];
}

[ notQueryable ]
WhistleProgram : Items.CovertHack
{
	deprecated = true;
	counterpart = "Items.WhistleLvl0Program";
	tags += 
	[
		"Tier1Shard", "DeprecatedQuickhack"
	];
	quality = "Quality.Common";
	shardType = "Whistle";
	objectActions = [];
	hideDurationUI = true;
}

WhistleLvl0Program : Items.CovertHack
{
	tags += 
	[
		"Tier0Shard"
	];
	quality = "Quality.Common";
	shardType = "Whistle";
	displayName = "LocKey#51291";
	localizedDescription = "LocKey#51292";
	iconPath = "quickhack_callout";
	objectActions += 
	[
		"QuickHack.WhistleLvl0Hack"
	];
	hideCooldownUI = true;
	OnAttach += 
	[
		"EquipmentGLP.UntraceableHack", "EquipmentGLP.WhistleLvl0Program"
	];
	CraftingData = "Items.WhistleLvl0CraftingPackage";
}

WhistleLvl1Program : WhistleLvl0Program
{
	tags += 
	[
		"Tier1Shard"
	];
	quality = "Quality.Uncommon";
	objectActions += 
	[
		"QuickHack.WhistleLvl1Hack"
	];
	OnAttach = 
	[
		"EquipmentGLP.UntraceableHack", "EquipmentGLP.WhistleLvl1Program"
	];
	CraftingData = "Items.WhistleLvl1CraftingPackage";
}

WhistleLvl2Program : WhistleLvl1Program
{
	tags += 
	[
		"Tier2Shard"
	];
	quality = "Quality.Rare";
	objectActions += 
	[
		"QuickHack.WhistleLvl2Hack"
	];
	OnAttach += 
	[
		"EquipmentGLP.WhistleLvl2Program"
	];
	CraftingData = "Items.WhistleLvl2CraftingPackage";
}

WhistleLvl3Program : WhistleLvl2Program
{
	tags += 
	[
		"Tier3Shard"
	];
	quality = "Quality.Epic";
	objectActions += 
	[
		"QuickHack.WhistleLvl3Hack"
	];
	OnAttach += 
	[
		"EquipmentGLP.WhistleLvl3Program"
	];
	CraftingData = "Items.WhistleLvl3CraftingPackage";
}

WhistleLvl4Program : WhistleLvl3Program
{
	tags += 
	[
		"Tier4Shard"
	];
	quality = "Quality.Legendary";
	objectActions += 
	[
		"QuickHack.WhistleLvl4Hack"
	];
	OnAttach += 
	[
		"EquipmentGLP.WhistleLvl4Program"
	];
	CraftingData = "Items.WhistleLvl4CraftingPackage";
}

WhistleLvl4PlusPlusProgram : WhistleLvl3Program
{
	tags += 
	[
		"Tier6Shard"
	];
	quality = "Quality.Legendary";
	objectActions += 
	[
		"QuickHack.WhistleLvl4PlusPlusHack"
	];
	OnAttach += 
	[
		"EquipmentGLP.WhistleLvl4Program"
	];
	CraftingData = "Items.WhistleLvl4PlusPlusCraftingPackage";
	statModifiers += 
	[
		"Quality.IconicItem"
	];
}

PingProgram : Items.CovertHack
{
	tags += 
	[
		"Tier0Shard"
	];
	quality = "Quality.Common";
	shardType = "Ping";
	displayName = "LocKey#27967";
	localizedDescription = "LocKey#27722";
	iconPath = "quickhack_ping";
	objectActions += 
	[
		"QuickHack.PingHack", "DeviceAction.PingDevice"
	];
	hideCooldownUI = true;
	OnAttach += 
	[
		"EquipmentGLP.UntraceableHack", "EquipmentGLP.PingLvl1Program"
	];
	CraftingData = "Items.PingCraftingPackage";
}

PingLvl2Program : PingProgram
{
	tags += 
	[
		"Tier2Shard"
	];
	quality = "Quality.Rare";
	objectActions += 
	[
		"QuickHack.PingLvl2Hack", "DeviceAction.PingDevice"
	];
	OnAttach += 
	[
		"EquipmentGLP.PingLvl2Program"
	];
	CraftingData = "Items.PingLvl2CraftingPackage";
}

[ notQueryable ]
PingLvl3Program : PingProgram
{
	deprecated = true;
	counterpart = "Items.PingLvl2Program";
	tags += 
	[
		"Tier3Shard", "DeprecatedQuickhack"
	];
	quality = "Quality.Epic";
	objectActions = [];
}

PingLvl4Program : PingLvl2Program
{
	tags += 
	[
		"Tier4Shard"
	];
	quality = "Quality.Legendary";
	objectActions += 
	[
		"QuickHack.PingLvl4Hack", "DeviceAction.PingDevice"
	];
	OnAttach += 
	[
		"EquipmentGLP.PingLvl4Program"
	];
	OnEquip += 
	[
		"EquipmentGLP.PingLvl4ProgramPassive"
	];
	CraftingData = "Items.PingLvl4CraftingPackage";
}

PingLvl4PlusPlusProgram : PingLvl2Program
{
	tags += 
	[
		"Tier6Shard"
	];
	quality = "Quality.Legendary";
	objectActions += 
	[
		"QuickHack.PingLvl4PlusPlusHack", "DeviceAction.PingDevice"
	];
	OnAttach += 
	[
		"EquipmentGLP.PingLvl4Program"
	];
	OnEquip += 
	[
		"EquipmentGLP.PingLvl4ProgramPassive"
	];
	CraftingData = "Items.PingLvl4PlusPlusCraftingPackage";
	statModifiers += 
	[
		"Quality.IconicItem"
	];
}

MemoryWipeLvl2Program : Items.CovertHack
{
	tags += 
	[
		"Tier2Shard", "HideProgramDuration"
	];
	quality = "Quality.Rare";
	shardType = "MemoryWipe";
	displayName = "LocKey#51310";
	localizedDescription = "LocKey#51311";
	iconPath = "quickhack_memory_wipe";
	objectActions += 
	[
		"QuickHack.MemoryWipeLvl2Hack", "QuickHack.BossMemoryWipeLvl2Hack", "QuickHack.ChimeraMemoryWipeLvl2Hack"
	];
	OnAttach += 
	[
		"EquipmentGLP.UntraceableHack", "EquipmentGLP.MemoryWipeLvl2Program"
	];
	CraftingData = "Items.MemoryWipeLvl2CraftingPackage";
	float revealPositionValue = -25;
}

MemoryWipeLvl3Program : MemoryWipeLvl2Program
{
	tags += 
	[
		"Tier3Shard"
	];
	quality = "Quality.Epic";
	shardType = "MemoryWipe";
	displayName = "LocKey#51310";
	localizedDescription = "LocKey#51311";
	iconPath = "quickhack_memory_wipe";
	objectActions += 
	[
		"QuickHack.MemoryWipeLvl3Hack", "QuickHack.BossMemoryWipeLvl3Hack", "QuickHack.ChimeraMemoryWipeLvl3Hack"
	];
	OnAttach = 
	[
		"EquipmentGLP.UntraceableHack", "EquipmentGLP.MemoryWipeLvl2UpgradeLvl3Program", "EquipmentGLP.MemoryWipeLvl3Program"
	];
	CraftingData = "Items.MemoryWipeLvl3CraftingPackage";
	revealPositionValue = -35;
}

MemoryWipeLvl4Program : MemoryWipeLvl3Program
{
	tags += 
	[
		"Tier4Shard"
	];
	quality = "Quality.Legendary";
	shardType = "MemoryWipe";
	displayName = "LocKey#51310";
	localizedDescription = "LocKey#51311";
	iconPath = "quickhack_memory_wipe";
	objectActions += 
	[
		"QuickHack.MemoryWipeLvl4Hack", "QuickHack.BossMemoryWipeLvl4Hack", "QuickHack.ChimeraMemoryWipeLvl4Hack"
	];
	OnAttach += 
	[
		"EquipmentGLP.MemoryWipeLvl4Program"
	];
	CraftingData = "Items.MemoryWipeLvl4CraftingPackage";
}

MemoryWipeLvl4PlusPlusProgram : MemoryWipeLvl3Program
{
	tags += 
	[
		"Tier6Shard"
	];
	quality = "Quality.Legendary";
	shardType = "MemoryWipe";
	displayName = "LocKey#51310";
	localizedDescription = "LocKey#51311";
	iconPath = "quickhack_memory_wipe";
	objectActions += 
	[
		"QuickHack.MemoryWipeLvl4PlusPlusHack", "QuickHack.BossMemoryWipeLvl4PlusPlusHack", "QuickHack.ChimeraMemoryWipeLvl4PlusPlusHack"
	];
	OnAttach += 
	[
		"EquipmentGLP.MemoryWipeLvl4Program"
	];
	CraftingData = "Items.MemoryWipeLvlPlusPlus4CraftingPackage";
	statModifiers += 
	[
		"Quality.IconicItem"
	];
}

[ notQueryable ]
[ EP1 ]
BlackWallProgramLvl2 : Items.UltimateHack
{
	tags += 
	[
		"Tier2Shard", "DummyPart", "HideInUI"
	];
	quality = "Quality.Rare";
	shardType = "BlackWall";
	displayName = "LocKey#86796";
	localizedDescription = "LocKey#86797";
	objectActions += 
	[
		"QuickHack.BlackWallHack", "QuickHack.BossBlackWallHack", "QuickHack.ChimeraBlackWallHack"
	];
	OnAttach += 
	[
		"EquipmentGLP.BlackwallProgramLvl2"
	];
	OnEquip += 
	[
		"EquipmentGLP.BlackwallLvl2Passive"
	];
	CraftingData = "";
}

[ notQueryable ]
[ EP1 ]
BlackWallProgramLvl3 : BlackWallProgramLvl2
{
	tags += 
	[
		"Tier3Shard"
	];
	quality = "Quality.Epic";
	shardType = "BlackWall";
	displayName = "LocKey#86796";
	localizedDescription = "LocKey#86797";
	objectActions += 
	[
		"QuickHack.BlackWallHack", "QuickHack.BossBlackWallHack", "QuickHack.ChimeraBlackWallHack"
	];
	OnAttach = 
	[
		"EquipmentGLP.BlackwallProgramLvl3"
	];
	OnEquip += 
	[
		"EquipmentGLP.BlackwallLvl3Passive"
	];
	CraftingData = "";
}

[ notQueryable ]
[ EP1 ]
BlackWallProgramLvl4 : BlackWallProgramLvl3
{
	tags += 
	[
		"Tier4Shard"
	];
	quality = "Quality.Legendary";
	shardType = "BlackWall";
	displayName = "LocKey#86796";
	localizedDescription = "LocKey#86797";
	objectActions += 
	[
		"QuickHack.BlackWallHack", "QuickHack.BossBlackWallHack", "QuickHack.ChimeraBlackWallHack"
	];
	OnAttach = 
	[
		"EquipmentGLP.BlackwallProgramLvl4"
	];
	OnEquip += 
	[
		"EquipmentGLP.BlackwallLvl4Passive"
	];
	CraftingData = "";
}

AllCommonPrograms : InventoryItem
{
	fk< Item >[] programs = 
	[
		"Items.EMPOverloadProgram", "Items.OverheatProgram", "Items.BlindProgram", "Items.WhistleLvl0Program", "Items.PingProgram"
	];
}

AllUncommonPrograms : InventoryItem
{
	fk< Item >[] programs = 
	[
		"Items.EMPOverloadLvl1Program", "Items.OverheatLvl1Program", "Items.ContagionProgram", "Items.DisableCyberwareProgram", "Items.LocomotionMalfunctionProgram", "Items.WeaponMalfunctionProgram", "Items.BlindLvl1Program", "Items.CommsNoiseProgram", "Items.CommsCallInLvl1Program", "Items.WhistleLvl1Program"
	];
}

AllRarePrograms : InventoryItem
{
	fk< Item >[] programs = 
	[
		"Items.EMPOverloadLvl2Program", "Items.BrainMeltLvl2Program", "Items.OverheatLvl2Program", "Items.ContagionLvl2Program", "Items.DisableCyberwareLvl2Program", "Items.LocomotionMalfunctionLvl2Program", "Items.WeaponMalfunctionLvl2Program", "Items.BlindLvl2Program", "Items.CommsNoiseLvl2Program", "Items.CommsCallInLvl2Program", "Items.WhistleLvl2Program", "Items.PingLvl2Program", "Items.MemoryWipeLvl2Program"
	];
}

AllEpicPrograms : InventoryItem
{
	fk< Item >[] programs = 
	[
		"Items.EMPOverloadLvl3Program", "Items.BrainMeltLvl3Program", "Items.OverheatLvl3Program", "Items.ContagionLvl3Program", "Items.SuicideLvl3Program", "Items.GrenadeExplodeLvl3Program", "Items.SystemCollapseLvl3Program", "Items.MadnessLvl3Program", "Items.DisableCyberwareLvl3Program", "Items.LocomotionMalfunctionLvl3Program", "Items.WeaponMalfunctionLvl3Program", "Items.BlindLvl3Program", "Items.CommsNoiseLvl3Program", "Items.CommsCallInLvl3Program", "Items.WhistleLvl3Program", "Items.MemoryWipeLvl3Program"
	];
}

AllLegendaryPrograms : InventoryItem
{
	fk< Item >[] programs = 
	[
		"Items.EMPOverloadLvl4Program", "Items.BrainMeltLvl4Program", "Items.OverheatLvl4Program", "Items.ContagionLvl4Program", "Items.SuicideLvl4Program", "Items.GrenadeExplodeLvl4Program", "Items.SystemCollapseLvl4Program", "Items.MadnessLvl4Program", "Items.DisableCyberwareLvl4Program", "Items.LocomotionMalfunctionLvl4Program", "Items.WeaponMalfunctionLvl4Program", "Items.BlindLvl4Program", "Items.CommsNoiseLvl4Program", "Items.CommsCallInLvl4Program", "Items.WhistleLvl4Program", "Items.PingLvl4Program", "Items.MemoryWipeLvl4Program"
	];
}

AllLegendaryPlusPlusPrograms : InventoryItem
{
	fk< Item >[] programs = 
	[
		"Items.EMPOverloadLvl4PlusPlusProgram", "Items.BrainMeltLvl4PlusPlusProgram", "Items.OverheatLvl4PlusPlusProgram", "Items.ContagionLvl4PlusPlusProgram", "Items.SuicideLvl4PlusPlusProgram", "Items.GrenadeExplodeLvl4PlusPlusProgram", "Items.SystemCollapseLvl4PlusPlusProgram", "Items.MadnessLvl4PlusPlusProgram", "Items.DisableCyberwareLvl4PlusPlusProgram", "Items.LocomotionMalfunctionLvl4PlusPlusProgram", "Items.WeaponMalfunctionLvl4PlusPlusProgram", "Items.BlindLvl4PlusPlusProgram", "Items.CommsNoiseLvl4PlusPlusProgram", "Items.CommsCallInLvl4PlusPlusProgram", "Items.WhistleLvl4PlusPlusProgram", "Items.PingLvl4PlusPlusProgram", "Items.MemoryWipeLvl4PlusPlusProgram"
	];
}

