SPB Git forge

spb/spinza

Public
8commits 1branches 0releases
1.6 MBsize
maindefault branch
16 days agolast push
TypeScript 97.6% SQL 1.4% JavaScript 0.5%
3.5 KB · 63 lines typescript
Raw Blame History
1import { defineGame, scatterSym, sym, wildSym } from "@spinza/game-core";23/**4 * GAME 18 — REEL REACTOR5 * Nuclear energy lab. 5×3, 243 ways, Heat meter that rises on losing spins,6 * boosts the multiplier by band and triggers Meltdown spins at 100.7 */8export const reelReactor = defineGame({9  slug: "reel-reactor",10  name: "Reel Reactor",11  version: "1.0.0",12  tagline: "Every dead spin heats the core.",13  description:14    "Run a reactor that thrives on bad luck. Every non-winning spin adds heat and every win bleeds a little off; as the gauge climbs through its bands your wins are multiplied ×2, ×3 and ×5, and at 100 the core melts down into six Meltdown spins at ×3. Fusion Wilds carry their own ×2 or ×3 boost and Control Rods trigger regular free spins.",15  theme: "nuclear energy lab",16  tags: ["ways", "heat-meter", "multiplier-wilds", "free-spins"],17  grid: { reels: 5, rows: 3 },18  payModel: { type: "ways" },19  rtp: 0.96,20  volatility: "high",21  maxMultiplier: 5000,22  symbols: [23    wildSym("W", "Fusion Wild", [0, 2, 2, 2, 0], { shape: "atom", color: "#a3e635", accent: "#ffffff", glow: 1 }),24    scatterSym("S", "Control Rod", 1.2, { shape: "gauge", color: "#facc15", accent: "#ffffff", glow: 0.9 }),25    sym("P1", "Reactor Core", "premium", { 3: 18, 4: 54, 5: 180 }, 2.8, { shape: "orb", color: "#22c55e", accent: "#dcfce7", glow: 0.9 }),26    sym("H1", "Uranium Cell", "high", { 3: 12, 4: 30, 5: 90 }, 3.8, { shape: "barrel", color: "#a3e635", accent: "#ecfccb", glow: 0.6 }),27    sym("H2", "Plasma Coil", "high", { 3: 9, 4: 24, 5: 72 }, 4.2, { shape: "valve", color: "#38bdf8", accent: "#e0f2fe", glow: 0.6 }),28    sym("M1", "Cooling Tower", "mid", { 3: 6, 4: 15, 5: 42 }, 5.5, { shape: "drill", color: "#94a3b8", accent: "#e2e8f0", glow: 0.3 }),29    sym("M2", "Hazard Sign", "mid", { 3: 4.8, 4: 12, 5: 30 }, 6, { shape: "warning", color: "#facc15", accent: "#111827", glow: 0.3 }),30    sym("L1", "Isotope Alpha", "low", { 3: 2.4, 4: 6, 5: 15 }, 9, { shape: "letter", color: "#4ade80", label: "α" }),31    sym("L2", "Isotope Beta", "low", { 3: 2.4, 4: 6, 5: 15 }, 9, { shape: "letter", color: "#facc15", label: "β" }),32    sym("L3", "Isotope Gamma", "low", { 3: 1.8, 4: 4.8, 5: 12 }, 10, { shape: "letter", color: "#38bdf8", label: "γ" }),33    sym("L4", "Isotope Delta", "low", { 3: 1.8, 4: 4.8, 5: 12 }, 10, { shape: "letter", color: "#fb923c", label: "δ" }),34  ],35  betDivisor: 25,36  wild: { id: "W", multiplier: { values: [2, 3], weights: [75, 25], combine: "multiply" } },37  scatter: { id: "S", triggers: { 3: 8, 4: 10, 5: 12 }, retrigger: true },38  heat: {39    max: 100,40    gainOnLoss: 6,41    gainOnWin: -3,42    ladder: [1, 1, 2, 2, 3, 5],43    bandSize: 20,44    meltdown: { spins: 6, multiplier: 3, label: "Meltdown" },45  },46  presentation: {47    palette: { primary: "#a3e635", secondary: "#facc15", glow: "#22c55e", bg: "#050a04", surface: "#0c160a" },48    particles: "energy",49    ambience: "reactor",50    frame: "metal",51    backdrop: "reactor",52  },53  rules: [54    "Wins pay left to right on adjacent reels across 243 ways.",55    "The Fusion Wild substitutes for every symbol except the Control Rod (reels 2–4) and carries a ×2 or ×3 boost; boosts in the same win multiply together.",56    "Every non-winning spin adds 6 heat; every winning spin removes 3. Heat is kept between rounds.",57    "Heat bands multiply all wins: 0–39 ×1, 40–79 ×2, 80–99 ×3.",58    "At 100 heat the core melts down: 6 Meltdown spins at ×3, then the gauge resets to 0.",59    "3, 4 or 5 Control Rods award 8, 10 or 12 free spins with retriggers.",60    "Maximum win per round: 5,000× the bet.",61  ],62});63