Apps Home
|
Create an App
CreamThot
Author:
norefractory
Description
Source Code
Launch App
Current Users
Created by:
Norefractory
var RoomSubject = "No refractory period, infinite orgasms! INSERTCUM #multicum #multiorgasm #multipleorgasms" var HourlyGoal = 50; var EatCum = 100; var UsersDesired = 20; var TokensToEat = EatCum; var OrgasmNumber = 0; var AllGasms = []; var StartTime = 0; var StartSet = 0; var Average = 0; var MinutesStreamed = 0; var TokensGained = 0; var UsersInChat = 0; var DesiredAttained = 0; cb.onEnter(function(user) { var enternotice = makenotice() + "\nPornHub page: PornHub.com/model/NANDgasm"; cb.chatNotice(enternotice,user['user'],'','#779ecb','bolder',''); UsersInChat++ if ((UsersInChat >= UsersDesired) && (StartSet == 0) && (DesiredAttained == 0)) { DesiredAttained = 1; cb.chatNotice("Isn't it about time to start jerking off?",'','#ffb347','#ffffff','bolder',''); } }); cb.onLeave(function(user) { UsersInChat-- }); cb.onMessage(function (msg) { if (msg['m'].match(/^.$/i) && msg['user'].match(/^NoRefractory$/i)) { msg['X-Spam'] = true; msg['background'] = '#000000'; if (StartSet == 0) { StartSet = 1; StartTime = MinutesStreamed; var jerkstart = "Started jerking off " + returntime(MinutesStreamed) + " into the stream!"; cb.chatNotice(jerkstart,'','#77dd77','#ffffff','bolder',''); } else { if (OrgasmNumber < 1) { AllGasms[OrgasmNumber] = MinutesStreamed - StartTime; } else { var newtime = (MinutesStreamed - StartTime)-AllGasms.reduce(add); AllGasms[OrgasmNumber] = newtime; } if (OrgasmNumber > 1) { Average = Math.round(AllGasms.reduce(add)/AllGasms.length); } OrgasmNumber = OrgasmNumber+1; updateorgasms(); var tokeeatphrase = EatCum + " " + plural(EatCum, "token"); var progressphrase = TokensToEat + " " + plural(TokensToEat, "token"); var wereorwas = wasorwere(EatCum); if (TokensToEat < 1) { var eatphrase = "At least " + tokeeatphrase + " " + wereorwas + " tipped within the last orgasm and this one. Time to eat cum!" var noticecolor = "#ffd1dc"; } else { if (tokeeatphrase == progressphrase) { var eatphrase = "No tokens were tipped within the last orgasm and this one..." } else { var eatphrase = "At least " + tokeeatphrase + " " + wereorwas + " not tipped within the last orgasm and this one. Cum will not be eaten and the progress has been reset from " + progressphrase + " remaining to " + tokeeatphrase + " remaining." } var noticecolor = "#d2d3d5"; } cb.chatNotice(eatphrase,'',noticecolor,'','bold',''); TokensToEat = EatCum; } } else if (msg['m'].match(/((?:(?:https?|ftp|file):\/\/|www\.|ftp\.)(?:\([-A-Z0-9+&@#\/%=~_|$?!:,.]*\)|[-A-Z0-9+&@#\/%=~_|$?!:,.])*(?:\([-A-Z0-9+&@#\/%=~_|$?!:,.]*\)|[A-Z0-9+&@#\/%=~_|$]))/i)) { msg['X-Spam'] = true; msg['background'] = '#000000'; cb.chatNotice("Links are not allowed and will not show up for anyone in the chat.",msg['user'],'','#ff0000','bolder',''); } return msg; }); cb.onTip(function (tip) { TokensGained += parseInt(tip['amount']) TokensToEat -= parseInt(tip['amount']) var tipphrase = tipmeaning(TokensGained); var areoris = isorare(TokensToEat); cb.chatNotice(tipphrase,'','#000000','#ffffff','',''); if (TokensToEat > 0) { var iftipped = "If " + TokensToEat + " more " + plural(TokensToEat, "token") + " " + areoris + " tipped before the next orgasm, cum will be eaten!"; cb.chatNotice(iftipped,'','#b19cd9','','bold',''); } cb.drawPanel(); }); function tipmeaning(tokens) { var tokenphrase = tokens + " " + plural(tokens, "token"); var dollars = ((tokens*5)/100).toFixed(2); var seshlength = returntime(MinutesStreamed); var haveorhas = hasorhave(tokens); var moneyblurb = tokenphrase + " " + haveorhas + " been tipped in total this session, which is equal to about $" + dollars + ". This session has been going for " + seshlength + "."; return moneyblurb } function plural(number, word) { if (number == 1) {return word} else {return word+'s'} } function hasorhave(amount) { if (amount == 1) {return "has"} else {return "have"} } function wasorwere(amount) { if (amount == 1) {return "was"} else {return "were"} } function isorare(amount) { if (amount == 1) {return "is"} else {return "are"} } function add(a, b){return a + b;} function updateorgasms() { var orgasmphrase = OrgasmNumber + " " + plural(OrgasmNumber, "orgasm"); if (Average > 0) { var realaverage = returntime(Average); orgasmphrase = orgasmphrase + " so far, cumming every " + realaverage + " on average!" } else { orgasmphrase = orgasmphrase + " so far." } cb.changeRoomSubject(RoomSubject.replace("INSERTCUM", orgasmphrase)); cb.drawPanel(); } function countmins() { MinutesStreamed = MinutesStreamed+1; if (Average > 0) { if ((AllGasms.reduce(add) + Average) < (MinutesStreamed - StartTime)) { Average = 0; cb.chatNotice('Average missed!','','#ff6961','#ffffff','bold',''); updateorgasms(); } } if (MinutesStreamed % 15 == 0) { var remindnotice = makenotice() cb.chatNotice(remindnotice,'','','#779ecb','',''); } cb.setTimeout(countmins, 60000); } function returntime(minutes) { var hours = Math.floor(minutes/60); minutes = minutes-(hours*60); if (minutes > 0 && hours > 0) { var time = hours + " " + plural(hours, "hour") + " and " + minutes + " " + plural(minutes, "minute"); } else if (hours > 0) { var time = hours + " " + plural(hours, "hour"); } else { var time = minutes + " " + plural(minutes, "minute"); } return time; } function makenotice() { var currgoal = (Math.round(MinutesStreamed/60))*HourlyGoal; var tokengoalphrase = HourlyGoal + " " + plural(HourlyGoal, "token"); if (TokensGained >= currgoal && currgoal > 0) { var goalblurb = "\nWe're currently doing well with our hourly goal of " + tokengoalphrase + "!"; } else if (currgoal > 0) { var goalblurb = "\nCurrently we're not quite up to our hourly goal of " + tokengoalphrase + "."; } else { var goalblurb = ""; } var tokeeatphrase = EatCum + " " + plural(EatCum, "token"); var progressphrase = TokensToEat + " " + plural(TokensToEat, "token"); var werewas = wasorwere(EatCum); var areis = isorare(TokensToEat); if (TokensToEat < 1) { var eatphrase = "\nAt least " + tokeeatphrase + " " + werewas + " tipped since the last orgasm so the next one will involve cum eating!" } else { var eatphrase = "\nIf " + progressphrase + " " + areis + " tipped before the next orgasm, cum will be eaten." } var notice = "This stream has been running for " + returntime(MinutesStreamed) + "." + goalblurb + eatphrase; if (OrgasmNumber > 0) { var minsincelast = MinutesStreamed-AllGasms.reduce(add); var timesincelast = returntime(minsincelast); notice = "It's been " + timesincelast + " since the last orgasm. " + notice; } return notice; } cb.onDrawPanel(function(viewer) { var currgoal = (Math.round(MinutesStreamed/60))*HourlyGoal; var cumeatprogress = EatCum-TokensToEat; if (TokensGained >= currgoal) { var hourlabel = "Keep going!!!" } else { var hourlabel = "Keep going?" } if (cumeatprogress >= EatCum) { var cumlabel = "Eat cum!!!" } else { var cumlabel = "Eat cum?" } return { 'template' : '3_rows_of_labels', 'row1_label': "Goals", 'row1_value': "Progress", 'row2_label': hourlabel, 'row2_value': TokensGained + " / " + currgoal, 'row3_label': cumlabel, 'row3_value': cumeatprogress +" / " + EatCum } }); cb.setTimeout(countmins, 60000); updateorgasms();
© Copyright Chaturbate 2011- 2025. All Rights Reserved.