- type: entity
  name: RevolverBase
  parent: BaseItem
  id: RevolverBase
  description: A rooty tooty point and shooty.
  abstract: true
  components:
  - type: Sprite
    netsync: false
    state: icon

- type: entity
  name: Deckard
  parent: RevolverBase
  id: RevolverDeckard
  description: A rare, custom-built revolver. Use when there is no time for Voight-Kampff test.
  components:
  - type: Sprite
    sprite: Objects/Weapons/Guns/Revolvers/deckard.rsi
    layers:
    - state: base
      map: ["enum.RangedBarrelVisualLayers.Base"]
    - state: bolt-closed
      map: ["enum.RangedBarrelVisualLayers.Bolt"]
    - state: mag-unshaded-3
      map: ["enum.RangedBarrelVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: Item
    size: 24
    sprite: Objects/Weapons/Guns/Revolvers/deckard.rsi
  - type: RangedWeapon
  - type: BoltActionBarrel
    currentSelector: Single
    allSelectors:
    - Single
    fillPrototype: CartridgeMagnum
    caliber: Magnum
    capacity: 5
    autoCycle: true
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/revolver.ogg
    soundEmpty:
      path: /Audio/Weapons/Guns/Empty/empty.ogg
    soundInsert:
      path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg
  - type: Appearance
    visuals:
    - type: BarrelBoltVisualizer
    - type: MagVisualizer
      magState: mag
      steps: 4
      zeroVisible: true

- type: entity
  name: Inspector
  parent: RevolverBase
  id: RevolverInspector
  description: A detective's best friend.
  components:
  - type: Sprite
    sprite: Objects/Weapons/Guns/Revolvers/inspector.rsi
  - type: Item
    size: 24
    sprite: Objects/Weapons/Guns/Revolvers/inspector.rsi
  - type: RangedWeapon
  - type: RevolverBarrel
    currentSelector: Single
    allSelectors:
    - Single
    fillPrototype: CartridgeMagnum
    caliber: Magnum
    capacity: 6
    soundEmpty:
      path: /Audio/Weapons/Guns/Empty/empty.ogg
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/revolver.ogg
    soundEject:
      path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg
    soundInsert:
      path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg

- type: entity
  name: Mateba
  parent: RevolverBase
  id: RevolverMateba
  description: The iconic sidearm of the dreaded death squads.
  components:
  - type: Sprite
    sprite: Objects/Weapons/Guns/Revolvers/mateba.rsi
  - type: Item
    size: 24
    sprite: Objects/Weapons/Guns/Revolvers/mateba.rsi
  - type: RangedWeapon
  - type: RevolverBarrel
    currentSelector: Single
    allSelectors:
    - Single
    fillPrototype: CartridgeMagnum
    caliber: Magnum
    capacity: 7
    soundEmpty:
      path: /Audio/Weapons/Guns/Empty/empty.ogg
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/revolver.ogg
    soundEject:
      path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg
    soundInsert:
      path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg

- type: entity
  name: Predator
  parent: RevolverBase
  id: RevolverPredator
  description: A robust revolver favoured by Syndicate agents.
  components:
  - type: Sprite
    sprite: Objects/Weapons/Guns/Revolvers/predator.rsi
  - type: Item
    size: 24
    sprite: Objects/Weapons/Guns/Revolvers/predator.rsi
  - type: RangedWeapon
  - type: RevolverBarrel
    currentSelector: Single
    allSelectors:
    - Single
    fillPrototype: CartridgeMagnum
    caliber: Magnum
    capacity: 7
    soundEmpty:
      path: /Audio/Weapons/Guns/Empty/empty.ogg
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/revolver.ogg
    soundEject:
      path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg
    soundInsert:
      path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg

- type: entity
  name: pirate revolver
  parent: RevolverBase
  id: RevolverPirate
  description: An odd, muzzle-loading revolver, favoured by pirate crews.
  components:
  - type: Sprite
    sprite: Objects/Weapons/Guns/Revolvers/pirate_revolver.rsi
  - type: Item
    size: 24
    sprite: Objects/Weapons/Guns/Revolvers/pirate_revolver.rsi
  - type: RangedWeapon
  - type: RevolverBarrel
    fireRate: 1
    currentSelector: Single
    allSelectors:
    - Single
    fillPrototype: CartridgePistol  
    caliber: Pistol
    capacity: 5
    soundEmpty:
      path: /Audio/Weapons/Guns/Empty/empty.ogg
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/revolver.ogg
    soundEject:
      path: /Audio/Weapons/Guns/MagOut/revolver_magout.ogg
    soundInsert:
      path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg
