package RTDB

Vendor
{
	fk< VendorType > vendorType = "";
	string localizedName = "";
	string localizedDescription = "";
	CName[] vendorFilterTags = 
	[
		"Prop", "Currency", "CraftingPart", "HideAtVendor"
	];
	CName[] customerFilterTags = 
	[
		"Quest", "UnequipBlocked", "Currency", "Cyberware", "Underwear", "base_fists", "BaseWeapon", "TppHead", "StandardAmmo", "HideAtVendor", "ChargedConsumable", "CraftingPart", "Recipe", "skillbook"
	];
	CName[] vendorInverseFilterTags = [];
	CName[] customerInverseFilterTags = [];
	fk< Affiliation > faction = "Factions.Unaffiliated";
	fk< VendorItem >[] itemStock = [];
	fk< VendorItemQuery >[] itemQueries = [];
	fk< VendorExperience >[] experienceStock = [];
	float inGameTimeToRestock = 86400f;
	fk< IPrereq >[] mapVisibilityPrereqs = [];
	fk< IPrereq >[] accessPrereqs = [];
	fk< VendorCraftable >[] craftbooks = [];
}

VendorWare
{
	fk< IPrereq >[] generationPrereqs = [];
	fk< IPrereq > availabilityPrereq = "";
	fk< StatModifier >[] quantity = [];
	CName forceQuality = "";
}

VendorCraftable : VendorWare
{
	fk< Craftable > craftbook = "";
}

VendorItem : VendorWare
{
	fk< Item > item = "";
}

VendorItemQuery : VendorWare
{
	fk< ItemArrayQuery > query = "";
	bool uniquesOnly = false;
}

VendorExperience : VendorWare
{
	fk< Proficiency > proficiency = "";
	fk< StatModifier >[] pricePerPoint = [];
}

VendorType
{
	CName enumName = "";
	string enumComment = "";
}

VendorProgressionBasedStock
{
	fk< VendorItem >[] items = [];
}

