diff --git a/src/clj/web/auth.clj b/src/clj/web/auth.clj index 75949fafe2..5c9c567938 100644 --- a/src/clj/web/auth.clj +++ b/src/clj/web/auth.clj @@ -164,7 +164,7 @@ :alt-arts :card-resolution :deckstats :gamestats :card-zoom :pin-zoom :card-back :stacked-cards :ghost-trojans :display-encounter-info :sides-overlap :archives-sorted :heap-sorted - :labeled-cards :labeled-unrezzed-cards :bespoke-sounds]) + :labeled-cards :labeled-unrezzed-cards :bespoke-sounds :pass-on-rez]) (defn update-profile-handler [{db :system/db diff --git a/src/cljs/nr/account.cljs b/src/cljs/nr/account.cljs index d86d1a7016..801f29996d 100644 --- a/src/cljs/nr/account.cljs +++ b/src/cljs/nr/account.cljs @@ -46,6 +46,7 @@ (swap! app-state assoc-in [:options :pin-zoom] (:pin-zoom @s)) (swap! app-state assoc-in [:options :show-alt-art] (:show-alt-art @s)) (swap! app-state assoc-in [:options :card-resolution] (:card-resolution @s)) + (swap! app-state assoc-in [:options :pass-on-rez] (:pass-on-rez @s)) (swap! app-state assoc-in [:options :player-stats-icons] (:player-stats-icons @s)) (swap! app-state assoc-in [:options :stacked-cards] (:stacked-cards @s)) (swap! app-state assoc-in [:options :ghost-trojans] (:ghost-trojans @s)) @@ -68,6 +69,7 @@ (.setItem js/localStorage "log-width" (:log-width @s)) (.setItem js/localStorage "log-top" (:log-top @s)) (.setItem js/localStorage "log-player-highlight" (:log-player-highlight @s)) + (.setItem js/localStorage "pass-on-rez" (:pass-on-rez @s)) (.setItem js/localStorage "player-stats-icons" (:player-stats-icons @s)) (.setItem js/localStorage "stacked-cards" (:stacked-cards @s)) (.setItem js/localStorage "ghost-trojans" (:ghost-trojans @s)) @@ -623,6 +625,7 @@ :ghost-trojans (get-in @app-state [:options :ghost-trojans]) :display-encounter-info (get-in @app-state [:options :display-encounter-info]) :sides-overlap (get-in @app-state [:options :sides-overlap]) + :pass-on-rez (get-in @app-state [:options :pass-on-rez]) :log-timestamps (get-in @app-state [:options :log-timestamps]) :player-stats-icons (get-in @app-state [:options :player-stats-icons]) :runner-board-order (get-in @app-state [:options :runner-board-order]) diff --git a/src/cljs/nr/gameboard/board.cljs b/src/cljs/nr/gameboard/board.cljs index de3f66a7fa..fb3a207815 100644 --- a/src/cljs/nr/gameboard/board.cljs +++ b/src/cljs/nr/gameboard/board.cljs @@ -1499,7 +1499,8 @@ [cond-button (str (tr [:game.rez "Rez"]) " " (get-title ice)) (not (rezzed? ice)) - #(send-command "rez" {:card ice :press-continue true})] + #(send-command "rez" {:card ice + :press-continue (get-in @app-state [:options :pass-on-rez])})] (or (= "encounter-ice" (:phase @run)) @encounters) diff --git a/src/cljs/nr/gameboard/settings.cljs b/src/cljs/nr/gameboard/settings.cljs index 8204d13206..90738a3492 100644 --- a/src/cljs/nr/gameboard/settings.cljs +++ b/src/cljs/nr/gameboard/settings.cljs @@ -40,6 +40,15 @@ :on-change #(swap! app-state assoc-in [:options :display-encounter-info] (.. % -target -checked))}] (tr [:ingame-settings.display-encounter-info "Always display encounter info"])]]] + [:section + [:h4 (tr [:ingame-settings.game-settings "Gameplay Settings"])] + [:div + [:label [:input {:type "checkbox" + :value true + :checked (get-in @app-state [:options :pass-on-rez]) + :on-change #(swap! app-state assoc-in [:options :pass-on-rez] (.. % -target -checked))}] + (tr [:ingame-settings.game-settings "Pass priority when rezzing ice"])]]] + [:section [:h4 (tr [:ingame-settings.card-sorting "Sorting"])] [:div