anchor.diff:      :initform 4)
      (timer :initform 120)))
   
  -(defclass enemy (sprite mobile collidable alarm shooter)
  -  ((timer :initform (+ 20 (mt19937:random 10) (mt19937:random 10)))
  -   (bullet-class :initform 'enemy-bullet)
  -   (bullet-image :initform :enemy-bullet)
  -   (bullet-n-directions :initform 16)
  -   (bullet-veloc :initform #c(0 8))
  -   (bullet-timer :initform 60)
  +(defclass enemy (sprite collidable alarm shooter)
  +  ((primary-weapon :accessor primary-weapon :initarg :primary-weapon)
  +   (secondary-weapon :accessor secondary-weapon :initarg :secondary-weapon)
  +   (timer :initform (+ 20 (mt19937:random 10) (mt19937:random 10)))
      (speed-boost :initform 0 :accessor speed-boost :initarg :speed-boost)
      (health
       :accessor health
       :initarg :health
  -    :initform 0)
  -   (missiles
  -    :accessor missiles
  -    :initarg :missiles
       :initform 0)
      (missile-chance
       :accessor missile-chance
  
positive.code:   (let* ((root (game-root *game*))
           (root-size (size root)))
      (loop for i from (1+ (floor count -2)) to (floor count 2)
         do (with-slots (offset size veloc)
                (make-instance enemy-type :parent root :depth 1
                               :health health
                               :ammo ammo
                               :missiles missiles
                               :missile-chance missile-chance
                               :difficulty (floor wave 5))
              (setf offset
                    (complex (+ (/ (x root-size) 2) (* i (x size) 2))
                             (* (y size) -2)))))))
  
  (defmethod alarm ((wave wave-controller) event)
    (with-slots (level) wave
  
negative.code:     (iter (for player in (game-players (game screen))) (for i from 0)
            (with n = (length (game-players (game screen))))
            (let* ((body-image (make-image "~a~a-~a" :thopter (mod i 4) :body))
                   (primary-weapon (make-instance 
                            'weapon :projectile-class 'bullet
                            :projectile-image :bullet
                            :projectile-n-directions 16
                            :projectile-veloc #c (0 -12)
                            :projectile-timer 120
                            :ammo 1))
                   (secondary-weapon (make-instance
                            'weapon :projectile-class 'missile
                            :projectile-image :missile
                            :projectile-n-directions 16
                            :projectile-veloc #c (0 -4)
                            :projectile-timer 60
                            :firepower 1
                            :ammo 2
                            :ammo-refill-rate 1
                            :ammo-deplete-rate 1))
                   (thopter (make-instance
                             'thopter :host player :parent root
                             :offset (- (complex (* (x size) (/ (+ i 1/2) n))
                                                 (* (y size) 3/4))
                                        (/ (size body-image) 2))
                             :image body-image
                             :primary-weapon primary-weapon
                             :secondary-weapon secondary-weapon
                             :health 16)))
              (make-instance
               'sprite :parent thopter :offset #c(-33 -22) :depth -1
               :image (make-anim "~a~a-~a" :thopter (mod i 4) :blades))
  