Skip to content

Commit e926d08

Browse files
authored
Merge pull request #7974 from NBKelly/skippable-encounter-prompts
option to just skip/autoresolve everything
2 parents ce0ae3d + 7a9ba27 commit e926d08

26 files changed

+430
-134
lines changed

src/clj/game/cards/agendas.clj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -593,6 +593,7 @@
593593
(defcard "Corporate Sales Team"
594594
(let [e {:req (req (pos? (get-counters card :credit)))
595595
:msg "gain 1 [Credits]"
596+
:automatic :gain-credits
596597
:async true
597598
:effect (req (take-credits state side eid card :credit 1))}]
598599
{:on-score {:effect (req (add-counter state side eid card :credit 10 nil))
@@ -614,6 +615,7 @@
614615
(let [ability {:req (req tagged)
615616
:async true
616617
:label "Do 1 meat damage (start of turn)"
618+
:automatic :corp-damage
617619
:once :per-turn
618620
:msg "do 1 meat damage"
619621
:effect (effect (damage eid :meat 1 {:card card}))}]
@@ -1765,6 +1767,7 @@
17651767

17661768
(defcard "Puppet Master"
17671769
{:events [{:event :successful-run
1770+
:skippable true
17681771
:player :corp
17691772
:interactive (req true)
17701773
:waiting-prompt true
@@ -2086,6 +2089,7 @@
20862089
:stolen add-credits-abi
20872090
:on-score add-credits-abi
20882091
:events [{:event :corp-turn-begins
2092+
:automatic :gain-credits
20892093
:optional
20902094
{:req (req (pos? (get-counters card :credit)))
20912095
:once :per-turn

src/clj/game/cards/assets.clj

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@
7777
(let [num-counters (fn [card] (min per-turn (get-counters card counter-type)))
7878
ability {:msg (msg "gain " (num-counters card) " [Credits]")
7979
:once :per-turn
80+
:automatic :gain-credits
8081
:req (req (:corp-phase-12 @state))
8182
:label (str "Gain " per-turn " [Credits] (start of turn)")
8283
:async true
@@ -381,6 +382,7 @@
381382

382383
(defcard "Bio-Ethics Association"
383384
(let [ability {:req (req unprotected)
385+
:automatic :corp-damage
384386
:async true
385387
:label "Do 1 net damage (start of turn)"
386388
:once :per-turn
@@ -411,6 +413,7 @@
411413
(let [ability {:msg "gain 1 [Credits]"
412414
:label "Gain 1 [Credits] (start of turn)"
413415
:once :per-turn
416+
:automatic :pre-gain-credits
414417
:interactive (req true)
415418
:async true
416419
:effect (req (wait-for (gain-credits state side 1)
@@ -530,6 +533,7 @@
530533
(gain-credits state side 4)
531534
(draw state side eid 1))))}}}
532535
queue-ability {:interactive (req true)
536+
:skippable true
533537
:event :corp-turn-begins
534538
:req (req (and (not-used-once? state {:once :per-turn} card)
535539
(:corp-phase-12 @state)))
@@ -649,6 +653,7 @@
649653
{:flags {:corp-phase-12 (req true)}
650654
:derezzed-events [corp-rez-toast]
651655
:events [{:event :corp-turn-begins
656+
:skippable true
652657
:prompt "Choose one"
653658
:interactive (req true)
654659
:choices (req [(when (seq (:hand corp)) "Trash 1 card from HQ to gain 2 [Credits] and draw 1 card")
@@ -696,6 +701,7 @@
696701

697702
(defcard "Commercial Bankers Group"
698703
(let [ability {:req (req unprotected)
704+
:automatic :gain-credits
699705
:label "Gain 3 [Credits] (start of turn)"
700706
:once :per-turn
701707
:msg "gain 3 [Credits]"
@@ -796,6 +802,7 @@
796802
(let [ability {:once :per-turn
797803
:async true
798804
:label "Draw 1 card (start of turn)"
805+
:automatic :draw-cards
799806
:interactive (req true)
800807
:effect (effect (continue-ability
801808
{:optional
@@ -872,6 +879,7 @@
872879
(second (get-zone (:host card)))])
873880
(:successful-run runner-reg-last))))
874881
:label "gain 3 [Credits] (start of turn)"
882+
:automatic :gain-credits
875883
:msg "gain 3 [Credits]"
876884
:async true
877885
:effect (effect (gain-credits :corp eid 3))}]
@@ -1054,6 +1062,7 @@
10541062
:suppress [{:event :corp-turn-begins
10551063
:req (req (= (:cid target) (:ebc-rezzed (get-card state card))))}]
10561064
:events [{:event :corp-turn-ends
1065+
:silent (req true)
10571066
:req (req (:ebc-rezzed card))
10581067
:effect (effect (update! (dissoc card :ebc-rezzed)))}]
10591068
:abilities [{:async true
@@ -1127,6 +1136,7 @@
11271136
{:once :per-turn
11281137
:req (req (and (:corp-phase-12 @state)
11291138
(not-empty (:deck corp))))
1139+
:skippable true
11301140
:interactive (req true)
11311141
:label "Look at the top 3 cards of R&D (start of turn)"
11321142
:async true
@@ -1225,6 +1235,7 @@
12251235
(move state :corp target :hand)
12261236
(effect-completed state side eid))))}
12271237
ability {:once :per-turn
1238+
:skippable true
12281239
:async true
12291240
:label "Search R&D for an operation (start of turn)"
12301241
:interactive (req true)
@@ -1263,6 +1274,7 @@
12631274
(when (zero? (remaining-draws state :runner))
12641275
(prevent-draw state :runner)))}
12651276
:events [{:event :runner-turn-begins
1277+
:silent (req true)
12661278
:effect (effect (max-draw :runner 2))}]
12671279
:leave-play (req (swap! state update-in [:runner :register] dissoc :max-draw :cannot-draw))})
12681280

@@ -1301,6 +1313,7 @@
13011313
:effect (effect (add-prop eid target :advance-counter 1 {:placed true}))}
13021314
ability {:req (req (:corp-phase-12 @state))
13031315
:label "Move 1 hosted advancement counter to another card you can advance (start of turn)"
1316+
:skippable true
13041317
:once :per-turn
13051318
:waiting-prompt true
13061319
:prompt "Choose an installed card to move 1 hosted advancement counter from"
@@ -1395,6 +1408,7 @@
13951408
(let [ability {:msg "gain 1 [Credits] and draw 1 card"
13961409
:label "Gain 1 [Credits] and draw 1 card (start of turn)"
13971410
:once :per-turn
1411+
:automatic :draw-cards
13981412
:async true
13991413
:req (req (:corp-phase-12 @state))
14001414
:effect (req (wait-for (gain-credits state side 1)
@@ -1515,6 +1529,7 @@
15151529
(resolve-ability state side eid ability card nil)
15161530
(effect-completed state side eid))))}
15171531
{:event :corp-turn-ends
1532+
:silent (req true)
15181533
:effect cleanup}]}))
15191534

15201535
(defcard "Kala Ghoda Real TV"
@@ -1571,6 +1586,7 @@
15711586
(update-all-agenda-points state)
15721587
(check-win-by-agenda state side))}]
15731588
:events [{:event :corp-turn-begins
1589+
:automatic :last ;;so it goes after warm reception
15741590
:async true
15751591
:effect (effect (add-counter eid card :power 1 nil))}]})
15761592

@@ -1702,6 +1718,7 @@
17021718
:label (str "Gain 2 [Credits] (start of turn)")
17031719
:msg (msg "gain " (min 2 (get-counters card :credit)) " [Credits]")
17041720
:async true
1721+
:automatic :gain-credits
17051722
:effect (req (wait-for
17061723
(take-credits state side card :credit 2)
17071724
(if (not (pos? (get-counters (get-card state card) :credit)))
@@ -1737,6 +1754,7 @@
17371754
(defcard "Marked Accounts"
17381755
(let [ability {:msg "gain 1 [Credits]"
17391756
:label "Take 1 [Credits] (start of turn)"
1757+
:automatic :gain-credits
17401758
:once :per-turn
17411759
:req (req (pos? (get-counters card :credit)))
17421760
:async true
@@ -1777,6 +1795,7 @@
17771795
(defcard "Mental Health Clinic"
17781796
(let [ability {:msg "gain 1 [Credits]"
17791797
:label "Gain 1 [Credits] (start of turn)"
1798+
:automatic :gain-credits
17801799
:once :per-turn
17811800
:async true
17821801
:effect (effect (gain-credits eid 1))}]
@@ -1883,6 +1902,7 @@
18831902
(defcard "Mumbad Construction Co."
18841903
{:derezzed-events [corp-rez-toast]
18851904
:events [{:event :corp-turn-begins
1905+
:silent (req true)
18861906
:async true
18871907
:effect (effect (add-prop eid card :advance-counter 1 {:placed true}))}]
18881908
:abilities [{:cost [(->c :credit 2)]
@@ -1945,6 +1965,7 @@
19451965

19461966
(defcard "NASX"
19471967
(let [ability {:msg "gain 1 [Credits]"
1968+
:automatic :gain-credits
19481969
:label "Gain 1 [Credits] (start of turn)"
19491970
:once :per-turn
19501971
:async true
@@ -2040,6 +2061,7 @@
20402061
{:async true
20412062
:interactive (req true)
20422063
:once :per-turn
2064+
:automatic :draw-cards
20432065
:label "Take 3 [Credits] (start of turn)"
20442066
:msg (msg "gain " (min 3 (get-counters card :credit)) " [Credits]")
20452067
:req (req (:corp-phase-12 @state))
@@ -2102,6 +2124,7 @@
21022124
:label "Gain 1 [Credits] (start of turn)"
21032125
:once :per-turn
21042126
:async true
2127+
:automatic :gain-credits
21052128
:effect (effect (gain-credits eid 1))}]
21062129
{:derezzed-events [corp-rez-toast]
21072130
:events [(assoc ability :event :corp-turn-begins)]
@@ -2135,6 +2158,7 @@
21352158
(let [ability {:msg "make each player draw 1 card"
21362159
:label "Make each player draw 1 card (start of turn)"
21372160
:once :per-turn
2161+
:automatic :draw-cards
21382162
:async true
21392163
:effect (req (wait-for (draw state :corp 1)
21402164
(draw state :runner eid 1)))}]
@@ -2269,6 +2293,7 @@
22692293
(let [ability {:once :per-turn
22702294
:label "Reveal the top card of R&D and gain 2 [Credits] (start of turn)"
22712295
:interactive (req true)
2296+
:automatic :gain-credits
22722297
:msg (msg "reveal " (:title (first (:deck corp)))
22732298
" from the top of R&D"
22742299
" and gain 2 [Credits]")
@@ -2362,6 +2387,7 @@
23622387

23632388
(defcard "Rashida Jaheem"
23642389
(let [ability {:once :per-turn
2390+
:skippable true
23652391
:async true
23662392
:label "Gain 3 [Credits] and draw 3 cards (start of turn)"
23672393
:req (req (:corp-phase-12 @state))
@@ -2389,6 +2415,7 @@
23892415
(let [ability {:effect (effect (gain-credits eid (if tagged 2 1)))
23902416
:async true
23912417
:label "Gain credits (start of turn)"
2418+
:automatic :gain-credits
23922419
:once :per-turn
23932420
:msg (msg (if tagged "gain 2 [Credits]" "gain 1 [Credits]"))}]
23942421
{:on-rez {:msg "take 1 bad publicity"
@@ -2401,6 +2428,7 @@
24012428
(let [ability {:async true
24022429
:once :per-turn
24032430
:label "Trash this asset to do 2 net damage (start of turn)"
2431+
:automatic :corp-damage
24042432
:interactive (req true)
24052433
:req (req (:corp-phase-12 @state))
24062434
:effect
@@ -2447,6 +2475,7 @@
24472475
(let [ability {:msg "gain 2 [Credits]"
24482476
:label "Gain 2 [Credits] (start of turn)"
24492477
:once :per-turn
2478+
:automatic :gain-credits
24502479
:async true
24512480
:effect (effect (gain-credits eid 2))}]
24522481
{:derezzed-events [corp-rez-toast]
@@ -2603,6 +2632,7 @@
26032632
(let [ability {:effect (effect (gain-credits eid 2))
26042633
:async true
26052634
:once :per-turn
2635+
:automatic :gain-credits
26062636
:label "Gain 2 [Credits] (start of turn)"
26072637
:msg "gain 2 [Credits]"}]
26082638
{:derezzed-events [corp-rez-toast]
@@ -2919,6 +2949,7 @@
29192949

29202950
(defcard "The News Now Hour"
29212951
{:events [{:event :runner-turn-begins
2952+
:silent (req true)
29222953
:effect (req (prevent-current state side))}]
29232954
:on-rez {:effect (req (prevent-current state side))}
29242955
:leave-play (req (swap! state assoc-in [:runner :register :cannot-play-current] false))})
@@ -3010,6 +3041,7 @@
30103041
(defcard "Ubiquitous Vig"
30113042
(let [ability {:msg (msg "gain " (get-counters card :advancement) " [Credits]")
30123043
:label "Gain 1 [Credits] for each advancement counter (start of turn)"
3044+
:automatic :corp-gain-credits
30133045
:once :per-turn
30143046
:async true
30153047
:effect (effect (gain-credits eid (get-counters card :advancement)))}]
@@ -3022,6 +3054,7 @@
30223054
{:data {:counter {:power 3}}
30233055
:derezzed-events [corp-rez-toast]
30243056
:events [{:event :corp-turn-begins
3057+
:automatic :corp-damage
30253058
:async true
30263059
:interactive (req true)
30273060
:effect (req (wait-for
@@ -3139,6 +3172,7 @@
31393172
(continue-ability state side (choice (remove-once #(= % chosen-ability) abis) (dec n)) card nil)
31403173
(effect-completed state side eid)))))}))
31413174
ability {:async true
3175+
:automatic :last ;; so it can go after rashida
31423176
:label "resolve an ability (start of turn)"
31433177
:once :per-turn
31443178
:effect (effect (continue-ability (choice all (if (< 1 (count (filter asset? (all-active-installed state :corp))))

0 commit comments

Comments
 (0)