Skip to content

Releases: aaskjer/Slot-Machine-Game

First GitHub Release

Choose a tag to compare

@aaskjer aaskjer released this 02 Aug 14:09
eedfc2b

This is the first time the Slot Machine Game scripts are being published to GitHub. Kept version number for continuity.

Added

  • Addicted List — a new way to flag specific users or whole Streamer.bot groups (Addicted Users / Addicted Groups, Game tab) whose winnings get penalized:
    • Their win/jackpot payout is reduced by a configurable Addicted Payout Cut (default 50%, capped at 99% so a win can never flip into a net loss).
    • If a User Cooldown is configured, addicted users always wait twice as long between spins as everyone else (tracked independently of Streamer.bot's own per-command cooldown, since that API only supports one shared duration for all users).
    • Addicted users' losses never contribute to the jackpot pool, so they can't grow it hoping to win it back later.
    • Comes with its own dedicated chat messages — AddictedWinMessage, AddictedLossMessage, AddictedJackpotMessage — including an {addictedCutPercent} placeholder and "Addiction Fee" wording, distinct from the normal Win/Loss/Jackpot messages.
    • The Game tab's Live Preview panel gained a 5th row (🎯 Addicted) that recalculates live to show the actual payout range an addicted user would receive.
  • The Game tab's Live Preview panel got completely reworked to match a distinct look.
  • Free Game messagesFreeGameWinMessage, FreeGameLossMessage, FreeGameJackpotMessage are now actually used by the runtime script during Free Mode spins (they existed in the settings GUI before but were never wired into the game logic, so Free Mode silently fell back to the normal paid messages).
  • {jackpot}...{/jackpot} conditional message syntax — any text wrapped in these tags in the Win/Loss/Jackpot templates is automatically stripped whenever the Jackpot Pool is disabled, instead of leaving broken half-filled sentences behind (e.g. "got added to the jackpot pool of now Points!" with no number).
  • Daily log rotation — the action log now writes to SMG-log-yyyy-MM-dd.txt, rolling over to a new file every day instead of one single file that grows forever. The Action-Log tab transparently merges every day's file (plus the old undated log) into one browsable table.

Changed

  • Match Payout %, Allow Match/Jackpot Chance %, Subscriber/VIP Boost %, and Addicted Payout Cut % fields now reject non-numeric keystrokes and pasted text, matching the protection integer fields already had. Addicted Payout Cut also snaps back to its clamped value on focus-loss instead of silently keeping an out-of-range number.
  • Sub-tab labels (Messages / Cooldown / Twitch Channel Points / Action-Log) switched from a too-dim gray to a readable shade.
  • !slots quarter / viertel bet alias relabeled from 15% to 25% to match what it's actually always computed (was mislabeled, not miscalculated).
  • New modern and more colorful GUI design with light/dark theme
  • An action-log to see past spins, payouts, etc.

Fixed

  • Emote Weight field (Platform Emotes tab) never had any input filtering at all and silently accepted letters; now digit-only like every other numeric field.
  • !slots random could throw an unhandled exception for users with a balance below the configured minimum bet; now falls back cleanly to existing bet validation instead of silently failing.
  • Removed redundant new Random() instantiations (bet randomizer, emote-pool shuffle) in favor of the shared instance, eliminating a seed-collision edge case where near-simultaneous spins could produce correlated "random" results.
  • Compile error CS0103: The name 'Regex' does not exist in the current context — restored a missing using System.Text.RegularExpressions;.