File tree Expand file tree Collapse file tree 5 files changed +36
-12
lines changed Expand file tree Collapse file tree 5 files changed +36
-12
lines changed Original file line number Diff line number Diff line change 2149
2149
:duration :end-of-run
2150
2150
:req (req (and run
2151
2151
(some #{:content } (:zone target))
2152
- (some #{run-server} (:zone target))))}]
2152
+ (some #{(first (:server (:run @state)))} (:zone target))))
2153
+ :value true }]
2153
2154
{:abilities [{:action true
2154
2155
:label " Run a remote server"
2155
2156
:cost [(->c :click 1 ) (->c :trash-can ) (->c :brain 1 )]
2160
2161
:async true
2161
2162
:effect (effect
2162
2163
(register-events card [successful-run-event])
2163
- (register-lingering-effect card [ disable-card-effect] )
2164
+ (register-lingering-effect card disable-card-effect)
2164
2165
(make-run eid target card))}]}))
2165
2166
2166
2167
(defcard " Logic Bomb"
Original file line number Diff line number Diff line change 86
86
; ; while resolving another ability or promppt
87
87
blocking-prompt?
88
88
(not= side (to-keyword (:side card)))
89
- (any-effects state side :prevent-paid-ability true ? card [ability ability-idx]))]
89
+ ; ; prevention/disabling abilities
90
+ (any-effects state side :prevent-paid-ability true ? card [ability ability-idx])
91
+ (some? (is-disabled-reg? state card)))]
90
92
(when blocking-prompt?
91
- (toast state side (str " You cannot play abilities while other abilities are resolving." )
92
- " warning" ))
93
+ (toast state side " You cannot play abilities while other abilities are resolving." " warning" ))
93
94
(when-not cannot-play
94
95
(do-play-ability state side eid (assoc args :ability-idx ability-idx :ability ability))))))
95
96
Original file line number Diff line number Diff line change 153
153
154
154
(defn register-lingering-effect
155
155
[state _ card ability]
156
+ (assert (contains? ability :type ))
157
+ (assert (contains? ability :value ))
156
158
(let [ability (assoc
157
- (select-keys ability [:type :duration :req :value ])
159
+ (select-keys ability [:type :req :value ])
160
+ :duration (:duration ability true )
158
161
:card card
159
162
:lingering true
160
163
:uuid (uuid/v1 ))]
Original file line number Diff line number Diff line change 3579
3579
(play-and-score state " Nisei MK II" )
3580
3580
(play-from-hand state :corp " Vanilla" " HQ" )
3581
3581
(play-from-hand state :corp " Ichi 1.0" " HQ" )
3582
- (rez state corp (get-ice state :hq 0 ))
3583
- (rez state corp (get-ice state :hq 1 ))
3582
+ (rez state : corp (get-ice state :hq 0 ))
3583
+ (rez state : corp (get-ice state :hq 1 ))
3584
3584
(take-credits state :corp )
3585
3585
(play-from-hand state :runner " John Masanori" )
3586
3586
(run-on state :hq )
4085
4085
(click-prompt state :runner " Server 1" ))
4086
4086
" Spent 8 credits to make a run on the server" ))))
4087
4087
4088
+ (deftest light-the-fire-spin-doctor
4089
+ ; ; Light the Fire!
4090
+ (do-game
4091
+ (new-game {:corp {:hand [" Spin Doctor" ]
4092
+ :deck [(qty " Hedge Fund" 10 )]
4093
+ :discard [" Ice Wall" " Fire Wall" " Tyrant" ]}
4094
+ :runner {:hand [" Light the Fire!" (qty " Sure Gamble" 4 )]
4095
+ :credits 100 }})
4096
+ (play-from-hand state :corp " Spin Doctor" " New remote" )
4097
+ (let [spin (get-content state :remote1 0 )]
4098
+ (rez state :corp spin)
4099
+ (take-credits state :corp )
4100
+ (play-from-hand state :runner " Light the Fire!" )
4101
+ (card-ability state :runner (get-resource state 0 ) 0 )
4102
+ (click-prompt state :runner " Server 1" )
4103
+ (card-ability state :corp spin 0 )
4104
+ (is (no-prompt? state :corp ) " Corp is making no decisions" )
4105
+ (is (refresh spin) " Corp is making no decisions" ))))
4106
+
4088
4107
(deftest logic-bomb
4089
4108
; ; Logic Bomb
4090
4109
(do-game
Original file line number Diff line number Diff line change 786
786
(get-in @state [:runner :play-area pos])))
787
787
788
788
(defn rez-impl
789
- ([state card] (rez-impl state card nil ))
790
- ([state card {:keys [expect-rez] :or {expect-rez true }}]
789
+ ([state side card] (rez-impl state side card nil ))
790
+ ([state _side card {:keys [expect-rez] :or {expect-rez true }}]
791
791
(let [card (get-card state card)]
792
792
(is' (installed? card) (str (:title card) " is installed" ))
793
793
(is' (not (rezzed? card)) (str (:title card) " is unrezzed" ))
799
799
(is' (not (rezzed? (get-card state card))) (str (:title card) " is still unrezzed" )))))))
800
800
801
801
(defmacro rez
802
- [state _ card & opts]
803
- `(error-wrapper (rez-impl ~state ~card ~@opts)))
802
+ [state side card & opts]
803
+ `(error-wrapper (rez-impl ~state ~side ~ card ~@opts)))
804
804
805
805
(defn derez-impl
806
806
[state side card]
You can’t perform that action at this time.
0 commit comments