models/weapons/rifle/impactPS
{
  ejector
  {
    particle
    {
      shader sync gfx/rifle/verysmallrock

      displacement 0 0 0 ~4.0

      velocityType      normal
      velocityDir       linear
      velocityMagnitude 100
      velocity          0 0 0 ~20

      accelerationType      static
      accelerationDir       linear
      accelerationMagnitude 600
      acceleration          0 0 -1 0

      radius 0 1.0 1.0
      alpha  0 1.0 0.0
      rotation 0 ~360 -
      bounce 0.0

      lifeTime 350
    }

    count 0~2
    delay ~100
    period 0 - ~0%
  }

  ejector
  {
    particle
    {
      shader sync gfx/sprites/smoke

      displacement 0 0 0 ~1.0
      normalDisplacement 3.0

      velocityType      normal
      velocityDir       linear
      velocityMagnitude 20
      velocity          0 0 0 0

      accelerationType      static
      accelerationDir       linear
      accelerationMagnitude 300
      acceleration          0 0 1 0

      radius 0 4.0 6.0
      alpha  0 0.5 0.0
      rotation 0 ~360 -
      bounce 0.0

      lifeTime 250
    }

    count 1
    delay 0
    period 0 - ~0%
  }

  ejector
  {
    particle
    {
      shader sync gfx/blaster/orange_particle

      normalDisplacement 3.0

      velocityType      normal
      velocityDir       linear
      velocityMagnitude 200
      velocity          0 0 0 ~160

      accelerationType      static
      accelerationDir       linear
      accelerationMagnitude 600
      acceleration          0 0 -1 0

      radius 0 3.0 0.0
      alpha  0 1.0 0.0
      rotation 0 ~360 -
      bounce 0.0

      lifeTime 200
    }

    count 0~1
    delay 0
    period 0 - ~0%
  }
}

models/weapons/rifle/muzzlePS
{
  ejector
  {
    particle
    {
      shader sync gfx/sprites/smoke

      displacement 0 0 0 ~0.0

      parentVelocityFraction 0.9

      velocityType      static
      velocityDir       linear
      velocityMagnitude 20
      velocity          0 0 0 0

      accelerationType      static
      accelerationDir       linear
      accelerationMagnitude 300
      acceleration          0 0 1 0

      radius 0 2.0 4.0
      alpha  0 0.4 0.0
      rotation 0 ~360 -
      bounce 0.0

      lifeTime 200
    }

    count 1
    delay 0
    period 0 - ~0%
  }

  ejector
  {
    particle
    {
      model models/weapons/shells/rifle-shell.md3

      displacement -5 -3 0 ~0.0

      parentVelocityFraction 0.85

      velocityType      static_transform
      velocityDir       linear
      velocityMagnitude 200
      velocity          0 -1 3 ~10

      accelerationType      static
      accelerationDir       linear
      accelerationMagnitude 800
      acceleration          0 0 -1 0

      radius 0 1.0 -
      bounce 0.5

      lifeTime 5000
    }

    count 1
    delay 0
    period 0 - ~0%
  }
}


models/weapons/rifle/muzzle2ndPS
{
  ejector
  {
    particle
    {
      shader sync gfx/sprites/smoke

      displacement 0 0 0 ~0.0

      parentVelocityFraction 0.9

      velocityType      static
      velocityDir       linear
      velocityMagnitude 20
      velocity          0 0 0 0

      accelerationType      static
      accelerationDir       linear
      accelerationMagnitude 300
      acceleration          0 0 1 0

      radius 0 5.0 8.0
      alpha  0 0.4 0.0
      rotation 0 ~360 -
      bounce 0.0

      lifeTime 300
    }

    count 1
    delay 0
    period 0 - ~0%
  }

  ejector
  {
    particle
    {
      model models/weapons/shells/rifle-shell.md3

      displacement -5 -3 0 ~0.0

      parentVelocityFraction 0.99

      velocityType      static_transform
      velocityDir       linear
      velocityMagnitude 400
      velocity          0 -1 3 ~10

      accelerationType      static
      accelerationDir       linear
      accelerationMagnitude 1500
      acceleration          0 0 -1 0

      radius 0 1.0 -
      bounce 0.5

      lifeTime 3000
    }

    count 1
    delay 0
    period 0 - ~0%
  }
}