Skip to content

Commit c66bcdc

Browse files
committed
fix: read-write share should only offer to host 4 cards
Fix #8568
1 parent 387c100 commit c66bcdc

File tree

2 files changed

+21
-9
lines changed

2 files changed

+21
-9
lines changed

src/clj/game/cards/programs.clj

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2858,22 +2858,15 @@
28582858

28592859
(defcard "Read-Write Share"
28602860
(let [ab {:interactive (req true)
2861+
:req (req (< (count (:hosted card)) 4))
28612862
:prompt "Host a card from your grip to draw a card?"
28622863
:choices {:req (req (and (runner? target)
28632864
(in-hand? target)))}
28642865
:skippable true
28652866
:msg "host a card facedown from the Grip and draw a card"
28662867
:async true
28672868
:effect (req (host state side (get-card state card) target {:facedown true})
2868-
(wait-for (draw state side 1)
2869-
(if (>= (count (:hosted (get-card state card))) 5)
2870-
(continue-ability
2871-
state side
2872-
{:msg "trash itself"
2873-
:async true
2874-
:effect (req (trash state side eid card))}
2875-
card nil)
2876-
(effect-completed state side eid))))}]
2869+
(draw state side eid 1))}]
28772870
{:on-install ab
28782871
:events [(assoc ab :event :runner-turn-begins)]
28792872
:abilities [{:fake-cost [(->c :trash-can)]

test/clj/game/cards/programs_test.clj

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7480,6 +7480,25 @@
74807480
(card-ability state :runner (get-program state 0) 0)
74817481
(is-deck? state :runner ["Corroder" "Rezeki"])))
74827482

7483+
(deftest read-write-share-limit-4-hosted-8568
7484+
(do-game
7485+
(new-game {:runner {:hand ["Read-Write Share" "Sure Gamble" "Sure Gamble" "Sure Gamble" "Sure Gamble"]
7486+
:deck [(qty "Sure Gamble" 10)]}})
7487+
(take-credits state :corp)
7488+
(play-from-hand state :runner "Read-Write Share")
7489+
(click-card state :runner (first (:hand (get-runner))))
7490+
(is (= 1 (count (:hosted (get-program state 0)))) "1 hosted card")
7491+
(dotimes [i 3]
7492+
(take-credits state :runner)
7493+
(take-credits state :corp)
7494+
(start-turn state :runner)
7495+
(click-card state :runner (first (:hand (get-runner))))
7496+
(is (= (+ 2 i) (count (:hosted (get-program state 0)))) (str (+ 2 i) " hosted cards")))
7497+
(take-credits state :runner)
7498+
(take-credits state :corp)
7499+
(start-turn state :runner)
7500+
(is (no-prompt? state :runner) "No prompt to host a 5th card")))
7501+
74837502
(deftest reaver
74847503
;; Reaver - Draw a card the first time you trash an installed card each turn
74857504
(do-game

0 commit comments

Comments
 (0)