|
152 | 152 | (def end-the-run-if-tagged |
153 | 153 | "ETR subroutine if tagged" |
154 | 154 | {:label "End the run if the Runner is tagged" |
155 | | - :req (req tagged) |
| 155 | + :change-in-game-state (req tagged) |
156 | 156 | :msg "end the run" |
157 | 157 | :async true |
158 | 158 | :effect (effect (end-run :corp eid card))}) |
|
179 | 179 | (defn runner-pays |
180 | 180 | "Ability to pay to avoid a subroutine by paying a resource" |
181 | 181 | [cost] |
182 | | - {:async true |
183 | | - :effect (req (wait-for (pay state :runner (make-eid state eid) card cost) |
184 | | - (when-let [payment-str (:msg async-result)] |
185 | | - (system-msg state :runner |
186 | | - (str payment-str |
187 | | - " due to " (:title card) |
188 | | - " subroutine"))) |
189 | | - (effect-completed state side eid)))}) |
| 182 | + {:display-side :runner |
| 183 | + :cost cost |
| 184 | + :msg :cost}) |
190 | 185 |
|
191 | 186 | (defn end-the-run-unless-runner-pays |
192 | 187 | ([cost] (end-the-run-unless-runner-pays cost "subroutine")) |
|
333 | 328 | (def add-runner-card-to-grip |
334 | 329 | "Add 1 installed Runner card to the grip" |
335 | 330 | {:label "Add an installed Runner card to the grip" |
336 | | - :req (req (not-empty (all-installed state :runner))) |
| 331 | + :change-in-game-state (req (seq (all-installed state :runner))) |
337 | 332 | :waiting-prompt true |
338 | 333 | :prompt "Choose a card" |
339 | 334 | :choices {:card #(and (installed? %) |
|
347 | 342 | {:prompt "Choose a program to trash" |
348 | 343 | :label "Trash a program" |
349 | 344 | :msg (msg "trash " (:title target)) |
| 345 | + :waiting-prompt true |
| 346 | + :change-in-game-state (req (seq (filter program? (all-installed state :runner)))) |
350 | 347 | :choices {:card #(and (installed? %) |
351 | 348 | (program? %))} |
352 | 349 | :async true |
|
358 | 355 | :label "Force the Runner to trash a program" |
359 | 356 | :msg (msg "force the runner to trash " (:title target)) |
360 | 357 | :display-side :corp |
| 358 | + :waiting-prompt true |
| 359 | + :change-in-game-state (req (seq (filter program? (all-installed state :runner)))) |
361 | 360 | :choices {:card #(and (installed? %) |
362 | 361 | (program? %))} |
363 | 362 | :async true |
|
370 | 369 | :msg (msg "trash " (:title target)) |
371 | 370 | :choices {:card #(and (installed? %) |
372 | 371 | (hardware? %))} |
| 372 | + :waiting-prompt true |
| 373 | + :change-in-game-state (req (seq (filter hardware? (all-installed state :runner)))) |
373 | 374 | :async true |
374 | 375 | :effect (effect (trash eid target {:cause :subroutine}))}) |
375 | 376 |
|
|
379 | 380 | :msg (msg "trash " (:title target)) |
380 | 381 | :choices {:card #(and (installed? %) |
381 | 382 | (resource? %))} |
| 383 | + :waiting-prompt true |
| 384 | + :change-in-game-state (req (seq (filter resource? (all-installed state :runner)))) |
382 | 385 | :async true |
383 | 386 | :effect (effect (trash eid target {:cause :subroutine}))}) |
384 | 387 |
|
|
387 | 390 | :prompt "Choose an installed card to trash" |
388 | 391 | :label "Trash an installed Runner card" |
389 | 392 | :msg (msg "trash " (:title target)) |
| 393 | + :waiting-prompt true |
| 394 | + :change-in-game-state (req (seq (all-installed state :runner))) |
390 | 395 | :choices {:card #(and (installed? %) |
391 | 396 | (runner? %))} |
392 | 397 | :effect (effect (trash eid target {:cause :subroutine}))}) |
|
0 commit comments