         continue if contact.to.ship and contact.to.dead
 
         if contact.originalSepV > -1.5
-          color = if contact.from.ship then contact.to.color else contact.from.color
-          @explosionAt contact.position, color, 5
+          color = if contact.from.ship
+            contact.to.lineColor
+          else
+            contact.from.lineColor
+          @explosionAt contact.position, color: color, count: 5, size: 1
           @damageFlash -contact.originalSepV / 1.5
         else
           @explodeShip()


      @addParticle new Particle
        lifespan: Utils.random()
        size: 2
        position: position
        velocity: Vec.scale direction, speed
        color: c

        @bodyExplosion shard.position, shard.velocity, shard.vertices(), shard.color
    added

  explosionAt: (position, opts = {}) ->
    color = opts.color # null as default is fine
    count = opts.count or 50
    size = opts.size or 2

    num = Utils.randomInt(count / 2, count)
    for i in [0..num]
      direction = Rotation.fromAngle Utils.random() * Math.PI * 2
