package UIMaps
using RTDB

RangedWeapons : UIStatsMap
{
	fk< Stat >[] primaryStats = 
	[
		"BaseStats.EffectiveDPS"
	];
	fk< Stat >[] secondaryStats = 
	[
		"BaseStats.PhysicalDamage", "BaseStats.ThermalDamage", "BaseStats.ElectricDamage", "BaseStats.ChemicalDamage", "BaseStats.CritChance", "BaseStats.CritDamage", "BaseStats.EffectiveChargeTime", "BaseStats.ChargeMultiplier", "BaseStats.BonusRicochetDamage", "BaseStats.BleedingApplicationRate", "BaseStats.BurningApplicationRate", "BaseStats.PoisonedApplicationRate", "BaseStats.ElectrocutedApplicationRate", "BaseStats.HeadshotDamageMultiplier", "BaseStats.BonusDamageAgainstElites"
	];
	fk< Stat >[] statsToCompare = 
	[
		"BaseStats.EffectiveDPS"
	];
	fk< ItemType >[] typesToCompareWith = 
	[
		"ItemType.Wea_Handgun", "ItemType.Wea_Rifle", "ItemType.Wea_Shotgun", "ItemType.Wea_SniperRifle", "ItemType.Wea_Revolver", "ItemType.Wea_LightMachineGun", "ItemType.Wea_PrecisionRifle", "ItemType.Wea_ShotgunDual", "ItemType.Wea_SubmachineGun"
	];
	fk< Stat >[] tooltipStats = 
	[
		"BaseStats.HeadshotDamageMultiplier", "BaseStats.CanWeaponIgnoreArmor", "BaseStats.EffectiveChargeTime", "BaseStats.SmartGunHipTimeToLock", "BaseStats.CritChance", "BaseStats.CritDamage", "BaseStats.BleedingApplicationRate", "BaseStats.BurningApplicationRate", "BaseStats.ElectrocutedApplicationRate", "BaseStats.PoisonedApplicationRate"
	];
}

EquipmentItems : UIStatsMap
{
	fk< Stat >[] secondaryStats = 
	[
		"BaseStats.Armor", "BaseStats.ThermalResistance", "BaseStats.ElectricResistance", "BaseStats.ChemicalResistance", "BaseStats.Range"
	];
}

Clothing : UIStatsMap
{
	fk< Stat >[] primaryStats = [];
	fk< Stat >[] secondaryStats = 
	[
		"BaseStats.ItemArmor", "BaseStats.DummyModCritDamage", "BaseStats.MitigationChance", "BaseStats.MitigationStrength", "BaseStats.BlockFactor", "BaseStats.ThermalResistance", "BaseStats.ChemicalResistance", "BaseStats.ElectricResistance", "BaseStats.DurationReductionDot", "BaseStats.DamageReductionMelee", "BaseStats.BonusDamageAgainstRares", "BaseStats.BonusDamageAgainstElites", "BaseStats.BonusDamageAgainstBosses", "BaseStats.Visibility", "BaseStats.IntrinsicZoomLevelBonus", "BaseStats.IntrinsicReloadTimeBonus", "BaseStats.IntrinsicQuickHackUploadBonus", "BaseStats.DamageReductionQuickhacks", "BaseStats.CarryCapacity", "BaseStats.PlayerOnRevealHackProgressMultiplier", "BaseStats.EnemyQuickHackUploadDurationBonus", "BaseStats.HealingItemsChargesRegenRate", "BaseStats.GrenadesChargesRegenRate", "BaseStats.DamageReductionExplosion"
	];
	fk< Stat >[] statsToCompare = 
	[
		"BaseStats.Armor"
	];
}

MeleeWeapons : UIStatsMap
{
	fk< Stat >[] primaryStats = 
	[
		"BaseStats.EffectiveDPS"
	];
	fk< Stat >[] secondaryStats = 
	[
		"BaseStats.PhysicalDamage", "BaseStats.ThermalDamage", "BaseStats.ElectricDamage", "BaseStats.ChemicalDamage", "BaseStats.ThermalResistance", "BaseStats.ChemicalResistance", "BaseStats.ElectricResistance", "BaseStats.StaminaCostReduction", "BaseStats.CritChance", "BaseStats.CritDamage", "BaseStats.BleedingApplicationRate", "BaseStats.BurningApplicationRate", "BaseStats.PoisonedApplicationRate", "BaseStats.ElectrocutedApplicationRate", "BaseStats.StunApplicationRate"
	];
	fk< Stat >[] statsToCompare = 
	[
		"BaseStats.EffectiveDPS"
	];
	fk< ItemType >[] typesToCompareWith = 
	[
		"ItemType.Wea_Axe", "ItemType.Wea_Chainsword", "ItemType.Wea_Fists", "ItemType.Wea_Hammer", "ItemType.Wea_Katana", "ItemType.Wea_Sword", "ItemType.Wea_Knife", "ItemType.Wea_LongBlade", "ItemType.Wea_Machete", "ItemType.Wea_Melee", "ItemType.Wea_OneHandedClub", "ItemType.Wea_ShortBlade", "ItemType.Wea_TwoHandedClub"
	];
	fk< Stat >[] tooltipStats = 
	[
		"BaseStats.CanWeaponIgnoreArmor", "BaseStats.ChargeTime", "BaseStats.BleedingApplicationRate", "BaseStats.StunApplicationRate", "BaseStats.BurningApplicationRate", "BaseStats.ElectrocutedApplicationRate", "BaseStats.PoisonedApplicationRate"
	];
}

