Apps Home
|
Create an App
Santas Naughty Surprise Reel
Author:
garterxxx
Description
Source Code
Launch App
Current Users
Created by:
Garterxxx
// ====================================== // 🎅 SANTA'S NAUGHTY SURPRISE REEL // by bad Santa ❄️🎄 // Easy Christmas Slot – Spin for sexy prizes! // ====================================== var rollCounter = 0; var tipCounter = 0; var lastPlayer = '--'; var lastPrizeWon = '--'; var prizesWon = []; var dildo = ':sm_dildo'; var lube = ':sm_lube'; var seven = ':sm_seven'; var fleshlight = ':sm_fleshlight'; var cherry = ':sm_cherry'; var condom = ':sm_condom'; var slotPieces = [dildo, lube, seven, fleshlight, cherry, condom]; var langTokens = (cb.settings.tokens > 1) ? 'tokens' : 'token'; cb.settings_choices = [ {name: 'tokens', type: 'int', label: '🎁 Tokens to spin', defaultValue: 25}, {name: 'notice_wait_time', type: 'choice', label: '⏰ Ad every X minutes', choice1: 5, choice2: 10, choice3: 15, choice4: 20, choice5: 30, defaultValue: 10}, {name: 'jackpot_minimum', type: 'int', label: '🎄 Min tokens for jackpot', defaultValue: 1000}, {name: 'prize_1', type: 'str', label: '🎄 Jackpot (3 dildos)', defaultValue: 'Full Naughty Santa Strip + Creamy Pussy Show'}, {name: 'prize_2', type: 'str', label: '🎄 2nd Prize (3 sevens)', defaultValue: 'Slow Ass Jiggle & Hard Spank'}, {name: 'prize_3', type: 'str', label: '🎄 3rd Prize (3 fleshlights)', defaultValue: 'Naughty Lap Dance on Santa\'s Lap'}, {name: 'prize_4', type: 'str', label: '🎄 4th Prize (3 lube)', defaultValue: 'Oiled Boob Play & Titty Fuck Tease'}, {name: 'prize_5', type: 'str', label: '🎄 5th Prize (any + 2 cherries)', defaultValue: 'Candy Cane Deepthroat & Pussy Tease'}, {name: 'prize_6', type: 'str', label: '🎄 6th Prize (condom/dildo)', defaultValue: 'Dildo Ride + Ass Spread'}, {name: 'prize_7', type: 'str', label: '🎄 7th Prize (any + 1 cherry)', defaultValue: 'Stocking Strip + Finger Fuck Show'} ]; cb.onTip(function(tip) { var amount = parseInt(tip.amount) || 0; var user = tip.from_user || "Secret Elf"; tipCounter += amount; if (amount >= cb.settings.tokens) { var spins = Math.floor(amount / cb.settings.tokens); for (var i = 1; i <= spins; i++) { cb.setTimeout(function() { spin(user); }, 1500 * i); } } else { cb.drawPanel(); } }); cb.onDrawPanel(function() { return { 'template': '3_rows_12_22_31', 'row1_label': '🎄 Last Prize:', 'row1_value': lastPrizeWon, 'row2_label': '🎅 Last Spinner:', 'row2_value': lastPlayer, 'row3_value': tipCounter + ' ' + langTokens + ' / ' + rollCounter + ' spins' }; }); function spin(username) { rollCounter++; var row1 = getRow(); var row2 = getRow(); // pay line var row3 = getRow(); cb.sendNotice(row1 + "\n" + row2 + " ← PAY LINE\n" + row3, '', '#ffcc00', '#000000', 'bold'); var prize = '--'; var dildoCount = (row2.match(/dildo/g) || []).length; var sevenCount = (row2.match(/seven/g) || []).length; var fleshlightCount = (row2.match(/fleshlight/g) || []).length; var lubeCount = (row2.match(/lube/g) || []).length; var cherryCount = (row2.match(/cherry/g) || []).length; var condomCount = (row2.match(/condom/g) || []).length; if (dildoCount === 3 && tipCounter >= cb.settings.jackpot_minimum) prize = cb.settings.prize_1; else if (sevenCount === 3) prize = cb.settings.prize_2; else if (fleshlightCount === 3) prize = cb.settings.prize_3; else if (lubeCount === 3) prize = cb.settings.prize_4; else if (cherryCount === 2) prize = cb.settings.prize_5; else if ((condomCount + dildoCount === 3) && (condomCount >= 1)) prize = cb.settings.prize_6; else if (cherryCount === 1 || cherryCount === 3) prize = cb.settings.prize_7; lastPlayer = username; if (prize !== '--') { lastPrizeWon = prize; prizesWon.unshift(prize + ' - ' + username); if (prizesWon.length > 20) prizesWon.pop(); cb.sendNotice("🎄 " + username + " WON: " + prize + " ❄️", '', '#ff0000', '#ffffff', 'bold'); } else { cb.sendNotice(username + " spun... no prize this time 🎅 Better luck!", '', '#ff9900', '', 'bold'); } cb.drawPanel(); } function getRow() { return getSlotPiece() + ' ' + getSlotPiece() + ' ' + getSlotPiece(); } function getSlotPiece() { return slotPieces[Math.floor(Math.random() * slotPieces.length)]; } function showPrizes(username) { var msg = "🎅 Santa's Naughty Surprise Reel Prizes:\n\n"; msg += "1. Jackpot (3 dildos) = " + cb.settings.prize_1 + "\n"; msg += "2. 3 Sevens = " + cb.settings.prize_2 + "\n"; msg += "3. 3 Fleshlights = " + cb.settings.prize_3 + "\n"; msg += "4. 3 Lube = " + cb.settings.prize_4 + "\n"; msg += "5. Any + 2 Cherries = " + cb.settings.prize_5 + "\n"; msg += "6. Condom/Dildo = " + cb.settings.prize_6 + "\n"; msg += "7. Any + 1 Cherry = " + cb.settings.prize_7 + "\n\n"; msg += "Tip " + cb.settings.tokens + " tokens to spin! 🎁"; cb.sendNotice(msg, username || '', '#DBFBFF', '#008596', 'bold'); } function showPrizesWon(username) { if (prizesWon.length === 0) { cb.sendNotice('No winners yet! Spin for a naughty Christmas surprise! 🎅', username, '', '#CC0000', 'bold'); return; } var msg = "🎄 Last 20 Winners 🎄\n"; for (var i = 0; i < Math.min(20, prizesWon.length); i++) { msg += (i + 1) + ") " + prizesWon[i] + "\n"; } cb.sendNotice(msg, username, '#EBFFEB', '', 'bold'); } cb.onMessage(function(msg) { var text = msg.message.toLowerCase().trim(); if (text === '/p' || text === '/prizes') { msg['X-Spam'] = true; showPrizes(msg.user); } if (text === '/w') { msg['X-Spam'] = true; showPrizesWon(msg.user); } }); function advertise() { var msg = "🎅 Santa's Naughty Surprise Reel is LIVE! ❄️\n"; msg += "Tip " + cb.settings.tokens + " tokens to spin for sexy prizes!\n"; msg += "Type /p for prizes • /w for winners 🎁"; cb.sendNotice(msg, '', '#ff0000', '#ffffff', 'bold'); cb.setTimeout(advertise, cb.settings.notice_wait_time * 60000); } function init() { advertise(); cb.changeRoomSubject("🎅 Tip " + cb.settings.tokens + " tokens to spin Santa's Naughty Surprise Reel! ❄️"); cb.sendNotice("🎄 Santa's Naughty Surprise Reel is active! Spin for a sexy Christmas surprise! 🎁", '', '#ff0000', 'bold'); } init();
© Copyright Chaturbate 2011- 2026. All Rights Reserved.