- type: entity
  id: SignalButtonLongbow
  parent: SignalButton
  name: Longbow 15 Fire Button
  suffix: Autolink
  components:
    - type: AutoLinkTransmitter
      channel: Longbow

- type: entity
  id: SignalButtonVympel
  parent: SignalButton
  name: Vympel 15-2 Fire Button
  suffix: Autolink
  components:
    - type: AutoLinkTransmitter
      channel: Vympel

- type: entity
  id: SignalButtonQuadling
  parent: SignalButton
  name: Quadling 15-4 Fire Button
  suffix: Autolink
  components:
    - type: AutoLinkTransmitter
      channel: Quadling

- type: entity
  id: SignalButtonSquall
  parent: SignalButton
  name: Squall 308 Fire Button
  suffix: Autolink
  components:
    - type: AutoLinkTransmitter
      channel: Squall

- type: entity
  id: SignalButtonUlan
  parent: SignalButton
  name: Ulan Fire Button
  suffix: Autolink
  components:
    - type: AutoLinkTransmitter
      channel: Ulan

# region---- Launchers ----
# naming: EXP (Explosion) + conventional power + suffix (g for Grenade, c for RPG Cartridge) + Name
# example: EXP-100c "Poppy"

- type: entity
  id: ShuttleGunBullfrog
  parent: [ShuttleGunBase, ConstructibleMachine]
  name: EXP-3600g "Bullfrog"
  description: A powerful 40mm stationary automatic grenade launcher. A cartridge is required for use.
  components:
  - type: Sprite
    sprite: _Sunrise/Objects/Weapons/Guns/Shuttles/exp_3600.rsi
    granularLayersRendering: true
    layers:
    - sprite: Objects/Weapons/Guns/Turrets/sentry_turret.rsi
      state: support
      renderingStrategy: NoRotation
    - sprite: Objects/Weapons/Guns/Turrets/sentry_turret.rsi
      state: cover_open
      renderingStrategy: NoRotation
    - state: bal-127
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-5
      map: ["enum.GunVisualLayers.Mag"]
  - type: ContainerContainer
    containers:
      machine_board: !type:Container
      machine_parts: !type:Container
      gun_magazine: !type:ContainerSlot
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 999
      behaviors:
        - !type:ChangeConstructionNodeBehavior
          node: machineFrame
        - !type:DoActsBehavior
          acts: ["Destruction"]
  - type: Fixtures # Sunrise-Add
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.5
        density: 500
        mask:
        - MachineMask
        layer:
        - MidImpassable
        - LowImpassable
  - type: Gun
    projectileSpeed: 66
    fireRate: 1.25
    maxAngle: 15
    minAngle: 1
    angleIncrease: 3
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/ship_duster.ogg
      params:
        variation: 0.05
        pitch: 0.85
    soundEmpty:
      path: /Audio/Weapons/Guns/Empty/empty.ogg
  - type: Machine
    board: ShuttleGunBullfrogCircuitboard
  - type: MagazineAmmoProvider
  - type: MagazineVisuals
    magState: mag
    steps: 6
    zeroVisible: true
  - type: ItemSlots
    slots:
      gun_magazine:
        name: Magazine
        priority: 2
        whitelist:
          tags:
          - MagazineGrenade
        insertSound:
          path: /Audio/Weapons/Guns/MagIn/kinetic_reload.ogg
          params:
            pitch: 2
        ejectSound: /Audio/Weapons/Guns/MagOut/smg_magout.ogg
  - type: GunneryTrackable
  - type: AutoLoader
    container: gun_magazine
    whitelist:
      tags:
      - MagazineGrenade

# region ---- Autocannon ----
# naming: BAL (Ballistic) + calliber + Name
# example: BAL-152 "Molot"

