   {:label (str "Do " dmg " net damage")
    :msg (str "do " dmg " net damage")
    :effect (effect (damage :net dmg {:card card}))})
+
+(defn gain-credits
+  "Gain specified amount of credits"
+  [credits]
+  {:label (str "Gain " credits " [Credits]")
+   :msg (str "gain " credits " [Credits]")
+   :effect (effect (gain :credit credits))})
 
 ;;; For Grail ICE
 (def reveal-grail

                                      (swap! state assoc-in [:run :run-effect :card] card))}}]}

   "Chimera"
   {:prompt "Choose one subtype" :choices ["Barrier" "Code Gate" "Sentry"]
    :msg (msg "make it gain " target " until the end of the turn")
    :effect (effect (update! (assoc card :subtype
                                         (->> (vec (.split (:subtype card) " - "))
                                              (concat [target])
                                              (join " - "))))
                    (update-ice-strength card))
    :events {:runner-turn-ends {:effect (effect (derez :corp card)
                                                (update! (assoc (get-card state card) :subtype "Mythic")))}
             :corp-turn-ends {:effect (effect (derez :corp card)
                                              (update! (assoc (get-card state card) :subtype "Mythic")))}}
    :abilities [end-the-run]}

   "Clairvoyant Monitor"
   {:abilities [{:msg "start a Psi game"
                 :psi {:not-equal {:player :corp

    :abilities [{:msg "do 1 brain damage" :effect (effect (damage :brain 1 {:card card}))} end-the-run]}

   "Fire Wall"
   {:advanceable :always
    :abilities [end-the-run]
    :strength-bonus (req (or (:advance-counter card) 0))}

   "Flare"
