module Base
{
    item TritiumSights
    {
        MaxSightRange = 5.0,
        HitChanceModifier = 5,
        AimingTimeModifier = -5,
        Tooltip = hitchance : +5<br>maxrange : +5<br>aimtime : -5,

        DisplayCategory = WeaponPart,
        ItemType = base:weaponpart,
        Icon = ScopeIronSight,
        Weight = 0.1,
        WeightModifier = 0.0,
        LowLightBonus = 5.0,
        MountOn = Base.AssaultRifle;Base.AssaultRifle2;Base.Pistol3;Base.Pistol;Base.Pistol2;Base.Revolver;Base.Revolver_Long;Base.Revolver_Short;Base.JS3T_Shotgun;Base.Shotgun;Base.ShotgunSawnoff;Base.JS14_Rifle;Base.L92_Carbine;Base.L94_Rifle;Base.VarmintRifle;Base.HuntingRifle;Base.MSR7T_Rifle;Base.TrapperCarbine,
        PartType = Scope,
        MetalValue = 15.0,
        WorldStaticModel = Rifle_IronSights_Ground,
        CanAttach = ItemCodeOnTest.hasScrewdriver,
        CanDetach = ItemCodeOnTest.hasScrewdriver,
    }
    
    item RedDot
    {
        MaxSightRange = 5.0,
        HitChanceModifier = 5,
        AimingTimeModifier = -10,
        Tooltip = hitchance : +5<br>maxrange : +5<br>aimtime : -10,

        DisplayCategory = WeaponPart,
        ItemType = base:weaponpart,
        Icon = RedDot,
        Weight = 0.4,
        WeightModifier = 0.2,
        MountOn = Base.AssaultRifle;Base.AssaultRifle2;Base.JS3T_Shotgun;Base.Shotgun;Base.ShotgunSawnoff;Base.JS14_Rifle;Base.TrapperCarbine,
        PartType = Scope,
        StaticModel = RedDot,
        Tags = base:optics,
        MetalValue = 15.0,
        WorldStaticModel = Handgun_RedDotScope_Ground,
        CanAttach = ItemCodeOnTest.hasScrewdriver,
        CanDetach = ItemCodeOnTest.hasScrewdriver,
    }

    item x2Scope
    {
        MaxSightRange = 10.0,
        HitChanceModifier = 5,
        AimingTimeModifier = -5,
        Tooltip = hitchance : +5<br>maxrange : +10<br>aimtime : -5,

        DisplayCategory = WeaponPart,
        ItemType = base:weaponpart,
        Icon = Scope2x,
        Weight = 0.3,
        WeightModifier = 0.3,
        Tags = base:optics,
        MountOn = Base.AssaultRifle;Base.AssaultRifle2;Base.Revolver;Base.Revolver_Long;Base.Revolver_Short;Base.JS3T_Shotgun;Base.Shotgun;Base.ShotgunSawnoff;Base.JS14_Rifle;Base.L92_Carbine;Base.L94_Rifle;Base.VarmintRifle;Base.HuntingRifle;Base.MSR7T_Rifle;Base.TrapperCarbine,
        PartType = Scope,
        MetalValue = 22.0,
        WorldStaticModel = Rifle_2XScope_Ground,
        CanAttach = ItemCodeOnTest.hasScrewdriver,
        CanDetach = ItemCodeOnTest.hasScrewdriver,
    }

    item x4Scope
    {
        MaxSightRange = 15.0,
        HitChanceModifier = 5,
        AimingTimeModifier = 5,
        Tooltip = hitchance : +5<br>maxrange : +15<br>aimtime : +5,

        DisplayCategory = WeaponPart,
        ItemType = base:weaponpart,
        Icon = Scope4x,
        Weight = 0.4,
        WeightModifier = 0.4,
        Tags = base:optics,
        MountOn = Base.AssaultRifle;Base.AssaultRifle2;Base.JS14_Rifle;Base.L92_Carbine;Base.L94_Rifle;Base.VarmintRifle;Base.HuntingRifle;Base.MSR7T_Rifle;Base.TrapperCarbine,
        PartType = Scope,
        MetalValue = 22.0,
        WorldStaticModel = Rifle_4XScope_Ground,
        CanAttach = ItemCodeOnTest.hasScrewdriver,
        CanDetach = ItemCodeOnTest.hasScrewdriver,
    }

    item x8Scope
    {
        MaxSightRange = 20.0,
        HitChanceModifier = 5,
        AimingTimeModifier = 15,
        Tooltip = hitchance : +5<br>maxrange : +20<br>aimtime : +15,

        DisplayCategory = WeaponPart,
        ItemType = base:weaponpart,
        Icon = Scope8x,
        Weight = 0.8,
        WeightModifier = 0.8,
        Tags = base:optics,
        MountOn = Base.AssaultRifle;Base.AssaultRifle2;Base.JS14_Rifle;Base.L92_Carbine;Base.L94_Rifle;Base.VarmintRifle;Base.HuntingRifle;Base.MSR7T_Rifle;Base.TrapperCarbine,
        PartType = Scope,
        MetalValue = 22.0,
        WorldStaticModel = Rifle_8XScope_Ground,
        CanAttach = ItemCodeOnTest.hasScrewdriver,
        CanDetach = ItemCodeOnTest.hasScrewdriver,
    }

