            (or (get-in @state [:bonus :breaker-strength]) 0)))))
 
 (defn update-breaker-strength [state side breaker]
-  ;(.println System/out (pr-str breaker))
   (let [breaker (get-card state breaker) oldstren (or (:current-strength breaker) (:strength breaker))]
-    ;(.println System/out (pr-str "AFTER " breaker))
     (swap! state update-in [:bonus] dissoc :breaker-strength)
     (trigger-event state side :pre-breaker-strength breaker)
     (update! state side (assoc breaker :current-strength (breaker-strength state side breaker)))
-    ;(.println System/out (pr-str "AFTER222 " (get-card state breaker)))
     (trigger-event state side :breaker-strength-changed (get-card state breaker) oldstren)))
 
 (defn pump

(defn trash-cards [state side cards]
  (doseq [c cards] (trash state side c)))

(defn breaker-strength-bonus [state side n]
  (swap! state update-in [:bonus :breaker-strength] (fnil #(+ % n) 0)))

(defn breaker-strength [state side {:keys [strength] :as card}]
  ;(.println System/out (str (:title card) " strength " strength "; encounter " (get-in card [:pump :encounter])
  ;                          "all-run " (get-in card [:pump :all-run])
  ;                          "bonus " (get-in @state [:bonus :breaker-strength])))
  (if (nil? strength)
    nil
    (-> (if-let [strfun (:strength-bonus (card-def card))]

    (say state side {:user "__system__" :text (str username " " text ".")})))

(declare prompt! forfeit trigger-event handle-end-run trash update-advancement-cost update-all-advancement-costs
         update-ice-strength update-breaker-strength all-installed)

(defn pay [state side card & args]
  (let [costs (merge-costs (remove #(or (nil? %) (= % [:forfeit])) args))
