package Vendors
using RTDB, Prereqs

Ripperdoc_HUB : AdvancedCollectiveRipperDocGeneral
{
	vendorType = "VendorType.RipperDoc";
	itemStock += 
	[
		"Vendors.TierScaledBaseMoney"
	];
}

Gunsmith_HUB : Medium_ManufacturerGunsmith
{
	itemStock += 
	[
	];
}

ClothingShop_HUB : Vendor
{
	vendorType = "VendorType.Clothing";
	fk< VendorItem >[] itemStock += 
	[
		"Vendors.TierScaledBaseMoney", {
			item = "Items.TShirt_04_old_01";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.TShirt_04_old_02";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.TShirt_04_old_03";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.TShirt_04_old_04";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.TShirt_05_old_05";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.TShirt_05_old_06";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.Pants_02_old_01";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.Pants_02_old_02";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.Pants_09_old_02";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.Pants_06_old_02";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.Pants_06_old_03";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.Shorts_04_old_01";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.Boots_10_old_01";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.Boots_10_old_02";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.CasualShoes_05_old_03";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.Boots_04_old_01";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.Boots_04_old_03";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.CasualShoes_01_old_01";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.CasualShoes_01_old_02";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.Vest_08_basic_01";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.Vest_08_basic_02";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.Vest_08_old_01";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.Vest_08_rich_02";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.Hat_02_old_02";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.Hat_03_basic_01";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.Hat_03_rich_01";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.Jumpsuit_01_old_01";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.Jumpsuit_01_old_02";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.Jumpsuit_01_old_03";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.Balaclava_01_basic_01";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}, 
		{
			item = "Items.Balaclava_01_basic_02";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
		}
	];
}

Junkshop_HUB : Vendor
{
	vendorType = "VendorType.Junk";
	fk< VendorItem >[] itemStock += 
	[
		"Vendors.BaseMoney", {
			item = "Items.GenericJunkItem1";
			quantity = 
			[
				"Vendors.MediumQuantity"
			];
		}, 
		{
			item = "Items.GenericJunkItem4";
			quantity = 
			[
				"Vendors.MediumQuantity"
			];
		}, 
		{
			item = "Items.GenericJunkItem6";
			quantity = 
			[
				"Vendors.MediumQuantity"
			];
		}, 
		{
			item = "Items.GenericGangJunkItem3";
			quantity = 
			[
				"Vendors.MediumQuantity"
			];
		}, 
		{
			item = "Items.GenericGangJunkItem4";
			quantity = 
			[
				"Vendors.MediumQuantity"
			];
		}, 
		{
			item = "Items.GenericPoorJunkItem1";
			quantity = 
			[
				"Vendors.MediumQuantity"
			];
		}, 
		{
			item = "Items.GenericPoorJunkItem2";
			quantity = 
			[
				"Vendors.MediumQuantity"
			];
		}, 
		{
			item = "Items.GenericPoorJunkItem3";
			quantity = 
			[
				"Vendors.MediumQuantity"
			];
		}, 
		{
			item = "Items.GenericPoorJunkItem4";
			quantity = 
			[
				"Vendors.MediumQuantity"
			];
		}, 
		{
			item = "Items.GenericJunkItem5";
			quantity = 
			[
				"Vendors.MediumQuantity"
			];
		}, 
		{
			item = "Items.GenericJunkItem7";
			quantity = 
			[
				"Vendors.MediumQuantity"
			];
		}, 
		{
			item = "Items.GenericJunkItem8";
			quantity = 
			[
				"Vendors.MediumQuantity"
			];
		}, 
		{
			item = "Items.GenericJunkItem9";
			quantity = 
			[
				"Vendors.MediumQuantity"
			];
		}, 
		{
			item = "Items.GenericJunkItem12";
			quantity = 
			[
				"Vendors.MediumQuantity"
			];
		}, 
		{
			item = "Items.GenericJunkItem23";
			quantity = 
			[
				"Vendors.MediumQuantity"
			];
		}, 
		{
			item = "Items.GenericJunkItem25";
			quantity = 
			[
				"Vendors.MediumQuantity"
			];
		}, 
		{
			item = "Items.GenericJunkItem29";
			quantity = 
			[
				"Vendors.MediumQuantity"
			];
		}
	];
}

FoodShop_HUB : Vendor
{
	vendorType = "VendorType.Food";
	fk< VendorItem >[] itemStock += 
	[
		"Vendors.BaseMoney", {
			item = "Items.LowQualityDrink5";
			quantity = 
			[
				{
					statType = "BaseStats.Quantity";
					modifierType = "Additive";
					value = 12;
				} : ConstantStatModifier
			];
		}, 
		{
			item = "Items.LowQualityDrink9";
			quantity = 
			[
				{
					statType = "BaseStats.Quantity";
					modifierType = "Additive";
					value = 12;
				} : ConstantStatModifier
			];
		}, 
		{
			item = "Items.LowQualityDrink7";
			quantity = 
			[
				{
					statType = "BaseStats.Quantity";
					modifierType = "Additive";
					value = 12;
				} : ConstantStatModifier
			];
		}, 
		{
			item = "Items.LowQualityDrink8";
			quantity = 
			[
				{
					statType = "BaseStats.Quantity";
					modifierType = "Additive";
					value = 12;
				} : ConstantStatModifier
			];
		}, 
		{
			item = "Items.MediumQualityDrink2";
			quantity = 
			[
				{
					statType = "BaseStats.Quantity";
					modifierType = "Additive";
					value = 6;
				} : ConstantStatModifier
			];
		}, 
		{
			item = "Items.MediumQualityDrink5";
			quantity = 
			[
				{
					statType = "BaseStats.Quantity";
					modifierType = "Additive";
					value = 6;
				} : ConstantStatModifier
			];
		}, 
		{
			item = "Items.LowQualityAlcohol4";
			quantity = 
			[
				{
					statType = "BaseStats.Quantity";
					modifierType = "Additive";
					value = 12;
				} : ConstantStatModifier
			];
		}, 
		{
			item = "Items.LowQualityAlcohol5";
			quantity = 
			[
				{
					statType = "BaseStats.Quantity";
					modifierType = "Additive";
					value = 12;
				} : ConstantStatModifier
			];
		}, 
		{
			item = "Items.LowQualityAlcohol6";
			quantity = 
			[
				{
					statType = "BaseStats.Quantity";
					modifierType = "Additive";
					value = 12;
				} : ConstantStatModifier
			];
		}, 
		{
			item = "Items.LowQualityAlcohol3";
			quantity = 
			[
				{
					statType = "BaseStats.Quantity";
					modifierType = "Additive";
					value = 12;
				} : ConstantStatModifier
			];
		}, 
		{
			item = "Items.MediumQualityAlcohol2";
			quantity = 
			[
				{
					statType = "BaseStats.Quantity";
					modifierType = "Additive";
					value = 6;
				} : ConstantStatModifier
			];
		}, 
		{
			item = "Items.MediumQualityAlcohol6";
			quantity = 
			[
				{
					statType = "BaseStats.Quantity";
					modifierType = "Additive";
					value = 6;
				} : ConstantStatModifier
			];
		}, 
		{
			item = "Items.MediumQualityAlcohol3";
			quantity = 
			[
				{
					statType = "BaseStats.Quantity";
					modifierType = "Additive";
					value = 6;
				} : ConstantStatModifier
			];
		}, 
		{
			item = "Items.MediumQualityAlcohol1";
			quantity = 
			[
				{
					statType = "BaseStats.Quantity";
					modifierType = "Additive";
					value = 6;
				} : ConstantStatModifier
			];
		}, 
		{
			item = "Items.LowQualityFood3";
			quantity = 
			[
				{
					statType = "BaseStats.Quantity";
					modifierType = "Additive";
					value = 12;
				} : ConstantStatModifier
			];
		}, 
		{
			item = "Items.GoodQualityFood10";
			quantity = 
			[
				{
					statType = "BaseStats.Quantity";
					modifierType = "Additive";
					value = 6;
				} : ConstantStatModifier
			];
		}, 
		{
			item = "Items.GoodQualityFood11";
			quantity = 
			[
				{
					statType = "BaseStats.Quantity";
					modifierType = "Additive";
					value = 6;
				} : ConstantStatModifier
			];
		}, 
		{
			item = "Items.GoodQualityFood12";
			quantity = 
			[
				{
					statType = "BaseStats.Quantity";
					modifierType = "Additive";
					value = 6;
				} : ConstantStatModifier
			];
		}, 
		{
			item = "Items.MediumQualityFood3";
			quantity = 
			[
				{
					statType = "BaseStats.Quantity";
					modifierType = "Additive";
					value = 6;
				} : ConstantStatModifier
			];
		}
	];
}

MeleeTrainer_HUB : MeleeTrainer
{
	vendorType = "VendorType.SkillTrainer";
	fk< VendorItem >[] itemStock += 
	[
	];
}

MedicStore_HUB : Vendor
{
	vendorType = "VendorType.Medical";
	fk< VendorItem >[] itemStock += 
	[
		"Vendors.BaseMoney", {
			item = "Items.HealthBooster";
			quantity = 
			[
				{
					statType = "BaseStats.Quantity";
					modifierType = "Additive";
					value = 2;
				} : ConstantStatModifier
			];
		}, 
		{
			item = "Items.StaminaBooster";
			quantity = 
			[
				{
					statType = "BaseStats.Quantity";
					modifierType = "Additive";
					value = 2;
				} : ConstantStatModifier
			];
		}, 
		{
			item = "Items.MemoryBooster";
			quantity = 
			[
				{
					statType = "BaseStats.Quantity";
					modifierType = "Additive";
					value = 2;
				} : ConstantStatModifier
			];
		}, 
		{
			item = "Items.CarryCapacityBooster";
			quantity = 
			[
				{
					statType = "BaseStats.Quantity";
					modifierType = "Additive";
					value = 2;
				} : ConstantStatModifier
			];
		}, 
		{
			item = "Items.BonesMcCoy70VUncommon";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				"LootPrereqs.PlayerLevel_Tier_1_to_2_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.BonesMcCoy70V1";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				"LootPrereqs.PlayerLevel_Tier_2_to_3_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.BonesMcCoy70VEpic";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				"LootPrereqs.PlayerLevel_Tier_3_to_4_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.BonesMcCoy70V2";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				"LootPrereqs.PlayerLevel_Tier_4_to_5_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.FirstAidWhiffVUncommon";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				"LootPrereqs.PlayerLevel_Tier_1_to_2_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.FirstAidWhiffV1";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				"LootPrereqs.PlayerLevel_Tier_2_to_3_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.FirstAidWhiffVEpic";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				"LootPrereqs.PlayerLevel_Tier_3_to_4_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.FirstAidWhiffV2";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				"LootPrereqs.PlayerLevel_Tier_4_to_5_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.RecipeBonesMcCoy70VUncommon";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				"LootPrereqs.PlayerLevel_Tier_1_to_2_Exclusion_Prereq", {
					consumableItemTag = "Injector";
					qualityLessThan = "Uncommon";
				} : RarityOfEquippedConsumableItemPrereq
			];
		}, 
		{
			item = "Items.RecipeBonesMcCoy70V1";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				"LootPrereqs.PlayerLevel_Tier_2_to_3_Exclusion_Prereq", {
					consumableItemTag = "Injector";
					qualityLessThan = "Rare";
				} : RarityOfEquippedConsumableItemPrereq
			];
		}, 
		{
			item = "Items.RecipeBonesMcCoy70VEpic";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				"LootPrereqs.PlayerLevel_Tier_3_to_4_Exclusion_Prereq", {
					consumableItemTag = "Injector";
					qualityLessThan = "Epic";
				} : RarityOfEquippedConsumableItemPrereq
			];
		}, 
		{
			item = "Items.RecipeBonesMcCoy70V2";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				"LootPrereqs.PlayerLevel_Tier_4_to_5_Exclusion_Prereq", {
					consumableItemTag = "Injector";
					qualityLessThan = "Legendary";
				} : RarityOfEquippedConsumableItemPrereq
			];
		}, 
		{
			item = "Items.RecipeFirstAidWhiffVUncommon";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				"LootPrereqs.PlayerLevel_Tier_1_to_2_Exclusion_Prereq", {
					consumableItemTag = "Inhaler";
					qualityLessThan = "Uncommon";
				} : RarityOfEquippedConsumableItemPrereq
			];
		}, 
		{
			item = "Items.RecipeFirstAidWhiffV1";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				"LootPrereqs.PlayerLevel_Tier_2_to_3_Exclusion_Prereq", {
					consumableItemTag = "Inhaler";
					qualityLessThan = "Rare";
				} : RarityOfEquippedConsumableItemPrereq
			];
		}, 
		{
			item = "Items.RecipeFirstAidWhiffVEpic";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				"LootPrereqs.PlayerLevel_Tier_3_to_4_Exclusion_Prereq", {
					consumableItemTag = "Inhaler";
					qualityLessThan = "Epic";
				} : RarityOfEquippedConsumableItemPrereq
			];
		}, 
		{
			item = "Items.RecipeFirstAidWhiffV2";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				"LootPrereqs.PlayerLevel_Tier_4_to_5_Exclusion_Prereq", {
					consumableItemTag = "Inhaler";
					qualityLessThan = "Legendary";
				} : RarityOfEquippedConsumableItemPrereq
			];
		}
	];
}

