import { defineGame, scatterSym, sym, wildSym } from "@spinza/game-core"; /** * GAME 18 — REEL REACTOR * Nuclear energy lab. 5×3, 243 ways, Heat meter that rises on losing spins, * boosts the multiplier by band and triggers Meltdown spins at 100. */ export const reelReactor = defineGame({ slug: "reel-reactor", name: "Reel Reactor", version: "1.0.0", tagline: "Every dead spin heats the core.", description: "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.", theme: "nuclear energy lab", tags: ["ways", "heat-meter", "multiplier-wilds", "free-spins"], grid: { reels: 5, rows: 3 }, payModel: { type: "ways" }, rtp: 0.96, volatility: "high", maxMultiplier: 5000, symbols: [ wildSym("W", "Fusion Wild", [0, 2, 2, 2, 0], { shape: "atom", color: "#a3e635", accent: "#ffffff", glow: 1 }), scatterSym("S", "Control Rod", 1.2, { shape: "gauge", color: "#facc15", accent: "#ffffff", glow: 0.9 }), sym("P1", "Reactor Core", "premium", { 3: 18, 4: 54, 5: 180 }, 2.8, { shape: "orb", color: "#22c55e", accent: "#dcfce7", glow: 0.9 }), sym("H1", "Uranium Cell", "high", { 3: 12, 4: 30, 5: 90 }, 3.8, { shape: "barrel", color: "#a3e635", accent: "#ecfccb", glow: 0.6 }), sym("H2", "Plasma Coil", "high", { 3: 9, 4: 24, 5: 72 }, 4.2, { shape: "valve", color: "#38bdf8", accent: "#e0f2fe", glow: 0.6 }), sym("M1", "Cooling Tower", "mid", { 3: 6, 4: 15, 5: 42 }, 5.5, { shape: "drill", color: "#94a3b8", accent: "#e2e8f0", glow: 0.3 }), sym("M2", "Hazard Sign", "mid", { 3: 4.8, 4: 12, 5: 30 }, 6, { shape: "warning", color: "#facc15", accent: "#111827", glow: 0.3 }), sym("L1", "Isotope Alpha", "low", { 3: 2.4, 4: 6, 5: 15 }, 9, { shape: "letter", color: "#4ade80", label: "α" }), sym("L2", "Isotope Beta", "low", { 3: 2.4, 4: 6, 5: 15 }, 9, { shape: "letter", color: "#facc15", label: "β" }), sym("L3", "Isotope Gamma", "low", { 3: 1.8, 4: 4.8, 5: 12 }, 10, { shape: "letter", color: "#38bdf8", label: "γ" }), sym("L4", "Isotope Delta", "low", { 3: 1.8, 4: 4.8, 5: 12 }, 10, { shape: "letter", color: "#fb923c", label: "δ" }), ], betDivisor: 25, wild: { id: "W", multiplier: { values: [2, 3], weights: [75, 25], combine: "multiply" } }, scatter: { id: "S", triggers: { 3: 8, 4: 10, 5: 12 }, retrigger: true }, heat: { max: 100, gainOnLoss: 6, gainOnWin: -3, ladder: [1, 1, 2, 2, 3, 5], bandSize: 20, meltdown: { spins: 6, multiplier: 3, label: "Meltdown" }, }, presentation: { palette: { primary: "#a3e635", secondary: "#facc15", glow: "#22c55e", bg: "#050a04", surface: "#0c160a" }, particles: "energy", ambience: "reactor", frame: "metal", backdrop: "reactor", }, rules: [ "Wins pay left to right on adjacent reels across 243 ways.", "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.", "Every non-winning spin adds 6 heat; every winning spin removes 3. Heat is kept between rounds.", "Heat bands multiply all wins: 0–39 ×1, 40–79 ×2, 80–99 ×3.", "At 100 heat the core melts down: 6 Meltdown spins at ×3, then the gauge resets to 0.", "3, 4 or 5 Control Rods award 8, 10 or 12 free spins with retriggers.", "Maximum win per round: 5,000× the bet.", ], });