- type: entity
  name: BaseWeaponSniper
  parent: BaseItem
  id: BaseWeaponSniper
  description: A rooty tooty point and shooty.
  abstract: true
  components:
  - type: Sprite
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
  - type: Item
    size: Large
  - type: Clothing
    sprite: Objects/Weapons/Guns/Snipers/bolt_gun_wood.rsi
    quickEquip: false
    slots:
    - Back
    - suitStorage
  - type: AmmoCounter
  - type: Gun
    fireRate: 0.75
    selectedMode: SemiAuto
    availableModes:
    - SemiAuto
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/sniper.ogg
  - type: BallisticAmmoProvider
    capacity: 10
    # proto: CartridgeLightRifle # Frontier
    whitelist:
      tags:
      - CartridgeLightRifle
  - type: ContainerContainer
    containers:
      ballistic-ammo: !type:Container
        ents: []
  - type: StaticPrice
    price: 500

- type: entity
  categories: [ HideSpawnMenu ] # Frontier
  name: Kardashev-Mosin
  parent: [BaseWeaponSniper, BaseGunWieldable, NFBaseGunMeleeAttackBayonet, BaseC3SyndicateContraband] # Frontier: BaseMajorContraband<BaseC3SyndicateContraband, added BaseGunMelee
  id: WeaponSniperMosin
  description: A true relic, the Kardashev-Mosin has served in nearly every armed conflict since its creation 670 years ago. The bolt-action design of the rifle remains virtually identical to its original design, whether used for hunting, sniping, or endless trench warfare. Loads 10 rounds of .30 rifle.
  components:
  - type: Sprite
    sprite: Objects/Weapons/Guns/Snipers/bolt_gun_wood.rsi
    layers:
    - state: base
    - state: base1
      map: [ "enum.SolutionContainerLayers.Fill" ]
      visible: false
  - type: Appearance
  - type: SolutionContainerVisuals
    maxFillLevels: 1
    fillBaseName: base
    inHandsFillBaseName: -fill-
    inHandsMaxFillLevels: 1
    equippedFillBaseName: -fill-
    equippedMaxFillLevels: 1
  - type: MeleeWeapon
    wideAnimationRotation: -135
    damage:
      types:
        Piercing: 12
    angle: 0
    animation: WeaponArcThrust
    soundHit:
      path: /Audio/Weapons/bladeslice.ogg
  - type: MeleeRequiresWield
  - type: AltFireMelee
    attackType: Heavy
  - type: SolutionContainerManager
    solutions:
      melee:
        maxVol: 2
  - type: MeleeChemicalInjector
    solution: melee
  - type: RefillableSolution
    solution: melee
  - type: InjectableSolution
    solution: melee
  - type: SolutionTransfer
    maxTransferAmount: 2
  - type: Sharp
    butcherDelayModifier: 2 #It's a bayonet
  - type: GunRequiresWield
  - type: StaticPrice
    price: 500

- type: entity
  categories: [ HideSpawnMenu ] # Frontier
  name: Hristov
  parent: [BaseWeaponSniper, BaseGunWieldable, BaseC3SyndicateContraband] # Frontier: BaseSyndicateContraband<BaseC3SyndicateContraband
  id: WeaponSniperHristov
  description: For when you absolutely, positively need to make someone regret their life choices from a safe distance. Uses .60 anti-materiel ammo.
  components:
  - type: Item
    size: Huge
    shape:
    - 0,0,5,1
  - type: Sprite
    sprite: Objects/Weapons/Guns/Snipers/heavy_sniper.rsi
  - type: Clothing
    sprite: Objects/Weapons/Guns/Snipers/heavy_sniper.rsi
  - type: GunRequiresWield
  - type: Gun
    fireRate: 0.4
    selectedMode: SemiAuto
    availableModes:
    - SemiAuto
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/sniper.ogg
  - type: BallisticAmmoProvider
    whitelist:
      tags:
      - CartridgeAntiMateriel
    capacity: 5
    # proto: CartridgeAntiMateriel # Frontier
  - type: SpeedModifiedOnWield
    walkModifier: 0.25
    sprintModifier: 0.25
  - type: CursorOffsetRequiresWield
  - type: EyeCursorOffset
    maxOffset: 3
    pvsIncrease: 0.3
  - type: StaticPrice
    price: 3500

- type: entity
  categories: [ HideSpawnMenu ] # Frontier
  name: musket
  parent: [ BaseWeaponSniper, BaseGunWieldable, NFBaseGunMeleeAttackBayonet, BaseC2ContrabandUnredeemable ] # Frontier: BaseMajorContraband<BaseC2ContrabandUnredeemable, add BaseGunMelee
  id: Musket
  description: This should've been in a museum long before you were born. Uses .60 anti-materiel ammo.
  components:
  - type: Sharp
  - type: Item
    size: Large
  - type: Sprite
    sprite: Objects/Weapons/Guns/Snipers/musket.rsi
    state: base
  - type: Clothing
    sprite: Objects/Weapons/Guns/Snipers/musket.rsi
  - type: Gun
    selectedMode: SemiAuto
    availableModes:
    - SemiAuto
  - type: UseDelayOnShoot
  - type: UseDelay
    delay: 8 #it's a musket
  - type: BallisticAmmoProvider
    whitelist:
      tags:
      - CartridgeAntiMateriel
    capacity: 1
    # proto: CartridgeAntiMateriel # Frontier
  - type: MeleeWeapon
    wideAnimationRotation: -135
    damage:
      types:
        Piercing: 15 #you fucking stab em
        Bloodloss: 2 #no way to apply bleed, triangular bayonet wounds are hard to fix(source:that one copypasta)
    angle: 0
    animation: WeaponArcThrust
    soundHit:
      path: /Audio/Weapons/bladeslice.ogg
  - type: GunRequiresWield
  - type: AltFireMelee # Frontier
    attackType: Light # Frontier

- type: entity
  categories: [ HideSpawnMenu ] # Frontier
  name: flintlock pistol
  parent: [BaseWeaponSniper, BaseC3PirateContraband] # Frontier: BaseMajorContraband<BaseC3PirateContraband
  id: WeaponPistolFlintlock
  description: A pirate's companion. Yarrr! Uses .45 magnum ammo.
  components:
  - type: Gun
    minAngle: 0
    maxAngle: 30 #miss him entirely because the barrel is smoothbore
  - type: Item
    size: Small
    shape:
    - 0,0,1,0
    - 0,1,0,1
    storedOffset: 0,-5
  - type: Sprite
    sprite: Objects/Weapons/Guns/Snipers/flintlock.rsi
  - type: Clothing
    sprite: Objects/Weapons/Guns/Snipers/flintlock.rsi
  - type: UseDelayOnShoot
  - type: UseDelay
    delay: 8 #it's a flintlock
  - type: BallisticAmmoProvider
    whitelist:
      tags:
        - CartridgeMagnum # changed from Anti-material rifle rounds because it's a flintlock pistol not a Hristov
    capacity: 1
    # proto: CartridgeMagnum # Frontier
  - type: StaticPrice
    price: 0

- type: entity
  parent: WeaponPistolFlintlock
  id: WeaponPistolFlintlockEmpty
  suffix: Empty
  components:
  - type: BallisticAmmoProvider
    proto: null
