|
202 | 202 | (not can-use-bad-pub?))) |
203 | 203 | {:async true |
204 | 204 | :effect pay-rest} |
205 | | - (if (and pre-chosen (in-coll? (map :cid provider-cards) (:cid pre-chosen))) |
| 205 | + (if (and pre-chosen (or (in-coll? (map :cid provider-cards) (:cid pre-chosen)) |
| 206 | + (= pre-chosen :bad-publicity))) |
206 | 207 | {:async true |
207 | | - :effect (req (let [target pre-chosen |
208 | | - pay-credits-type (-> target card-def :interactions :pay-credits :type) |
209 | | - pay-function (if (= :custom pay-credits-type) |
210 | | - (-> target card-def :interactions :pay-credits :custom) |
211 | | - (take-counters-of-type pay-credits-type)) |
212 | | - custom-ability ^:ignore-async-check {:async true |
213 | | - :effect pay-function} |
214 | | - neweid (make-eid state outereid) |
215 | | - providing-card target] |
216 | | - (wait-for (resolve-ability state side neweid custom-ability providing-card [card]) |
217 | | - (continue-ability state side |
218 | | - (pick-credit-providing-cards |
219 | | - provider-func eid target-count stealth-target |
220 | | - (update selected-cards (:cid providing-card) |
221 | | - #(assoc % :card providing-card :number (+ (:number % 0) async-result))) |
222 | | - target) |
223 | | - card targets))))} |
| 208 | + :effect (req |
| 209 | + (if (= target :bad-publicity) |
| 210 | + (continue-ability |
| 211 | + state side |
| 212 | + (pick-credit-providing-cards |
| 213 | + provider-func eid target-count stealth-target selected-cards (when (and (should-auto-repeat? state side) |
| 214 | + (> bad-pub-available 1)) |
| 215 | + target) |
| 216 | + uses (dec bad-pub-available) (inc bad-pub-spent)) |
| 217 | + card targets) |
| 218 | + (let [target pre-chosen |
| 219 | + pay-credits-type (-> target card-def :interactions :pay-credits :type) |
| 220 | + pay-function (if (= :custom pay-credits-type) |
| 221 | + (-> target card-def :interactions :pay-credits :custom) |
| 222 | + (take-counters-of-type pay-credits-type)) |
| 223 | + custom-ability ^:ignore-async-check {:async true |
| 224 | + :effect pay-function} |
| 225 | + neweid (make-eid state outereid) |
| 226 | + providing-card target] |
| 227 | + (wait-for (resolve-ability state side neweid custom-ability providing-card [card]) |
| 228 | + (continue-ability state side |
| 229 | + (pick-credit-providing-cards |
| 230 | + provider-func eid target-count stealth-target |
| 231 | + (update selected-cards (:cid providing-card) |
| 232 | + #(assoc % :card providing-card :number (+ (:number % 0) async-result))) |
| 233 | + target uses bad-pub-available bad-pub-spent) |
| 234 | + card targets)))))} |
224 | 235 | {:async true |
225 | 236 | :prompt (str "Choose a credit providing card (" |
226 | 237 | counter-count (when (and target-count (pos? target-count)) |
|
0 commit comments