Bots Home
|
Create an App
Glow Magic
Author:
garterxxx
Description
Source Code
Launch Bot
Current Users
Created by:
Garterxxx
// Title: Glow Magic // Author: Garter XXX // Version: 1.3 cb.settings_choices = [ { name: "prize", type: "str", label: "Prize", minLength: 1, maxLength: 255, defaultValue: "Private show" }, { name: "bias", type: "int", label: "Minimum Tip", minValue: 10, defaultValue: 10 } ]; var total = 0; var low = 0, lowUser = null; var high = 0, highUser = null; var winner = null; var nudged = {}; var base = 0; var SPAN = 90; var off = Math.floor(Math.random() * (SPAN + 1)); var lastSubject = ""; var panel = { template: "3_rows_of_labels", row1_label: "Total:", row1_value: "...", row2_label: "Closest Below:", row2_value: "...", row3_label: "Closest Above:", row3_value: "..." }; function sName(x){ return x ? (x.length > 12 ? x.slice(0,11) + "…" : x) : "--"; } function roomLabel(){ return cb.room_slug ? cb.room_slug + "'s" : "the"; } function setSubject(t){ if (t !== lastSubject){ cb.changeRoomSubject(t); lastSubject = t; } } function dm(u, t){ if(u && t){ cb.chatNotice(t, u); } } function redraw(){ var prize = cb.settings.prize || ""; var target = base + off; panel.row1_value = total; if (winner){ panel.row2_label = "Target:"; panel.row2_value = target; panel.row3_label = "Winner:"; panel.row3_value = winner; setSubject(["Glow Magic:", winner, "hit", target, "— wins", prize].join(" ")); } else { panel.row2_label = "Closest Below:"; panel.row2_value = low ? (low + " (" + sName(lowUser) + ")") : "..."; panel.row3_label = "Closest Above:"; panel.row3_value = high ? (high + " (" + sName(highUser) + ")") : "..."; var lo = low ? (low + 1) : base; var hi = high ? (high - 1) : (base + SPAN); var range = hi > lo ? (lo + ".." + hi) : ""; setSubject(["Tip", roomLabel(), "Glow", range, "to win", prize].filter(Boolean).join(" ")); } cb.drawPanel(); } cb.onTip(function(tip){ var amt = tip.amount | 0; var usr = tip.from_user || ""; if (!amt || !usr) return; total += amt; if (!base) base = cb.settings.bias || 10; var target = base + off; if (winner){ if (!nudged[usr]){ dm(usr, "Round finished. New round soon."); nudged[usr] = true; } redraw(); return; } if (amt < target){ if (!low || amt > low){ low = amt; lowUser = usr; } else if (!nudged[usr]){ dm(usr, "Higher."); nudged[usr] = true; } } else if (amt > target){ if (!high || amt < high){ high = amt; highUser = usr; } else if (!nudged[usr]){ dm(usr, "Lower."); nudged[usr] = true; } } else { winner = usr; } redraw(); }); cb.onDrawPanel(function(){ return panel; }); (function init(){ base = cb.settings.bias || 10; redraw(); })();
© Copyright Chaturbate 2011- 2026. All Rights Reserved.