anchor.diff:    (shoot thopter event)
     (setf (timer thopter) 4))
   
  +(defmethod initialize-instance :after ((shooter shooter) &key)
  +  (setf (ammo shooter) (* (ammo shooter) (ammo-deplete-rate shooter))))
  +
   (defmethod shoot ((shooter shooter) event)
     (with-slots (parent offset size veloc ammo bullet-class bullet-image
  -               bullet-n-directions bullet-veloc bullet-timer) shooter
  +               bullet-n-directions bullet-veloc bullet-timer ammo-deplete-rate)
  +              shooter
       (when (> ammo 0)
  -      (let* ((firepower (max 1 (floor ammo 100)))
  +      (let* ((firepower (ceiling ammo ammo-deplete-rate))
              (increment (if (< (* (floor firepower 2) 0.15d0) 1) (* 0.15d0 pi)
                              (/ pi (/ firepower 2)))))
           (iter (for i from (+ (ceiling firepower -2) 
  
positive.code:   (with-slots (level) wave
      (incf level)
      (if (zerop (mod level 10))
          (spawn-wave level (truncate level 10) (* level 20) (* level 4 100)
                      (truncate level 2) (min 1d0 (* level 0.024)) 'enemy-boss)
          (spawn-wave level (+ 2 level) 4 (* (max 1 (ceiling level 3)) 100) 0
                      (min 1d0 (* level 0.11)) 'enemy-ship))))
  
  (defmethod (setf players-left) :after (value (left players-left-controller))
  
negative.code:           (setf accel 0)))))
  
  (defmethod collide ((thopter thopter) event)
    (with-slots (parent offset depth veloc health ammo ammo-refill-rate 
                        missiles) thopter
      (typecase (event-hit event)
        (enemy-bullet  (decf health))
        (enemy-missile (decf health))
        (enemy         (decf health 8))
        (explosion     (decf health))
        (health-pack   (incf health 2))
        (upgrade-bullet (incf ammo ammo-refill-rate))
        (upgrade-missile (incf missiles))
        (upgrade-speed (progn
                        (when (<= (speed-boost thopter) 0)
  