From 557ce9613180d4b23e5f3907e04c2cf41477b687 Mon Sep 17 00:00:00 2001 From: NB Kelly Date: Sat, 19 Oct 2024 12:49:26 +1300 Subject: [PATCH 1/4] if the run-server is marked, assoc that key into the end-run event --- src/clj/game/core/runs.clj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/clj/game/core/runs.clj b/src/clj/game/core/runs.clj index 29db4fccb4..c9114d00d8 100644 --- a/src/clj/game/core/runs.clj +++ b/src/clj/game/core/runs.clj @@ -784,7 +784,8 @@ (swap! state assoc-in [:end-run :ended] true) (when (get-current-encounter state) (queue-event state :end-of-encounter {:ice (get-current-ice state)})) - (let [run (:run @state) + (let [marked? (is-mark? state (get-in @state [:run :server 0])) + run (if marked? (assoc (:run @state) :marked-server true) (:run @state)) run-eid (:eid run)] (swap! state assoc-in [:runner :register :last-run] run) (swap! state update-in [:runner :credit] - (get-in @state [:runner :run-credit])) From 6b6f5e1c8336a58ede4567f72b31a30b0d6766bf Mon Sep 17 00:00:00 2001 From: NB Kelly Date: Sat, 19 Oct 2024 12:50:08 +1300 Subject: [PATCH 2/4] info bounty respects the mark changing during the turn, alternative breaches, etc --- test/clj/game/cards/resources_test.clj | 30 ++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/test/clj/game/cards/resources_test.clj b/test/clj/game/cards/resources_test.clj index c9b5748bd1..a863f53215 100644 --- a/test/clj/game/cards/resources_test.clj +++ b/test/clj/game/cards/resources_test.clj @@ -3266,6 +3266,36 @@ "Gained 2 credits when finished breaching mark") (click-prompt state :runner "No action"))) +(deftest info-bounty-cheating-out-creds + (do-game + (new-game {:corp {:hand ["Hedge Fund"] + :deck [(qty "Hedge Fund" 10)]} + :runner {:deck ["Info Bounty" "Virtuoso"] + :credits 10}}) + (take-credits state :corp) + (core/set-mark state :hq) + (run-empty-server state :hq) + (click-prompt state :runner "No action") + (play-from-hand state :runner "Info Bounty") + (run-on state :rd) + (is (changed? [(:credit (get-runner)) 0] + (run-jack-out state)) + "Didn't gain 2"))) + +(deftest info-bounty-correctly-getting-creds + (do-game + (new-game {:corp {:hand ["Hedge Fund"] + :deck [(qty "Hedge Fund" 10)]} + :runner {:deck ["Info Bounty" "Virtuoso"] + :credits 10}}) + (take-credits state :corp) + (core/set-mark state :hq) + (play-from-hand state :runner "Info Bounty") + (is (changed? [(:credit (get-runner)) 2] + (run-empty-server state :hq) + (click-prompt state :runner "No action") + "Did gain 2")))) + (deftest inside-man-pay-credits-prompt ;; Pay-credits prompt (do-game From eed6583e06557761780cc3bdbc74ab7f8e5302ca Mon Sep 17 00:00:00 2001 From: NB Kelly Date: Sat, 19 Oct 2024 12:50:23 +1300 Subject: [PATCH 3/4] refactored info bounty --- src/clj/game/cards/resources.clj | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/clj/game/cards/resources.clj b/src/clj/game/cards/resources.clj index 3de6a6197e..228d557f8f 100644 --- a/src/clj/game/cards/resources.clj +++ b/src/clj/game/cards/resources.clj @@ -1747,12 +1747,13 @@ :async true :interactive (req true) :once :per-turn - :req (req (first-event? state side :run-ends #(is-mark? state (target-server (first %))))) - :effect - (req (if (first-event? state side :end-breach-server #(is-mark? state (:from-server (first %)))) - (do (system-msg state :runner (str "uses " (:title card) " to gain 2 [Credits]")) - (gain-credits state :runner eid 2)) - (effect-completed state side eid)))}]}) + :req (req (and (:marked-server context) + (first-event? state side :run-ends #(:marked-server (first %))) + (let [run-server (get-in targets [0 :server 0]) + evs (mapcat rest (filter #(= :end-breach-server (first %)) (:events context)))] + (some #(= run-server (:from-server (first %))) evs)))) + :msg (msg "gain 2 [Credits]") + :effect (req (gain-credits state side eid 2))}]}) (defcard "Inside Man" {:recurring 2 From 9f6567b7a0bf205b5a53e69699154fb9a64fe45d Mon Sep 17 00:00:00 2001 From: Noah Date: Tue, 29 Oct 2024 12:10:01 -0400 Subject: [PATCH 4/4] Update src/clj/game/cards/resources.clj --- src/clj/game/cards/resources.clj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/clj/game/cards/resources.clj b/src/clj/game/cards/resources.clj index 228d557f8f..35ce2a0a6a 100644 --- a/src/clj/game/cards/resources.clj +++ b/src/clj/game/cards/resources.clj @@ -1749,7 +1749,7 @@ :once :per-turn :req (req (and (:marked-server context) (first-event? state side :run-ends #(:marked-server (first %))) - (let [run-server (get-in targets [0 :server 0]) + (let [run-server (first (:server context)) evs (mapcat rest (filter #(= :end-breach-server (first %)) (:events context)))] (some #(= run-server (:from-server (first %))) evs)))) :msg (msg "gain 2 [Credits]")