- type: entity
  name: hybrid taser
  parent: [ BaseWeaponBatterySmall, BaseSecurityContraband ]
  id: WeaponAdvancedTaser
  description: A low-capacity, energy-based stun gun used by security teams to subdue targets at range.
  components:
  - type: Tag
    tags:
    - Taser
    - Sidearm
  - type: Sprite
    sprite: _Starlight/Objects/Weapons/Guns/Battery/adv_taser.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: disable
      map: ["enum.FireModesLayers.FireMode"]
      shader: unshaded
    - state: disable-unshaded-4
      map: ["enum.GunVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: Appearance
  - type: Item
    heldPrefix: disable4
  - type: Clothing
    quickEquip: false
    slots:
    - Belt
  - type: Gun
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/taser.ogg
  - type: MagazineVisuals
    magState: disable
    steps: 5
    zeroVisible: true
  - type: HitscanBatteryAmmoProvider
    proto: DisablerBolt
    fireCost: 50
  - type: BatteryWeaponFireModes
    fireModes:
    - proto: DisablerBolt
      fireCost: 50
      visualState: disable
      magState: disable
      heldPrefix: disable4
    - proto: TaserBolt
      fireCost: 166
      visualState: stun
      magState: stun
      heldPrefix: stun4

- type: entity
  name: dominator
  parent: [ BaseWeaponBatterySmall, BaseSecurityContraband ]
  id: WeaponDominator
  description: A high-tech weapon created by the law enforcement organization Sibyl System, designed specifically to fight crime.
  components:
  - type: Appearance
  - type: Sprite
    sprite: _Starlight/Objects/Weapons/Guns/Battery/dominator.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: disable-unshaded-0
      map: ["enum.GunVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: MagazineVisuals
    magState: disable
    steps: 4
    zeroVisible: true
  - type: Lock
    mindShieldLock: true
  - type: AccessReader
    access: [["Security"]]
  - type: Item
    storedOffset: 1,-5
  - type: BatterySelfRecharger
    autoRecharge: true
    autoRechargeRate: 15
    autoRechargePause: true
    autoRechargePauseTime: 10
  - type: HitscanBatteryAmmoProvider
    proto: DisablerBolt
    fireCost: 50
  - type: BatteryWeaponFireModes
    fireModes:
    - proto: DisablerBolt
      fireCost: 50
      magState: disable
    - proto: TaserBolt
      fireCost: 166
      magState: stun
      conditions:
      - !type:AlertLevelCondition
        alertLevels:
        - blue
        - violet
        - yellow
        - red
        - gamma
    - proto: RedLaserBeam
      fireCost: 66.6
      magState: lethal
      conditions:
      - !type:AlertLevelCondition
        alertLevels:
        - violet
        - yellow
        - red
        - gamma

- type: entity
  name: X-01 multiphase energy gun
  parent: [ BaseWeaponBatterySmall, BaseSecurityContraband ]
  id: WeaponMultiphaseGun
  description: This is an expensive, modern version of the antique laser pistol, with several unique fire modes.
  components:
  - type: Appearance
  - type: Sprite
    sprite: _Starlight/Objects/Weapons/Guns/Battery/multiphase_gun.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: disable-unshaded
      map: ["enum.FireModesLayers.FireMode"]
      shader: unshaded
    - state: disable-unshaded-0
      map: ["enum.GunVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: Lock
    mindShieldLock: true
  - type: AccessReader
    access: [["BlueShield"]]
  - type: Item
    size: Normal
    shape:
    - 0, 0, 1, 1
  - type: MagazineVisuals
    magState: disable
    steps: 5
    zeroVisible: true
  - type: HitscanBatteryAmmoProvider
    proto: DisablerBolt
    fireCost: 40
  - type: BatteryWeaponFireModes
    fireModes:
    - proto: DisablerBolt
      fireCost: 40
      magState: disable
      visualState: disable-unshaded
    - proto: RedLaserBeam
      fireCost: 75
      magState: kill
      visualState: kill-unshaded
    - proto: DestroyBeam
      fireCost: 750
      magState: destroy
      visualState: destroy-unshaded
      conditions:
      - !type:AlertLevelCondition
        alertLevels:
        - gamma
    - proto: EmpPulse
      fireCost: 600
      magState: ion
      visualState: ion-unshaded
      conditions:
      - !type:AlertLevelCondition
        alertLevels:
        - violet
        - yellow
        - red
        - gamma
  - type: Battery
    maxCharge: 1500
    startingCharge: 1500
  - type: BatterySelfRecharger
    autoRecharge: true
    autoRechargeRate: 10
    autoRechargePause: true
    autoRechargePauseTime: 15
  - type: Tag
    tags:
    - HighRiskItem
    - Sidearm
  - type: StaticPrice
    price: 750
  - type: StealTarget
    stealGroup: WeaponEnergyGunMultiphase

- type: entity
  parent: [ BaseWeaponBattery, BaseGunWieldable, BaseCentcommContraband ]
  id: WeaponIonRifle
  name: ion rifle
  suffix: Ion Centcomm
  components:
  - type: Sprite
    sprite: _Starlight/Objects/Weapons/Guns/Battery/ion_rifle.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-unshaded-4
      map: ["enum.GunVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: Item
    size: Ginormous
  - type: Clothing
    quickEquip: false
    slots:
    - Back
  - type: Gun
    fireRate: 0.6
  - type: BatterySelfRecharger
    autoRecharge: true
    autoRechargeRate: 40 #25sec+60Sec Pause
    autoRechargePause: true
    autoRechargePauseTime: 60
  - type: HitscanBatteryAmmoProvider
    proto: EmpPulse
    fireCost: 250
  - type: MagazineVisuals
    magState: mag
    steps: 5
    zeroVisible: true
  - type: Appearance
  - type: EmpImmune
  - type: GunRequiresWield
  - type: CursorOffsetRequiresWield
  - type: EyeCursorOffset
    maxOffset: 8
    pvsIncrease: 0.5

- type: entity
  parent: [BaseWeaponBattery, BaseSecurityContraband ]
  id: WeaponIonCarbine
  name: ion carbine
  components:
  - type: Sprite
    sprite: _Starlight/Objects/Weapons/Guns/Battery/ion_carbine.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-unshaded-4
      map: ["enum.GunVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: Item
    size: Normal
    shape:
    - 0, 0, 3, 1
  - type: Gun
    fireRate: 0.6
  - type: BatterySelfRecharger
    autoRecharge: true
    autoRechargeRate: 40 #100sec+60Sec Pause
    autoRechargePause: true
    autoRechargePauseTime: 60
  - type: HitscanBatteryAmmoProvider
    proto: EmpPulse
    fireCost: 250
  - type: MagazineVisuals
    magState: mag
    steps: 5
    zeroVisible: true
  - type: Appearance
  - type: EmpImmune

- type: entity
  name: immolator laser gun
  parent: [BaseWeaponBattery, BaseGunWieldable] # , BaseSecuritySalvageContraband
  id: WeaponLaserImmolator
  description: Favoured by Nanotrasen Security for being cheap and easy to use.
  components:
  - type: Sprite
    sprite: _Starlight/Objects/Weapons/Guns/Battery/immolator.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-unshaded-4
      map: ["enum.GunVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: Gun
    selectedMode: SemiAuto
    availableModes:
    - SemiAuto
  - type: HitscanBatteryAmmoProvider
    proto: IgnitionRedLaser
    fireCost: 62.5
  - type: StaticPrice
    price: 300

- type: entity
  parent: [BaseWeaponBatterySmall, BaseSecurityContraband ]
  id: WeaponDecloner
  name: decloner
  components:
  - type: Sprite
    sprite: _Starlight/Objects/Weapons/Guns/Battery/decloner.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: normal
      shader: unshaded
    - state: mag-unshaded-4
      map: ["enum.GunVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: HitscanBatteryAmmoProvider
    proto: DecloneBolt
    fireCost: 200
  - type: MagazineVisuals
    magState: mag
    steps: 5
    zeroVisible: true
  - type: Appearance

- type: entity
  name: m1911
  parent: [BaseWeaponBatterySmall, BaseSecurityContraband ]
  id: WeaponM1911
  description: A compact pulse core in a classic Nanotrasen officer pistol design. It's not the size of the gun, it's the size of the hole it puts in people.
  components:
  - type: Appearance
  - type: Sprite
    sprite: _Starlight/Objects/Weapons/Guns/Battery/m1911.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: stun-unshaded-0
      map: ["enum.GunVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: Item
    size: Small
    shape:
    - 0, 0, 1, 1
  - type: BatterySelfRecharger
    autoRecharge: true
    autoRechargeRate: 200
  - type: MagazineVisuals
    magState: stun
    steps: 5
    zeroVisible: true
  - type: HitscanBatteryAmmoProvider
    proto: TaserBolt
    fireCost: 100
  - type: BatteryWeaponFireModes
    fireModes:
    - proto: TaserBolt
      fireCost: 100
      magState: stun
    - proto: RedLaserBeam
      fireCost: 100
      magState: kill
    - proto: DestroyBeam
      fireCost: 100
      magState: destroy

- type: entity
  name: PDW-9 taser pistol
  parent: [ BaseWeaponBatterySmall, BaseSecurityContraband ]
  id: WeaponPDW9
  description: A compact pulse core in a classic Nanotrasen officer pistol design. It's not the size of the gun, it's the size of the hole it puts in people.
  components:
  - type: Sprite
    sprite: _Starlight/Objects/Weapons/Guns/Battery/pdw9.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: disable
      map: ["enum.FireModesLayers.FireMode"]
    - state: disable-unshaded-0
      map: ["enum.GunVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: Item
    size: Small
    shape:
    - 0, 0, 1, 1
  - type: MagazineVisuals
    magState: disable
    steps: 5
    zeroVisible: true
  - type: HitscanBatteryAmmoProvider
    proto: DisablerBolt
    fireCost: 75
  - type: BatteryWeaponFireModes
    fireModes:
    - proto: DisablerBolt
      fireCost: 75
      magState: disable
      visualState: disable
    - proto: RedLaserBeam
      fireCost: 100
      magState: kill
      visualState: kill
  - type: Appearance
  - type: Battery
    maxCharge: 1500
    startingCharge: 1500

- type: entity
  parent: [ BaseWeaponBattery, BaseGunWieldable, BaseCentcommContraband ]
  id: WeaponEnergySniper
  name: LWAP
  components:
  - type: Sprite
    sprite: _Starlight/Objects/Weapons/Guns/Battery/energy_sniper.rsi
    layers:
    - state: base
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-unshaded-4
      map: ["enum.GunVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: Item
    size: Ginormous
  - type: Clothing
    quickEquip: false
    slots:
    - Back
  - type: Gun
    fireRate: 0.1
  - type: HitscanBatteryAmmoProvider
    proto: SniperBolt
    fireCost: 100
  - type: MagazineVisuals
    magState: mag
    steps: 5
    zeroVisible: true
  - type: Appearance
  - type: GunRequiresWield
  - type: CursorOffsetRequiresWield
  - type: EyeCursorOffset
    maxOffset: 5
    pvsIncrease: 0.3

- type: entity
  name: ANNIHILATOR
  parent: [ WeaponPulseCarbine, BaseMajorContraband ]
  id: WeaponANNIHILATOR
  description: A weapon that is almost as infamous as its users.
  components:
  - type: Appearance
  - type: Gun
    selectedMode: Burst
    fireRate: 3
    shotsPerBurst: 5
    availableModes:
      - Burst
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/laser_cannon.ogg
  - type: MagazineVisuals
    magState: destroy
    steps: 5
    zeroVisible: true
  - type: HitscanBatteryAmmoProvider
    proto: DestroyBeam
    fireCost: 100
  - type: BatteryWeaponFireModes
    fireModes:
    - proto: DestroyBeam
      fireCost: 100
      magState: destroy
      visualState: destroy
  - type: Battery
    maxCharge: 2000
    startingCharge: 2000
  - type: BatterySelfRecharger
    autoRecharge: true
    autoRechargeRate: 500

- type: entity
  parent: BaseWeaponBatterySmall
  id: WeaponToecloner
  name: toecloner
  suffix: Admeme
  components:
    - type: Sprite
      sprite: _Starlight/Objects/Weapons/Guns/Battery/decloner.rsi
      layers:
      - state: base
        map: ["enum.GunVisualLayers.Base"]
      - state: normal
        shader: unshaded
      - state: mag-unshaded-4
        map: ["enum.GunVisualLayers.MagUnshaded"]
        shader: unshaded
    - type: ProjectileBatteryAmmoProvider
      proto: ProjectilePolyboltJohnToe
      fireCost: 200
    - type: BatterySelfRecharger
      autoRecharge: true
      autoRechargeRate: 40 #every 5 seconds another becomes toe.
      autoRechargePause: false
    - type: MagazineVisuals
      magState: mag
      steps: 5
      zeroVisible: true
    - type: Appearance
