{% extends 'wfbo/_layout.html.twig' %} {% block wfbo_title %}Spin & Win Settings{% endblock %} {% block wfbo_content %} {% for flash in app.flashes('success') %} {% endfor %} {{ form_start(swSettingsForm, {attr: {'data-testid': 'sw-settings-form', 'novalidate': 'novalidate', 'data-turbo': 'false'}}) }} {# ── Game Toggle ── #}

Game Visibility

Spin & Win is only offered on the Live Racing pages, as a floating wheel players can open between races. When disabled, the wheel is hidden and spins are rejected.

{{ form_widget(swSettingsForm.swEnabled) }} {{ form_label(swSettingsForm.swEnabled, null, {label_attr: {class: 'form-check-label'}}) }} {{ form_errors(swSettingsForm.swEnabled) }}
{# ── Spin Cost ── #}

Spin Cost

Amount taken from the player's wallet for each spin.

{{ form_label(swSettingsForm.swSpinCost, null, {label_attr: {class: 'form-label--sm'}}) }} {{ form_widget(swSettingsForm.swSpinCost) }} {{ form_errors(swSettingsForm.swSpinCost) }}
{# ── House Win Rate ── #}

House Win Rate

Chance a spin lands on BANKRUPT. Override the general house win rate for Spin & Win only, or leave blank to use the general setting. A player's own house win rate still takes priority.

{{ form_label(swSettingsForm.swHouseWinRate, null, {label_attr: {class: 'form-label--sm'}}) }}
{{ form_widget(swSettingsForm.swHouseWinRate, {attr: {class: 'border-end-0'}}) }} %
{{ form_errors(swSettingsForm.swHouseWinRate) }}

Leave blank to fall back to the general house win rate setting ({{ generalHouseWinRate }}%).

{# ── Multipliers ── #}

Multipliers & Odds

The wheel has 9 segments: 2 BANKRUPT, 1 TRY AGAIN, 2 Small, 2 Medium, 1 Big and 1 Jackpot. A win pays the spin cost × the multiplier. TRY AGAIN returns the bet (no win, no loss, no commission). When a spin is not BANKRUPT, the outcome is picked by its odds weight (higher = more often).

{% for tier in ['Small', 'Medium', 'Big', 'Jackpot'] %} {% endfor %}
Segment Multiplier (x) Odds (weight) Share
Try Again x1 (bet returned) {{ form_widget(swSettingsForm.swWeightTryAgain) }} {{ form_errors(swSettingsForm.swWeightTryAgain) }} {{ tierShares.try_again }}%
{{ tier }} {{ form_widget(swSettingsForm['swMultiplier' ~ tier]) }} {{ form_errors(swSettingsForm['swMultiplier' ~ tier]) }} {{ form_widget(swSettingsForm['swWeight' ~ tier]) }} {{ form_errors(swSettingsForm['swWeight' ~ tier]) }} {{ tierShares[tier|lower] }}%

At the current house win rate ({{ effectiveHouseWinRate }}%), players get back about {{ returnToPlayer }}% of what they spend.

{# ── Lose Streak ── #}

Lose Streak Softening

After a player lands on BANKRUPT this many times in a row (TRY AGAIN spins are skipped), their house win rate drops by the step for every further loss, but never below the floor. After 5 straight losses it is also capped at the Auto-HWR churn floor. Players with streak softening turned off on their account are not affected. Set "Losses Before Softening" to 0 to turn it off.

{% for field in ['swStreakThreshold', 'swStreakStep', 'swStreakFloor'] %}
{{ form_label(swSettingsForm[field], null, {label_attr: {class: 'form-label--sm'}}) }} {{ form_widget(swSettingsForm[field]) }} {{ form_errors(swSettingsForm[field]) }}
{% endfor %}
{{ form_end(swSettingsForm) }} {% endblock %}