    item RecoilPad
    {
        HitChanceModifier = 5,
        RecoilDelayModifier = -5,
        AimingTimeModifier = -5,
        Tooltip = hitchance : +5<br>recoil : -5<br>aimtime : -5,

        DisplayCategory = WeaponPart,
        ItemType = base:weaponpart,
        Icon = RifleRecoilPad,
        Weight = 0.1,
        WeightModifier = 0.1,
        MountOn = Base.AssaultRifle;Base.AssaultRifle2;Base.JS3T_Shotgun;Base.Shotgun;Base.ShotgunSawnoff;Base.JS14_Rifle;Base.MSR7T_Rifle;Base.TrapperCarbine,
        PartType = Grip,
        WorldStaticModel = Rifle_RecoilPad_Ground,
        CanAttach = ItemCodeOnTest.hasScrewdriver,
        CanDetach = ItemCodeOnTest.hasScrewdriver,
    }

    item Laser
    {
        HitChanceModifier = 5,
        AimingTimeModifier = -10,
        Tooltip = hitchance : +5<br>aimtime : -10,

        DisplayCategory = WeaponPart,
        ItemType = base:weaponpart,
        Icon = HandgunLaser,
        Weight = 0.6,
        WeightModifier = 0.6,
        MountOn = Base.Pistol3;Base.Pistol;Base.Pistol2,
        PartType = Laser,
        MetalValue = 15.0,
        WorldStaticModel = Handgun_Laser_Ground,
        CanAttach = ItemCodeOnTest.hasScrewdriver,
        CanDetach = ItemCodeOnTest.hasScrewdriver,
    }

    item GunLight
    {
        AimingTimeModifier = -5,
        Tooltip = aimtime : -5,

        DisplayCategory = WeaponPart,
        ItemType = base:weaponpart,
        Icon = Flashlight2,
        Weight = 0.2,
        WeightModifier = 0.2,
        MountOn = Base.Pistol3;Base.Pistol;Base.Pistol2,
        PartType = Laser,
        StaticModel = GunLight,
        MetalValue = 10.0,
        WorldStaticModel = Handgun_Light_Ground,
        ActivatedItem = true,
        LightDistance = 15,
        LightStrength = 1.3,
        TorchCone = true,
        TorchDot = 0.66,
        SoundMap = Activate FlashlightOn,
        SoundMap = Deactivate FlashlightOff,
        primaryAnimMask = HoldingTorchRight,
        secondaryAnimMask = HoldingTorchLeft,
        DisappearOnUse = false,
        UseDelta = 0.001,
        Tags = base:flashlight;base:usesbattery,
    }

    item ChokeTubeFull
    {
        DisplayCategory = WeaponPart,
        ItemType = base:weaponpart,
        Icon = ShotgunChoke,
        Weight = 0.1,
        WeightModifier = 0.1,
        ProjectileSpreadModifier = -0.4,
        MaxRangeModifier = 2,
        MountOn = Base.JS3T_Shotgun;Base.Shotgun,
        PartType = Canon,
        Tooltip = Tooltip_ChokeTubeFull,
        MetalValue = 12.0,
        WorldStaticModel = Shotgun_Choke_Ground,
        CanAttach = ItemCodeOnTest.hasScrewdriver,
        CanDetach = ItemCodeOnTest.hasScrewdriver,
    }

    item ChokeTubeImproved
    {
        DisplayCategory = WeaponPart,
        ItemType = base:weaponpart,
        Icon = ShotgunChoke,
        Weight = 0.1,
        WeightModifier = 0.1,
        ProjectileSpreadModifier = -0.2,
        MaxRangeModifier = 1,
        MountOn = Base.JS3T_Shotgun;Base.Shotgun,
        PartType = Canon,
        Tooltip = Tooltip_ChokeTubeImproved,
        MetalValue = 12.0,
        WorldStaticModel = Shotgun_Choke_Ground,
        CanAttach = ItemCodeOnTest.hasScrewdriver,
        CanDetach = ItemCodeOnTest.hasScrewdriver,
    }

    model RecoilPad
    {
        mesh = Weapons/Parts/AngularGrip,
        texture = Weapons/Parts/Flat_353535,

        attachment world
        {
            offset = 0.0000 0.0000 0.0000,
            rotate = 0.0000 0.0000 0.0000,
        }
    }

    model Laser
    {
        mesh = Weapons/Parts/Pistol_Laser,
        texture = Weapons/Parts/Pistol_Laser,
    }

    model GunLight
    {
        mesh = Weapons/Parts/Pistol_Light,
        texture = Weapons/Parts/Pistol_Light,
    }

    model IronSight
    {
        mesh = Weapons/Parts/REDDOT_1x,
        texture = Weapons/Parts/REDDOT_1x,

        attachment world
        {
            offset = 0.0000 0.0000 0.0000,
            rotate = 0.0000 0.0000 0.0000,
        }
    }

    model x2Scope
	{
		mesh = Weapons/Parts/ACOG_2x,
		texture = Weapons/Parts/ACOG_2x,

		attachment world
        {
            offset = 0.0000 0.0000 0.0000,
            rotate = 0.0000 0.0000 0.0000,
        }
	}
    model RedDot
    {
        mesh = Weapons/Parts/EOTECH_1x,
        texture = Weapons/Parts/EOTECH_1x,

        attachment world
        {
            offset = 0.0000 0.0000 0.0000,
            rotate = 0.0000 0.0000 0.0000,
        }
    }

    model x4Scope
    {
        mesh = Weapons/Parts/LVPO_8x,
        texture = Weapons/Parts/LVPO_8x,

        attachment world
        {
            offset = 0.0000 0.0000 0.0000,
            rotate = 0.0000 0.0000 0.0000,
        }
    }

    model x8Scope
    {
        mesh = Weapons/Parts/Hawke_10x,
        texture = Weapons/Parts/Hawke_10x,

        attachment world
        {
            offset = 0.0000 0.0000 0.0000,
            rotate = 0.0000 0.0000 0.0000,
        }
    }
}