package TEST
using RTDB, Items, ItemAction, Effectors

[ notQueryable ]
GoldenGun : Items.Preset_Silverhand_3516
{
	displayName = "TEST One Shot Kill Gun";
	localizedDescription = "Test gun that will one shot kill anything";
	attacks += 
	[
		"TEST.OneShotBulletEffect", "TEST.OneShotBulletProjectile"
	];
	tags += 
	[
		"Quest"
	];
	objectActions = 
	[
		"ItemAction.Equip"
	];
	rangedAttacks = "TEST.OneShotKill";
	OnAttach = 
	[
		{
			effectors = 
			[
				{
					statusEffect = "GameplayRestriction.InfiniteAmmo";
				} : ApplyStatusEffectEffector
			];
		} : GameplayLogicPackage
	];
}

[ notQueryable ]
TEST_Burning_Lexington : Items.Preset_Base_Lexington
{
}

[ notQueryable ]
TEST_Poison_Lexington : Items.Preset_Base_Lexington
{
}

[ notQueryable ]
TEST_EMP_Lexington : Items.Preset_Base_Lexington
{
}

[ notQueryable ]
TEST_Bleeding_Lexington : Items.Preset_Base_Lexington
{
}

[ notQueryable ]
DodgeAbilityInventory : InventoryItem
{
	item = "TEST.DodgeAbilityRifle";
	quantity = 1;
}

[ notQueryable ]
DodgeAbilityRifle : Items.Preset_Base_Copperhead
{
	statModifiers += 
	[
		{
			statType = "BaseStats.HasDodge";
			modifierType = "Additive";
			value = 1;
		} : ConstantStatModifier
	];
}

[ notQueryable ]
WoundedRifleInventory : InventoryItem
{
	item = "TEST.WoundedRifle";
	quantity = 1;
}

[ notQueryable ]
WoundedRifle : Base_Lexington
{
	OnEquip = 
	[
		"TEST.WoundedGLP"
	];
}

[ notQueryable ]
ThermalCopperhead : Preset_Base_Copperhead
{
	fk< SlotItemPartPreset >[] slotPartListPreset = 
	[
		{
			slot = "AttachmentSlots.Receiver";
			fk< Item > itemPartPreset = "Items.w_rifle_assault__nokota_copperhead__rcv1";
		}, 
		{
			slot = "AttachmentSlots.Barrel";
			fk< Item > itemPartPreset = "Items.w_rifle_assault__nokota_copperhead__base1";
		}, 
		{
			slot = "AttachmentSlots.Magazine";
			fk< Item > itemPartPreset = "TEST.ThermalMag";
		}, 
		{
			slot = "AttachmentSlots.MagazineEmpty";
			fk< Item > itemPartPreset = "Items.w_rifle_assault__nokota_copperhead__mag_stdr";
		}
	];
}

[ notQueryable ]
ThermalMag : WeaponMagazineBase
{
	displayName = "Thermal Magazine";
	string overrideAttack = "Attacks.ThermalBulletPackage";
}

[ notQueryable ]
ChemicalMag : WeaponMagazineBase
{
	displayName = "Chemical Magazine";
	string overrideAttack = "Attacks.ChemicalBulletPackage";
}

[ notQueryable ]
ElectricMag : WeaponMagazineBase
{
	displayName = "Electric Magazine";
	string overrideAttack = "Attacks.ElectricBulletPackage";
}

[ notQueryable ]
PhysicalMag : WeaponMagazineBase
{
	displayName = "Physical Magazine";
	string overrideAttack = "Attacks.PhysicalBulletPackage";
}

[ notQueryable ]
BurningMag : WeaponMagazineBase
{
	displayName = "Burning Magazine";
	string overrideAttack = "Attacks.BurningBulletPackage";
}

