|
860 | 860 | :interactive (req true) |
861 | 861 | :optional {:prompt "Place 1 virus counter?" |
862 | 862 | :req (req (has-subtype? (:card context) "Virus")) |
| 863 | + :waiting-prompt true |
863 | 864 | :autoresolve (get-autoresolve :auto-fire) |
864 | 865 | :yes-ability {:msg (msg "place 1 virus counter on " (card-str state (:card context))) |
865 | 866 | :async true |
|
1536 | 1537 | (effect-completed state side eid)))}]})) |
1537 | 1538 |
|
1538 | 1539 | (defcard "Find the Truth" |
1539 | | - {:implementation "Corporation can click Find the Truth for explicit card reveals" |
1540 | | - :events [{:event :post-runner-draw |
| 1540 | + {:events [{:event :post-runner-draw |
1541 | 1541 | :msg (msg "reveal that they drew " |
1542 | 1542 | (enumerate-str (map :title runner-currently-drawing))) |
1543 | 1543 | :async true |
1544 | 1544 | :effect (req (let [current-draws runner-currently-drawing] |
1545 | | - (reveal state side eid current-draws) |
1546 | | - ;; If the corp wants explicit reveals from FTT, then show a prompt with |
1547 | | - ;; the card names in it |
1548 | | - (when (= (get-in (get-card state card) [:special :explicit-reveal]) |
1549 | | - :yes) |
1550 | | - (continue-ability |
1551 | | - state :corp |
1552 | | - {:prompt (msg "The runner reveals that they drew " |
1553 | | - (enumerate-str (map :title current-draws))) |
1554 | | - :choices ["OK"]} |
1555 | | - card nil))))} |
| 1545 | + (reveal state side eid current-draws)))} |
1556 | 1546 | {:event :successful-run |
1557 | 1547 | :interactive (get-autoresolve :auto-peek (complement never?)) |
1558 | 1548 | :silent (get-autoresolve :auto-peek never?) |
|
1563 | 1553 | :yes-ability {:prompt (req (->> corp :deck first :title (str "The top card of R&D is "))) |
1564 | 1554 | :msg "look at the top card of R&D" |
1565 | 1555 | :choices ["OK"]}}}] |
1566 | | - :abilities [(set-autoresolve :auto-peek "Find the Truth looking at the top card of R&D")] |
1567 | | - :corp-abilities [{:label "Explicitly reveal drawn cards" |
1568 | | - :prompt "Explicitly reveal cards the Runner draws?" |
1569 | | - :choices ["Yes" "No"] |
1570 | | - :effect (effect (update! (assoc-in card [:special :explicit-reveal](keyword (str/lower-case target)))) |
1571 | | - (toast (str "From now on, " (:title card) " will " |
1572 | | - (when (= target "No") "Not") |
1573 | | - "explicitly reveal cards the Runner draws") |
1574 | | - "info"))}]}) |
| 1556 | + :abilities [(set-autoresolve :auto-peek "Find the Truth looking at the top card of R&D")]}) |
1575 | 1557 |
|
1576 | 1558 | (defcard "First Responders" |
1577 | 1559 | {:abilities [{:cost [(->c :credit 2)] |
|
1961 | 1943 | (effect-completed state side eid))))}]}) |
1962 | 1944 |
|
1963 | 1945 | (defcard "Kasi String" |
1964 | | - {:events [{:event :run-ends |
| 1946 | + {:special {:auto-place-counter :always} |
| 1947 | + :events [{:event :run-ends |
1965 | 1948 | :optional |
1966 | 1949 | {:req (req (and (first-event? state :runner :run-ends #(is-remote? (:server (first %)))) |
1967 | 1950 | (not (:did-steal target)) |
|
2254 | 2237 | {:prompt (req (->> runner :deck first :title (str "The top card of the stack is "))) |
2255 | 2238 | :msg "look at the top card of the stack" |
2256 | 2239 | :choices ["OK"]}}}] |
2257 | | - {:flags {:runner-turn-draw true |
| 2240 | + {:special {:auto-fire :always} |
| 2241 | + :flags {:runner-turn-draw true |
2258 | 2242 | :runner-phase-12 (req (some #(card-flag? % :runner-turn-draw true) (all-active-installed state :runner)))} |
2259 | 2243 | :events [(assoc ability :event :runner-turn-begins)] |
2260 | 2244 | :abilities [ability (set-autoresolve :auto-fire "Motivation")]})) |
|
2522 | 2506 | (assoc ability :event :runner-spent-credits)]})) |
2523 | 2507 |
|
2524 | 2508 | (defcard "PAD Tap" |
2525 | | - {:events [{:event :corp-credit-gain |
2526 | | - :req (req (and (not= (:action context) :corp-click-credit) |
2527 | | - (= 1 (->> (turn-events state :corp :corp-credit-gain) |
2528 | | - (remove (fn [[context]] |
2529 | | - (= (:action context) :corp-click-credit))) |
2530 | | - count)))) |
2531 | | - :msg "gain 1 [Credits]" |
2532 | | - :async true |
2533 | | - :effect (effect (gain-credits :runner eid 1))}] |
| 2509 | + {:special {:auto-fire :always} |
| 2510 | + :events [{:event :corp-credit-gain |
| 2511 | + :optional {:prompt "Gain 1 [Credit]?" |
| 2512 | + :req (req (and (not= (:action context) :corp-click-credit) |
| 2513 | + (= 1 (->> (turn-events state :corp :corp-credit-gain) |
| 2514 | + (remove (fn [[context]] |
| 2515 | + (= (:action context) :corp-click-credit))) |
| 2516 | + count)))) |
| 2517 | + :waiting-prompt true |
| 2518 | + :autoresolve (get-autoresolve :auto-fire) |
| 2519 | + :yes-ability {:msg "gain 1 [Credits]" |
| 2520 | + :async true |
| 2521 | + :effect (effect (gain-credits :runner eid 1))}}}] |
| 2522 | + :abilities [(set-autoresolve :auto-fire "PAD Tap")] |
2534 | 2523 | :corp-abilities [{:action true |
2535 | 2524 | :label "Trash PAD Tap" |
2536 | 2525 | :async true |
|
2785 | 2774 | (draw state side eid 1)))}]}) |
2786 | 2775 |
|
2787 | 2776 | (defcard "Psych Mike" |
2788 | | - {:events [{:event :run-ends |
| 2777 | + {:special {:auto-fire :always} |
| 2778 | + :events [{:event :run-ends |
2789 | 2779 | :optional {:req (req (and (= :rd (target-server context)) |
2790 | 2780 | (first-successful-run-on-server? state :rd) |
2791 | 2781 | (pos? (total-cards-accessed target :deck)))) |
|
0 commit comments