Throwables : MeleeWeapons
{
	fk< Stat >[] secondaryStats += 
	[
		"BaseStats.HeadshotDamageMultiplier", "BaseStats.ThrowRecovery", "BaseStats.ShortDistanceDamageIncrease", "BaseStats.EnemyChemicalResistanceReduction", "BaseStats.WeaponSwapDuration"
	];
	fk< Stat >[] tooltipStats = 
	[
		"BaseStats.HeadshotDamageMultiplier", "BaseStats.CanWeaponIgnoreArmor", "BaseStats.BleedingApplicationRate", "BaseStats.StunApplicationRate", "BaseStats.BurningApplicationRate", "BaseStats.ElectrocutedApplicationRate", "BaseStats.PoisonedApplicationRate"
	];
}

Cyberware : UIStatsMap
{
	fk< Stat >[] statsToCompare = [];
	fk< Stat >[] primaryStats = 
	[
		"BaseStats.Armor"
	];
	fk< Stat >[] secondaryStats = 
	[
		"BaseStats.ItemArmor", "BaseStats.PartArmor", "BaseStats.ModifierPower", "BaseStats.HumanityAllocated", "BaseStats.StrengthAllocated", "BaseStats.ReflexesAllocated", "BaseStats.IntelligenceAllocated", "BaseStats.TechnicalAbilityAllocated", "BaseStats.CoolAllocated", "BaseStats.HealthGeneralRegenRateMult", "BaseStats.BonusRicochetDamage", "BaseStats.StreetCredXPBonusMultiplier", "BaseStats.CritChance", "BaseStats.CritDamage", "BaseStats.HeadshotDamageMultiplier", "BaseStats.BonusDamageAgainstBosses", "BaseStats.BonusDamageAgainstElites", "BaseStats.BonusDamageAgainstRares", "BaseStats.ThermalResistance", "BaseStats.ChemicalResistance", "BaseStats.ElectricResistance", "BaseStats.DurationReductionDot", "BaseStats.FallDamageReduction", "BaseStats.MitigationChance", "BaseStats.MitigationStrength", "BaseStats.DamageReductionQuickhacks", "BaseStats.QuickhacksCooldownReduction", "BaseStats.IntrinsicQuickHackUploadBonus", "BaseStats.StaminaCostReduction", "BaseStats.MaxSpeed", "BaseStats.VisibilityReduction", "BaseStats.VendorBuyPriceDiscount", "BaseStats.VendorSellPriceDiscount", "BaseStats.IntrinsicZoomLevelBonus", "BaseStats.IntrinsicReloadTimeBonus", "BaseStats.CarryCapacity", "BaseStats.Health", "BaseStats.StealthHitDamageBonus", "BaseStats.ExplosionResistance", "BaseStats.MeleeResistance", "BaseStats.BossResistance", "BaseStats.MechResistance", "BaseStats.QuickhackResistance", "BaseStats.BonusQuickHackDamage", "BaseStats.DurationBonusQuickhack", "BaseStats.HealthRegainOnKill", "BaseStats.MeleeDamagePercentBonus", "BaseStats.HealingItemsEffectPercentBonus", "BaseStats.ExplosionDamagePercentBonus", "BaseStats.ReloadSpeedPercentBonus", "BaseStats.HealingItemsChargesRegenMult", "BaseStats.RecoilPercentBonus", "BaseStats.DamageOverTimeResistance", "BaseStats.RamOnKill", "BaseStats.GrenadesChargesRegenMult", "BaseStats.DamageOverTimePercentBonus", "BaseStats.ADSSpeedPercentBonus", "BaseStats.CritChanceBonus", "BaseStats.CritDamageBonus", "BaseStats.BonusPercentDamageToEnemiesBelowHalfHealth", "BaseStats.BonusPercentDamageToEnemiesAtFullHealth", "BaseStats.PercentDamageReductionFromPoisonedEnemies", "BaseStats.DodgeStaminaCostReduction", "BaseStats.ChemicalDamagePercentBonus", "BaseStats.ThermalDamagePercentBonus", "BaseStats.ElectricDamagePercentBonus", "BaseStats.HealOnKillingBleedingTarget", "BaseStats.BonusCritChanceVsElectrocutedEnemies", "BaseStats.BonusPercentDamageVsBurningEnemies"
	];
}

