chooseBoolean
Sent when the engine needs a yes/no decision from the player — for example, whether to pay an optional cost such as buyback when casting a spell.
Arguments
Section titled “Arguments”input.type is "chooseBoolean". The remaining fields:
interface ChooseBooleanInput { presentation: PromptPresentation; confirmLabel: string; denyLabel: string;}#[serde(rename_all = "camelCase")]pub struct ChooseBooleanInput { pub presentation: PromptPresentation, pub confirm_label: String, pub deny_label: String,}
References: PromptPresentation
Rendering
Section titled “Rendering”
A two-button prompt — the button text comes straight from confirmLabel and denyLabel, so the
wording matches the effect (here, “Pay Buyback” / “No”).
Response
Section titled “Response”type ChooseBooleanOutput = { type: "decision"; value: boolean };Return true to accept and false to decline.
Example
Section titled “Example”{ "promptId": 7, "decidingPlayerId": "player-0", "input": { "type": "chooseBoolean", "presentation": { "title": "Buyback", "description": "Pay {3} more to return this spell to your hand as it resolves?", "targets": [] }, "confirmLabel": "Pay", "denyLabel": "Decline" }}{ "promptId": 7, "output": { "type": "decision", "value": true } }