                 (rw/assoc-current-state state :normal))
               (assoc-in state [:world :player :pos :x] target-x)
               (assoc-in state [:world :player :pos :y] target-y)
+              (cond-> state
+                (seq (directions-to-actions state))
+                  (rc/ui-hint (str (->> state
+                                     directions-to-actions 
+                                     (mapcat second)
+                                     set
+                                     (map name)
+                                     (clojure.string/join ", ")
+                                     clojure.string/capitalize)
+                                     " (space).")))
               ; clear bloody status when moving into water
               (if (rw/type->water? (get target-cell :type))
                 (rp/assoc-bloodied state false)

            (rw/assoc-current-state new-state :normal)
            new-state))
        state)))

(defn pickup-directions
  [state]
  (map second
       (filter (fn [[cell direction]]
                 (-> (get cell :items [])
                     count
                     pos?))
               (map (fn [direction]
                      [(rw/player-adjacent-cell state direction) direction])
                    rc/directions-ext))))

(defn assoc-pickup-target
  [state direction]

        [target-x
         target-y] (rw/player-adjacent-xy state direction)
        target-cell (rw/get-cell state target-x target-y)]

    (log/info "moving to" target-x target-y "type:" (get target-cell :type))
    (log/info "inside-safe-zone?" (rv/xy-in-safe-zone? state target-x target-y) target-x target-y)
    (log/info "not collide?" (not (rw/collide? state target-x target-y {:include-npcs? false})))