- type: entity
  id: ShuttleGunLongbow
  parent: [ShuttleGunBase, ConstructibleMachine]
  name: BAL-15 "Longbow"
  description: A powerful stationary heavy autocanon. A cartridge is required for use.
  #categories: [ DoNotMap ]
  components:
  - type: Sprite
    sprite: _Sunrise/Objects/Weapons/Guns/Shuttles/bal_127.rsi
    granularLayersRendering: true
    layers:
    - sprite: Objects/Weapons/Guns/Turrets/sentry_turret.rsi
      state: support
      renderingStrategy: NoRotation
    - sprite: Objects/Weapons/Guns/Turrets/sentry_turret.rsi
      state: cover_open
      renderingStrategy: NoRotation
    - state: bal-127
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-7
      map: ["enum.GunVisualLayers.Mag"]
  - type: ContainerContainer
    containers:
      machine_board: !type:Container
      machine_parts: !type:Container
      gun_magazine: !type:ContainerSlot
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 800
      behaviors:
        - !type:ChangeConstructionNodeBehavior
          node: machineFrame
        - !type:DoActsBehavior
          acts: ["Destruction"]
  - type: Gun
    minAngle: 1
    maxAngle: 3
    projectileSpeed: 50
    fireRate: 0.8
    soundGunshot:
      path: /Audio/_Sunrise/Weapons/Guns/Snipers/Bauer127/bauer127_shot.ogg
      params:
        pitch: 1.1
    soundEmpty:
      path: /Audio/Weapons/Guns/Empty/empty.ogg
  - type: GunneryTrackable
  - type: Machine
    board: ShuttleGunLongbowCircuitboard
  - type: MagazineAmmoProvider
  - type: MagazineVisuals
    magState: mag
    steps: 8
    zeroVisible: false
  - type: Fixtures # Sunrise-Add
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.45
        density: 200
        mask:
        - MachineMask
        layer:
        - MidImpassable
        - LowImpassable
  - type: ItemSlots
    slots:
      gun_magazine:
        name: Magazine
        priority: 2
        whitelist:
          tags:
          - MagazineBauer127
        insertSound:
          path: /Audio/Weapons/Guns/MagIn/kinetic_reload.ogg
          params:
            pitch: 2
        ejectSound: /Audio/Weapons/Guns/MagOut/smg_magout.ogg
  - type: AutoLoader # Sunrise-Add
    container: gun_magazine
    whitelist:
      tags:
      - MagazineBauer127
  - type: AutoLinkReceiver
    channel: Longbow

- type: entity
  id: ShuttleGunVympel
  parent: [ShuttleGunBase, ConstructibleMachine]
  name: BAL-15-2 "Vympel"
  description: A powerful stationary twin heavy autocanon. A cartridge is required for use.
  #categories: [ DoNotMap ]
  components:
  - type: Sprite
    sprite: _Sunrise/Objects/Weapons/Guns/Shuttles/bal_127_2.rsi
    granularLayersRendering: true
    scale: 0.85, 0.85
    layers:
    - sprite: Objects/Weapons/Guns/Turrets/sentry_turret.rsi
      state: support
      renderingStrategy: NoRotation
    - sprite: Objects/Weapons/Guns/Turrets/sentry_turret.rsi
      state: cover_open
      renderingStrategy: NoRotation
    - state: bal-127-2
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-14
      map: ["enum.GunVisualLayers.Mag"]
  - type: ContainerContainer
    containers:
      machine_board: !type:Container
      machine_parts: !type:Container
      gun_magazine: !type:ContainerSlot
      ballistic-ammo: !type:Container
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 800
      behaviors:
        - !type:ChangeConstructionNodeBehavior
          node: machineFrame
        - !type:DoActsBehavior
          acts: ["Destruction"]
  - type: Gun
    selectedMode: Burst
    availableModes:
    - Burst
    - FullAuto
    burstFireRate: 6
    shotsPerBurst: 4
    burstCooldown: 1
    minAngle: 5
    maxAngle: 30
    angleIncrease: 1
    angleDecay: 20
    projectileSpeed: 33
    fireRate: 2
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/ship_friendship.ogg
      params:
        pitch: 1.2
    soundEmpty:
      path: /Audio/Weapons/Guns/Empty/empty.ogg
  - type: GunneryTrackable
  - type: Machine
    board: ShuttleGunVympelCircuitboard
  - type: MagazineAmmoProvider
  - type: ItemSlots
    slots:
      gun_magazine:
        name: Magazine
        priority: 2
        whitelist:
          tags:
          - HeavyAmmoBelt127
        insertSound:
          path: /Audio/Weapons/Guns/Bolt/lmg_bolt_closed.ogg
          params:
            pitch: 1.2
            variation: 0.08
        ejectSound: /Audio/Weapons/Guns/MagOut/smg_magout.ogg
  - type: MagazineVisuals
    magState: mag
    steps: 15
    zeroVisible: false
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.45
        density: 125
        mask:
        - MachineMask
        layer:
        - MidImpassable
        - LowImpassable
  - type: AutoLoader
    container: gun_magazine
    whitelist:
      tags:
      - HeavyAmmoBelt127
  - type: AutoLinkReceiver
    channel: Vympel

