Apps Home
|
Create an App
---
Author:
main_account
Description
Source Code
Launch App
Current Users
Created by:
Main_Account
//TinyColor v1.4.1 !function(a){function b(a,d){if(a=a?a:"",d=d||{},a instanceof b)return a;if(!(this instanceof b))return new b(a,d);var e=c(a);this._originalInput=a,this._r=e.r,this._g=e.g,this._b=e.b,this._a=e.a,this._roundA=P(100*this._a)/100,this._format=d.format||e.format,this._gradientType=d.gradientType,this._r<1&&(this._r=P(this._r)),this._g<1&&(this._g=P(this._g)),this._b<1&&(this._b=P(this._b)),this._ok=e.ok,this._tc_id=O++}function c(a){var b={r:0,g:0,b:0},c=1,e=null,g=null,i=null,j=!1,k=!1;return"string"==typeof a&&(a=K(a)),"object"==typeof a&&(J(a.r)&&J(a.g)&&J(a.b)?(b=d(a.r,a.g,a.b),j=!0,k="%"===String(a.r).substr(-1)?"prgb":"rgb"):J(a.h)&&J(a.s)&&J(a.v)?(e=G(a.s),g=G(a.v),b=h(a.h,e,g),j=!0,k="hsv"):J(a.h)&&J(a.s)&&J(a.l)&&(e=G(a.s),i=G(a.l),b=f(a.h,e,i),j=!0,k="hsl"),a.hasOwnProperty("a")&&(c=a.a)),c=z(c),{ok:j,format:a.format||k,r:Q(255,R(b.r,0)),g:Q(255,R(b.g,0)),b:Q(255,R(b.b,0)),a:c}}function d(a,b,c){return{r:255*A(a,255),g:255*A(b,255),b:255*A(c,255)}}function e(a,b,c){a=A(a,255),b=A(b,255),c=A(c,255);var d,e,f=R(a,b,c),g=Q(a,b,c),h=(f+g)/2;if(f==g)d=e=0;else{var i=f-g;switch(e=h>.5?i/(2-f-g):i/(f+g),f){case a:d=(b-c)/i+(c>b?6:0);break;case b:d=(c-a)/i+2;break;case c:d=(a-b)/i+4}d/=6}return{h:d,s:e,l:h}}function f(a,b,c){function d(a,b,c){return 0>c&&(c+=1),c>1&&(c-=1),1/6>c?a+6*(b-a)*c:.5>c?b:2/3>c?a+6*(b-a)*(2/3-c):a}var e,f,g;if(a=A(a,360),b=A(b,100),c=A(c,100),0===b)e=f=g=c;else{var h=.5>c?c*(1+b):c+b-c*b,i=2*c-h;e=d(i,h,a+1/3),f=d(i,h,a),g=d(i,h,a-1/3)}return{r:255*e,g:255*f,b:255*g}}function g(a,b,c){a=A(a,255),b=A(b,255),c=A(c,255);var d,e,f=R(a,b,c),g=Q(a,b,c),h=f,i=f-g;if(e=0===f?0:i/f,f==g)d=0;else{switch(f){case a:d=(b-c)/i+(c>b?6:0);break;case b:d=(c-a)/i+2;break;case c:d=(a-b)/i+4}d/=6}return{h:d,s:e,v:h}}function h(b,c,d){b=6*A(b,360),c=A(c,100),d=A(d,100);var e=a.floor(b),f=b-e,g=d*(1-c),h=d*(1-f*c),i=d*(1-(1-f)*c),j=e%6,k=[d,h,g,g,i,d][j],l=[i,d,d,h,g,g][j],m=[g,g,i,d,d,h][j];return{r:255*k,g:255*l,b:255*m}}function i(a,b,c,d){var e=[F(P(a).toString(16)),F(P(b).toString(16)),F(P(c).toString(16))];return d&&e[0].charAt(0)==e[0].charAt(1)&&e[1].charAt(0)==e[1].charAt(1)&&e[2].charAt(0)==e[2].charAt(1)?e[0].charAt(0)+e[1].charAt(0)+e[2].charAt(0):e.join("")}function j(a,b,c,d,e){var f=[F(P(a).toString(16)),F(P(b).toString(16)),F(P(c).toString(16)),F(H(d))];return e&&f[0].charAt(0)==f[0].charAt(1)&&f[1].charAt(0)==f[1].charAt(1)&&f[2].charAt(0)==f[2].charAt(1)&&f[3].charAt(0)==f[3].charAt(1)?f[0].charAt(0)+f[1].charAt(0)+f[2].charAt(0)+f[3].charAt(0):f.join("")}function k(a,b,c,d){var e=[F(H(d)),F(P(a).toString(16)),F(P(b).toString(16)),F(P(c).toString(16))];return e.join("")}function l(a,c){c=0===c?0:c||10;var d=b(a).toHsl();return d.s-=c/100,d.s=B(d.s),b(d)}function m(a,c){c=0===c?0:c||10;var d=b(a).toHsl();return d.s+=c/100,d.s=B(d.s),b(d)}function n(a){return b(a).desaturate(100)}function o(a,c){c=0===c?0:c||10;var d=b(a).toHsl();return d.l+=c/100,d.l=B(d.l),b(d)}function p(a,c){c=0===c?0:c||10;var d=b(a).toRgb();return d.r=R(0,Q(255,d.r-P(255*-(c/100)))),d.g=R(0,Q(255,d.g-P(255*-(c/100)))),d.b=R(0,Q(255,d.b-P(255*-(c/100)))),b(d)}function q(a,c){c=0===c?0:c||10;var d=b(a).toHsl();return d.l-=c/100,d.l=B(d.l),b(d)}function r(a,c){var d=b(a).toHsl(),e=(d.h+c)%360;return d.h=0>e?360+e:e,b(d)}function s(a){var c=b(a).toHsl();return c.h=(c.h+180)%360,b(c)}function t(a){var c=b(a).toHsl(),d=c.h;return[b(a),b({h:(d+120)%360,s:c.s,l:c.l}),b({h:(d+240)%360,s:c.s,l:c.l})]}function u(a){var c=b(a).toHsl(),d=c.h;return[b(a),b({h:(d+90)%360,s:c.s,l:c.l}),b({h:(d+180)%360,s:c.s,l:c.l}),b({h:(d+270)%360,s:c.s,l:c.l})]}function v(a){var c=b(a).toHsl(),d=c.h;return[b(a),b({h:(d+72)%360,s:c.s,l:c.l}),b({h:(d+216)%360,s:c.s,l:c.l})]}function w(a,c,d){c=c||6,d=d||30;var e=b(a).toHsl(),f=360/d,g=[b(a)];for(e.h=(e.h-(f*c>>1)+720)%360;--c;)e.h=(e.h+f)%360,g.push(b(e));return g}function x(a,c){c=c||6;for(var d=b(a).toHsv(),e=d.h,f=d.s,g=d.v,h=[],i=1/c;c--;)h.push(b({h:e,s:f,v:g})),g=(g+i)%1;return h}function y(a){var b={};for(var c in a)a.hasOwnProperty(c)&&(b[a[c]]=c);return b}function z(a){return a=parseFloat(a),(isNaN(a)||0>a||a>1)&&(a=1),a}function A(b,c){D(b)&&(b="100%");var d=E(b);return b=Q(c,R(0,parseFloat(b))),d&&(b=parseInt(b*c,10)/100),a.abs(b-c)<1e-6?1:b%c/parseFloat(c)}function B(a){return Q(1,R(0,a))}function C(a){return parseInt(a,16)}function D(a){return"string"==typeof a&&-1!=a.indexOf(".")&&1===parseFloat(a)}function E(a){return"string"==typeof a&&-1!=a.indexOf("%")}function F(a){return 1==a.length?"0"+a:""+a}function G(a){return 1>=a&&(a=100*a+"%"),a}function H(b){return a.round(255*parseFloat(b)).toString(16)}function I(a){return C(a)/255}function J(a){return!!V.CSS_UNIT.exec(a)}function K(a){a=a.replace(M,"").replace(N,"").toLowerCase();var b=!1;if(T[a])a=T[a],b=!0;else if("transparent"==a)return{r:0,g:0,b:0,a:0,format:"name"};var c;return(c=V.rgb.exec(a))?{r:c[1],g:c[2],b:c[3]}:(c=V.rgba.exec(a))?{r:c[1],g:c[2],b:c[3],a:c[4]}:(c=V.hsl.exec(a))?{h:c[1],s:c[2],l:c[3]}:(c=V.hsla.exec(a))?{h:c[1],s:c[2],l:c[3],a:c[4]}:(c=V.hsv.exec(a))?{h:c[1],s:c[2],v:c[3]}:(c=V.hsva.exec(a))?{h:c[1],s:c[2],v:c[3],a:c[4]}:(c=V.hex8.exec(a))?{r:C(c[1]),g:C(c[2]),b:C(c[3]),a:I(c[4]),format:b?"name":"hex8"}:(c=V.hex6.exec(a))?{r:C(c[1]),g:C(c[2]),b:C(c[3]),format:b?"name":"hex"}:(c=V.hex4.exec(a))?{r:C(c[1]+""+c[1]),g:C(c[2]+""+c[2]),b:C(c[3]+""+c[3]),a:I(c[4]+""+c[4]),format:b?"name":"hex8"}:(c=V.hex3.exec(a))?{r:C(c[1]+""+c[1]),g:C(c[2]+""+c[2]),b:C(c[3]+""+c[3]),format:b?"name":"hex"}:!1}function L(a){var b,c;return a=a||{level:"AA",size:"small"},b=(a.level||"AA").toUpperCase(),c=(a.size||"small").toLowerCase(),"AA"!==b&&"AAA"!==b&&(b="AA"),"small"!==c&&"large"!==c&&(c="small"),{level:b,size:c}}var M=/^\s+/,N=/\s+$/,O=0,P=a.round,Q=a.min,R=a.max,S=a.random;b.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var a=this.toRgb();return(299*a.r+587*a.g+114*a.b)/1e3},getLuminance:function(){var b,c,d,e,f,g,h=this.toRgb();return b=h.r/255,c=h.g/255,d=h.b/255,e=.03928>=b?b/12.92:a.pow((b+.055)/1.055,2.4),f=.03928>=c?c/12.92:a.pow((c+.055)/1.055,2.4),g=.03928>=d?d/12.92:a.pow((d+.055)/1.055,2.4),.2126*e+.7152*f+.0722*g},setAlpha:function(a){return this._a=z(a),this._roundA=P(100*this._a)/100,this},toHsv:function(){var a=g(this._r,this._g,this._b);return{h:360*a.h,s:a.s,v:a.v,a:this._a}},toHsvString:function(){var a=g(this._r,this._g,this._b),b=P(360*a.h),c=P(100*a.s),d=P(100*a.v);return 1==this._a?"hsv("+b+", "+c+"%, "+d+"%)":"hsva("+b+", "+c+"%, "+d+"%, "+this._roundA+")"},toHsl:function(){var a=e(this._r,this._g,this._b);return{h:360*a.h,s:a.s,l:a.l,a:this._a}},toHslString:function(){var a=e(this._r,this._g,this._b),b=P(360*a.h),c=P(100*a.s),d=P(100*a.l);return 1==this._a?"hsl("+b+", "+c+"%, "+d+"%)":"hsla("+b+", "+c+"%, "+d+"%, "+this._roundA+")"},toHex:function(a){return i(this._r,this._g,this._b,a)},toHexString:function(a){return"#"+this.toHex(a)},toHex8:function(a){return j(this._r,this._g,this._b,this._a,a)},toHex8String:function(a){return"#"+this.toHex8(a)},toRgb:function(){return{r:P(this._r),g:P(this._g),b:P(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+P(this._r)+", "+P(this._g)+", "+P(this._b)+")":"rgba("+P(this._r)+", "+P(this._g)+", "+P(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:P(100*A(this._r,255))+"%",g:P(100*A(this._g,255))+"%",b:P(100*A(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+P(100*A(this._r,255))+"%, "+P(100*A(this._g,255))+"%, "+P(100*A(this._b,255))+"%)":"rgba("+P(100*A(this._r,255))+"%, "+P(100*A(this._g,255))+"%, "+P(100*A(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":this._a<1?!1:U[i(this._r,this._g,this._b,!0)]||!1},toFilter:function(a){var c="#"+k(this._r,this._g,this._b,this._a),d=c,e=this._gradientType?"GradientType = 1, ":"";if(a){var f=b(a);d="#"+k(f._r,f._g,f._b,f._a)}return"progid:DXImageTransform.Microsoft.gradient("+e+"startColorstr="+c+",endColorstr="+d+")"},toString:function(a){var b=!!a;a=a||this._format;var c=!1,d=this._a<1&&this._a>=0,e=!b&&d&&("hex"===a||"hex6"===a||"hex3"===a||"hex4"===a||"hex8"===a||"name"===a);return e?"name"===a&&0===this._a?this.toName():this.toRgbString():("rgb"===a&&(c=this.toRgbString()),"prgb"===a&&(c=this.toPercentageRgbString()),("hex"===a||"hex6"===a)&&(c=this.toHexString()),"hex3"===a&&(c=this.toHexString(!0)),"hex4"===a&&(c=this.toHex8String(!0)),"hex8"===a&&(c=this.toHex8String()),"name"===a&&(c=this.toName()),"hsl"===a&&(c=this.toHslString()),"hsv"===a&&(c=this.toHsvString()),c||this.toHexString())},clone:function(){return b(this.toString())},_applyModification:function(a,b){var c=a.apply(null,[this].concat([].slice.call(b)));return this._r=c._r,this._g=c._g,this._b=c._b,this.setAlpha(c._a),this},lighten:function(){return this._applyModification(o,arguments)},brighten:function(){return this._applyModification(p,arguments)},darken:function(){return this._applyModification(q,arguments)},desaturate:function(){return this._applyModification(l,arguments)},saturate:function(){return this._applyModification(m,arguments)},greyscale:function(){return this._applyModification(n,arguments)},spin:function(){return this._applyModification(r,arguments)},_applyCombination:function(a,b){return a.apply(null,[this].concat([].slice.call(b)))},analogous:function(){return this._applyCombination(w,arguments)},complement:function(){return this._applyCombination(s,arguments)},monochromatic:function(){return this._applyCombination(x,arguments)},splitcomplement:function(){return this._applyCombination(v,arguments)},triad:function(){return this._applyCombination(t,arguments)},tetrad:function(){return this._applyCombination(u,arguments)}},b.fromRatio=function(a,c){if("object"==typeof a){var d={};for(var e in a)a.hasOwnProperty(e)&&(d[e]="a"===e?a[e]:G(a[e]));a=d}return b(a,c)},b.equals=function(a,c){return a&&c?b(a).toRgbString()==b(c).toRgbString():!1},b.random=function(){return b.fromRatio({r:S(),g:S(),b:S()})},b.mix=function(a,c,d){d=0===d?0:d||50;var e=b(a).toRgb(),f=b(c).toRgb(),g=d/100,h={r:(f.r-e.r)*g+e.r,g:(f.g-e.g)*g+e.g,b:(f.b-e.b)*g+e.b,a:(f.a-e.a)*g+e.a};return b(h)},b.readability=function(c,d){var e=b(c),f=b(d);return(a.max(e.getLuminance(),f.getLuminance())+.05)/(a.min(e.getLuminance(),f.getLuminance())+.05)},b.isReadable=function(a,c,d){var e,f,g=b.readability(a,c);switch(f=!1,e=L(d),e.level+e.size){case"AAsmall":case"AAAlarge":f=g>=4.5;break;case"AAlarge":f=g>=3;break;case"AAAsmall":f=g>=7}return f},b.mostReadable=function(a,c,d){var e,f,g,h,i=null,j=0;d=d||{},f=d.includeFallbackColors,g=d.level,h=d.size;for(var k=0;k<c.length;k++)e=b.readability(a,c[k]),e>j&&(j=e,i=b(c[k]));return b.isReadable(a,i,{level:g,size:h})||!f?i:(d.includeFallbackColors=!1,b.mostReadable(a,["#fff","#000"],d))};var T=b.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},U=b.hexNames=y(T),V=function(){var a="[-\\+]?\\d+%?",b="[-\\+]?\\d*\\.\\d+%?",c="(?:"+b+")|(?:"+a+")",d="[\\s|\\(]+("+c+")[,|\\s]+("+c+")[,|\\s]+("+c+")\\s*\\)?",e="[\\s|\\(]+("+c+")[,|\\s]+("+c+")[,|\\s]+("+c+")[,|\\s]+("+c+")\\s*\\)?";return{CSS_UNIT:new RegExp(c),rgb:new RegExp("rgb"+d),rgba:new RegExp("rgba"+e),hsl:new RegExp("hsl"+d),hsla:new RegExp("hsla"+e),hsv:new RegExp("hsv"+d),hsva:new RegExp("hsva"+e),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();"undefined"!=typeof module&&module.exports?module.exports=b:"function"==typeof define&&define.amd?define(function(){return b}):tinycolor=b}(Math); //end of tinycolor var colors = { red: { solid: "rgba(213, 0, 50, {})" }, blue: { solid: "rgba(24, 4, 103, {})" }, green: { solid: "rgba(0, 105, 0, {})" }, orange: { solid: "rgba(255, 124, 11, {})" }, purple: { solid: "rgba(97, 49, 117, {})" }, pink: { solid: "rgba(238, 19, 123, {})" }, yellow: { solid: "rgba(226, 238, 31, {})" }, brown: { solid: "rgba(100, 36, 36, {})" }, black: { solid: "rgba(0, 0, 0, {})" }, gray: { solid: "rgba(105,105,105,{})" }, white: { solid: "rgba(255, 255, 255,{})" }, crimson: { solid: "rgba(237, 20, 61,{})" }, violet: { solid: "rgba(238, 130, 238,{})" }, gold: { solid: "rgba(255, 215, 0,{})" }, maroon: { solid: "rgba(128, 0, 0,{})" }, wheat: { solid: "rgba(245, 222, 179,{})" }, cyan: { solid: "rgba(0, 255, 255,{})" }, magenta: { solid: "rgba(255, 0, 255,{})" }, navy: { solid: "rgba(0, 0, 128,{})" }, salmon: { solid: "rgba(250, 128, 114,{})" }, "matte black": { solid: "rgba(37, 37, 37,{})" }, teal: { solid: "rgba(0, 128, 128,{})" } } var gradients = { "star wine": ",linear-gradient(to right, #b8cbb8 0%, #b8cbb8 0%, #b465da 0%, #cf6cc9 33%, #ee609c 66%, #ee609c 100%)", "old hat": ",linear-gradient(to right, #e4afcb 0%, #b8cbb8 0%, #b8cbb8 0%, #e2c58b 30%, #c2ce9c 64%, #7edbdc 100%)", "deep blue": ",linear-gradient(to right, #6a11cb 0%, #2575fc 100%)", "shy rainbow": ",linear-gradient(120deg, #eea2a2 0%, #bbc1bf 19%, #57c6e1 42%, #b49fda 79%, #7ac5d8 100%)", "kind steel": ",linear-gradient(-20deg, #e9defa 0%, #fbfcdb 100%)", "sharp blue": ",linear-gradient(to right, #00c6fb 0%, #005bea 100%)", "soft cherish": ",linear-gradient(to right, #dbdcd7 0%, #dddcd7 24%, #e2c9cc 30%, #e7627d 46%, #b8235a 59%, #801357 71%, #3d1635 84%, #1c1a27 100%)", "premium dark": ",linear-gradient(to right, #434343 0%, black 100%)", "alchemist lab": ",linear-gradient(-20deg, #d558c8 0%, #24d292 100%)", "happy memories": ",linear-gradient(-60deg, #ff5858 0%, #f09819 100%)", "frozen berry": ",linear-gradient(to right, #e8198b 0%, #c7eafd 100%)", "young grass": ",linear-gradient(to right, #9be15d 0%, #00e3ae 100%)", "sea lord": ",linear-gradient(-225deg, #2CD8D5 0%, #C5C1FF 56%, #FFBAC3 100%)", "sugar lollipop": ",linear-gradient(-225deg, #A445B2 0%, #D41872 52%, #FF0066 100%)", "blessing": ",linear-gradient(to right, #fddb92 0%, #d1fdff 100%)", "happy fish": ",linear-gradient(to right,#89f7fe,#66a6ff)", "cold night": ",linear-gradient(315deg,#380036,#0CBABA)", "bloody morning": ",linear-gradient(to right,#B91372,#6B0F1A)", "mars conquest": ",linear-gradient(to right,#EC9F05,#FF4E00)", "silent birth": ",linear-gradient(30deg,#E61D8C,#C7E9FB)", "wet desert": ",linear-gradient(to right,#F9ABA4,#EFECEC)", "bloody snow": ",linear-gradient(to right,#FE0944,#FEAE96)", "pink lemon": ",linear-gradient(42deg,#ff706e,#ff163f,#ffce00)", "vicious stance": ",linear-gradient(60deg, #29323c 0%, #485563 100%)", "plum bath": ",linear-gradient(to right, #cc208e 0%, #6713d2 100%)" } var patterns = { scales: "url(https://camo.stream.highwebmedia.com/b4eaf093c8dda854edccbd661da58327e855a9ad/68747470733a2f2f7777772e7472616e73706172656e7474657874757265732e636f6d2f7061747465726e732f626c61636b2d7363616c65732e706e67)", threads: "url(https://camo.stream.highwebmedia.com/b99c8c01d67e5d6f70ffcf849bb199cc8b3aeefd/68747470733a2f2f7777772e7472616e73706172656e7474657874757265732e636f6d2f7061747465726e732f626c61636b2d7468726561642d6c696768742e706e67)", cartographer: "url(https://camo.stream.highwebmedia.com/83a27d6136f17adfc4405776eba8620360c8cab4/68747470733a2f2f7777772e7472616e73706172656e7474657874757265732e636f6d2f7061747465726e732f636172746f677261706865722e706e67)", luxury: "url(https://camo.stream.highwebmedia.com/f892aac6a0662ca56a9e1a6f5ba802dc06c5acfb/68747470733a2f2f7777772e7472616e73706172656e7474657874757265732e636f6d2f7061747465726e732f66616b652d6c75787572792e706e67)", flowers: "url(https://camo.stream.highwebmedia.com/92f9081c300e2e5c36cd483a7c955560752af3b8/68747470733a2f2f7777772e7472616e73706172656e7474657874757265732e636f6d2f7061747465726e732f666c6f776572732e706e67)", birds: "url(https://camo.stream.highwebmedia.com/a4c402e9ae6f355f0600fa21f0858873358031a4/68747470733a2f2f7777772e7472616e73706172656e7474657874757265732e636f6d2f7061747465726e732f666f6767792d62697264732e706e67)", food: "url(https://camo.stream.highwebmedia.com/2ac73f6836820f83b3146c1975cc83c90f6872d3/68747470733a2f2f7777772e7472616e73706172656e7474657874757265732e636f6d2f7061747465726e732f666f6f642e706e67)", floral: "url(https://camo.stream.highwebmedia.com/cdb2b13b73f8a32ffb5efc27b782351d6d63158f/68747470733a2f2f7777772e7472616e73706172656e7474657874757265732e636f6d2f7061747465726e732f677261792d666c6f72616c2e706e67)", cars: "url(https://camo.stream.highwebmedia.com/95b0ce8567b85f9d305facdb1971a1e66c99fdbd/68747470733a2f2f7777772e7472616e73706172656e7474657874757265732e636f6d2f7061747465726e732f706f6c6f6e657a2d7061747465726e2e706e67)", leaves: "url(https://camo.stream.highwebmedia.com/6aee812ed05c6d36ffba8b014841745ea27a9636/68747470733a2f2f7777772e7472616e73706172656e7474657874757265732e636f6d2f7061747465726e732f78762e706e67)", "this is my hecking jam": "url(https://camo.stream.highwebmedia.com/2ea0d41c1a5f6d6c5f4445846b25e3f94e4f87f0/68747470733a2f2f34302e6d656469612e74756d626c722e636f6d2f34613162306338663330376330343164336530613935636634386334353066662f74756d626c725f6e39706a36746f417a6f317233797468756f315f3530302e706e67)", dirty: "url(https://camo.stream.highwebmedia.com/bc6640b225f7fcb83600d3177c61cd5c7bb3c640/687474703a2f2f7777772e6f6e6c796766782e636f6d2f77702d636f6e74656e742f75706c6f6164732f323031362f31312f6772756e67652d6f7665726c61792d312e706e67)", geo: "url(https://camo.stream.highwebmedia.com/fd8bff0cb016d3198921f5117c4c5d323dcf16d9/687474703a2f2f63646e2e706978616261792e636f6d2f70686f746f2f323031382f30312f30322f31342f34382f67656f6d65747269632d333035363335335f313238302e706e67)" } // favourite fonts "Matura MT Script Capitals", "Old English Text MT", "Segoe UI Black" var fonts = ["Agency FB","Algerian","Arial Black","Arial Rounded MT Bold", "Bauhaus 93","Bernard MT Condensed","Blackadder ITC","Bodoni MT Black", "Bodoni MT Condensed","Bookshelf Symbol 7","Bradley Hand ITC","Broadway", "Brush Script MT","Castellar","Century Gothic","Chiller","Curlz MT", "Edwardian Script ITC","Engravers MT","Felix Titling","Forte","Gabriola", "Gigi","Goudy Stout","Harrington","Informal Roman","Jokerman","Lucida Handwriting", "MS Gothic","MS Reference Specialty","Magneto","Matura MT Script Capitals","OCR B MT", "Old English Text MT","Ravie","Segoe Script","Segoe UI Black","Viner Hand ITC","Vivaldi"] var place_nouns = ["wood", "forest", "copse", "bush", "trees", "stand","hollow", "valley", "vale", "glen","dell","desert", "scrub", "waste", "wasteland", "sands", "dunes","volcano", "crater", "cone", "geyser", "lava fields","ocean","sea","coast", "beach", "shore", "strand","river", "stream", "creek", "brook", "waterway", "rill","dam", "dike", "bar", "canal", "ditch","clearing", "meadow", "grove", "glade", "fairy ring","battlefield", "trenches", "gambit", "folly", "conquest", "claim", "muster", "post", "mine", "quarry", "shaft", "vein","parsonage", "rectory", "vicarge", "friary", "priory","sewer", "gutter", "catacombs", "dump", "middens", "pipes", "baths", "heap","tower", "turret", "belfry","mirror", "glass", "mere"] var place_adjectives = ["amazing", "attractive", "awe-inspiring", "beautiful", "breath-taking", "broad", "busy", "buzzing", "captivating", "challenging", "congested", "convenient", "cosmopolitan", "crowded", "dangerous", "delightful", "depressing", "deserted", "desolate", "disappointing", "distinctive", "dramatic", "dull", "enchanting", "exceptional", "exciting", "exposed", "famous", "fantastic", "forgettable", "green", "high-tech", "historic", "huge", "iconic", "impressive", "infamous", "isolated", "magnificent", "manic", "medium-sized", "memorable", "modern", "natural", "noisy", "peaceful", "picturesque", "polluted", "quaint", "relaxing", "remote", "romantic","ruptured", "rural", "safe", "scenic", "sheltered", "slow-paced", "stunning", "tiny", "traditional", "unforgettable", "unspoilt", "urban", "wild"] var map_objects = { "a": {message:"dats a acorn",color:"#91300d"},//acorn "b": {message:"dats a bird",color:"#49bddd"},//bird "c": {message:"ohhh look at that, its a corn.",color:"#e68000"},//corn "d": {message:"dats a dragon\nYou have died.",color:"#ce0029"},//dragon "e": {message:"dats a elf",color:"#75e5e1"},//elf "f": {message:"A bright light shines upon you.\nYou have won.",color:"#ffb100"},//finish line "g": {message:"dats a goblin\nYou have died.",color:"#048c58"}, //goblin "h": {message:"dats a harpy\nYou have died.",color:"#480199"},//harpy "i": {message:"dis a island",color:"#d3ae2a"},//island "j": {message:"dis is jewels",color:"#fc0a36"},//jewels "k": {message:"dats a kraken\nYou have died.",color:"#1a26ad"},//kraken "l": {message:"dats a lion\nYou have died.",color:"#f27d30"},//lion "m": {message:"A vast mountain enters your vision",color:"#824b4b"},//mountain "n": {message:"dats a nightwalker\nYou have died.",color:"#000"},//nightwalker "o": {message:"An orc with a battle axe stops your path.\nYou have died.",color:"#007100"},//orc "p": {message:"dats a pumpkin",color:"#ed753d"},//pumpkin "q": {message:"dis a quail",color:"#1eb2e8"},//quail "r": {message:"dats a river",color:"#0675d6"},//river "s": {message:"A glowing ring surrounds you",color:"#afb300"},//starting zone "t": {message:"dats a turtle",color:"#16c97e"},//turtle "u": {message:"dats a unicorn",color:"#ff99ff"},//unicorn "v": {message:"You see a small village in the distance.",color:"#a52a2a"},//village "w": {message:"A black witch emerges from the shadows.\nYou have died.",color:"#5c00ff"},//witch "x": {message:"dats a axe",color:"#a5a5a5"},//axe "y": {message:"dis a yak",color:"#ad3f29"},//yak "z": {message:"dats a zombie\nYou have died.",color:"#036d36"}//zombie } var map_keys = Object.keys(map_objects) //limited supply var stickerCollection = [":fire_extinguisher_sticker", ":football_sticker", ":tree_trunk_sticker", ":cauldron_sticker", ":jellyfish_sticker", ":chicken_sticker", ":phone_sticker", ":ice_cream_sticker", ":bulb_sticker", ":shopping_bag_sticker", ":corn_sticker", ":bacon_sticker", ":test_tube_sticker", ":donut_sticker", ":computer_sticker", ":bathtub_sticker", ":cookie_sticker", ":toaster_sticker", ":bell_sticker", ":cherry_sticker", ":candle_sticker", ":cake_sticker", ":ferris_wheel_sticker", ":toilet_paper_sticker", ":teapot_sticker", ":ghost_sticker", ":medal_sticker", ":tooth_sticker", ":flag_sticker", ":fish_sticker", ":money_sticker", ":balloon_sticker", ":map_sticker", ":snail_sticker", ":crab_sticker", ":frog_sticker", ":exam_sticker", ":key_sticker", ":apple_sticker", ":flask_sticker", ":ant_sticker", ":coffee_sticker", ":toast_sticker", ":pineapple_sticker", ":danger_sticker", ":gift_sticker", ":planet_sticker", ":cotton_candy_sticker"]; //":owl_sticker", ":flowers_sticker", ":hydra_sticker", ":dragon_sticker", ":red_fish_sticker", ":tree_sticker", ":leaf_sticker", ":scarecrow_sticker", ":squid_sticker", ":orange_fish_sticker", //unlimited supply var stickerStore = [ ":shark_sticker", ":sea_urchin_sticker", ":seahorse_sticker", ":fire_extinguisher_sticker", ":football_sticker", ":tree_trunk_sticker", ":cauldron_sticker", ":jellyfish_sticker", ":chicken_sticker", ":phone_sticker", ":ice_cream_sticker", ":bulb_sticker", ":shopping_bag_sticker", ":corn_sticker", ":bacon_sticker", ":test_tube_sticker", ":donut_sticker", ":computer_sticker", ":bathtub_sticker", ":cookie_sticker", ":toaster_sticker", ":bell_sticker", ":cherry_sticker", ":candle_sticker", ":cake_sticker", ":ferris_wheel_sticker", ":toilet_paper_sticker", ":teapot_sticker", ":ghost_sticker", ":medal_sticker", ":tooth_sticker", ":flag_sticker", ":fish_sticker", ":money_sticker", ":balloon_sticker", ":map_sticker", ":snail_sticker", ":crab_sticker", ":frog_sticker", ":exam_sticker", ":key_sticker", ":apple_sticker", ":flask_sticker", ":ant_sticker", ":coffee_sticker", ":toast_sticker", ":pineapple_sticker", ":danger_sticker", ":gift_sticker", ":planet_sticker", ":cotton_candy_sticker"]; var wordList = ["anencephalous", "argle-bargle", "batrachomyomachy", "billingsgate", "bloviate", "blunderbuss", "borborygm", "boustrophedon", "bowyang", "brouhaha", "bumbershoot", "callipygian", "canoodle", "cantankerous", "catercornered", "cockalorum", "cockamamie", "codswallop", "collop", "collywobbles", "comeuppance", "crapulence", "crudivore", "discombobulate", "donnybrook", "doozy", "dudgeon", "ecdysiast", "eructation", "fard", "fartlek", "fatuous", "filibuster", "firkin", "flibbertigibbet", "flummox", "folderol", "formication", "fuddy-duddy", "furbelow", "furphy", "gaberlunzie", "gardyloo!", "gastromancy", "gazump", "gobbledygook", "gobemouche", "godwottery", "gongoozle", "gonzo", "goombah", "hemidemisemiquaver", "hobbledehoy", "hocus-pocus", "hoosegow", "hootenanny", "jackanapes", "kerfuffle", "klutz", "la-di-da", "lagopodous", "lickety-split", "lickspittle", "logorrhea", "lollygag", "malarkey", "maverick", "mollycoddle", "mugwump", "mumpsimus", "namby-pamby", "nincompoop", "oocephalus", "ornery", "pandiculation", "panjandrum", "pettifogger", "pratfall", "quean", "rambunctious", "ranivorous", "rigmarole", "shenanigan", "sialoquent", "skedaddle", "skullduggery", "slangwhanger", "smellfungus", "snickersnee", "snollygoster", "snool", "tatterdemalion", "troglodyte", "turdiform", "unremacadamized"]; var activeWord = ""; var activeSticker = ""; var gameMode = ""; var claimed = false; var admin = cb.room_slug class User { constructor(name, points, bColor = "white", tone = .1) { this.name = name; this.points = points; this.bColor = bColor; this.fColor = "black"; this.font = "monospace"; this.tone = tone; this.stickers = []; this.mode = "solid"; //solid, gradient this.gradient = ""; this.participated = false; //played game this round this.rankReward = false; //displayed the fontcolor and gradient message this.shoping = "passive"; this.pattern = ""; this.pointsCap = false; } findRank(points) { let newTone; switch (true) { case (points >= 200): if (!this.rankReward) { cb.sendNotice("you have unlocked the gradient store, check it out with -gradients.", this.name, "#518fff", "#fff"); this.rankReward = true; } this.pointsCap = true; newTone = 1; break; case (points >= 120): if (!this.rankReward) { cb.sendNotice("you have unlocked the gradient store, check it out with -gradients.", this.name, "#518fff", "#fff"); this.rankReward = true; } this.pointsCap = true; newTone = 1; break; case (points >= 100): if (!this.rankReward) { cb.sendNotice("you have unlocked the gradient store, check it out with -gradients.", this.name, "#518fff", "#fff"); this.rankReward = true; } this.pointsCap = true; newTone = 1; break; case (points >= 80): this.rankReward = false; newTone = .8; break; case (points >= 60): this.rankReward = false; newTone = .6; break; case (points >= 40): this.rankReward = false; newTone = .4; break; case (points >= 20): this.rankReward = false; newTone = .2; break; default: this.rankReward = false; newTone = .1; } this.tone = newTone; } } class Adventurer{ constructor(name,grid_size = 5){ this.name = name; this.current_map = []; this.position = {}; this.roaming = false; this.maps = {}; this.grid_size = grid_size; //5 by 5 grid this.blocked = []; this.rewards = []; } moveChar(direction){ if((direction == "e" || direction == "right") && !this.blocked.includes("e")){ this.position.x += 1; return } else if((direction == "w" || direction == "left")&& !this.blocked.includes("w")){ this.position.x -= 1; return true } else if((direction == "s" || direction == "down") && !this.blocked.includes("s")){ this.position.y += 1; return true } else if((direction == "n" || direction == "up") && !this.blocked.includes("n")){ this.position.y -= 1; return true } else{ cb.sendNotice("Direction ignored. Your path might be blocked.",this.name,"","") return false } } makeMap(){ var grid = [] //5x5 grid for(var i = 0;i<this.grid_size;i++){ let row = [] for(var x = 0;i<this.grid_size;i++){ //generate random map object let token = map_objects[map_keys[randomNum(0,map_keys.length - 1)]] row.push(token) } grid.push(row) } return grid } adventure(){ //reset maps this.maps = {} //generate 3 maps for(var i = 0;i<3;i++){ var n_part1 = place_adjectives[randomNum(0,place_adjectives.length-1)] var n_part2 = place_nouns[randomNum(0,place_nouns.length-1)] var map = this.makeMap() var name = n_part1 + " " + n_part2 this.maps[name] = map } cb.sendNotice("Greetings traveler, which map do you want to explore?",this.name,"","#717171") for(var i in Object.keys(this.maps)){ cb.sendNotice(Object.keys(this.maps)[i],this.name,"","#4CAF50") } } checkArea(){ this.blocked = [] //check right if(this.position.x >= this.grid_size){ this.blocked.push("e") } //check left if(this.position.x <= 0){ this.blocked.push("w") } //check down if(this.position.y >= this.grid_size){ this.blocked.push("s") } //check up if(this.position.y <= 0){ this.blocked.push("n") } } findBlocked(first = false){ if(first){ cb.sendNotice("You can move around the map with n,s,e,w or you can use up,down,left,right.",this.name,"","#4CAF50") let i = this.current_map.join().indexOf("s"); this.position["x"] = i % this.grid_size; this.position["y"] = i / this.grid_size; } var moves = "N S E W | Up Down Left Right "; this.checkArea(); if(this.blocked.includes("e")){moves.replace("E ","");moves.replace("Right ","")} if(this.blocked.includes("w")){moves.replace("W ","");moves.replace("Left ","")} if(this.blocked.includes("s")){moves.replace("S ","");moves.replace("Down ","")} if(this.blocked.includes("n")){moves.replace("N ","");moves.replace("Up ","")} return moves; } printMessage(){ let symbol = this.current_map[this.position.y][this.position.x] cb.sendNotice(map_objects.symbol.message, this.name, "", map_objects.symbol.color) //,,,,,,,,,yak //add events to different objects here switch(symbol){ case "a": this.rewards.push("🌰"); break; case "b": this.rewards.push("ðŸ¦"); break; case "c": this.rewards.push("🌽"); case "d": this.roaming = false; break; case "e":break; case "f":break; case "g": this.roaming = false; break; case "h": this.roaming = false; break; case "i":break; case "j": this.rewards.push("💎"); break; case "k": this.roaming = false; break; case "l": this.roaming = false; break; case "m": this.rewards.push("🌄"); case "n": this.roaming = false; break; case "o": this.roaming = false; break; case "p": this.rewards.push("🎃"); break; case "q":break; case "r":break; case "s":break; case "t": this.rewards.push("ðŸ¢"); break; case "u": this.rewards.push("🦄"); break; case "v":break; case "w": this.roaming = false; break; case "x": this.rewards.push("â›ï¸"); break; case "y":break; case "z": this.roaming = false; break; } } } var allUsers = {} var adventurers = {} //array insert function Array.prototype.insert = function (index, item) { this.splice(index, 0, item); }; cb.onEnter(function (user) { if (!allUsers[user.user]) { allUsers[user.user] = new User(user.user, 0); } if(!adventurers[user.user]){ adventurers[user.user] = new Adventurer(user.user); } cb.sendNotice("Psst! You wanna change your chat color? Just type -color", user.user, "#518fff", "#fff") cb.sendNotice("you have unlocked -fontcolor, type -fontcolor green to try it out.", user.user, "#518fff", "#fff"); }) var muted = []; cb.onMessage(function (message) { var little_message = message.m.toLowerCase().trim(); var userObj = allUsers[message.user]; var color_match = little_message.match(/-color (.+)/); var fontcolor_match = little_message.match(/-fontcolor (.+)/); var font_match = little_message.match(/-font (.+)/) var mute_match = little_message.match(/-mute (.+)/); var gradient_match = little_message.match(/-gradient (.+)/); var plus_match = little_message.match(/-plus (.+)/); var share_match = little_message.match(/-share (\S+) (\S+)/); var buy_match = little_message.match(/-buy (.+)/); var sell_match = little_message.match(/-sell (.+)/); var pattern_match = little_message.match(/-pattern (.+)/); if (muted.indexOf(userObj.name) > -1) { cb.sendNotice("you have been muted", userObj.name); message['X-Spam'] = true; message.m = "message not sent"; return message; } if (little_message == "mine" && activeSticker != "") { allUsers[userObj.name].stickers.push(activeSticker); var index = stickerCollection.indexOf(activeSticker); stickerCollection.splice(index, 1) activeSticker = ""; } //adventure conditionals if(little_message == "-adventure"){ adventurers[message.user].adventure() } if(little_message == "-quit"){ adventurers[message.user].roaming = false } //if user is playing the adventure game if(adventurers[message.user].roaming){ let valid = adventurers[message.user].moveChar(little_message) if(valid){adventurers[message.user].printMessage()} } //if user picked a map if(adventurers[message.user].maps[little_message]){ adventurers[message.user].current_map = adventurers[message.user].maps[message.m] var directions = adventurers[message.user].findBlocked(true) adventurers[message.user].roaming = true cb.sendNotice(map_objects.s.message + ":" + directions,message.user,"",map_objects.s.color) } //end of adventure //help menu if (little_message == "-help" || little_message == "/help" || little_message == "-commands" || little_message == "-about") { help(userObj.name); } //share match 1 = name, share match 2 = sticker if (share_match) { var sticker = ":" + share_match[2].replace(" ", "_") + "_sticker"; //if user has the sticker if (userObj.stickers.includes(sticker)) { //if there is a user with that name if (allUsers[share_match[1]]) { allUsers[share_match[1]].stickers.push(sticker); var i = allUsers[userObj.name].stickers.indexOf(sticker); allUsers[userObj.name].stickers.splice(i, 1); } else { cb.sendNotice("There isint anyone here by that name.", userObj.name, "#ff5151", "#fff") } } else { cb.sendNotice("You dont own that sticker.", userObj.name, "#ff5151", "#fff") } } //pattern matcher if (little_message == "-pattern") { cb.sendNotice("What seems to be these, pick one if you please; maybe the scales or perhaps the leaves. 200 sounds right, if you have then you might, just walk away with one of my pearly delights", userObj.name, "#518fff", "#fff"); var p = ""; for (var pattern in patterns) { p += pattern + " | " } cb.sendNotice(`patterns : ${p}`, userObj.name, "#518fff", "#fff"); } if (pattern_match) { if (allUsers[userObj.name].points >= 200) { if (patterns[pattern_match[1]]) { allUsers[userObj.name].points -= 200; allUsers[userObj.name].pattern = patterns[pattern_match[1]]; } else { cb.sendNotice("That doesint seem to be a available pattern, maybe try the floral pattern.", userObj.name, "#ff5151", "#fff") } } else { cb.sendNotice(`You dont have enough points, you need ${200 - allUsers[userObj.name].points} more.`, userObj.name, "#ff5151", "#fff"); } } if(userObj.pointsCap && little_message == "-random"){ //font let r = randomNum(0,fonts.length - 1) allUsers[message.user].font = fonts[r] //fontcolor allUsers[message.user].fColor = "#" + tinycolor.random().toHex() //generate a random hex color //background color allUsers[message.user].bColor = "#" + tinycolor.random().toHex() //generate a random hex color } if(little_message == "-fontcolor random"){ allUsers[message.user].fColor = "#" + tinycolor.random().toHex() //generate a random hex color } else if(fontcolor_match) { allUsers[message.user].fColor = fontcolor_match[1]; } if(little_message == "-font random"){ let r = randomNum(0,fonts.length - 1) allUsers[message.user].font = fonts[r] } else if(font_match){ allUsers[message.user].font = font_match[1]; } //background color helping message if (little_message == "-color") { cb.sendNotice("You can change your color to anything at anytime, just type -color and the color you want, like this, -color red", userObj.name, "#518fff", "#fff"); } if(little_message == "-font"){ cb.sendNotice("Font list:",userObj.name,"","") cb.sendNotice(fonts.join(" | "),userObj.name,"","#8748bf") } //wallet if (little_message == "-wallet") { cb.sendNotice(`points: ${allUsers[userObj.name].points} stickers: ${userObj.stickers.join(" ")}`, userObj.name, "#518fff", "#fff"); } //sticker store if (little_message == "-store") { cb.sendNotice(`Welcome to the sticker store ${userObj.name}. Here you can buy any sticker you want for just 100 points. -buy will add the sticker to your collection. Currently you have ${userObj.points} points, if you want more points you can play some games, or you can sell some of your current stickers with -sell to get some extra points. (50 points each)`, userObj.name, "#518fff", "#fff"); var all = stickerStore.join(" "); cb.sendNotice(`sticker selection: ${all}`, userObj.name, "#518fff", "#fff"); } // -sell sticker if (sell_match) { if (userObj.stickers.includes(sell_match[1])) { //removes sticker from the user allUsers[userObj.name].stickers.splice(userObj.stickers.indexOf(sell_match[1]), 1); allUsers[userObj.name].points += 50; cb.sendNotice(`You sold ${sell_match[1]} your new balance is ${allUsers[userObj.name].points}`, userObj.name, "#518fff", "#fff") } else if (userObj.stickers.includes(":" + sell_match[1] + "_sticker")) { //removes sticker from the user allUsers[userObj.name].stickers.splice(userObj.stickers.indexOf(":" + sell_match[1] + "_sticker"), 1); allUsers[userObj.name].points += 50; cb.sendNotice(`You sold ${":" + sell_match[1] + "_sticker"} your new balance is ${allUsers[userObj.name].points}`, userObj.name, "#518fff", "#fff") } else if (userObj.stickers.includes(":" + sell_match[1].replace(" ", "_") + "_sticker")) { //removes sticker from the user allUsers[userObj.name].stickers.splice(userObj.stickers.indexOf(":" + sell_match[1].replace(" ", "_") + "_sticker"), 1); allUsers[userObj.name].points += 50; cb.sendNotice(`You sold ${":" + sell_match[1].replace(" ","_") + "_sticker"} your new balance is ${allUsers[userObj.name].points}`, userObj.name, "#518fff", "#fff") } else { cb.sendNotice(`I dont see ${sell_match[1]} in your collection.`, userObj.name, "#ff5151", "#fff") } } //sell with 2 step process if (allUsers[userObj.name].shoping == "selling") { if (userObj.stickers.includes(little_message)) { //removes sticker from the user allUsers[userObj.name].shoping = "passive"; allUsers[userObj.name].stickers.splice(userObj.stickers.indexOf(little_message), 1); allUsers[userObj.name].points += 50; cb.sendNotice(`You sold ${little_message} your new balance is ${allUsers[userObj.name].points}`, userObj.name, "#518fff", "#fff") } else if (userObj.stickers.includes(`:${little_message.replace(" ","_")}_sticker`)) { //removes sticker from the user allUsers[userObj.name].shoping = "passive"; allUsers[userObj.name].stickers.splice(userObj.stickers.indexOf(`:${little_message.replace(" ","_")}_sticker`), 1); allUsers[userObj.name].points += 50; cb.sendNotice(`You sold ${`:${little_message.replace(" ","_")}_sticker`} your new balance is ${allUsers[userObj.name].points}`, userObj.name, "#518fff", "#fff") } else { cb.sendNotice(`You dont own the ${little_message} sticker.`, userObj.name, "#ff5151", "#fff") allUsers[userObj.name].shoping = "passive"; } } if (little_message == "-sell") { cb.sendNotice(`What sticker do you want to sell? ${userObj.stickers.join(" ")}`, userObj.name, "#518fff", "#fff"); allUsers[userObj.name].shoping = "selling"; } //buy with 2 step process if (allUsers[userObj.name].shoping == "buying") { if (userObj.points >= 100) { if (stickerStore.includes(little_message)) { allUsers[userObj.name].shoping = "passive"; allUsers[userObj.name].points -= 100; allUsers[userObj.name].stickers.insert(0, little_message); } else if (stickerStore.includes(`:${little_message.replace(" ","_")}_sticker`)) { allUsers[userObj.name].shoping = "passive"; allUsers[userObj.name].points -= 100; allUsers[userObj.name].stickers.insert(0, `:${little_message.replace(" ","_")}_sticker`); } else { cb.sendNotice(`${little_message} isint a valid sticker.`, userObj.name, "#ff5151", "#fff") } } else { cb.sendNotice(`You dont have enough points, you only have ${userObj.points}.`, userObj.name, "#ff5151", "#fff") allUsers[userObj.name].shoping = "passive"; } } //buy with positional notation if (buy_match) { if (userObj.points < 100) { cb.sendNotice(`You dont have enough points, you only have ${userObj.points}`, userObj.name, "#ff5151", "#fff") } else if (stickerStore.includes(buy_match[1])) { allUsers[userObj.name].points -= 100; allUsers[userObj.name].stickers.insert(0, buy_match[1]); } else if (stickerStore.includes(":" + buy_match[1] + "_sticker")) { allUsers[userObj.name].points -= 100; allUsers[userObj.name].stickers.insert(0, ":" + buy_match[1] + "_sticker"); } else if (stickerStore.includes(":" + buy_match[1].replace(" ", "_") + "_sticker")) { allUsers[userObj.name].points -= 100; allUsers[userObj.name].stickers.insert(0, ":" + buy_match[1].replace(" ", "_") + "_sticker"); } else { cb.sendNotice(`${buy_match[1]} isint a available sticker.`, userObj.name, "#ff5151", "#fff") } } if (little_message == "-buy") { cb.sendNotice(`What sticker do you want to buy? ${stickerStore.join(" ")}`, userObj.name, "#518fff", "#fff"); allUsers[userObj.name].shoping = "buying"; } if (little_message == "-gradients" || little_message == "-gradient") { cb.sendNotice(`you unlock gradients once you have 100 points. Type -gradient and the name of the gradient to use it(-gradient frozen berry).The gradient options we currently have are:`, userObj.name, "#518fff", "#fff"); setTimeout(() => { for (var gradient in gradients) { cb.sendNotice(`${gradient}`, userObj.name, "#c251ff", "#fff"); } }, 1000) } if (plus_match && userObj.name == admin) { allUsers[plus_match[1]].points += 200; allUsers[plus_match[1]].findRank(allUsers[plus_match[1]].points); } if (mute_match && userObj.name == admin) { if (muted.indexOf(mute_match[1]) > -1) { delete muted[muted.indexOf(mute_match[1])]; message['X-Spam'] = true; return message; } else { muted.push(mute_match[1]); message['X-Spam'] = true; return message; } } if (gradient_match && userObj.points >= 100) { if (gradients[gradient_match[1]]) { allUsers[message.user].gradient = gradient_match[1]; allUsers[message.user].mode = "gradient"; } else { cb.sendNotice("This doesint seem to be one of the avaliable gradients. Type -gradients to get a complete list of the avaliable gradients.", userObj.name, "#ff5151", "#fff"); } } //random color if(little_message == "-color random"){ allUsers[message.user].bColor = "#" + tinycolor.random().toHex(); //generate a random hex color allUsers[message.user].mode = "solid"; } //all color possibilities else if(color_match && userObj.pointsCap){ allUsers[message.user].bColor = color_match[1]; allUsers[message.user].mode = "solid"; } //transparent colors else if (color_match && colors[color_match[1]]) { allUsers[message.user].bColor = color_match[1]; allUsers[message.user].mode = "solid"; } //color doesint exist else if (color_match && !colors[color_match[1]]) { var colors_ = ""; for (var color in colors) { colors_ += `${color}|` } cb.sendNotice(`Hmm, that didint seem to work, make sure your color is one of these options: ${colors_}`, userObj.name, "#ff5151", "#fff") } if (little_message == activeWord && claimed == false && userObj.participated == false) { allUsers[message.user].participated = true; claimed = true; cb.sendNotice(`${userObj.name} has won! :pepe-hands`, "", "#2ebb00", "#fff"); switch (gameMode) { case ("quick type"): allUsers[message.user].points += 20; break case ("scrambled"): allUsers[message.user].points += 40; break case ("reversed"): allUsers[message.user].points += 30; break case ("dance"): allUsers[message.user].points += 20; break } } else if (little_message == activeWord && claimed == true && userObj.participated == false) { allUsers[message.user].participated = true; switch (gameMode) { case ("quick type"): allUsers[message.user].points += 5; cb.sendNotice('Someone already won, but you still get 5 points for trying', userObj.name, "#2ebb00", "#fff"); break case ("scrambled"): allUsers[message.user].points += 10; cb.sendNotice('Someone already won, but you still get 10 points for trying', userObj.name, "#2ebb00", "#fff"); break case ("reversed"): allUsers[message.user].points += 7; cb.sendNotice('Someone already won, but you still get 7 points for trying', userObj.name, "#2ebb00", "#fff"); break case ("dance"): allUsers[message.user].points += 5; cb.sendNotice('Someone already won, but you still get 5 points for trying', userObj.name, "#2ebb00", "#fff"); break } } if (userObj.mode == "solid") { let color = allUsers[message.user].bColor; message.c = userObj.fColor; if(userObj.pointsCap){ message.background = userObj.bColor + userObj.pattern; }else{ message.background = colors[color].solid.replace("{}", String(userObj.tone)) + userObj.pattern; } } else if (userObj.mode == "gradient") { message.c = userObj.fColor; if (userObj.pattern != "") { message.background = userObj.pattern + gradients[userObj.gradient]; } else { message.background = gradients[userObj.gradient].slice(1); } } message.m = userObj.stickers.join(" ") + " " + message.m; message.f = userObj.font; if (message.tipped_recently) { message.m += " \u2764"; } return message; }) cb.onTip(function (tip) { let user = tip.from_user; cb.sendNotice("Psst! You wanna change your chat color? Just type -color", user, "#518fff", "#fff"); allUsers[user].points += tip.amount; allUsers[user].findRank(allUsers[user].points); }) function randomNum(min, max) { return Math.floor(Math.random() * (max - min)) + min; } function ClockWork() { setTimeout(function () { for (var user in allUsers) { allUsers[user].points += 2; allUsers[user].findRank(allUsers[user].points); } ClockWork(); }, 60000); } ClockWork(); function typeThatWord() { gameMode = "quick type"; for (var user in allUsers) { allUsers[user].participated = false; } activeWord = wordList[randomNum(0, wordList.length)]; cb.sendNotice(`Hurry! Type "${activeWord}" first to gain 20 points`, "", "#2ebb00", "#fff"); claimed = false; } function stickerPrinter() { if (stickerCollection.length > 0) { var index = randomNum(0, stickerCollection.length - 1); activeSticker = stickerCollection[index]; cb.sendNotice(`Add a new sticker to your collection, type "mine" to grab this sticker ${activeSticker}`, "", "#4c4c4c", "#12c4fc") } } function findThatWord() { gameMode = "scrambled"; for (var user in allUsers) { allUsers[user].participated = false; } activeWord = wordList[randomNum(0, wordList.length)]; var scrambledWord = activeWord.split(""); do { for (var x = 0; x < 2; x++) { let num1 = randomNum(0, activeWord.length); let num2 = randomNum(0, activeWord.length); let letter1 = scrambledWord[num1]; let letter2 = scrambledWord[num2]; scrambledWord[num1] = letter2; scrambledWord[num2] = letter1; } } while (scrambledWord.join("") == activeWord) scrambledWord = scrambledWord.join(""); cb.sendNotice(`Can you unscramble this word "${scrambledWord}". Winner gets 40 points`, "", "#2ebb00", "#fff"); claimed = false; } function typeThatWordReversed() { gameMode = "reversed"; for (var user in allUsers) { allUsers[user].participated = false; } let randomWord = wordList[randomNum(0, wordList.length)]; randomList = randomWord.split(""); randomList = randomList.reverse(); randomReversed = randomList.join(""); activeWord = randomReversed; cb.sendNotice(`Hurry! Type ${randomWord} BACKWORDS first to get 30 points!`, "", "#2ebb00", "#fff"); claimed = false; } function danceBattle() { gameMode = "dance"; for (var user in allUsers) { allUsers[user].participated = false; } activeWord = ":pepe-dancing"; cb.sendNotice(`DANCE BATTLE! :pepe-dancing type ":pepe-dancing" and bust a move first to get 20 points.`, "", "#2ebb00", "#fff"); claimed = false; } function help(user) { var items = [["-color : -color changes your background color. You must type -color then the color you want to change your background to a different color, -color red, -color blue, -color pink"], ["-fontcolor : -fontcolor changes the color of your font. Typing -fontcolor red, will change the color of your font to red."], ["-wallet : -wallet will show you how many points you currently have, along with all the stickers you currently own."], ["-share : -share is how you share stickers. To share a sticker type -share, then the name of the person you want to share with, then type the name of the sticker you want to share.-share name1 bell, -share name2 ghost"], ["-gradients : -gradients will show you a complete list of all the available gradients you can choose as a background. You must have at least 100 points to use gradients."], ["-gradient : -gradient is how you choose the gradient you want, just type -gradient and the name of a gradient to change to it. -gradient shy rainbow, -gradient frozen berry"], ["-store : -store will display a list of all the available sticker, that you may purchase at any time for just 100 points each."], ["-buy : -buy will let you buy stickers from the sticker store. Type -buy and the name of the sticker you want. -buy bell, -buy ghost"], ["-sell : -sell will sell one of your stickers so you can get some quick points. Type -sell and a name of one of the stickers that you own. -sell apple, -sell planet"], ["-pattern : -pattern is where you can buy background patterns that complement your background color. You need 200 points to buy a pattern. Type -pattern, then the name of the pattern you want to buy it."]] var c = ["#8d3462", "#9e6f99", "#543265", "#2b112a"]; var index = 0; for (var i = 0; i < items.length; i++) { cb.sendNotice(items[i], user, "", c[index]) index++; if (index == c.length) { index = 0; } } } var games_list = ["typeThatWord()", "danceBattle()", "typeThatWordReversed()", "findThatWord()"]; var game_index = 0; var loop_methods = () => { setTimeout(function () { stickerPrinter(); eval(games_list[game_index]); game_index += 1; if (game_index >= games_list.length) { game_index = 0; } loop_methods(); }, (60000 * 5)) // 5 minutes } loop_methods();
© Copyright Chaturbate 2011- 2025. All Rights Reserved.