                       :app/targeted-r])
       not-empty))
 
+(deftrack selected-and-targeted-hex [conn]
+  (-> @(app conn)
+      (select-values [:app/selected-q
+                      :app/selected-r
+                      :app/targeted-q
+                      :app/targeted-r])
+      not-empty))
+
 (deftrack selected-unit [conn]
   (when-let [[q r] @(selected-hex conn)]
     @(unit-at conn q r)))

  (when-let [[targeted-q targeted-r] @(targeted-hex conn)]
    (and @(selected-can-repair-other? conn)
         @(friend-in-range-of-selected? conn targeted-q targeted-r)
         @(can-be-repaired? conn targeted-q targeted-r))))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Unit picker

                                    :unit-type/description
                                    :unit-type/can-capture
                                    :unit-type/can-repair
                                    :unit-type/armor-type
                                    :unit-type/min-range
                                    :unit-type/max-range
                                    :unit-type/image]}]
