Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 13 additions & 19 deletions src/clj/game/cards/assets.clj
Original file line number Diff line number Diff line change
Expand Up @@ -1096,25 +1096,19 @@

(defcard "Executive Boot Camp"
{:derezzed-events [corp-rez-toast]
:flags {:corp-phase-12 (req (some #(not (rezzed? %)) (all-installed state :corp)))}
; A card rezzed by Executive Bootcamp is ineligible to receive the turn-begins event for this turn.
:suppress [{:event :corp-turn-begins
:req (req (= (:cid target) (:ebc-rezzed (get-card state card))))}]
:events [{:event :corp-turn-ends
:silent (req true)
:req (req (:ebc-rezzed card))
:effect (effect (update! (dissoc card :ebc-rezzed)))}]
:abilities [{:async true
:once :per-turn
:choices {:req (req (and (corp? target)
(not (rezzed? target))
(can-pay-to-rez? state side (assoc eid :source card)
target {:cost-bonus -1})))}
:label "Rez a card, lowering the cost by 1 [Credits] (start of turn)"
:effect (req (wait-for (rez state side target {:no-warning true :cost-bonus -1})
(update! state side (assoc card :ebc-rezzed (:cid target)))
(effect-completed state side eid)))}
{:prompt "Choose an asset to reveal and add to HQ"
:events [{:event :corp-turn-begins
:interactive (req true)
:prompt "Rez a card, paying 1 [Credit] less"
:waiting-prompt true
:choices {:req (req (and (corp? target)
(installed? target)
(not (rezzed? target))
(can-pay-to-rez? state side eid target {:cost-bonus -1})))}
:change-in-game-state {:req (req (some #(not (rezzed? %)) (all-installed state :corp)))
:silent true}
:async true
:effect (req (rez state side eid target {:cost-bonus -1 :no-warning true}))}]
:abilities [{:prompt "Choose an asset to reveal and add to HQ"
:msg (msg "reveal " (:title target) ", add it to HQ, and shuffle R&D")
:choices (req (cancellable (filter asset?
(:deck corp))
Expand Down
23 changes: 7 additions & 16 deletions test/clj/game/cards/assets_test.clj
Original file line number Diff line number Diff line change
Expand Up @@ -1969,16 +1969,13 @@
(rez state :corp ebc)
(take-credits state :runner)
(is (:corp-phase-12 @state) "Corp in Step 1.2")
(card-ability state :corp ebc 0)
(click-card state :corp eve)
(is (= 2 (:credit (get-corp))) "EBC saved 1 credit on the rez of Eve")
(is (= 16 (get-counters (refresh eve) :credit)))
(end-phase-12 state :corp)
(is (= 2 (:credit (get-corp))) "Corp did not gain credits from Eve")
(click-card state :corp "Eve Campaign")
(is (= 2 (:credit (get-corp))) "EBC saved 1 credit on the rez of Eve, Corp did not gain credits from Eve")
(is (= 16 (get-counters (refresh eve) :credit)) "Did not take counters from Eve")
(take-credits state :corp)
(take-credits state :runner)
(is (not (:corp-phase-12 @state)) "With nothing to rez, EBC does not trigger Step 1.2")
(click-prompt state :corp "Executive Boot Camp")
(is (not (:corp-phase-12 @state)) "NCIGS fizzles With nothing to facedown, EBC does not trigger Step 1.2")
(is (= 14 (get-counters (refresh eve) :credit)) "Took counters from Eve"))))

(deftest executive-boot-camp-works-with-ice-that-has-alternate-rez-costs
Expand All @@ -1997,8 +1994,6 @@
(is (= 9 (:credit (get-corp))) "Corp ends turn with 9 credits")
(take-credits state :runner)
(is (not (rezzed? (refresh tith))) "Tithonium not rezzed")
(is (:corp-phase-12 @state) "Corp in Step 1.2")
(card-ability state :corp ebc 0)
(click-card state :corp tith)
(click-prompt state :corp "No")
(is (and (:installed (refresh tith)) (rezzed? (refresh tith))) "Rezzed Tithonium")
Expand All @@ -2019,19 +2014,15 @@
(rez state :corp ebc)
(rez state :corp mum)
(take-credits state :runner)
(is (:corp-phase-12 @state) "Corp in Step 1.2")
(card-ability state :corp ebc 0)
(click-card state :corp eve)
(click-card state :corp "Eve Campaign")
(dotimes [_ 2]
(click-card state :corp mum))
(is (= 2 (:credit (get-corp))) "EBC + Mumba saved 3 credit on the rez of Eve")
(is (= 16 (get-counters (refresh eve) :credit)))
(end-phase-12 state :corp)
(is (= 2 (:credit (get-corp))) "Corp did not gain credits from Eve")
(is (= 16 (get-counters (refresh eve) :credit)) "Did not take counters from Eve")
(take-credits state :corp)
(take-credits state :runner)
(is (not (:corp-phase-12 @state)) "With nothing to rez, EBC does not trigger Step 1.2")
(click-prompt state :corp "Executive Boot Camp")
(is (not (:corp-phase-12 @state)) "NCIGS fizzles With nothing to facedown, EBC does not trigger Step 1.2")
(is (= 14 (get-counters (refresh eve) :credit)) "Took counters from Eve"))))

(deftest executive-search-firm
Expand Down
Loading