- type: entity
  id: ShuttleGunQuadling
  parent: [ShuttleGunBase, ConstructibleMachine]
  name: BAL-15-4 "Quadling"
  description: THE POWER OF ELEVE... ahem, four barrels. Stationary quad heavy autocanon.
  #categories: [ DoNotMap ]
  components:
  - type: Sprite
    sprite: _Sunrise/Objects/Weapons/Guns/Shuttles/bal_127_4.rsi
    granularLayersRendering: true
    scale: 0.85, 0.85
    layers:
    - sprite: Objects/Weapons/Guns/Turrets/sentry_turret.rsi
      state: support
      renderingStrategy: NoRotation
    - sprite: Objects/Weapons/Guns/Turrets/sentry_turret.rsi
      state: cover_open
      renderingStrategy: NoRotation
    - state: bal-127
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-13
      map: ["enum.GunVisualLayers.Mag"]
  - type: ContainerContainer
    containers:
      machine_board: !type:Container
      machine_parts: !type:Container
      gun_magazine: !type:ContainerSlot
      ballistic-ammo: !type:Container
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 800
      behaviors:
        - !type:ChangeConstructionNodeBehavior
          node: machineFrame
        - !type:DoActsBehavior
          acts: ["Destruction"]
  - type: Gun
    selectedMode: FullAuto
    availableModes:
    - Burst
    - FullAuto
    burstFireRate: 12
    shotsPerBurst: 10
    burstCooldown: 3
    minAngle: 5
    maxAngle: 30
    angleIncrease: 1
    angleDecay: 20
    projectileSpeed: 30
    fireRate: 4
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/ship_duster.ogg
      params:
        pitch: 1.9
    soundEmpty:
      path: /Audio/Weapons/Guns/Empty/empty.ogg
  - type: GunneryTrackable
  - type: Machine
    board: ShuttleGunQuadlingCircuitboard
  - type: BallisticAmmoProvider
    whitelist:
      tags:
        - CartridgeAntiMateriel
    capacity: 100
    proto: null
    soundInsert:
      path: /Audio/Weapons/Guns/Bolt/lmg_bolt_closed.ogg
      params:
        pitch: 1.2
        variation: 0.08
  - type: MagazineVisuals
    magState: mag
    steps: 14
    zeroVisible: false
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.45
        density: 200
        mask:
        - MachineMask
        layer:
        - MidImpassable
        - LowImpassable
  - type: AutoLinkReceiver
    channel: Quadling

