- type: entity
  id: BulletLaserBaseHarmony
  parent: BaseBullet
  categories: [ HideSpawnMenu ]
  abstract: true
  components:
  - type: Reflective
    reflective:
    - Energy
  - type: FlyBySound
    sound:
      collection: EnergyMiss
      params:
        volume: 5
  - type: Physics
  - type: Fixtures
    fixtures:
      projectile:
        shape:
          !type:PhysShapeAabb
          bounds: "-0.15,-0.3,0.15,0.3"
        hard: false
        mask:
        - Impassable
        - BulletImpassable
      fly-by: &flybyfixture
        shape: !type:PhysShapeCircle
          radius: 1.5
        layer:
        - Impassable
        - MidImpassable
        - HighImpassable
        - LowImpassable
        hard: False
  - type: Ammo
  - type: Projectile

- type: entity
  name: laser bolt medium
  id: BulletLaserHarmony
  parent: BulletLaserBaseHarmony
  categories: [ HideSpawnMenu ]
  components:
  - type: Sprite
    sprite: _Harmony/Objects/Weapons/Guns/Projectiles/laser_projectile.rsi
    layers:
    - state: icon
      shader: unshaded
  - type: PointLight
    enabled: true
    color: "#ff4300"
  - type: Projectile
    impactEffect: BulletImpactEffectOrangeDisabler
    damage:
      types:
        Heat: 15

- type: entity
  name: magnum laser bolt
  id: BulletLaserMagnumHarmony
  parent: BulletLaserBaseHarmony
  components:
  - type: Sprite
    sprite: _Harmony/Objects/Weapons/Guns/Projectiles/laser_projectile.rsi
    layers:
    - state: icon
      shader: unshaded
  - type: PointLight
    enabled: true
    color: "#ff4300"
  - type: Projectile
    impactEffect: BulletImpactEffectOrangeDisabler
    damage:
      types:
        Heat: 30

- type: entity
  name: magnum window-piercing bolt
  id: BulletLaserWindowPiercingMagnumHarmony
  parent: BulletLaserBaseHarmony
  components:
  - type: Sprite
    sprite: _Harmony/Objects/Weapons/Guns/Projectiles/piercing_projectile.rsi
    layers:
    - state: icon
      shader: unshaded
  - type: PointLight
    enabled: true
    color: "#ff4300"
  - type: Projectile
    impactEffect: BulletImpactEffectOrangeDisabler
    damage:
      types:
        Heat: 20
  - type: Fixtures
    fixtures:
      projectile:
        shape:
          !type:PhysShapeAabb
          bounds: "-0.1,-0.1,0.1,0.1"
        hard: false
        mask:
        - Opaque

- type: entity
  parent: BulletLaserHarmony
  id: BulletEnergyCarbineUnstableHarmony
  name: carbine laser barrage
  categories: [ HideSpawnMenu ]
  components:
  - type: ProjectileSpread
    proto: BulletLaserHarmony
    count: 2
    spread: 12.5

- type: entity
  name: laser bolt x-ray
  id: BulletLaserXRayHarmony
  parent: BulletLaserBaseHarmony
  categories: [ HideSpawnMenu ]
  components:
  - type: Sprite
    sprite: _Harmony/Objects/Weapons/Guns/Projectiles/xray_projectile.rsi
    layers:
    - state: icon
      shader: unshaded
  - type: PointLight
    enabled: true
    color: "#15cb2a"
  - type: Projectile
    impactEffect: BulletImpactEffectXRayHarmony
    damage:
      types:
        Heat: 10
        Radiation: 6

- type: entity
  name: laser bolt shock
  id: BulletLaserShockHarmony
  parent: BulletLaserBaseHarmony
  components:
  - type: Sprite
    sprite: _Harmony/Objects/Weapons/Guns/Projectiles/shock_projectile.rsi
    layers:
    - state: icon
      shader: unshaded
  - type: PointLight
    enabled: true
    color: "#AA00FF"
  - type: Projectile
    impactEffect: BulletImpactShockHarmony
    damage:
      types:
        Shock: 9
    ignoreResistances: true
  - type: StaminaDamageOnCollide
    damage: 5
