         ;; water collides?
         (and collide-water?
              (= (cell :type) :water))
+        ;; trap collides?
+        (collide-trap? state x y)
         ;; player collides?
         (and collide-player?
              (= [x y] (rp/player-xy state)))

  [t]
  (contains? #{:sand :surf} t))

(defn collide?
  "Return `true` if the cell at `[x y]` is non-traverable. Ie: a wall, closed door or simply does
   not exist. Cells occupied by npcs are considered non-traversable."

               :dry-hole
               :freshwater-hole
               :saltwater-hole
               ;; traps
               :crushing-wall
               ;; pirate ship types
               :bulkhead
               :wheel