BlackMarketMedicStore : MedicStore_HUB
{
	itemStock += 
	[
		{
			item = "Items.Blackmarket_CarryCapacityBooster";
			quantity = 
			[
				{
					statType = "BaseStats.Quantity";
					modifierType = "Additive";
					value = 10;
				} : ConstantStatModifier
			];
		}, 
		{
			item = "Items.Blackmarket_MemoryBooster";
			quantity = 
			[
				{
					statType = "BaseStats.Quantity";
					modifierType = "Additive";
					value = 10;
				} : ConstantStatModifier
			];
		}, 
		{
			item = "Items.Blackmarket_StaminaBooster";
			quantity = 
			[
				{
					statType = "BaseStats.Quantity";
					modifierType = "Additive";
					value = 10;
				} : ConstantStatModifier
			];
		}, 
		{
			item = "Items.Blackmarket_HealthBooster";
			quantity = 
			[
				{
					statType = "BaseStats.Quantity";
					modifierType = "Additive";
					value = 10;
				} : ConstantStatModifier
			];
		}
	];
}

sts_ep1_01_odel : BlackMarketMedicStore
{
	string localizedName = "LocKey#45136";
	itemStock += 
	[
		{
			item = "Items.PermanentMemoryRegenFood";
			quantity = 
			[
				{
					statType = "BaseStats.Quantity";
					modifierType = "Additive";
					value = 1;
				} : ConstantStatModifier
			];
		}
	];
}