- type: entity
  id: ShuttleGunSquall
  parent: [ShuttleGunBase, ConstructibleMachine]
  name: BAL-308 "Squall"
  description: A powerful stationary minigun. A cartridge is required for use.
  #categories: [ DoNotMap ]
  components:
  - type: Sprite
    sprite: _Sunrise/Objects/Weapons/Guns/Shuttles/bal_308.rsi
    granularLayersRendering: true
    layers:
    - sprite: Objects/Weapons/Guns/Turrets/sentry_turret.rsi
      state: support
      renderingStrategy: NoRotation
    - sprite: Objects/Weapons/Guns/Turrets/sentry_turret.rsi
      state: cover_open
      renderingStrategy: NoRotation
    - state: bal-308
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-13
      map: ["enum.GunVisualLayers.Mag"]
  - type: ContainerContainer
    containers:
      machine_board: !type:Container
      machine_parts: !type:Container
      gun_magazine: !type:ContainerSlot
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 500
      behaviors:
        - !type:ChangeConstructionNodeBehavior
          node: machineFrame
        - !type:DoActsBehavior
          acts: ["Destruction"]
  - type: Gun
    selectedMode: FullAuto
    availableModes:
    - Burst
    - FullAuto
    projectileSpeed: 30
    fireRate: 12
    burstFireRate: 25
    shotsPerBurst: 20
    burstCooldown: 0.75
    minAngle: 1
    maxAngle: 45
    angleIncrease: 0.75
    angleDecay: 25
    soundGunshot:
      path: /Audio/_Sunrise/Weapons/Guns/HMGs/minigun_shot.ogg
      params:
        pitch: 0.8
    soundEmpty:
      path: /Audio/Weapons/Guns/Empty/empty.ogg
  - type: GunneryTrackable
  - type: Machine
    board: ShuttleGunSquallCircuitboard
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeAabb
          bounds: "-0.3,-0.4,0.3,0.4"
        density: 100
        mask:
        - MachineMask
        layer:
        - MidImpassable
        - LowImpassable
  - type: MagazineAmmoProvider
  - type: MagazineVisuals
    magState: mag
    steps: 14
    zeroVisible: false
  - type: ItemSlots
    slots:
      gun_magazine:
        name: Magazine
        priority: 2
        whitelist:
          tags:
          - MagazineMachineGunHeavyRifle
        insertSound:
          path: /Audio/Weapons/Guns/MagIn/kinetic_reload.ogg
          params:
            pitch: 2
        ejectSound: /Audio/Weapons/Guns/MagOut/smg_magout.ogg
  - type: AutoLinkReceiver
    channel: Squall
  - type: AutoLoader
    container: gun_magazine
    whitelist:
      tags:
      - MagazineMachineGunHeavyRifle

