package Query
using RTDB

WeaponQuery : ItemQuery
{
	tagsToExclude += 
	[
		"Courier_RareFind", "Krausser", "Dogtown_Weapon"
	];
}

WeaponArrayQuery : ItemArrayQuery
{
	minItems = 1;
	maxItems = 2;
	recordType = "Items.Base_Weapon";
	tagsToExclude += 
	[
		"Courier_RareFind", "Krausser", "Dogtown_Weapon"
	];
}

MeleeWeaponArrayQuery : ItemArrayQuery
{
	minItems = 1;
	maxItems = 2;
	recordType = "Items.MeleeWeapon";
	tagsToExclude += 
	[
		"Courier_RareFind", "Krausser"
	];
}

BladeWeaponArrayQuery : MeleeWeaponArrayQuery
{
	tags += 
	[
		"BladeWeapon"
	];
}

BluntWeaponArrayQuery : MeleeWeaponArrayQuery
{
	tags += 
	[
		"BluntWeapon"
	];
}

ThrowableWeaponArrayQuery : MeleeWeaponArrayQuery
{
	tags += 
	[
		"ThrowableWeapon"
	];
}

WeaponArrayQuery_EP1 : ItemArrayQuery
{
	minItems = 1;
	maxItems = 2;
	recordType = "Items.Base_Weapon";
	tagsToExclude += 
	[
		"Courier_RareFind", "Krausser"
	];
}

KrausserWeaponArrayQuery_EP1 : ItemArrayQuery
{
	minItems = 1;
	maxItems = 1;
	recordType = "Items.Base_Weapon";
	tags += 
	[
		"Krausser"
	];
	tagsToExclude += 
	[
		"Courier_RareFind"
	];
}

RangedWeaponQuery : WeaponQuery
{
	recordType = "Items.Base_Weapon";
	tags = 
	[
		"RangedWeapon"
	];
}

HandgunQuery : WeaponQuery
{
	recordType = "Items.Base_Handgun";
}

ShotgunQuery : WeaponQuery
{
	recordType = "Items.Base_Shotgun";
}

ShotgunDualQuery : WeaponQuery
{
	recordType = "Items.Base_Dual_Shotgun";
}

AssaultRifleQuery : WeaponQuery
{
	recordType = "Items.Base_Assault_Rifle";
}

PrecisionRifleQuery : WeaponQuery
{
	recordType = "Items.Base_Precision_Rifle";
}

SniperRifleQuery : WeaponQuery
{
	recordType = "Items.Base_Sniper_Rifle";
}

SubmachinegunQuery : WeaponQuery
{
	recordType = "Items.Base_Submachinegun";
}

RevolverQuery : WeaponQuery
{
	recordType = "Items.Base_Revolver";
}

LightmachinegunQuery : WeaponQuery
{
	recordType = "Items.Base_Lightmachinegun";
}

Maelstrom_WeaponQuery : WeaponQuery
{
	recordType = "Items.Base_Weapon";
	tags = 
	[
		"Maelstrom"
	];
}

Neon_WeaponQuery : WeaponQuery
{
	recordType = "Items.Base_Weapon";
	tags = 
	[
		"Neon"
	];
}

Military_WeaponQuery : WeaponQuery
{
	recordType = "Items.Base_Weapon";
	tags = 
	[
		"Military"
	];
}

Krausser_WeaponQuery : WeaponQuery
{
	recordType = "Items.Base_Weapon";
	tags = 
	[
		"Krausser"
	];
	tagsToExclude = 
	[
		"Courier_RareFind"
	];
}

Power_WeaponQuery : WeaponQuery
{
	recordType = "Items.Base_Weapon";
	tags = 
	[
		"PowerWeapon"
	];
}

Tech_WeaponQuery : WeaponQuery
{
	recordType = "Items.Base_Weapon";
	tags = 
	[
		"TechWeapon"
	];
}

Smart_WeaponQuery : WeaponQuery
{
	recordType = "Items.Base_Weapon";
	tags = 
	[
		"SmartWeapon"
	];
}

InjectWeapons_Base_Query : WeaponQuery
{
	recordType = "RTDB.WeaponItem";
	tagsToExclude += 
	[
		"Cyberware", "Gadget", "LMG", "Rifle Sniper"
	];
}

InjectWeapons_Tier1_Query : InjectWeapons_Base_Query
{
	tagsToExclude += 
	[
		"T2_Inject_Weapon", "T3_Inject_Weapon"
	];
}

InjectWeapons_Tier2_Query : InjectWeapons_Base_Query
{
	tagsToExclude += 
	[
		"T3_Inject_Weapon"
	];
}

InjectWeapons_Tier3_Query : InjectWeapons_Base_Query
{
	tagsToExclude += 
	[
	];
}

CarCombat_WeaponQuery : WeaponQuery
{
	recordType = "Items.Base_Weapon";
	tags = 
	[
		"DriverCombatRangedWeapon"
	];
}

TechtronikaMilitary_WeaponQuery : WeaponQuery
{
	recordType = "Items.Base_Weapon";
	tags = 
	[
		"Techtronika", "Military"
	];
}

Courier_RareFind_WeaponQuery : WeaponQuery
{
	recordType = "RTDB.WeaponItem";
	tags += 
	[
		"Courier_RareFind"
	];
	tagsToExclude = 
	[
		"Cyberware", "Gadget"
	];
}

TreasureWeapons_Tier3_Query : WeaponQuery
{
	recordType = "RTDB.WeaponItem";
	tags += 
	[
		"T3_Inject_Weapon"
	];
	tagsToExclude += 
	[
		"Cyberware", "Gadget"
	];
}