BlackMarketer_HUB : Vendor
{
	vendorType = "VendorType.Market";
	string localizedName = "LocKey#92188";
	itemQueries = 
	[
		{
			query = "Query.KrausserWeaponArrayQuery_EP1";
			quantity = 
			[
				"Vendors.Uncommonly_Present"
			];
			forceQuality = "Uncommon";
			generationPrereqs = 
			[
				"LootPrereqs.NextTierUncommonWeaponAtVendor"
			];
		}, 
		{
			query = "Query.KrausserWeaponArrayQuery_EP1";
			quantity = 
			[
				"Vendors.Uncommonly_Present"
			];
			forceQuality = "UncommonPlus";
			generationPrereqs = 
			[
				"LootPrereqs.NextTierUncommonPlusWeaponAtVendor"
			];
		}, 
		{
			query = "Query.KrausserWeaponArrayQuery_EP1";
			quantity = 
			[
				"Vendors.Uncommonly_Present"
			];
			forceQuality = "Rare";
			generationPrereqs = 
			[
				"LootPrereqs.NextTierRareWeaponAtVendor"
			];
		}, 
		{
			query = "Query.KrausserWeaponArrayQuery_EP1";
			quantity = 
			[
				"Vendors.Uncommonly_Present"
			];
			forceQuality = "RarePlus";
			generationPrereqs = 
			[
				"LootPrereqs.NextTierRarePlusWeaponAtVendor"
			];
		}, 
		{
			query = "Query.KrausserWeaponArrayQuery_EP1";
			quantity = 
			[
				"Vendors.Uncommonly_Present"
			];
			forceQuality = "Epic";
			generationPrereqs = 
			[
				"LootPrereqs.NextTierEpicWeaponAtVendor"
			];
		}, 
		{
			query = "Query.KrausserWeaponArrayQuery_EP1";
			quantity = 
			[
				"Vendors.Uncommonly_Present"
			];
			forceQuality = "EpicPlus";
			generationPrereqs = 
			[
				"LootPrereqs.NextTierEpicPlusWeaponAtVendor"
			];
		}, 
		{
			query = "Query.KrausserWeaponArrayQuery_EP1";
			quantity = 
			[
				"Vendors.Uncommonly_Present"
			];
			forceQuality = "Legendary";
			generationPrereqs = 
			[
				"LootPrereqs.NextTierLegendaryWeaponAtVendor"
			];
		}, 
		{
			query = "Query.KrausserWeaponArrayQuery_EP1";
			quantity = 
			[
				"Vendors.Uncommonly_Present"
			];
			forceQuality = "LegendaryPlus";
			generationPrereqs = 
			[
				"LootPrereqs.NextTierLegendaryPlusWeaponAtVendor"
			];
		}
	];
	fk< VendorItem >[] itemStock += 
	[
		"Vendors.TierScaledBaseMoney", {
			item = "Ammo.HandgunAmmo";
			quantity = 
			[
				{
					value = 1000;
				} : QuantityMod
			];
		}, 
		{
			item = "Ammo.ShotgunAmmo";
			quantity = 
			[
				{
					value = 200;
				} : QuantityMod
			];
		}, 
		{
			item = "Ammo.RifleAmmo";
			quantity = 
			[
				{
					value = 1000;
				} : QuantityMod
			];
		}, 
		{
			item = "Ammo.SniperRifleAmmo";
			quantity = 
			[
				{
					value = 100;
				} : QuantityMod
			];
		}, 
		{
			item = "Items.GrenadeFragRegular";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_1_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.GrenadeFragUncommon";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_1_to_2_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.GrenadeFragSticky";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_2_to_3_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.GrenadeFragEpic";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_3_to_4_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.GrenadeFragLegendary";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_4_to_5_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.GrenadeFlashRegular";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_1_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.GrenadeFlashUncommon";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_1_to_2_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.GrenadeFlashHoming";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_2_to_3_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.GrenadeFlashEpic";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_3_to_4_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.GrenadeFlashLegendary";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_4_to_5_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.GrenadeReconRegular";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_1_to_2_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.GrenadeReconRare";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_2_to_3_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.GrenadeReconSticky";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_3_to_4_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.GrenadeReconLegendary";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_4_to_5_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.Preset_Katana_Cocktail";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "q105_done";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "katana_cocktail_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Omaha_Suzie";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "q105_done";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "omaha_suzie_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Katana_Saburo";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "q005_done";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "katana_saburo_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Tanto_Saburo";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "q005_done";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "tanto_saburo_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Nue_Jackie";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "ep1_standalone";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "nue_jackie_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Liberty_Dex";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "ep1_standalone";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "liberty_dex_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Katana_Takemura";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "q112_done";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "katana_takemura_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Dildo_Stout";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "q003_stout_sex_done";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "dildo_stout_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Butchers_Knife_Iconic";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "q110_done";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "butchers_knife_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Liberty_Yorinobu";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "q005_done";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "liberty_yorinobu_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Nova_Doom_Doom";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "q003_dumdum_dead";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "nova_doom_doom_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Kenshin_Royce";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "q003_royce_bossfight_avoided";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "kenshin_royce_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Kenshin_Frank";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "kenshin_frank_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Achilles_Nash";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "q103_done";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "achilles_nash_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Baton_Tinker_Bell";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "sq021_done";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "tinker_bell_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Katana_Hiromi";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "sq026_done";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "katana_hiromi_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Saratoga_Raffen";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "sq027_done";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "saratoga_raffen_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Nue_Maiko";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "sq026_done";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "nue_maiko_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Katana_E3";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "q105_done";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "katana_e3_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.w_melee_boss_hammer";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "q110_done";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "w_melee_boss_hammer_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Testera_Nicolas";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "sts_ep1_03_wagner_dead";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "testera_nicolas_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Umbra_Bebe";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "mq301_bebe_black_market";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "umbra_bebe_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Hercules_Prototype";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "sts_ep1_07_done";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "hercules_prototype_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Baton_Murphy";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "q304_done";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "q304_songbirds_path";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "baton_murphy_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Dildo_SexShop";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "mws_arr_07_done";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "dildo_shop_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Osprey_Prototype";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "q304_done";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "q304_songbirds_path";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "osprey_prototype_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Metel_Kurt";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "q304_done";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "q304_songbirds_path";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "metel_kurt_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Defender_Kurt";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "q304_done";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "q304_songbirds_path";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "defender_kurt_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Kappa_George";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "sts_ep1_06_done";
					value = 1;
					comparisonType = "GreaterOrEqual";
				} : FactValuePrereq, 
				{
					fact = "kappa_george_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Satara_Brick";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "satara_brick_owned";
					value = 0;
					comparisonType = "LessOrEqual";
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Machete_Borg_AirDrop";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "sts_ep1_10_done";
					comparisonType = "GreaterOrEqual";
					value = 1;
				} : FactValuePrereq, 
				{
					fact = "machete_borg_airdrop_owned";
					comparisonType = "LessOrEqual";
					value = 0;
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Pozhar_AirDrop";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "sa_ep1_306_bm_conditions_met";
					comparisonType = "GreaterOrEqual";
					value = 1;
				} : FactValuePrereq, 
				{
					fact = "pozhar_airdrop_owned";
					comparisonType = "LessOrEqual";
					value = 0;
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Grad_AirDrop";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "sa_ep1_38_bespoke_done";
					comparisonType = "GreaterOrEqual";
					value = 1;
				} : FactValuePrereq, 
				{
					fact = "grad_airdrop_owned";
					comparisonType = "LessOrEqual";
					value = 0;
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Metel_AirDrop";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "sa_ep1_304_bm_conditions_met";
					comparisonType = "GreaterOrEqual";
					value = 1;
				} : FactValuePrereq, 
				{
					fact = "metel_airdrop_owned";
					comparisonType = "LessOrEqual";
					value = 0;
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Burya_AirDrop";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs = 
			[
				{
					fact = "sa_ep1_33_bespoke_done";
					comparisonType = "GreaterOrEqual";
					value = 1;
				} : FactValuePrereq, 
				{
					fact = "burya_airdrop_owned";
					comparisonType = "LessOrEqual";
					value = 0;
				} : FactValuePrereq
			];
		}, 
		{
			item = "Items.Preset_Copperhead_Krausser";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_1_Start_Prereq"
			];
		}, 
		{
			item = "Items.Preset_Ajax_Krausser";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_2_Start_Prereq"
			];
		}, 
		{
			item = "Items.Preset_Saratoga_Krausser";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_2_Start_Prereq"
			];
		}, 
		{
			item = "Items.Preset_Lexington_Krausser";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_2_Start_Prereq"
			];
		}, 
		{
			item = "Items.Preset_Omaha_Krausser";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_2_Start_Prereq"
			];
		}, 
		{
			item = "Items.Preset_Tactician_Krausser";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_2_Start_Prereq"
			];
		}, 
		{
			item = "Items.Preset_Kyubi_Krausser";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_3_Start_Prereq"
			];
		}, 
		{
			item = "Items.Preset_Nekomata_Krausser";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_3_Start_Prereq"
			];
		}, 
		{
			item = "Items.Preset_Crusher_Krausser";
			quantity = 
			[
				"Vendors.Commonly_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_3_Start_Prereq"
			];
		}, 
		{
			item = "Items.Preset_Warden_Krausser";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_1_Start_Prereq"
			];
		}, 
		{
			item = "Items.Preset_Grit_Krausser";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_1_Start_Prereq"
			];
		}, 
		{
			item = "Items.CommonGritRecipe";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_1_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.UncommonGritRecipe";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_1_to_2_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.RareGritRecipe";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_2_to_3_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.EpicGritRecipe";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_3_to_4_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.LegendaryGritRecipe";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_4_to_5_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.UncommonWardenRecipe";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_1_to_2_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.RareWardenRecipe";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_2_to_3_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.EpicWardenRecipe";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_3_to_4_Exclusion_Prereq"
			];
		}, 
		{
			item = "Items.LegendaryWardenRecipe";
			quantity = 
			[
				"Vendors.Always_Present"
			];
			generationPrereqs += 
			[
				"LootPrereqs.PlayerLevel_Tier_4_to_5_Exclusion_Prereq"
			];
		}
	];
}

