           [npc-x npc-y]          [(npc-pos :x) (npc-pos :y)]
           threshold              (get npc :range-threshold)
           npc-can-move-in-water  (mg/can-move-in-water? (get npc :race))
+          npc-can-move-on-land   (mg/can-move-on-land? (get npc :race))
         
           player                 (-> state :world :player)
           player-pos-vec         [(-> player :pos :x) (-> player :pos :y)]

                                                     :short-grass}
                                                   (get-type x y)))
      
          traversable?           (if npc-can-move-in-water
                                     water-traversable?
                                     land-traversable?)
          ;; TODO: calc new-pos based on adj-navigable space (8-dir) that is farthest away from player
          ;_                      (debug "path to target" path)

          npc-pos-vec            [(npc-pos :x) (npc-pos :y)]
          threshold              (get npc :range-threshold)
          npc-can-move-in-water  (mg/can-move-in-water? (get npc :race))
          npc-can-move-on-land   (mg/can-move-on-land? (get npc :race))
        
          player                 (-> state :world :player)
          player-pos-vec         [(-> player :pos :x) (-> player :pos :y)]
