Apps Home
|
Create an App
spooky dice test
Author:
pluckysub
Description
Source Code
Launch App
Current Users
Created by:
Pluckysub
/*~~~~~~~~~~~~~~~~~ ~~Lucy Lash's Spooky Dice ~~Version: 1.0.0 ~~Author: Pluckysub ~~Date: 27-10-2020 ~~~~~~~~~~~~~~~~~~~ */ cb.settings_choices = [ { name: 'theme', type: 'choice', label: 'Colour theme', choice1: 'Orange', choice2: 'Gradient Orange', choice3: 'Green', choice4: 'Gradient Green', choice5: 'Black', choice6: 'Gradient Black', default: 'Gradient Orange' }, { name: 'grad_dir', type: 'choice', label: 'If using a gradient, which direction would you like it? (dark to light)', choice1: 'to right', choice2: 'to right bottom', choice3: 'to right top', choice4: 'to top', choice5: 'to bottom', choice6: 'to left', choice7: 'to left bottom', choice8: 'to left top' }, { name: 'host_name', type: 'str', label: 'How would you like the app to refer to YOU?', default: 'Mistress Lucy Lash' }, { name: 'task_tokens', type: 'int', minValue: 0, label: 'How much do you want to charge per punishment (0 to disable tasks)', defaultValue: 30 }, { name: 'trick_tokens', type: 'int', minValue: 0, label: 'How much do you want to charge Spooky Cum task (0 to disable tasks)', defaultValue: 66 }, { name: 'spooky_tokens', type: 'int', minValue: 0, label: 'How much do you want to charge Spooky Cum task (0 to disable tasks)', defaultValue: 666 }, { name: 'App_add_time', type: 'choice', label: 'How often should the app advertise itself?', choice1: 2, choice2: 5, choice3: 10, choice4: 15, choice5: 20, choice6: 30, choice7: 45, choice8: 60, defaultValue: 10 }, { name: 'Rare_rolls', type: 'choice', label: 'Rare rolls enabled? (Make sure to set your own Rare options)', choice1: 'Yes', choice2: 'No', defaultValue: 'No' }, { name: 'rare_percent', type: 'int', label: 'What percentage of rolls should be rare (using all 20 options, each roll is 5% chance)', minValue: 0, maxValue: 20, defaultValue: 2 }, { name: 't_number', type: 'int', minValue: 0, maxValue: 20, label: 'How many punishments - all fields required, will only roll up to specified number', defaultValue: 15 }, {name: 'task_1', type: 'str', label: 'Spooky task for rolling 1', default: 'Embarrassing Confession In Chat'}, {name: 'task_2', type: 'str', label: 'Spooky task for rolling 2', default: 'Put On Something Girly, Tell Us What It Is'}, {name: 'task_3', type: 'str', label: 'Spooky task for rolling 3', default: 'Wear A Chastity Cage Until Mistress Says So'}, {name: 'task_4', type: 'str', label: 'Spooky task for rolling 4', default: 'Stroke With 2 Fingers (No Thumb) for 5 Minutes'}, {name: 'task_5', type: 'str', label: 'Spooky task for rolling 5', default: 'Edge Then Go Soft'}, {name: 'task_6', type: 'str', label: 'Spooky task for rolling 6', default: 'Edge Twice Then Go Soft'}, {name: 'task_7', type: 'str', label: 'Spooky task for rolling 7', default: 'Edge 5 Times Then Go Soft'}, {name: 'task_8', type: 'str', label: 'Spooky task for rolling 8', default: 'Edge For 20 Times Then Go Soft'}, {name: 'task_9', type: 'str', label: 'Spooky task for rolling 9', default: 'Body Writing Mistress Chooses Wording: Chest'}, {name: 'task_10', type: 'str', label: 'Spooky task for rolling 10', default: 'Body Writing Mistress Chooses Wording: Ass'}, {name: 'task_11', type: 'str', label: 'Spooky task for rolling 11', default: 'Body Writing Mistress Chooses Wording: Cock'}, {name: 'task_12', type: 'str', label: 'Spooky task for rolling 12', default: 'Suck A Dildo For 5 Minutes'}, {name: 'task_13', type: 'str', label: 'Spooky task for rolling 13', default: 'Deephthroat A Dildo 5 Times'}, {name: 'task_14', type: 'str', label: 'Spooky task for rolling 14', default: 'Deephthroat A Dildo 20 Times'}, {name: 'task_15', type: 'str', label: 'Spooky task for rolling 15', default: 'Deephthroat A Dildo For 20 Seconds (Keep Trying!)'}, {name: 'task_16', type: 'str', label: 'Spooky task for rolling 16', default: 'Tease Your Boi-Pussy'}, {name: 'task_17', type: 'str', label: 'Spooky task for rolling 17', default: 'Finger Your Ass, 2 Fingers'}, {name: 'task_18', type: 'str', label: 'Spooky task for rolling 18', default: 'Fuck Your Ass With A Dildo Slow'}, {name: 'task_19', type: 'str', label: 'Spooky task for rolling 19', default: 'Fuck Your Ass With A Dildo Fast'}, {name: 'task_20', type: 'str', label: 'Spooky task for rolling 20', default: 'Super Unlucky, Mistress Will Give You 2 Tasks & A Punishment!'}, { name: 'rare_t_number', type: 'int', minValue: 0, maxValue: 5, label: 'How many RARE tasks - all fields required, will only roll up to specified number', defaultValue: 5 }, {name: 'rtask_1', type: 'str', label: 'Rare Spooky task for rolling 1', default: 'Fuck a shoe'}, {name: 'rtask_2', type: 'str', label: 'Rare Spooky task for rolling 2', default: 'Stay plugged for 24 hours'}, {name: 'rtask_3', type: 'str', label: 'Rare Spooky task for rolling 3', default: 'Wear A Chastity Cage Until Mistress Says So'}, {name: 'rtask_4', type: 'str', label: 'Rare Spooky task for rolling 4', default: 'Stroke with Tomato Ketchup as lube'}, {name: 'rtask_5', type: 'str', label: 'Rare Spooky task for rolling 5', default: 'Trick or Treat? Mistress decides!'}, { name: 's_number', type: 'int', minValue: 0, maxValue: 5, label: 'How many punishments - all fields required, will only roll up to specified number', defaultValue: 5 }, {name: 'spooks_1', type: 'str', label: 'Spooky Cum option 1', default: 'Self Facial'}, {name: 'spooks_2', type: 'str', label: 'Spooky Cum option 2', default: 'Cum on a candle'}, {name: 'spooks_3', type: 'str', label: 'Spooky Cum option 3', default: 'In condom, drink it'}, {name: 'spooks_4', type: 'str', label: 'Spooky Cum option 4', default: 'On your cell phone, dont clean'}, {name: 'spooks_5', type: 'str', label: 'Spooky Cum option 5', default: 'From anal only'} ]; var price = cb.settings.tokens; var winners = []; var spooks = []; var task = []; var msg = '--'; var font_size, font_weight, font_colour, light_colour, dark_colour; if (cb.settings.theme == "Orange") { font_size = 11; font_weight = "bold"; font_colour = "#913800"; light_colour = "#ed6f00"; dark_colour = "#007d04"; } else if (cb.settings.theme == "Gradient Orange") { font_size = 11; font_weight = "bold"; font_colour = "#913800"; light_colour = "linear-gradient(" + cb.settings.grad_dir + ",#fc9235,#b85600)"; dark_colour = "#007d04"; } else if (cb.settings.theme == "Green") { font_size = 11; font_weight = "bold"; font_colour = "#007d04"; light_colour = "#3bad3f"; dark_colour = "#913800"; } else if (cb.settings.theme == "Gradient Green") { font_size = 11; font_weight = "bold"; font_colour = "#007d04"; light_colour = "linear-gradient(" + cb.settings.grad_dir + ",#4ecf53,#05820a)"; dark_colour = "#913800"; } else if (cb.settings.theme == "Black") { font_size = 11; font_weight = "bold"; font_colour = "#000000"; light_colour = "#000000"; dark_colour = "#913800"; } else if (cb.settings.theme == "Gradient Black") { font_size = 11; font_weight = "bold"; font_colour = "#000000"; light_colour = "linear-gradient(" + cb.settings.grad_dir + ",#454545,#000000)"; dark_colour = "#913800"; } cb.onTip(function (tip) { var roll_1 = Math.floor(Math.random() * cb.settings.t_number + 1) var roll_2 = Math.floor(Math.random() * cb.settings.rare_t_number + 1) var roll_3 = Math.floor(Math.random() * cb.settings.s_number + 1) var roll_4 = Math.floor(Math.random() * 2 + 1) var roll_A = Math.floor(Math.random() * 100 + 1) var msg = " " if (tip['amount'] === cb.settings.task_tokens) { if (roll_A >= (100 - cb.settings.rare_percent) && cb.settings.Rare_rolls === 'Yes') { msg += ("Spooky Task! But spookier :pumpkinsmall " + cb.settings['rtask_' + roll_2]); } else { msg += ("Spooky Task! You rolled a " + roll_1 + " :pumpkinsmall " + cb.settings['task_' + roll_1]); } } if (tip['amount'] === cb.settings.spooky_tokens) { msg += ("Spooky Cum Task! You rolled a " + roll_3 + " :pumpkinsmall " + cb.settings['spooks_' + roll_3]); } if (tip['amount'] === cb.settings.trick_tokens) { if (roll_4 === 1) { msg += ("Trick or Treat?... :quartercointoss \n"); cb.setTimeout(parseInt(1) * 3000); msg += ("Trick!"); } else { msg += ("Trick or Treat?... :quartercointoss \n"); cb.setTimeout(parseInt(1) * 3000); msg += ("Treat!"); } } cb.sendNotice(msg, light_colour, light_colour, dark_colour, 'bold'); }); cb.onEnter(function (user) { showAppAd(user['user']); }); cb.onMessage (function (msg) { var m = msg.m; var user = msg.user; var isMod = msg.is_mod; var isHost = user === cb.room_slug; var roll_1 = Math.floor(Math.random() * cb.settings.t_number + 1) var roll_2 = Math.floor(Math.random() * cb.settings.rare_t_number + 1) var roll_3 = Math.floor(Math.random() * cb.settings.s_number + 1) var roll_4 = Math.floor(Math.random() * 2 + 1) var roll_A = Math.floor(Math.random() * 100 + 1) // just check once if (m.charAt(0) === '/') { msg['X-Spam'] = true; } if (m.match(/\^Tasks/i) && cb.settings.task_tokens != 0) { if (isHost || isMod) { showTasks(); } else { showTasks(user); } } if (m.match(/\^Spooks/i) && cb.settings.spooky_tokens != 0) { if (isHost || isMod) { showSpooky(); } else { showSpooky(user); } } if (m.match(/2Task/i)) { if (isHost) { if (roll_A >= (100 - cb.settings.rare_percent) && cb.settings.Rare_rolls === 'Yes') { msg = (cb.settings.host_name + " has rolled you a Spooky Task :pumpkinsmall " + cb.settings['rtask_' + roll_2]); } else { msg = cb.settings.host_name + " has rolled you a Spooky Task :pumpkinsmall " + cb.settings['task_' + roll_1]; } } else { msg = "Don't push your luck, Pig!"; } cb.sendNotice(msg, light_colour, light_colour, dark_colour, 'bold'); } if (m.match(/2Spooks/i)) { if (isHost) { msg = cb.settings.host_name + " has rolled you a Spooky Cum Task :pumpkinsmall " + cb.settings['spooks_' + roll_3]; } else { msg = "Don't push your luck, Pig!"; } cb.sendNotice(msg, light_colour, light_colour, dark_colour, 'bold'); } if (m.match(/2Trick/i)) { if (isHost) { msg = cb.settings.host_name + " has chosen Trick or Treat! :pumpkinsmall\n"; if (roll_4 === 1) { msg += (":quartercointoss \n"); cb.setTimeout(parseInt(1) * 3000); msg += ("Trick!"); } else { msg += (":quartercointoss \n"); cb.setTimeout(parseInt(1) * 3000); msg += ("Treat!"); } } else { msg = "Don't push your luck, Pig!"; } cb.sendNotice(msg, light_colour, light_colour, dark_colour, 'bold'); } if (m.match(/\^HELP/i)) { if (isHost) { msg = "^Tasks - a full list of punishments. \n"; msg += "2Task - to roll a punishment as host. \n"; msg += "^Spooks - a full list of tasks. \n"; msg += "2Spooks - to roll a task as host.\n"; msg += "2Trick - to roll a trick or treat as host."; } else { msg = "^Task - a full list of punishments. \n"; msg += "^Spooks - a full list of tasks."; } cb.sendNotice(msg, light_colour, light_colour, dark_colour, 'bold'); } return msg; }); function setSpooky() { for (var i = 1; i <= cb.settings.s_number; i++) { spooks.push(cb.settings['spooks_' + i]); } } function setTasks() { for (var i = 1; i <= cb.settings.t_number; i++) { task.push(cb.settings['task_' + i]); } } function showSpooky(username) { if (spooks.length) { var msg = "~~~ POSSIBLE SPOOKY CUM TASKS (" + cb.settings.spooky_tokens + " tk) ~~~"; for (var i = 1; i <= cb.settings.s_number; i++) { if (spooks.indexOf(cb.settings['spooks_' + i]) >= 0) msg += "\nSpooky Cum Task " + i + " :pumpkinsmall " + cb.settings['spooks_' + i]; } } cb.sendNotice(msg, username, light_colour, dark_colour, 'bold'); } function showTasks(username) { if (task.length) { var msg = "~~~ POSSIBLE SPOOKY TASKS (" + cb.settings.task_tokens + " tk) ~~~"; for (var i = 1; i <= cb.settings.t_number; i++) { if (task.indexOf(cb.settings['task_' + i]) >= 0) msg += "\nSpooky Task " + i + " :pumpkinsmall " + cb.settings['task_' + i]; } } cb.sendNotice(msg, username, light_colour, dark_colour, 'bold'); } function advertise() { showAppAd(); cb.setTimeout(advertise, parseInt(cb.settings.App_add_time) * 60000); } function showAppAd(username) { var msg = ""; if (username != undefined) { msg += ":pumpkinsmall Welcome, " + username + ", come and be punished, ask for a task, or be a good sissy! If you are lucky you may even be rewarded! \n"; } else { msg += ":pumpkinsmall Lucy Lash's Spooky Dice by xPluckySubx \n"; msg += ":pumpkinsmall Come and be a good zombie for " + cb.settings.host_name + "\n"; msg += ":pumpkinsmall Each roll requests a Spooky Task or a Spooky Cum Task! \n"; if (cb.settings.t_tokens != 0) { msg += ":pumpkinsmall Tip " + cb.settings.t_tokens + " for a Spooky Task. Type ^Tasks for a full list of spooky tasks. \n"; } if (cb.settings.s_tokens != 0) { msg += ":pumpkinsmall Tip " + cb.settings.s_tokens + " for a Spooky Cum Task. Type ^Spooky for a full list of spooky cum tasks. \n"; } msg += ":pumpkinsmall Type ^Help to see the commands again." } cb.sendNotice(msg, light_colour, light_colour, dark_colour, 'bold'); } function init() { setTasks(); setSpooky(); advertise(); } init();
© Copyright Chaturbate 2011- 2024. All Rights Reserved.