                  :req (req current-ice)
                  :effect (req (update! state side (update-in card [:wyrm-count] (fnil #(+ % 1) 0)))
                               (update-ice-strength state side current-ice))}
-                {:cost [:credit 1] :msg "add 1 strength" :effect (effect (pump card 1))}]
+                {:cost [:credit 1] :msg "add 1 strength" :effect (effect (pump card 1)) :pump 1}]
     :events (let [wy {:effect (req (update! state side (dissoc card :wyrm-count)))}]
-                 {:pre-ice-strength {:req (req (and (= (:cid target) (:cid current-ice)) (:wyrm-count card)))
-                                     :effect (req (let [c (:wyrm-count (get-card state card))]
-                                                       (ice-strength-bonus state side (- c))))}
-                  :pass-ice wy :run-ends wy})}
+              {:pre-ice-strength {:req (req (and (= (:cid target) (:cid current-ice)) (:wyrm-count card)))
+                                  :effect (req (let [c (:wyrm-count (get-card state card))]
+                                                 (ice-strength-bonus state side (- c))))}
+               :pass-ice wy :run-ends wy})}
 
    "Yog.0"
    {:abilities [{:msg "break 1 code gate subroutine"}]}
 
    "ZU.13 Key Master"
-   {:abilities [{:cost [:credit 1] :msg "break 1 code gate subroutine"}
-                {:cost [:credit 1] :msg "add 1 strength" :effect (effect (pump card 1))}]}
+   (auto-icebreaker ["Code Gate"]
+     {:abilities [{:cost [:credit 1] :msg "break 1 code gate subroutine"}
+                  {:cost [:credit 1] :msg "add 1 strength" :effect (effect (pump card 1)) :pump 1}]})
 
    ;; ICE
    "Archer"

                  {:cost [:credit 1] :msg "add 1 strength" :effect (effect (pump card 1)) :pump 1}]})

   "Creeper"
   {:abilities [{:cost [:credit 2] :msg "break 1 sentry subroutine"}
                {:cost [:credit 1] :msg "add 1 strength" :effect (effect (pump card 1))}]}

   "Crowbar"
   {:abilities [{:msg "break up to 3 code gate subroutines" :effect (effect (trash card {:cause :ability-cost}))}]

                                                         (or (:current-strength card) (:strength card)))))
                      pumpnum (when strdif (int (Math/ceil (/ strdif (:pump pumpabi)))))]
                  (update! state side (assoc card :abilities
                           (if (and (:rezzed current-ice)
                                    (or (some #(has? current-ice :subtype %) (:breaks card))
                                        (= (first (:breaks card)) "All"))
                                    (> strdif 0))
                             (vec (cons {:auto-pump true :cost [:credit (* pumpcst pumpnum)]
                                         :label (str "Match strength of " (:title current-ice))} abs))
