Bots Home
|
Create an App
Battle Roll
Author:
geemcgee
Description
Source Code
Launch Bot
Current Users
Created by:
Geemcgee
/* Battle Roll auther: geemcgee */ var tipCap; var megaTipCap; var prizes = []; var trackPrizes = []; var megaPrizes = []; var trackMegaPrizes = []; var megaTipCap; var megaPrizeProb; var useMegaPrizes = false; var showAllRolls = false; var delayedNotice = []; // user tips list var tippingUsers = []; var tipTracker = false; var crownImg = ""; var highestTipper = "-"; // colors var lossBackground; var lossText; var winBackground; var winText; var megaWinBackground; var megaWinText; var trackedWinners = []; var statsPrizes = []; var statsMegaPrizes = []; var statsMegaWinsCounter = 0; var banned = []; var megaProbs = []; var useProbs = false; var notifierTimer; var bronoff = true; cb.settings_choices = [ {name: 'tipCap', label: 'Tip cap (upper limit. Tipping this number means 100% win chance)', type: 'str', minLength: 0, maxLength: 1000, required: false, defaultValue: "100"}, {name: 'prizes', label: 'Untracked prizes to win', type: 'str', minLength: 0, maxLength: 1000, required: false, defaultValue: "flash tits, flash ass"}, {name: 'trackPrizes', label: 'Tracked prizes to win', type: 'str', minLength: 0, maxLength: 1000, required: false, defaultValue: "photoset"}, {name: 'megaPrizes', label: 'Untracked mega prizes to win', type: 'str', minLength: 0, maxLength: 1000, required: false, defaultValue: "instant cum show, something awesome"}, {name: 'trackMegaPrizes', label: 'Tracked mega prizes to win', type: 'str', minLength: 0, maxLength: 1000, required: false, defaultValue: "video 1, video 2"}, {name: 'megaTipCap', label: 'Mega tip (any tip equal or higher than this will also have a chance to win mega prizes)', type: 'str', minLength: 0, maxLength: 1000, required: false, defaultValue: "80"}, {name: 'megaPrizeProb', label: 'Probability of a mega prize being won if tipped equal or higher than Mega Tip Cap', type: 'str', minLength: 0, maxLength: 1000, required: false, defaultValue: "5"}, {name: 'showAllRolls', label: 'Show win roll results? (broadcaster only)', type: 'choice', choice1: 'yes', choice2: 'no', defaultValue: "no"}, {name: 'welcomeMessage', label: 'Whether you want to welcome joining users and show them how to play.', type: 'choice', choice1: 'yes', choice2: 'no'}, {name: 'notifier', label: 'Repeat app/bot instructions every X minutes (0 for no instructions)', type: 'str', minLength: 0, maxLength: 1000, required: false, defaultValue: "0"}, {name: 'tipTracker', label: 'Keep track of how much each user tipped and display it next to their names.', type: 'choice', choice1: 'on', choice2: 'off', defaultValue: "off"}, {name: 'crownImg', label: 'Image to be displayed next to the highest tipper\'s name (aka. king). E.g. "crown03".', type: 'str', choice1: 'on', minLength: 0, maxLength: 1000, defaultValue: "crown03"}, {name: 'lossBackground', label: 'Loss background (html) color #', type: 'str', minLength: 0, maxLength: 1000, required: false, defaultValue:"FFE4E1"}, {name: 'lossText', label: 'Loss text color #', type: 'str', minLength: 0, maxLength: 1000, required: false, defaultValue:"B232B2"}, {name: 'winBackground', label: 'Win background color #', type: 'str', minLength: 0, maxLength: 1000, required: false, defaultValue:"FFE4E1"}, {name: 'winText', label: 'Win text color #', type: 'str', minLength: 0, maxLength: 1000, required: false, defaultValue:"B232B2"}, {name: 'megaWinBackground', label: 'Mega win background color #', type: 'str', minLength: 0, maxLength: 1000, required: false, defaultValue:"FFE4E1"}, {name: 'megaWinText', label: 'Mega win text color #', type: 'str', minLength: 0, maxLength: 1000, required: false, defaultValue:"B232B2"}, {name: 'banned', label: 'Banned from mega wins.', type: 'str', minLength: 0, maxLength: 1000, required: false}, ]; cb.onTip(function (tip) { var ta = tip['amount']; if(tipTracker) { // track tips and highest tipper if(tippingUsers[tip['from_user']] == undefined) { tippingUsers[tip['from_user']] = ta; } else { tippingUsers[tip['from_user']] += ta; } if(highestTipper != "-") { if(tippingUsers[tip['from_user']] > tippingUsers[highestTipper]) { highestTipper = tip['from_user']; cb.sendNotice("We have a new King!\nAll hail " + tip['from_user'] + "!", "", "#F9E299", ""); } } else { highestTipper = tip['from_user']; cb.sendNotice("We have a new King!\nAll hail " + tip['from_user'] + "!", "", "#F9E299", ""); } } // game if(bronoff) { var rollTimes = 1; if(ta > tipCap) { rollTimes = Math.floor(ta/tipCap) if(rollTimes > 3) rollTimes = 3; } var randomMegaChanceIndex = Math.floor(Math.random() * rollTimes); for (var i = 0; i < rollTimes; i++) { if(i == randomMegaChanceIndex) { battleRoll(tip, true); } else { battleRoll(tip, false); } } } }); function battleRoll(tip, megaRoll) { var ta = tip['amount']; var roll = Math.floor(Math.random() * tipCap) + 1; var win = 0; var megaWinProb = 101; if(ta >= roll) { win = 1; if(!isBanned(tip['from_user']) && megaRoll && useMegaPrizes && ta >= megaTipCap) { megaWinProb = Math.floor(Math.random() * 100) + 1; if(megaWinProb <= megaPrizeProb) { win = 2 } } } // announce win/loss if(win > 0) { announceWin(tip, win) if(showAllRolls) { newNotice = []; newNotice['win'] = win; newNotice['user'] = tip['from_user']; newNotice['tip'] = tip['amount']; newNotice['roll'] = roll; newNotice['megaWinProb'] = megaWinProb; newNotice['megaRoll'] = megaRoll; delayedNotice.push(newNotice); cb.setTimeout(showRollsToBroadcaster, 20); } } else { announceLoss(tip, roll); } } function announceWin(tip, win) { var winner = tip['from_user']; var prize = pickPrize(win, tip['from_user']); //regular win if(win == 1) { cb.sendNotice("************************************************************\n" + "* " + "* " + "* " + "* " + "* " + "* " + "Congratulations " + winner + "!" + " You won: " + prize + " " + "* " + "* " + "* " + "* " + "* " + "* " + "\n************************************************************", "", "#"+winBackground, '#'+winText, "bold") // mega win } else if (win == 2) { cb.sendNotice("************\n**********\n*******\n****\n**\n*\nMega win!!! Congratulations " + winner + ". You won: " + prize + "!" + "\n*\n**\n****\n*******\n**********\n************", "", "#"+megaWinBackground, '#'+megaWinText, "bold"); } updateStats(prize, tip['amount'], win); } function announceLoss(tip, roll) { cb.sendNotice("Awww. No luck this time, " + tip['from_user'] + " (your tip: " + tip['amount'] + " robot roll: " + roll + ")\n Tip equal or higher than the random roll to win!", "", "#"+lossBackground, '#'+lossText, "bold"); updateStats("loss", tip['amount'], 0); } function showRollsToBroadcaster() { var curNotice = delayedNotice[0]; delayedNotice.splice(0, 1); if(curNotice['megaRoll'] && useMegaPrizes && curNotice['tip'] >= megaTipCap) { cb.sendNotice(curNotice['user'] + ": " + curNotice['tip'] + " vs bot: " + curNotice['roll'] + "\nMega Win chance: " + megaPrizeProb + " vs bot: " + curNotice['megaWinProb'], cb.room_slug, "#CFCBD6", "#570ACC", "bold") ; } else { cb.sendNotice(curNotice['user'] + ": " + curNotice['tip'] + " vs bot: " + curNotice['roll'], cb.room_slug, "#CFCBD6", "#570ACC", "bold") ; } } // function showRollsToBroadcaster(win, tip, roll, megaWinProb) { // if(win == 1) { // cb.sendNotice(tip['from_user'] + ": " + tip['amount'] + " vs bot: " + roll, cb.room_slug, "#CFCBD6", "#570ACC", "bold") ; // } else if (win == 2) { // cb.sendNotice("Mega Win chance: " + megaPrizeProb + " vs bot: " + megaWinProb, cb.room_slug, "#CFCBD6", "#570ACC", "bold") ; // } // } function pickPrize(win, prizeWinner) { var prize = ""; if(win == 1) { var randomPrize = Math.floor(Math.random() * (prizes.length+trackPrizes.length)); if(randomPrize < prizes.length) { prize = prizes[randomPrize]; } else { prize = trackPrizes[randomPrize - prizes.length] if(trackedWinners[prize] == undefined) { trackedWinners[prize] = []; } if(trackedWinners[prize][prizeWinner] == undefined) { trackedWinners[prize][prizeWinner] = 1; } else { trackedWinners[prize][prizeWinner]++; } } } else if (win == 2) { if(!useProbs) { var randomPrize = Math.floor(Math.random() * Object.keys(megaPrizes).length); var indx = 0; for(var key in megaPrizes) { if(randomPrize == indx) { prize = key; break; } else { indx++; } } } else { var randomNum = Math.floor(Math.random() * 100); var sum = 0; // cb.log("RN: " + randomNum) for(var key in megaPrizes) { if(megaPrizes[key]['prob'] > 0) { sum += megaPrizes[key]['prob100']; if(sum <= 99) { // cb.log("Sum: " + sum) if(randomNum <= sum) { prize = key; break; } } else { prize = key; } } } } if(megaPrizes[prize]['tracked']) { if(trackedWinners[prize] == undefined) { trackedWinners[prize] = []; } if(trackedWinners[prize][prizeWinner] == undefined) { trackedWinners[prize][prizeWinner] = 1; } else { trackedWinners[prize][prizeWinner]++; } } // cb.log("RP: " + randomPrize) } lastPrizeWon = prize; return prize; } function broadcasterCommands(msg) { if(msg['m'].toLowerCase().localeCompare("/won") == 0) { msg['X-Spam'] = true; var prizeAndWinners = []; for(var key in trackedWinners) { prizeAndWinners[key] = ""; for(var keyP in trackedWinners[key]) { prizeAndWinners[key] += keyP + " (x" + trackedWinners[key][keyP] + "), "; } } for(var key in prizeAndWinners) { cb.sendNotice(key + ": " + prizeAndWinners[key], cb['room_slug'], "", "", "bold"); } } else if(msg['m'].toLowerCase().startsWith("/addprize ")) { msg['X-Spam'] = true; var cmd_indx = msg['m'].indexOf(" "); var txt = msg['m'].substring(cmd_indx+1); prizes.push(txt); } else if(msg['m'].toLowerCase().startsWith("/addtrackedprize ")) { msg['X-Spam'] = true; var cmd_indx = msg['m'].indexOf(" "); var txt = msg['m'].substring(cmd_indx+1); trackPrizes.push(txt); } else if(msg['m'].toLowerCase().startsWith("/addmegaprize ")) { msg['X-Spam'] = true; var cmd_indx = msg['m'].indexOf(" "); var txt = msg['m'].substring(cmd_indx+1); megaPrizes[txt] = []; megaPrizes[txt]['tracked'] = false; megaPrizes[txt]['prob'] = -1; // megaPrizes.push(txt); if(!useMegaPrizes) updateMega(); } else if(msg['m'].toLowerCase().startsWith("/addtrackedmegaprize ")) { msg['X-Spam'] = true; var cmd_indx = msg['m'].indexOf(" "); var txt = msg['m'].substring(cmd_indx+1); megaPrizes[txt] = []; megaPrizes[txt]['tracked'] = true; megaPrizes[txt]['prob'] = -1; // trackMegaPrizes.push(txt); if(!useMegaPrizes) updateMega(); } else if(msg['m'].toLowerCase().startsWith("/removeprize ")) { msg['X-Spam'] = true; var cmd_indx = msg['m'].indexOf(" "); var txt = msg['m'].substring(cmd_indx+1); var found = updatePrizes(txt, false); if(found) { cb.sendNotice("\"" + txt + "\" has been removed from the prizes.", cb.room_slug, "", "", ""); } else { cb.sendNotice("\"" + txt + "\" could not be found. Did you mistype?", cb.room_slug, "", "", ""); } } else if(msg['m'].toLowerCase().startsWith("/removemegaprize ")) { msg['X-Spam'] = true; var cmd_indx = msg['m'].indexOf(" "); var txt = msg['m'].substring(cmd_indx+1); var found = updatePrizes(txt, true); if(found) { cb.sendNotice("\"" + txt + "\" has been removed from the mega prizes.", cb.room_slug, "", "", ""); updateProbs(); } else { cb.sendNotice("\"" + txt + "\" could not be found. Did you mistype?", cb.room_slug, "", "", ""); } } else if(msg['m'].toLowerCase().startsWith("/brcommands")) { msg['X-Spam'] = true; cb.sendNotice("** Battle roll commands **\n/p - See list of prizes.\n/won - See tracked won prizes.\n/stats - See statistics of rolls.\n/probs - Set probabilities for prizes.\n/addprize <prize> - Add a regular prize.\n/addtrackedprize <prize> - Add a tracked prize.\n/addmegaprize <prize> - Add mega prize.\n/addtrackedmegaprize <prize> - Add tracked mega prize.\n/removeprize <prize> - Remove a regular tracked or not tracked prize.\n/removemegaprize <prize> - Remove a tracked or not tracked mega prize.\n/changeprob <prize> - Change the value/weighting for the likelihood of a prize.\n/changeprob100 <prize> - Change the % (Probability) of a prize (others will adjust to meet the %).", cb.room_slug, "", "", ""); } else if(msg['m'].toLowerCase().localeCompare("/stats") == 0) { msg['X-Spam'] = true; printStats(); } else if(msg['m'].toLowerCase().localeCompare("/useprobs") == 0) { msg['X-Spam'] = true; useProbs = !useProbs; if(useProbs) { cb.sendNotice("Using set probabilities for prizes.", cb.room_slug, "", "", ""); } else { cb.sendNotice("Using equal probabilities for prizes.", cb.room_slug, "", "", ""); } } else if(msg['m'].toLowerCase().startsWith("/changeprob ")) { msg['X-Spam'] = true; var cmd_indx = msg['m'].indexOf(" "); var prizee = msg['m'].substring(cmd_indx+1, msg['m'].indexOf("::", cmd_indx+1)); var probb = msg['m'].substring(msg['m'].indexOf("::", cmd_indx+1)+2) if(megaPrizes[prizee] != undefined && !isNaN(probb)) { megaPrizes[prizee]['prob'] = parseInt(probb); updateProbs(); cb.sendNotice("Changing the probability of mega prize " + prizee + ".", cb.room_slug, "", "", ""); } } else if(msg['m'].toLowerCase().startsWith("/changeprob100 ")) { msg['X-Spam'] = true; var cmd_indx = msg['m'].indexOf(" "); var prizee = msg['m'].substring(cmd_indx+1, msg['m'].indexOf("::", cmd_indx+1)); var probb = parseInt(msg['m'].substring(msg['m'].indexOf("::", cmd_indx+1)+2)) if(megaPrizes[prizee] != undefined && !isNaN(probb)) { // megaPrizes[prizee]['prob'] = parseInt(probb); calculateProbs100(prizee, probb); cb.sendNotice("Changing the probability of mega prize " + prizee + ".", cb.room_slug, "", "", ""); } } else if(msg['m'].toLowerCase().localeCompare("/probs") == 0) { msg['X-Spam'] = true; for(var key in megaPrizes) { if(megaPrizes[key]['prob100'] == undefined) { cb.sendNotice(key + ": " + megaPrizes[key]['prob'], cb.room_slug, "", "", ""); } else { cb.sendNotice(key + ": " + megaPrizes[key]['prob'].toString().substring(0, 4) + " (" + megaPrizes[key]['prob100'].toString().substring(0, 4) + "%)", cb.room_slug, "", "", ""); } } } else if(msg['m'].toLowerCase().localeCompare("/bronoff") == 0) { msg['X-Spam'] = true; bronoff = !bronoff; if(bronoff) { cb.sendNotice("Battle Roll has been resumed! Try your luck against the bot.", "", "", "", "bold"); // cb.setTimeout(infoNotifier, 10000); } else { cb.sendNotice("Battle Roll has been paused!", "", "", "", "bold"); } } } function sendPrizeList(user) { var prizesString = ""; if(!bronoff) { prizesString += "!!!!Battle Roll is currently paused!!!!\n" } prizesString += "** Prizes: **"; for (var i = 0; i < prizes.length; i++) { prizesString += "\n"+prizes[i]; } for (var i = 0; i < trackPrizes.length; i++) { prizesString += "\n"+trackPrizes[i]; } if(useMegaPrizes) { prizesString += "\n** Mega Prizes: **" for(var key in megaPrizes) { prizesString += "\n"+key; } // for (var i = 0; i < megaPrizes.length; i++) { // prizesString += "\n"+megaPrizes[i]; // } // for (var i = 0; i < trackMegaPrizes.length; i++) { // prizesString += "\n"+trackMegaPrizes[i]; // } } if(!bronoff) { prizesString += "\n!!!!Battle Roll is currently paused!!!!" } cb.sendNotice(prizesString, user, "", "", ""); } function isBanned(user) { for (var i = 0; i < banned.length; i++) { if(banned[i] == user) { return true; } } } function updatePrizes(prize, isMega) { var found = false; if(isMega) { for(var key in megaPrizes) { if(key.toLowerCase() == prize.toLowerCase()) { delete megaPrizes[key]; found = true; break; } } // if(!found) { // for (var i = 0; i < trackMegaPrizes.length; i++) { // if(trackMegaPrizes[i].toLowerCase() == prize.toLowerCase()) { // trackMegaPrizes.splice(i, 1); // found = true; // break; // } // } // } if(Object.keys(megaPrizes).length+trackMegaPrizes.length == 0) { useMegaPrizes = false; } } else { var found = false; for (var i = 0; i < prizes.length; i++) { if(prizes[i].toLowerCase() == prize.toLowerCase()) { prizes.splice(i, 1); found = true; break; } } if(!found) { for (var i = 0; i < trackPrizes.length; i++) { if(trackPrizes[i].toLowerCase() == prize.toLowerCase()) { trackPrizes.splice(i, 1); found = true; break; } } } } return found; } function updateMega() { useMegaPrizes = true; if(!isEmpty(cb.settings['megaTipCap'])) { megaTipCap = cb.settings['megaTipCap']; } else { megaTipCap = tipCap - Math.floor(tipCap/10); } if(!isEmpty(cb.settings['megaPrizeProb'])) { megaPrizeProb = cb.settings['megaPrizeProb']; } else { megaPrizeProb = 10; } } function initStats() { statsPrizes['total'] = 0; statsPrizes['loss'] = 0; statsMegaPrizes['total'] = 0; statsMegaPrizes['loss'] = 0; } function updateStats(prize, tip, win) { if(win == 2) { statsMegaWinsCounter++; statsMegaPrizes['total']++; if(statsMegaPrizes[prize] == undefined) { statsMegaPrizes[prize] = 1; } else { statsMegaPrizes[prize]++; } } else { if(statsPrizes[prize] == undefined) { statsPrizes[prize] = 1; } else { statsPrizes[prize]++; } statsPrizes['total']++; if(win == 1) { // had chance to win mega, but didn't if(tip >= megaTipCap) { statsMegaPrizes['total']++; statsMegaPrizes['loss']++; } // } else if (win == 0) { // statsPrizes['loss']++; } } } function updateProbs() { var total = 0; for(var key in megaPrizes) { if(megaPrizes[key]['prob'] >= 0) { total += megaPrizes[key]['prob']; } } for(var key in megaPrizes) { megaPrizes[key]['prob100'] = megaPrizes[key]['prob']/total*100; } } function calculateProbs100(prize, perc) { var origval = megaPrizes[prize]['prob']; var sum = 0; for(var k in megaPrizes) { sum += megaPrizes[k]['prob']; } var probb = perc*sum/100; var dif = origval - probb; dif = dif / (Object.keys(megaPrizes).length-1); for(var key in megaPrizes) { megaPrizes[key]['prob'] += dif; } megaPrizes[prize]['prob'] = probb; updateProbs(); // make sure nothing ever goes below 1% - compensate by stealing % from rest for(var key in megaPrizes) { if(megaPrizes[key]['prob100'] < 1) { calculateProbs100(key, 3) } } } function printStats() { var pStats = "** Prizes **"; for(var key in statsPrizes) { var perc = (statsPrizes[key]/statsPrizes['total'])*100; if(isNaN(perc)) perc = 0; perc = perc.toString().substring(0, 4); pStats += "\n"+key + ": " + statsPrizes[key] + " (" + perc + "%)"; } var pmStats = "** MegaPrizes **"; for(var key in statsMegaPrizes) { var perc = (statsMegaPrizes[key]/statsMegaPrizes['total'])*100; if(isNaN(perc)) perc = 0; perc = perc.toString().substring(0, 4); if(!useProbs) { pmStats += "\n"+key + ": " + statsMegaPrizes[key] + " (" + perc + "%)"; } else { if(!(key == "total" || key == "loss" || megaPrizes[key] == undefined)) { var p = megaPrizes[key]['prob100'].toString().substring(0, 4); var relp = (statsMegaPrizes[key]/statsMegaWinsCounter)*100; if(isNaN(relp)) relp = 0; relp = relp.toString().substring(0, 4); pmStats += "\n"+key + ": " + statsMegaPrizes[key] + " (" + perc + "%) *** (rel: " + relp + "% set to: " + p + "%)"; } else { pmStats += "\n"+key + ": " + statsMegaPrizes[key] + " (" + perc + "%)"; } } } cb.sendNotice(pStats, cb.room_slug, "", "", ""); cb.sendNotice(pmStats, cb.room_slug, "", "", ""); } function is_broadcaster(msg) { return (msg['user'] == cb.room_slug); } function isEmpty(str) { return (typeof str == 'undefined' || 0 === str.length || str == 'undefined'); } cb.onMessage(function (msg) { if(msg['m'].toLowerCase() == "/p") { msg['X-Spam'] = true; cb.sendNotice("Prize list was sent to " + msg['user'], cb['room_slug'], "", "", ""); sendPrizeList(msg['user']); } if(is_broadcaster(msg)) { broadcasterCommands(msg); } else { if(tipTracker) { if(tippingUsers[msg['user']] != undefined) { if(msg['user'] == highestTipper) { msg['m'] = ":"+crownImg + " |"+tippingUsers[msg['user']]+"| " + msg['m']; } else { msg['m'] = "|"+tippingUsers[msg['user']]+"| " + msg['m']; } } } } }); function grabSettings() { tipCap = cb.settings['tipCap']; megaTipCap = cb.settings['megaTipCap']; if(!isEmpty(cb.settings['prizes'])) { prizes = cb.settings['prizes'].replace(/, /g, ","); prizes = prizes.split(","); } if(!isEmpty(cb.settings['trackPrizes'])) { trackPrizes = cb.settings['trackPrizes'].replace(/, /g, ","); trackPrizes = trackPrizes.split(","); } useProbs = true; if(!isEmpty(cb.settings['megaPrizes'])) { var mp = cb.settings['megaPrizes'].replace(/, /g, ","); mp = mp.split(","); for (var i = 0; i < mp.length; i++) { var curPrize = mp[i].split("|")[0]; var curProb = mp[i].split("|")[1]; if(isEmpty(curProb)) { curProb = -1; useProbs = false; } megaPrizes[curPrize] = []; megaPrizes[curPrize]['prob'] = parseInt(curProb); megaPrizes[curPrize]['tracked'] = false; } useMegaPrizes = true; megaPrizeProb = cb.settings['megaPrizeProb']; // for(var key in megaPrizes) { // cb.log(key + " " + megaPrizes[key]['prob'] + " " + megaPrizes[key]['tracked']) // } } if(!isEmpty(cb.settings['trackMegaPrizes'])) { var mp = cb.settings['trackMegaPrizes'].replace(/, /g, ","); mp = mp.split(","); for (var i = 0; i < mp.length; i++) { var curPrize = mp[i].split("|")[0]; var curProb = mp[i].split("|")[1]; if(isEmpty(curProb)) { curProb = -1; useProbs = false; } megaPrizes[curPrize] = []; megaPrizes[curPrize]['prob'] = parseInt(curProb); megaPrizes[curPrize]['tracked'] = true; } useMegaPrizes = true; megaPrizeProb = cb.settings['megaPrizeProb']; // for(var key in megaPrizes) { // cb.log(key + " " + megaPrizes[key]['prob'] + " " + megaPrizes[key]['tracked']) // } } if(cb.settings['showAllRolls'] == "yes") { showAllRolls = true; } if(!isEmpty(cb.settings['banned'])) { var bannedString = cb.settings['banned'].toLowerCase().replace(/, /g, ","); banned = bannedString.split(","); } updateProbs(); lossBackground = cb.settings['lossBackground']; lossText = cb.settings['lossText']; winBackground = cb.settings['winBackground']; winText = cb.settings['winText']; megaWinBackground = cb.settings['megaWinBackground']; megaWinText = cb.settings['megaWinText']; if(cb.settings['tipTracker'] == "on") tipTracker = true; if(!isEmpty(cb.settings['crownImg'])) crownImg = cb.settings['crownImg'].replace(/:/g, ""); } function infoNotifier() { if(bronoff) { if(useMegaPrizes) { cb.sendNotice("Play Battle Roll. Your tip equals your roll. Roll equal or higher than the bot to win. Tipping " + tipCap + " equals a 100% win chance. Tip equal or higher than " + megaTipCap + " to also have a chance at winning a Mega Prize! \n(Type /p for the prize list!)", "", "", "#900C3F", "bold"); } else { cb.sendNotice("Play Battle Roll. Your tip equals your roll. Roll equal or higher than the bot to win. Tipping " + tipCap + " equals a 100% win chance. \n(Type /p for the prize list!)", "", "", "#900C3F", "bold"); } } else { cb.sendNotice("Battle Roll is currently paused.", "", "", "#900C3F", "bold"); } cb.setTimeout(infoNotifier, 60000 * notifierTimer) } cb.onEnter(function(user) { if(cb.settings['welcomeMessage'] == "yes") { if(useMegaPrizes) { cb.sendNotice("Welcome " + user['user'] + "! Play Battle Roll. Your tip equals your roll. Roll equal or higher than the bot to win. Tipping " + tipCap + " equals a 100% win chance. Tip equal or higher than " + megaTipCap + " to also have a chance at winning a Mega Prize! \n(Type /p for the prize list!)", user['user'], "", "#900C3F", "bold"); } else { cb.sendNotice("Welcome " + user['user'] + "! Play Battle Roll. Your tip equals your roll. Roll equal or higher than the bot to win. Tipping " + tipCap + " equals a 100% win chance. \n(Type /p for the prize list!)", user['user'], "", "#900C3F", "bold"); } } }); function init() { grabSettings(); initStats(); if( !(isEmpty(cb.settings['notifier']) || cb.settings['notifier'] == "0") ) { notifierTimer = parseInt(cb.settings['notifier']); cb.setTimeout(infoNotifier, 10000) } } init();
© Copyright Chaturbate 2011- 2026. All Rights Reserved.