Cyb_Ability : Cyberware
{
}

Cyb_Launcher : Cyberware
{
}

CyberMeleeWeapons : Cyberware
{
	fk< Stat >[] primaryStats = 
	[
		"BaseStats.EffectiveDPS"
	];
	fk< Stat >[] secondaryStats += 
	[
		"BaseStats.StaminaCostReduction", "BaseStats.CritChance", "BaseStats.CritDamage"
	];
	fk< Stat >[] statsToCompare = 
	[
		"BaseStats.EffectiveDPS"
	];
	fk< ItemType >[] typesToCompareWith = 
	[
		"ItemType.Cyb_NanoWires", "ItemType.Cyb_StrongArms", "ItemType.Cyb_MantisBlades"
	];
}

Consumable : UIStatsMap
{
	fk< Stat >[] secondaryStats = 
	[
		"BaseStats.ItemLevel", "BaseStats.MaxDuration"
	];
}

Inhaler : Consumable
{
	fk< Stat >[] secondaryStats = 
	[
		"BaseStats.ItemLevel"
	];
	fk< ItemType >[] typesToCompareWith = 
	[
		"ItemType.Con_Inhaler", "ItemType.Con_Injector"
	];
}

Injector : Consumable
{
	fk< ItemType >[] typesToCompareWith = 
	[
		"ItemType.Con_Inhaler", "ItemType.Con_Injector"
	];
}

Gadget : UIStatsMap
{
	fk< Stat >[] primaryStats = 
	[
		"BaseStats.Range"
	];
	fk< Stat >[] secondaryStats = 
	[
		"BaseStats.ItemLevel", "BaseStats.Range", "BaseStats.PhysicalDamage", "BaseStats.ThermalDamage", "BaseStats.ElectricDamage", "BaseStats.ChemicalDamage"
	];
}

General : UIStatsMap
{
}

Part : UIStatsMap
{
	fk< Stat >[] secondaryStats = 
	[
		"BaseStats.RicochetCount"
	];
}

Mod : Part
{
	fk< ItemType >[] typesToCompareWith = 
	[
		"ItemType.Prt_Mod"
	];
}

Magazine : Part
{
	fk< Stat >[] secondaryStats = 
	[
		"BaseStats.Accuracy"
	];
	fk< ItemType >[] typesToCompareWith = 
	[
		"ItemType.Prt_Magazine"
	];
}

FabricEnhancer : Part
{
	fk< Stat >[] secondaryStats = [];
	fk< ItemType >[] typesToCompareWith = 
	[
		"ItemType.Prt_FabricEnhancer", "ItemType.Prt_TorsoFabricEnhancer", "ItemType.Prt_HeadFabricEnhancer", "ItemType.Prt_FaceFabricEnhancer", "ItemType.Prt_OuterTorsoFabricEnhancer", "ItemType.Prt_PantsFabricEnhancer", "ItemType.Prt_BootsFabricEnhancer"
	];
}

Fragment : Part
{
	fk< Stat >[] secondaryStats = 
	[
		"BaseStats.Charge", "BaseStats.AttackSpeed", "BaseStats.BlockFactor", "BaseStats.ChargeBonus"
	];
}

Scope : Part
{
	fk< Stat >[] secondaryStats = 
	[
		"BaseStats.ZoomLevel", "BaseStats.EffectiveRangeBonus", "BaseStats.AimTime", "BaseStats.Spread", "BaseStats.CritChance", "BaseStats.CritDamage", "BaseStats.Sway", "BaseStats.HeadshotCritChance", "BaseStats.MinCharge"
	];
	fk< ItemType >[] typesToCompareWith = 
	[
		"ItemType.Prt_ShortScope", "ItemType.Prt_LongScope", "ItemType.Prt_PowerSniperScope", "ItemType.Prt_TechSniperScope"
	];
}

Silencer : Part
{
	fk< Stat >[] secondaryStats = 
	[
		"BaseStats.AdditionalStealthDamage", "BaseStats.DamageReduction", "BaseStats.CritChance"
	];
	fk< ItemType >[] typesToCompareWith = 
	[
		"ItemType.Prt_Muzzle"
	];
}

MuzzleBrake : Part
{
	fk< Stat >[] secondaryStats = 
	[
		"BaseStats.CritChance", "BaseStats.Spread", "BaseStats.RecoilKickReduction", "BaseStats.RecoilAngleReduction", "BaseStats.RecoilDirReduction", "BaseStats.RicochetChance", "BaseStats.BonusRicochetAngle", "BaseStats.BonusRicochetDamage", "BaseStats.BonusRicochetCritChance"
	];
	fk< ItemType >[] typesToCompareWith = 
	[
		"ItemType.Prt_HandgunMuzzle", "ItemType.Prt_RifleMuzzle"
	];
}

