anchor.diff:       (let* ((pos (entity-position boid))
               (player-pos (entity-position player))
               (distance (p2dm:distance-between-vectors pos player-pos))
  -            (lr (linear-repulsion (boid-perception-range boid) distance)))
  +            (lr (aggressive-repulsion (boid-perception-range boid) distance 6)))
          (static-priority (ddv pos
                                (p2dm:scaled-vector (p2dm:subtract-vectors pos player-pos)
                                                    lr)
  
positive.code:   (let* ((too-close (remove-if (lambda (b)
                                   (let ((distance (p2dm:distance-between-vectors (entity-position b)
                                                                                  (entity-position boid))))
                                     (or (< distance p2dm:+epsilon+)
                                         (> distance +min-boid-separation+))))
                                 all-boids))
           (too-close-cnt (length too-close)))
  
negative.code:            :accessor sheep-black-p)))
  
  (defmethod draw-entity ((sheep sheep))
    (with-slots (position velocity hunger blackp)
        sheep
      (draw-sheep position (- (p2dm:vector-angle-2d velocity) (/ pi 2)) (p2dg:lerp-color hunger +sheep-full-color+ +sheep-hungry-color+))))
  
  
  