# region ---- Lasers ----
- type: entity
  id: ShuttleGunBeamstormMachineGun
  parent: [ ShuttleGunBase, ConstructibleMachine]
  name: LSE-800e "Beamstorm machine gun"
  description: Advanced stationary laser unit. Effective against live targets and electronics. Draws directly from the ship's APC grid, and has an extremely high rate of fire.
  #categories: [ DoNotMap ]
  components:
  - type: Sprite
    sprite: _Sunrise/Objects/Weapons/Guns/Shuttles/laser.rsi
    layers:
    - state: lse-800c
    - state: mag-unshaded-9
      map: ["enum.GunVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: ContainerContainer
    containers:
      machine_board: !type:Container
      machine_parts: !type:Container
      cell_slot: !type:ContainerSlot
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 600
      behaviors:
        - !type:ChangeConstructionNodeBehavior
          node: machineFrame
        - !type:DoActsBehavior
          acts: ["Destruction"]
  - type: Gun
    fireRate: 10
    useKey: false
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/ship_svalinn.ogg
      params:
        variation: 0.05
  - type: GunneryTrackable
  - type: MagazineVisuals
    magState: mag
    steps: 10
    zeroVisible: true
  - type: Machine
    board: ShuttleGunBeamstormMachineGunCircuitboard
  - type: PowerCellSlot
    cellSlotId: cell_slot
  - type: ItemSlots
    slots:
      cell_slot:
        name: Magazine
        insertSound: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg
        ejectSound: /Audio/Weapons/Guns/MagOut/batrifle_magout.ogg
        whitelist:
          tags:
            - PowerCage
  - type: Battery
    maxCharge: 2000
    startingCharge: 2000
    netsync: false
  - type: ApcPowerReceiverBattery
    idleLoad: 500
    batteryRechargeRate: 100    # recharge full in ~20s at full draw
    batteryRechargeEfficiency: 1.0
  - type: ApcPowerReceiver
    powerLoad: 5000
  - type: ExtensionCableReceiver
  - type: BatteryAmmoProvider
    proto: RedShuttleMediumLaser
    fireCost: 25
  - type: RadarLaserTracker
    laserColor: "#FF44FF"
    traceDuration: 0.5
    maxRange: 40

# TSL Tesla
- type: entity
  id: ShuttleGunTeslaOrion
  parent: [ ShuttleGunBase, ConstructibleMachine]
  name: TSL-200c "Orion"
  description: Hi-tech stationary energy unit based on the principle of an experimental Tesla engine.. Effective against electronics. Uses the power cage to fire tesla or ion bolt.
  #categories: [ DoNotMap ]
  components:
  - type: Sprite
    sprite: _Sunrise/Objects/Weapons/Guns/Shuttles/tesla.rsi
    layers:
    - state: tsl-200c
    - state: mag-unshaded-4
      map: ["enum.GunVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: ContainerContainer
    containers:
      machine_board: !type:Container
      machine_parts: !type:Container
      cell_slot: !type:ContainerSlot
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 600
      behaviors:
        - !type:ChangeConstructionNodeBehavior
          node: machineFrame
        - !type:DoActsBehavior
          acts: ["Destruction"]
  - type: Gun
    fireRate: 0.6
    projectileSpeed: 28
    useKey: false
    soundGunshot:
      path: /Audio/Effects/Lightning/lightningshock.ogg
      params:
        variation: 0.2
  - type: GunneryTrackable
  - type: MagazineVisuals
    magState: mag
    steps: 5
    zeroVisible: true
  - type: Machine
    board: ShuttleGunTeslaOrionCircuitboard
  - type: PowerCellSlot
    cellSlotId: cell_slot
  - type: ItemSlots
    slots:
      cell_slot:
        name: Magazine
        insertSound: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg
        ejectSound: /Audio/Weapons/Guns/MagOut/batrifle_magout.ogg
        whitelist:
          tags:
            - PowerCage
  - type: BatteryAmmoProvider
    proto: TeslaGunBulletOrion # Sunrise-Edit
    fireCost: 400
  - type: BatteryWeaponFireModes
    fireModes:
    - proto: TeslaGunBulletOrion # Sunrise-Edit
      fireCost: 400
    - proto: BulletEMPMedium
      fireCost: 500
  - type: AmbientSound
    enabled: true
    sound:
      path: /Audio/Effects/tesla.ogg
    range: 5
    volume: -13

- type: entity
  id: ShuttleGunTeslaHyperion
  parent: [ ShuttleGunBase, ConstructibleMachine]
  name: TSL-300c "Hyperion"
  description: Hi-tech stationary energy unit based on the principle of an experimental Tesla engine.. Effective against electronics. Uses the power cage to fire tesla or ion bolt.
  #categories: [ DoNotMap ]
  components:
  - type: Sprite
    sprite: _Sunrise/Objects/Weapons/Guns/Shuttles/tesla_2.rsi
    layers:
    - state: tsl-300c
    - state: mag-unshaded-4
      map: ["enum.GunVisualLayers.MagUnshaded"]
      shader: unshaded
  - type: ContainerContainer
    containers:
      machine_board: !type:Container
      machine_parts: !type:Container
      cell_slot: !type:ContainerSlot
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 600
      behaviors:
        - !type:ChangeConstructionNodeBehavior
          node: machineFrame
        - !type:DoActsBehavior
          acts: ["Destruction"]
  - type: Gun
    fireRate: 0.4
    projectileSpeed: 27
    useKey: false
    soundGunshot:
      path: /Audio/Effects/Lightning/lightningshock.ogg
      params:
        variation: 0.2
  - type: GunneryTrackable
  - type: MagazineVisuals
    magState: mag
    steps: 5
    zeroVisible: true
  - type: Machine
    board: ShuttleGunTeslaHyperionCircuitboard
  - type: PowerCellSlot
    cellSlotId: cell_slot
  - type: ItemSlots
    slots:
      cell_slot:
        name: Magazine
        insertSound: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg
        ejectSound: /Audio/Weapons/Guns/MagOut/batrifle_magout.ogg
        whitelist:
          tags:
            - PowerCage
  - type: BatteryAmmoProvider
    proto: TeslaGunBulletLarge
    fireCost: 900
  - type: BatteryWeaponFireModes
    fireModes:
    - proto: TeslaGunBulletLarge
      fireCost: 900
    - proto: BulletEMPLarge
      fireCost: 1000
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeAabb
          bounds: "-0.45,-0.9,0.45,0.9"
        density: 200
        mask:
        - MachineMask
        layer:
        - MidImpassable
        - LowImpassable
  - type: AmbientSound
    enabled: true
    sound:
      path: /Audio/Effects/tesla.ogg
    range: 5
    volume: -8

# Scylla Laser Railgun - Grid-powered, cyan beam, extreme 1.2km range
- type: entity
  id: ShuttleGunUlan
  parent: ShuttleGunScylla
  name: LSE-13000e "Ulan"
  description: An experimental grid-powered laser railgun that focuses ship power into a devastating 2-width electromagnetic melting beam. Draws directly from the ship's APC grid — no power cages required, but it will tax your reactor. Range exceeds 1 kilometer. The long recharge cycle after each shot is the only thing preventing total battlefield dominance.
  components:
  - type: Sprite
    scale: 1.15,1.15
    sprite: _Starlight/Objects/Weapons/Guns/Shuttleguns/Scylla.rsi
    granularLayersRendering: true
    layers:
    - sprite: Objects/Weapons/Guns/Turrets/sentry_turret.rsi
      state: support
      renderingStrategy: NoRotation
    - sprite: Objects/Weapons/Guns/Turrets/sentry_turret.rsi
      state: cover_open
      renderingStrategy: NoRotation
    - state: space_artillery
  - type: Gun
    fireRate: 100
    burstFireRate: 100
    shotsPerBurst: 5
    burstCooldown: 60     # 60-second recharge after each shot
    minAngle: 1
    maxAngle: 1
    angleIncrease: 0
    selectedMode: Burst
    availableModes:
    - Burst
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/laser3.ogg
      params:
        variation: 0.03
        volume: 15
    soundEmpty:
      path: /Audio/Weapons/Guns/Empty/empty.ogg
  - type: Battery
    maxCharge: 10000
    startingCharge: 10000
    netsync: false
  - type: ApcPowerReceiverBattery
    idleLoad: 2000
    batteryRechargeRate: 167     # recharge full in ~60s at full draw
    batteryRechargeEfficiency: 1.0
  - type: ApcPowerReceiver
    powerLoad: 7500
  - type: BatteryAmmoProvider
    proto: ScyllaWideLaser
    fireCost: 2000
  - type: AutoLinkReceiver
    channel: Ulan

# region Rockets
# Vanyk-MK2 60mm Rocket Launcher - Multi-rocket burst fire system
- type: entity
  id: ShuttleGunRocketMetla120mm
  parent: ShuttleGunBase
  name: RCT-120 "Metla"
  description: A 120mm rocket launcher system with two rails for rockets. Accurate and reliable, well suited for precision strikes against individual targets. Rockets must be loaded manually.
  components:
  - type: Sprite
    scale: 1.1,1.1
    sprite: _Sunrise/Objects/Weapons/Guns/Shuttles/Metla.rsi
    granularLayersRendering: true
    layers:
    - sprite: _Starlight/Objects/Weapons/Guns/Turrets/pointdefense.rsi
      state: support
      renderingStrategy: NoRotation
    - state: space_artillery
      map: ["enum.GunVisualLayers.Base"]
    - state: mag-2
      map: ["enum.GunVisualLayers.Mag"]
  - type: ContainerContainer
    containers:
      gun_magazine: !type:ContainerSlot
  - type: Physics
    bodyType: Dynamic
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.2
        density: 500
        mask:
        - MachineMask
        layer:
        - MachineLayer
  - type: Anchorable
    delay: 90
  - type: Pullable
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 700
      behaviors:
        - !type:ChangeConstructionNodeBehavior
          node: machineFrame
        - !type:DoActsBehavior
          acts: ["Destruction"]
  - type: Gun
    projectileSpeed: 80
    selectedMode: Burst
    burstCooldown: 25
    shotsPerBurst: 1
    burstFireRate: 0.3
    angleDecay: 20
    minAngle: 0
    maxAngle: 1
    availableModes:
    - Burst
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/rpgfire.ogg
      params:
        variation: 0.08
        volume: 6
    soundEmpty:
      path: /Audio/Weapons/Guns/Empty/empty.ogg
  - type: BallisticAmmoProvider
    whitelist:
      tags:
        - 120mmRocket
    capacity: 2
    proto: Rocket120mmMetla
    soundInsert:
      path: /Audio/Weapons/Guns/Bolt/lmg_bolt_closed.ogg
      params:
        pitch: 1.2
        variation: 0.08
  - type: MagazineVisuals
    magState: mag
    steps: 3
    zeroVisible: false
  - type: Appearance
  - type: RadarBlip
    color: "#44FF88"
    scale: 1.5
    shape: Circle
    requireInSpace: true
  - type: GunneryTrackable
  - type: StaticPrice
    price: 9000
