         damping: 0.05
         color: color
         fade: true
+
+  fireMissile: (position, velocity, size = 2, spawnMore = false) ->
+    missile = new Particle
+      lifespan: 1
+      position: position
+      velocity: velocity
+      size: size
+      color: "#4FA"
+      fade: true
+      collides: true
+    missile.spawnMore = spawnMore
+    @addParticle missile

    super e
    if e.keyCode is 32 # space
      v = Vec.scale @ship.orientation, 5
      @addParticle new Particle
        lifespan: 1
        position: @ship.tip()
        velocity: Vec.add @ship.velocity, v
        size: 2
        color: "#4FA"
        fade: true
        collides: true

  collisions: (contacts) ->
    bumped = []

      continue if body.ship
      contact.particle.alive = false
      continue if contact.body.deleted

      if contact.particle.spawnMore
        num = Utils.randomInt(10, 25)
        for i in [0..num]
          direction = Rotation.fromAngle Utils.random() * Math.PI * 2
          velocity = Vec.scale direction, 2.5 + Utils.random() * 2.5
          @fireMissile contact.particle.position, velocity

      @explosionAt particle.position
      @removeBody contact.body
