diff --git a/src/clj/game/cards/programs.clj b/src/clj/game/cards/programs.clj index a4c6f75eb3..b0e92970d1 100644 --- a/src/clj/game/cards/programs.clj +++ b/src/clj/game/cards/programs.clj @@ -230,7 +230,7 @@ break-ability no-unbreakable-subs (pos? unbroken-subs) - (can-pay? state side eid card total-cost)) + (can-pay? state side eid card nil total-cost)) [{:dynamic :auto-pump-and-break :cost total-cost :cost-label (build-cost-label total-cost) @@ -1951,12 +1951,11 @@ {:access-ability {:async true :trash? true - :once :per-turn :label "Trash card" :req (req (and (not (:disabled card)) (not (agenda? target)) (not (in-discard? target)) - (can-pay? state side eid card [(->c :power 1) (->c :credit (:cost target 0) {:stealth :all-stealth})]))) + (can-pay? state side eid card nil [(->c :power 1) (->c :credit (:cost target 0) {:stealth :all-stealth})]))) :waiting-prompt true :effect (req (let [accessed-card target play-or-rez (:cost target)] diff --git a/src/clj/game/core/ice.clj b/src/clj/game/core/ice.clj index 4678ff6dbb..6acf3d2ad1 100644 --- a/src/clj/game/core/ice.clj +++ b/src/clj/game/core/ice.clj @@ -816,7 +816,7 @@ no-unbreakable-subs can-auto-break (pos? unbroken-subs) - (can-pay? state side eid card total-cost)) + (can-pay? state side eid card nil total-cost)) [{:dynamic :auto-pump-and-break :cost total-cost :cost-label (build-cost-label total-cost) @@ -826,7 +826,7 @@ (:title current-ice))}]) (when (and pump-ability (pos? times-pump) - (can-pay? state side eid card total-pump-cost)) + (can-pay? state side eid card nil total-pump-cost)) [{:dynamic :auto-pump :cost total-pump-cost :cost-label (build-cost-label total-pump-cost) diff --git a/test/clj/game/cards/programs_test.clj b/test/clj/game/cards/programs_test.clj index 5143ab9889..6cf59c1a85 100644 --- a/test/clj/game/cards/programs_test.clj +++ b/test/clj/game/cards/programs_test.clj @@ -5257,6 +5257,26 @@ (is (= 1 (count (:discard (get-corp))))) (is (= 0 (count (:discard (get-runner)))) "0 in discard")))) +(deftest lampades-not-once-per-turn + (do-game + (new-game {:corp {:hand ["Tiered Subscription" "Tiered Subscription"]} + :runner {:hand ["Lampades" "Jailbreak"]}}) + (take-credits state :corp) + (play-cards state :runner "Lampades" ["Jailbreak" "HQ"]) + (run-continue-until state :success) + (click-prompts state :runner "[Lampades] Trash card" "[Lampades] Trash card") + (is (= 2 (count (:discard (get-corp)))) "Trashed both"))) + +(deftest lampades-cost-actually-checks + (do-game + (new-game {:corp {:hand ["PAD Campaign" "PAD Campaign"]} + :runner {:hand ["Lampades" "Jailbreak"]}}) + (take-credits state :corp) + (play-cards state :runner "Lampades" ["Jailbreak" "HQ"]) + (run-continue-until state :success) + (is (= ["Pay 4 [Credits] to trash" "No action"] (prompt-titles :runner)) + "Can't pay without sufficient stealth credits"))) + (deftest lamprey ;; Lamprey - Corp loses 1 credit for each successful HQ run; trashed on purge (do-game