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 2233
2233
:duration :end-of-run
2234
2234
:req (req (and run
2235
2235
(some #{:content } (:zone target))
2236
- (some #{run-server} (:zone target))))}]
2236
+ (some #{(first (:server (:run @state)))} (:zone target))))
2237
+ :value true }]
2237
2238
{:abilities [{:action true
2238
2239
:label " Run a remote server"
2239
2240
:cost [(->c :click 1 ) (->c :trash-can ) (->c :brain 1 )]
2244
2245
:async true
2245
2246
:effect (effect
2246
2247
(register-events card [successful-run-event])
2247
- (register-lingering-effect card [ disable-card-effect] )
2248
+ (register-lingering-effect card disable-card-effect)
2248
2249
(make-run eid target card))}]}))
2249
2250
2250
2251
(defcard " Logic Bomb"
Original file line number Diff line number Diff line change 87
87
; ; while resolving another ability or promppt
88
88
blocking-prompt?
89
89
(not= side (to-keyword (:side card)))
90
- (any-effects state side :prevent-paid-ability true ? card [ability ability-idx]))]
90
+ ; ; prevention/disabling abilities
91
+ (any-effects state side :prevent-paid-ability true ? card [ability ability-idx])
92
+ (some? (is-disabled-reg? state card)))]
91
93
(when blocking-prompt?
92
- (toast state side (str " You cannot play abilities while other abilities are resolving." )
93
- " warning" ))
94
+ (toast state side " You cannot play abilities while other abilities are resolving." " warning" ))
94
95
(when-not cannot-play
95
96
(do-play-ability state side eid (assoc args :ability-idx ability-idx :ability ability))))))
96
97
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 3628
3628
(play-and-score state " Nisei MK II" )
3629
3629
(play-from-hand state :corp " Vanilla" " HQ" )
3630
3630
(play-from-hand state :corp " Ichi 1.0" " HQ" )
3631
- (rez state corp (get-ice state :hq 0 ))
3632
- (rez state corp (get-ice state :hq 1 ))
3631
+ (rez state : corp (get-ice state :hq 0 ))
3632
+ (rez state : corp (get-ice state :hq 1 ))
3633
3633
(take-credits state :corp )
3634
3634
(play-from-hand state :runner " John Masanori" )
3635
3635
(run-on state :hq )
4154
4154
(click-prompt state :runner " Server 1" ))
4155
4155
" Spent 8 credits to make a run on the server" ))))
4156
4156
4157
+ (deftest light-the-fire-spin-doctor
4158
+ ; ; Light the Fire!
4159
+ (do-game
4160
+ (new-game {:corp {:hand [" Spin Doctor" ]
4161
+ :deck [(qty " Hedge Fund" 10 )]
4162
+ :discard [" Ice Wall" " Fire Wall" " Tyrant" ]}
4163
+ :runner {:hand [" Light the Fire!" (qty " Sure Gamble" 4 )]
4164
+ :credits 100 }})
4165
+ (play-from-hand state :corp " Spin Doctor" " New remote" )
4166
+ (let [spin (get-content state :remote1 0 )]
4167
+ (rez state :corp spin)
4168
+ (take-credits state :corp )
4169
+ (play-from-hand state :runner " Light the Fire!" )
4170
+ (card-ability state :runner (get-resource state 0 ) 0 )
4171
+ (click-prompt state :runner " Server 1" )
4172
+ (card-ability state :corp spin 0 )
4173
+ (is (no-prompt? state :corp ) " Corp is making no decisions" )
4174
+ (is (refresh spin) " Corp is making no decisions" ))))
4175
+
4157
4176
(deftest logic-bomb
4158
4177
; ; Logic Bomb
4159
4178
(do-game
Original file line number Diff line number Diff line change 803
803
(get-in @state [:runner :play-area pos])))
804
804
805
805
(defn rez-impl
806
- ([state card] (rez-impl state card nil ))
807
- ([state card {:keys [expect-rez] :or {expect-rez true }}]
806
+ ([state side card] (rez-impl state side card nil ))
807
+ ([state _side card {:keys [expect-rez] :or {expect-rez true }}]
808
808
(let [card (get-card state card)]
809
809
(is' (installed? card) (str (:title card) " is installed" ))
810
810
(is' (not (rezzed? card)) (str (:title card) " is unrezzed" ))
816
816
(is' (not (rezzed? (get-card state card))) (str (:title card) " is still unrezzed" )))))))
817
817
818
818
(defmacro rez
819
- [state _ card & opts]
820
- `(error-wrapper (rez-impl ~state ~card ~@opts)))
819
+ [state side card & opts]
820
+ `(error-wrapper (rez-impl ~state ~side ~ card ~@opts)))
821
821
822
822
(defn derez-impl
823
823
[state side card]
You can’t perform that action at this time.
0 commit comments