# SPDX-FileCopyrightText: 2024 Aviu00 <93730715+Aviu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 ScyronX <166930367+ScyronX@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Theodore Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  name: Dualetta
  parent: [BaseWeaponPistol, BaseSyndicateContraband]
  id: WeaponPistolDualetta
  description: The coolest pistol in the sector. It is said that nobody is strong enough of will to tarnish this weapon's reputation by daring to fire it without its paired pistol.
  components:
  - type: Sprite
    sprite: _Goobstation/Objects/Weapons/Guns/Pistols/Dualetta.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-0
      map: ["enum.GunVisualLayers.Mag"]
  - type: Clothing
    sprite: _Goobstation/Objects/Weapons/Guns/Pistols/Dualetta.rsi
  - type: Gun
    minAngle: 1
    maxAngle: 5
    angleIncrease: 1
    angleDecay: 4
    fireRate: 6
    availableModes:
    - SemiAuto
    - FullAuto
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/mateba.ogg
  - type: ItemSlots
    slots:
      gun_magazine:
        name: Magazine
        startingItem: MagazinePistolHighCapacity
        insertSound: /Audio/Weapons/Guns/MagIn/pistol_magin.ogg
        ejectSound: /Audio/Weapons/Guns/MagOut/pistol_magout.ogg
        priority: 2
        whitelist:
          tags:
            - MagazinePistol
            - MagazinePistolHighCapacity
        whitelistFailPopup: gun-magazine-whitelist-fail
      gun_chamber:
        name: Chamber
        startingItem: CartridgePistol
        priority: 1
        whitelist:
          tags:
            - CartridgePistol
  - type: Tag
    tags:
    - WeaponPistolDualetta
  - type: Multishot
    missChance: 0
    spreadMultiplier: 1
    spreadAddition: 0
  - type: RequiresDualWield
    whitelist:
      tags:
      - WeaponPistolDualetta

- type: entity
  parent: [ BaseItem, BaseSyndicateContraband ]
  id: WeaponPistolAnaconda
  name: Anaconda
  description: A heavy pistol capable of supplying itself with the ammo on the way using a built-in fabricator.
  components:
  - type: Item
    size: Small
    shape:
    - 0,0,1,0
    - 0,1,0,1
  - type: Tag
    tags:
    - Sidearm
  - type: Sprite
    sprite: _Goobstation/Objects/Weapons/Guns/Pistols/anaconda.rsi
    layers:
    - state: icon
      map: ["enum.GunVisualLayers.Base"]
  - type: Clothing
    sprite: _Goobstation/Objects/Weapons/Guns/Pistols/anaconda.rsi
    quickEquip: false
    slots:
    - suitStorage
    - Belt
  - type: Gun
    fireRate: 3
    availableModes:
      - SemiAuto
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/hpistol.ogg
  - type: BasicEntityAmmoProvider
    proto: BulletCaselessRifle
    capacity: 7
    count: 7
  - type: RechargeBasicEntityAmmo
    rechargeCooldown: 4
    rechargeSound:
      path: /Audio/Weapons/Guns/Cock/shotgun_close.ogg
  - type: RestrictGunshotsByUserTag # Goobstation
    doesntContain:
    - Oni
    messages:
    - oni-cannot-shoot-guns-1
    - oni-cannot-shoot-guns-2
    - oni-cannot-shoot-guns-3
  - type: AmmoCounter
  - type: ContainerContainer
    containers:
      ballistic-ammo: !type:Container

- type: entity
  name: contract terminator
  parent: [BaseWeaponPistol, BaseCentcommContraband]
  id: WeaponPistolCentcommAgent
  description: A pistol specifically designed to fire neurotoxin laced bullets. It's capable concealing itself via bluespace technology.
  components:
  - type: Sprite
    sprite: _Goobstation/Objects/Weapons/Guns/Pistols/agentpistol.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-0
      map: ["enum.GunVisualLayers.Mag"]
  - type: Clothing
    sprite: _Goobstation/Objects/Weapons/Guns/Pistols/agentpistol.rsi
  - type: Gun
    minAngle: 1
    maxAngle: 5
    angleIncrease: 1
    angleDecay: 4
    fireRate: 4
    availableModes:
    - SemiAuto
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/silenced.ogg
      params:
        volume: -14
  - type: ItemSlots
    slots:
      gun_magazine:
        name: Magazine
        startingItem: MagazinePistolNeurotoxin
        insertSound: /Audio/Weapons/Guns/MagIn/pistol_magin.ogg
        ejectSound: /Audio/Weapons/Guns/MagOut/pistol_magout.ogg
        priority: 2
        whitelist:
          tags:
          - MagazineMagnum
        whitelistFailPopup: gun-magazine-whitelist-fail
      gun_chamber:
        name: Chamber
        startingItem: CartridgeMagnumNeurotoxin
        priority: 1
        whitelist:
          tags:
          - CartridgeMagnum
