diff --git a/CookieMonster.js b/CookieMonster.js index b009414..93a5691 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],f=o.fixed?"fixed":"absolute",g=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var f=m[h];if(f)if(i.pub.presets.hasOwnProperty(f)){for(var u in i.pub.presets[f])if(i.pub.presets[f].hasOwnProperty(u))try{a(u,i.pub.presets[f][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",f)}var g=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===g.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){if(t[n])return t[n].exports;var i=t[n]={exports:{}};return e[n].call(i.exports,i,i.exports,o),i.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};const t=["","","M","G","T","P","E","Z","Y"],n=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],i=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let a,r,s,c,d,p,u,m,h,f,g,C,y,b,k,G,v,w=[],x=[],T=[],M={};const S="CMText",B="CMBack",P="Blue",E="Green",N="Yellow",O="Orange",F="Red",W="Purple",L="Gray",A="Pink",j="Brown",U=[L,P,E,N,O,F,W,A,j],D=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]];let R,H,$=0,I=-1,z=[],V=1,_=1,X=1;const Q=[10,15,30,60,300,600,900,1800],q=[1,5,10,15,30],Y={Frenzy:N,"Dragon Harvest":j,"Elder frenzy":E,Clot:F,"Click frenzy":P,Dragonflight:A};let K,J,Z,ee,te,oe,ne,ie={},ae="";function re(o,a,r){const l=e.ScaleDecimals+1;if(o===1/0)return"Infinity";if(void 0===o)return"0";if(0===e.Scale)return M.Beautify(o,a);if(Number.isFinite(o)){let s="";if(0===o)return o.toString();if(o>.001&&o=.01&&o=.01&&o=.01&&o315576e4)return"XX:XX:XX:XX:XX";s+=(n<10?"0":"")+n+":",s+=(i<10?"0":"")+i+":",s+=(a<10?"0":"")+a+":",s+=(r<10?"0":"")+r+":",s+=(l<10?"0":"")+l}else{if(t>7776e5)return o?"Over 9000 days!":">9000d";s+=n>0?n+(o?1===n?" year":" years":"y")+", ":"",s+=i>0?i+(o?1===i?" day":" days":"d")+", ":"",(s.length>0||a>0)&&(s+=a+(o?1===a?" hour":" hours":"h")+", "),(s.length>0||r>0)&&(s+=r+(o?1===r?" minute":" minutes":"m")+", "),s+=l+(o?1===l?" second":" seconds":"s")}return s}function se(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=E):(n=le(t),o=t>300?F:t>60?O:N),{text:n,color:o}}let ce,de,pe,ue,me,he,fe,ge,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Be,Pe,Ee,Ne,Oe,Fe,We,Le,Ae,je,Ue,De,Re,He,$e,Ie,ze=0,Ve=0,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=1,rt=1,lt=1,st=0,ct=0,dt=0,pt=0,ut={},mt={},ht={},ft=0,gt=0,Ct=[0,null],yt=0,bt=0,kt={},Gt={},vt={},wt={},xt={},Tt=0,Mt=0,St=[],Bt=0,Pt=0,Et=[],Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Ut=0,Dt={},Rt={},Ht=0,$t=0,It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[],Jt=Game.startDate,Zt=Game.startDate;function eo(e){let t=0;return Game.dragonAuras[Le].name!==e&&Game.dragonAuras[Ae].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Le].name&&"Reality Bending"!==Game.dragonAuras[Ae].name||(t+=.1),t}function to(){let e=.25;return e*=1+eo("Earth Shatterer"),e}function oo(e,t){return void 0===He[e]?void 0===t?1:t:He[e]}function no(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function io(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(je===t.id)return 1;if(Ue===t.id)return 2;if(De===t.id)return 3}return!1}function ao(e,t){if(no("Season savings")&&(t*=.99),no("Santa's dominion")&&(t*=.99),no("Faberge egg")&&(t*=.99),no("Divine discount")&&(t*=.99),no("Fortune #100")&&(t*=.99),t*=1-.02*eo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(t*=.95),Game.hasBuff("Crafty pixies")&&(t*=.98),Game.hasBuff("Nasty goblins")&&(t*=1.02),e.fortune&&no(e.fortune.name)&&(t*=.93),t*=oo("buildingCost"),qt.Temple.minigameLoaded){const e=io("creation");1===e?t*=.93:2===e?t*=.95:3===e&&(t*=.98)}return t}function ro(e,t,o,n,i,a){a=void 0===a?0:a;let r=0;-1===i&&(i=o),i||(i=Game.buyBulk);for(let l=0;l0&&(r+=i,o--)}return r}function lo(){let t=Game.buyBulk;if(1===Game.buyMode?_=t:t=_,1===t?t=ut:10===t?t=mt:100===t&&(t=ht),1===Game.buyMode)if(1===e.BuildColor)for(const o of Object.keys(t))l(`productPrice${Game.Objects[o].id}`).style.color=e.Colors[t[o].color];else for(const e of Object.keys(Game.Objects))l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color");else if(-1===Game.buyMode)for(const e of Object.keys(ut)){const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=re(ro(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))}if(1===Game.buyMode&&e.SortBuildings){const e=Object.keys(t).map((e=>{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o}));e.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const t=ut[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;for(const s of Object.keys(Game.UpgradesInStore)){const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eU.indexOf(t.color)?1:U.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e=10&&(e+=1);return e}:o.power=function(){let e=2;if(no("Starlove")&&(e=3),Game.hasGod){const t=io("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function wo(){Ee=Game.UpgradesOwned,Ne=Game.pledges,Oe=Game.AchievementsOwned,Fe=Game.heavenlyPower,We=Game.prestige;for(const e of Object.keys(Game.Objects)){const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=Go(e),o=qt[e],mo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(je=t.minigame.slot[0],Ue=t.minigame.slot[1],De=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o}for(const e of Object.keys(Game.Upgrades)){const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=vo(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o}for(const e of Object.keys(Game.Achievements)){const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=bo(e),o=Kt[e]),o.won=t.won,Kt[e]=o}yo(),Le=ze,Ae=Ve}function xo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function To(e){e.appendChild(xo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(xo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(xo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(xo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===Z){e.appendChild(xo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Mo(e,t,o){let n=0;for(;et.plantsById[t.plot[ee[1]][ee[0]][0]-1].matureBase,o=t.plantsById[t.plot[ee[1]][ee[0]][0]-1].name;l("CMTooltipBorder").appendChild(xo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${re(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${re(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${re(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${re(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===Z?function(){const t=Game.Objects.Farm.minigame;if(e.TooltipLump){l("CMTooltipBorder").appendChild(xo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n++),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n++):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="";for(const t of Object.keys(Game.buffs))if(Game.buffs[t]){const a=uo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==Y[Game.buffs[t].name]?Y[Game.buffs[t].name]:W,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n++,i[Game.buffs[t].name]=a}for(const e of Object.keys(i))l("CMTimerBarBuffTimers").appendChild(i[e]);0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ne!==n&&(ne=n,go())}}(),ho(),Po(),function(){if(1===e.TooltipWrink&&1===$){let e=!1;for(const t of Object.keys(Game.wrinklers)){const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0!==z[t]&&void 0!==z[t])break;{const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),I=t,z[t]=1}}else z[t]=0}e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let e=Game.wrinklers[I].sucked,t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[I].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=re(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),l("cookies").innerHTML=l("cookies").innerHTML.replace(/.*(?=
)/i,re(Game.cookies))}class No{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){e>this.maxLength&&(e=this.maxLength),e>this.queue.length&&(e=this.queue.length);let t=0;for(let o=this.queue.length-1;o>=0&&o>this.queue.length-1-e;o--)t+=this.queue[o];return 0===t?0:t/e}}function Oo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=ft),jt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-fe,i=Math.max(0,Game.cookies-ge)/n,a=Math.max(0,ft-Ce)/n,r=Math.max(0,Ct[0]-ye)/n,l=Math.max(0,o-pt)/n,s=(Game.cookieClicks-be)/n;for(let e=0;ezt?W:t.pp>It?O:N,0!==Number(e.PPSecondsLowerLimit)&&o/co()0&&(n=F),n}function Wo(e){for(const t of Object.keys(e))Game.cookiesPs?e[t].pp=Math.max(e[t].price-(Game.cookies+po()),0)/Game.cookiesPs+e[t].price/e[t].bonus:e[t].pp=e[t].price/e[t].bonus,e[t].color=Fo(e[t],e[t].price)}function Lo(){!function(){if($t=1/0,zt=1,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),0===e.ColorPPBulkMode&&Game.buyMode>0){for(const e of Object.keys(ut))Game.cookiesPs?ut[e].pp=Math.max(Game.Objects[e].getPrice()-(Game.cookies+po()),0)/Game.cookiesPs+Game.Objects[e].getPrice()/ut[e].bonus:ut[e].pp=Game.Objects[e].getPrice()/ut[e].bonus,Vt.push([ut[e].pp,Game.Objects[e].getPrice()]);if(Vt.sort(((e,t)=>e[0]-t[0])),e.PPOnlyConsiderBuyable)for(;Vt[0][1]>Game.cookies&&1!==Vt.length;)Vt.shift();$t=Vt[e.PPExcludeTop][0],zt=Vt[Vt.length-1][0],It=(zt-$t)/2+$t;for(const t of Object.keys(ut)){ut[t].color=Fo(ut[t],Game.Objects[t].getPrice());for(let o=0;o0){let t;1===Game.buyBulk?t=ut:10===Game.buyBulk?t=mt:100===Game.buyBulk&&(t=ht);for(const e of Object.keys(t))Game.cookiesPs?t[e].pp=Math.max(Game.Objects[e].bulkPrice-(Game.cookies+po()),0)/Game.cookiesPs+Game.Objects[e].bulkPrice/t[e].bonus:t[e].pp=Game.Objects[e].bulkPrice/t[e].bonus,Vt.push([t[e].pp,Game.Objects[e].bulkPrice]);if(Vt.sort(((e,t)=>e[0]-t[0])),e.PPOnlyConsiderBuyable)for(;Vt[0][1]>Game.cookies&&1!==Vt.length;)Vt.shift();$t=Vt[e.PPExcludeTop][0],zt=Vt[Vt.length-1][0],It=(zt-$t)/2+$t;for(const o of Object.keys(ut)){t[o].color=Fo(t[o],Game.Objects[o].bulkPrice);for(let n=0;n=Game.CpsAchievements[e].threshold&&jo(Game.CpsAchievements[e].name);Ie=l;const s=Game.shimmerTypes.golden.n,c=eo("Dragon's Fortune");for(let t=0;t=7&&jo("Elder"),!zo("Veteran")&&e>=14&&jo("Veteran");let t=0,o=1,n=1,i=1e5;for(const e of Object.keys(qt))t+=qt[e].amount,i=Math.min(qt[e].amount,i),zo("Mathematician")||qt[e].amount=1&&jo("One with everything"),1===o&&jo("Mathematician"),1===n&&jo("Base 10"),i>=100&&jo("Centennial"),i>=150&&jo("Centennial and a half"),i>=200&&jo("Bicentennial"),i>=250&&jo("Bicentennial and a half"),i>=300&&jo("Tricentennial"),i>=350&&jo("Tricentennial and a half"),i>=400&&jo("Quadricentennial"),i>=450&&jo("Quadricentennial and a half"),i>=500&&jo("Quincentennial"),i>=550&&jo("Quincentennial and a half"),i>=600&&jo("Sexcentennial"),t>=100&&jo("Builder"),t>=500&&jo("Architect"),t>=1e3&&jo("Engineer"),t>=2e3&&jo("Lord of Constructs"),t>=4e3&&jo("Grand design"),t>=8e3&&jo("Ecumenopolis"),Ee>=20&&jo("Enhancer"),Ee>=50&&jo("Augmenter"),Ee>=100&&jo("Upgrader"),Ee>=200&&jo("Lord of Progress"),Ee>=300&&jo("The full picture"),Ee>=400&&jo("When there's nothing left to add"),t>=4e3&&Ee>=300&&jo("Polymath"),t>=8e3&&Ee>=400&&jo("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&jo("The elder scrolls");let a=!0;for(const e of Object.keys(Ro))no(Ro[e])||(a=!1);a&&jo("Spooky cookies");let r=!0;for(const e of Object.keys(Ho))no(Ho[e])||(r=!1);if(r&&jo("Let it snow"),no("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;for(const o of Object.keys(e))no(e[o].name)&&t++;t>=e.length&&jo("O Fortuna")}}function _o(e,t){wo(),qt[e].amount+=t;const o=qt[e];if("Cursor"===e)o.amount>=1&&jo("Click"),o.amount>=2&&jo("Double-click"),o.amount>=50&&jo("Mouse wheel"),o.amount>=100&&jo("Of Mice and Men"),o.amount>=200&&jo("The Digital"),o.amount>=300&&jo("Extreme polydactyly"),o.amount>=400&&jo("Dr. T"),o.amount>=500&&jo("Thumbs, phalanges, metacarpals"),o.amount>=600&&jo("With her finger and her thumb"),o.amount>=700&&jo("Gotta hand it to you"),o.amount>=800&&jo("The devil's workshop");else for(const e in Game.Objects[o.name].tieredAchievs)o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&jo(Game.Objects[o.name].tieredAchievs[e].name);const n=Oe;return Uo(),Vo(),n!==Oe&&Uo(),$e-Game.cookiesPs}function Xo(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){wo(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&Ee++,"Elder Pledge"===e?(Ne++,Ne>0&&jo("Elder nap"),Ne>=5&&jo("Elder slumber")):"Elder Covenant"===e?jo("Elder calm"):"Prism heart biscuits"===e?jo("Lovely cookies"):"Heavenly key"===e&&jo("Wholesome");const t=Oe;Uo(),Vo(),t!==Oe&&Uo();const o=function(){let e=0;no("Thousand fingers")&&(e+=.1),no("Million fingers")&&(e*=5),no("Billion fingers")&&(e*=10),no("Trillion fingers")&&(e*=20),no("Quadrillion fingers")&&(e*=20),no("Quintillion fingers")&&(e*=20),no("Sextillion fingers")&&(e*=20),no("Septillion fingers")&&(e*=20),no("Octillion fingers")&&(e*=20),no("Nonillion fingers")&&(e*=20);let t=0;for(const e of Object.keys(qt))t+=qt[e].amount;t-=qt.Cursor.amount,e*=t,no("Plastic mouse")&&(e+=.01*$e),no("Iron mouse")&&(e+=.01*$e),no("Titanium mouse")&&(e+=.01*$e),no("Adamantium mouse")&&(e+=.01*$e),no("Unobtainium mouse")&&(e+=.01*$e),no("Eludium mouse")&&(e+=.01*$e),no("Wishalloy mouse")&&(e+=.01*$e),no("Fantasteel mouse")&&(e+=.01*$e),no("Nevercrack mouse")&&(e+=.01*$e),no("Armythril mouse")&&(e+=.01*$e),no("Technobsidian mouse")&&(e+=.01*$e),no("Plasmarble mouse")&&(e+=.01*$e),no("Miraculite mouse")&&(e+=.01*$e),no("Fortune #104")&&(e+=.01*$e);let o=1;if(no("Santa's helpers")&&(o*=1.1),no("Cookie egg")&&(o*=1.1),no("Halo gloves")&&(o*=1.1),no("Dragon claw")&&(o*=1.03),no("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,no("Luminous gloves")?20:10)),o*=oo("click"),qt.Temple.minigameLoaded&&io){const e=io("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}for(const e of Object.keys(Game.buffs))void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick);o*=1+.05*eo("Dragon Cursor");let n=o*Game.ComputeCps(1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[$e-Game.cookiesPs,o]:[$e-Game.cookiesPs]}return[]}function Qo(e,t){const o=[];for(const t of Object.keys(Game.Objects))o[t]={},o[t].bonus=_o(t,e),1!==e&&(Se=1);return o}function qo(){for(const e of Object.keys(Game.Objects))ut[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),mt[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ht[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}function Yo(){ut=Qo(1),mt=Qo(10),ht=Qo(100),function(){kt=[];for(const e of Object.keys(Game.Upgrades)){const t=Xo(e);kt[e]={},t[0]&&(kt[e].bonus=t[0]),t[1]&&(kt[e].bonusMouse=t[1])}}()}function Ko(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,St=Ko(7,e,rt),Tt=2*St[1]/rt,Mt=St[2]/60/60/6/at,Et=Ko(6,e,lt),Bt=2*Et[1]/lt,Pt=Et[2]/60/60/6/at,Ft=Ko(7,7*e,rt),Nt=2*Ft[1]/rt,Ot=Ft[2]/60/60/6/at,At=Ko(6,7*e,lt),Wt=2*At[1]/lt,Lt=At[2]/60/60/6/at}function Zo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Te,i=Math.max(0,o-Me)/n;for(let e=0;e\n\t`}function tn(){vt="",xt="",wt="";const e=[];for(const t of Object.keys(Game.Upgrades))e.push(Game.Upgrades[t]);e.sort((function(e,t){return e.order>t.order?1:e.order0?Qe/=e:Qe=0,qe=rt*(.15*Qe)+13,Ye=lt*(.15*Qe)+13,Ke=7*Qe,Je=rt*(.15*Ke)+13,Ze=lt*(.15*Ke)+13,et=2*Qe,tt=.15*et,ot=0;let t=0,o=0;for(const e of Object.keys(Game.Objects))Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&o++;for(const e of Object.keys(Game.Objects))(Game.Objects[e].amountot&&(ot=2*Game.Objects[e].price,nt=e)}function an(){let e=1,t=1,o=1;no("Green yeast digestives")&&(o*=1.01),no("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),rt=o*e,lt=o*t,at=1,0===Game.shimmerTypes.golden.n&&(at*=1+1.23*Game.auraMult("Dragon's Fortune"))}function rn(){ft=0,gt=0,Ct=[0,null];for(let e=0;eCt[0]&&(Ct=[t,e]))}}function ln(){yo(),rn(),nn(),an(),Jo(),tn(),on(),ce=new No(Q[Q.length-1]),de=new No(Q[Q.length-1]),pe=new No(Q[Q.length-1]),ue=new No(Q[Q.length-1]),me=new No(q[q.length-1]),he=new No(5),Zo(),Oo(),Yo(),qo(),Lo()}const sn={BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,BuildColor:1,BulkBuildColor:0,UpBarColor:1,UpgradeBarFixedPos:1,CalcWrink:0,CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,ColorPPBulkMode:1,PPExcludeTop:0,PPSecondsLowerLimit:0,PPOnlyConsiderBuyable:0,ToolWarnBon:0,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,DragonAuraInfo:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,TimeFormat:0,DetailedTime:1,GrimoireBar:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,Colors:{Blue:"#4bb8f0",Green:"#00ff00",Yellow:"#ffff00",Orange:"#ff7f00",Red:"#ff0000",Purple:"#ff00ff",Gray:"#b3b3b3",Pink:"#ff1493",Brown:"#8b4513"},SortBuildings:0,SortUpgrades:0,GCTimer:1,Favicon:1,WrinklerButtons:1,BulkBuyBlock:0,Header:{BarsColors:1,Calculation:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Tooltip:1,Statistics:1,Notation:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},cn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function dn(){1===e.BotBar?(l("CMBotBar").style.display="",ho()):l("CMBotBar").style.display="none",go()}function pn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),ho(),lo(),so()}function un(){let t="";for(let o=0;o0?Dt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class fn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class gn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class Cn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const yn={BotBar:new fn("bool","BarsColors",["Bottom Bar OFF","Bottom Bar ON"],"Building Information",!0,(function(){dn()})),TimerBar:new fn("bool","BarsColors",["Timer Bar OFF","Timer Bar ON"],"Timers of Golden Cookie, Season Popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){Co()})),TimerBarPos:new fn("bool","BarsColors",["Timer Bar Position (Top Left)","Timer Bar Position (Bottom)"],"Placement of the Timer Bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),go()})),TimerBarOverlay:new fn("bool","BarsColors",["Timer Bar Overlay OFF","Timer Bar Overlay Only Seconds","Timer Bar Overlay Full"],"Overlay on timers displaying seconds and/or percentage left",!0),SortBuildings:new fn("bool","BarsColors",["Sort Buildings: Default","Sort Buildings: PP"],"Sort the display of buildings in either default order or by PP",!1,(function(){lo()})),SortUpgrades:new fn("bool","BarsColors",["Sort Upgrades: Default","Sort Upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){so()})),BuildColor:new fn("bool","BarsColors",["Building Colors OFF","Building Colors ON"],"Color code buildings",!0,(function(){lo()})),BulkBuildColor:new fn("bool","BarsColors",["Bulk Building Colors (Single Building Color)","Bulk Building Colors (Calculated Bulk Color)"],"Color code bulk buildings based on single buildings color or calculated bulk value color",!1,(function(){lo()})),UpBarColor:new fn("bool","BarsColors",["Upgrade Colors/Bar OFF","Upgrade Colors with Bar ON","Upgrade Colors without Bar ON"],"Color code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",so()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",so()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),Colors:new class extends hn{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("color","BarsColors",{Blue:"Color Blue. Used to show better than best PP building, for Click Frenzy bar, and for various labels",Green:"Color Green. Used to show best PP building, for Blood Frenzy bar, and for various labels",Yellow:"Color Yellow. Used to show between best and worst PP buildings closer to best, for Frenzy bar, and for various labels",Orange:"Color Orange. Used to show between best and worst PP buildings closer to worst, for Next Reindeer bar, and for various labels",Red:"Color Red. Used to show worst PP building, for Clot bar, and for various labels",Purple:"Color Purple. Used to show worse than worst PP building, for Next Cookie bar, and for various labels",Gray:"Color Gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar",Pink:"Color Pink. Used for Dragonflight bar",Brown:"Color Brown. Used for Dragon Harvest bar"},(function(){un()})),UpgradeBarFixedPos:new fn("bool","BarsColors",["Upgrade Bar Fixed Position OFF","Upgrade Bar Fixed Position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),CalcWrink:new fn("bool","Calculation",["Calculate with Wrinklers OFF","Calculate with Wrinklers ON","Calculate with Single Fattest Wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) Wrinklers",!0),CPSMode:new fn("bool","Calculation",["Current Cookies Per Second","Average Cookies Per Second"],"Calculate times using current Cookies Per Second or average Cookies Per Second",!1),AvgCPSHist:new fn("bool","Calculation",["Average CPS for past 10s","Average CPS for past 15s","Average CPS for past 30s","Average CPS for past 1m","Average CPS for past 5m","Average CPS for past 10m","Average CPS for past 15m","Average CPS for past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new fn("bool","Calculation",["Average Cookie Clicks for past 1s","Average Cookie Clicks for past 5s","Average Cookie Clicks for past 10s","Average Cookie Clicks for past 15s","Average Cookie Clicks for past 30s"],"How much time average Cookie Clicks should consider",!1),ColorPPBulkMode:new fn("bool","Calculation",["Color of PP (Compared to Single)","Color of PP (Compared to Bulk)"],"Color PP-values based on comparison with single purchase or with selected bulk-buy mode",!1,(function(){Lo()})),PPExcludeTop:new fn("bool","Calculation",["Don't Ignore Any","Ignore 1st Best","Ignore 1st and 2nd Best","Ignore 1st, 2nd and 3rd Best"],"Makes CookieMonster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPSecondsLowerLimit:new Cn("numscale","Calculation","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),PPOnlyConsiderBuyable:new fn("bool","Calculation",["Don't Ignore Non-Buyable","Ignore Non-Buyable"],"Makes CookieMonster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),ToolWarnBon:new fn("bool","Calculation",["Calculate Tooltip Warning With Bonus CPS OFF","Calculate Tooltip Warning With Bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),Title:new fn("bool","NotificationGeneral",["Title OFF","Title ON","Title Pinned Tab Highlight"],'Update title with Golden Cookie/Season Popup timers; pinned tab highlight only changes the title when a Golden Cookie/Season Popup spawns; "!" means that Golden Cookie/Reindeer can spawn',!0),GeneralSound:new fn("bool","NotificationGeneral",["Consider Game Volume Setting OFF","Consider Game Volume Setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new fn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when Golden Cookie spawns",!0,(function(){cn(e.GCNotification)})),GCFlash:new fn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on Golden Cookie",!0),GCSound:new fn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on Golden Cookie",!0),GCVolume:new gn("vol","NotificationGC",[],"Volume"),GCSoundURL:new fn("url","NotificationGC","Sound URL:","URL of the sound to be played when a Golden Cookie spawns"),FortuneNotification:new fn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when Fortune Cookie is on the Ticker",!0,(function(){cn(e.FortuneNotification)})),FortuneFlash:new fn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on Fortune Cookie",!0),FortuneSound:new fn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on Fortune Cookie",!0),FortuneVolume:new gn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new fn("url","NotificationFC","Sound URL:","URL of the sound to be played when the Ticker has a Fortune Cookie"),SeaNotification:new fn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on Season Popup",!0,(function(){cn(e.SeaNotification)})),SeaFlash:new fn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on Season Popup",!0),SeaSound:new fn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on Season Popup",!0),SeaVolume:new gn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new fn("url","NotificationSea","Sound URL:","URL of the sound to be played when a Season Special spawns"),GardFlash:new fn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on Garden Tick",!0),GardSound:new fn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on Garden Tick",!0),GardVolume:new gn("vol","NotificationGard",[],"Volume"),GardSoundURL:new fn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new fn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){cn(e.MagicNotification)})),MagicFlash:new fn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new fn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new gn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new fn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new fn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a Wrinkler appears",!0,(function(){cn(e.WrinklerNotification)})),WrinklerFlash:new fn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a Wrinkler appears",!0),WrinklerSound:new fn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a Wrinkler appears",!0),WrinklerVolume:new gn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new fn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a Wrinkler appears"),WrinklerMaxNotification:new fn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of Wrinklers has appeared",!0,(function(){cn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new fn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new fn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxVolume:new gn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new fn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of Wrinklers has appeared"),TooltipBuildUpgrade:new fn("bool","Tooltip",["Building/Upgrade Tooltip Information OFF","Building/Upgrade Tooltip Information ON"],"Extra information in Building/Upgrade tooltips",!0),TooltipAmor:new fn("bool","Tooltip",["Buildings Tooltip Amortization Information OFF","Buildings Tooltip Amortization Information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new fn("bool","Tooltip",["Tooltip Lucky Warning OFF","Tooltip Lucky Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new fn("bool","Tooltip",["Tooltip Lucky Frenzy Warning OFF","Tooltip Lucky Frenzy Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new fn("bool","Tooltip",["Tooltip Conjure Warning OFF","Tooltip Conjure Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new fn("bool","Tooltip",["Tooltip Conjure Frenzy Warning OFF","Tooltip Conjure Frenzy Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new fn("bool","Tooltip",["Tooltip Edifice Warning OFF","Tooltip Edifice Warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new Cn("numscale","Tooltip","Tooltip Warning At x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnPos:new fn("bool","Tooltip",["Tooltip Warning Position (Left)","Tooltip Warning Position (Bottom)"],"Placement of the warning boxes",!1,(function(){Bo()})),TooltipGrim:new fn("bool","Tooltip",["Grimoire Tooltip Information OFF","Grimoire Tooltip Information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new fn("bool","Tooltip",["Wrinkler Tooltip OFF","Wrinkler Tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new fn("bool","Tooltip",["Sugar Lump Tooltip OFF","Sugar Lump Tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new fn("bool","Tooltip",["Garden Plots Tooltip OFF","Garden Plots Tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new fn("bool","Tooltip",["Show Extra Info Pantheon Tooltip OFF","Show Extra Info Pantheon Tooltip ON"],"Shows additional info in the pantheon tooltip",!0),DragonAuraInfo:new fn("bool","Tooltip",["Extra Dragon Aura Info OFF","Extra Dragon Aura Info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),TooltipAscendButton:new fn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new fn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new fn("bool","Statistics",["Missing Upgrades OFF","Missing Upgrades ON"],"Shows Missing upgrades in Stats Menu. This feature can be laggy for users with a low amount of unlocked achievements.",!0),UpStats:new fn("bool","Statistics",["Statistics Update Rate (Default)","Statistics Update Rate (1s)"],"Default Game rate is once every 5 seconds",!1),TimeFormat:new fn("bool","Statistics",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new fn("bool","Statistics",["Detailed Time OFF","Detailed Time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=H:Game.sayTime=M.sayTime})),GrimoireBar:new fn("bool","Statistics",["Grimoire Magic Meter Timer OFF","Grimoire Magic Meter Timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),HeavenlyChipsTarget:new Cn("numscale","Statistics","Heavenly Chips Target: ",'Use this to set a Heavenly Chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new fn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many Golden Cookies you have missed",!0),Scale:new fn("bool","Notation",["Game's Setting Scale","Metric","Short Scale","Short Scale (Abbreviated)","Scientific Notation","Engineering Notation"],"Change how long numbers are handled",!1,(function(){pn()})),ScaleDecimals:new fn("bool","Notation",["1 decimals","2 decimals","3 decimals"],"Set the number of decimals used when applicable",!1,(function(){pn()})),ScaleSeparator:new fn("bool","Notation",[". for decimals (Standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){pn()})),ScaleCutoff:new Cn("numscale","Notation","Notation Cut-off Point: ","The number from which CookieMonster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),GCTimer:new fn("bool","Miscellaneous",["Golden Cookie Timer OFF","Golden Cookie Timer ON"],"A timer on the Golden Cookie when it has been spawned",!0,(function(){!function(){if(1===e.GCTimer)for(const e of Object.keys(ie))ie[e].style.display="block",ie[e].style.left=_t[e].l.style.left,ie[e].style.top=_t[e].l.style.top;else for(const e of Object.keys(ie))ie[e].style.display="none"}()})),Favicon:new fn("bool","Miscellaneous",["Favicon OFF","Favicon ON"],"Update favicon with Golden/Wrath Cookie",!0,(function(){mn()})),WrinklerButtons:new fn("bool","Miscellaneous",["Extra Buttons OFF","Extra Buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){e.WrinklerButtons?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")})),BulkBuyBlock:new fn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function bn(){return JSON.stringify({settings:e,version:"2.031.5"})}function kn(){if(_e!==Game.dragonLevel||Re){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount0&&(e=t);qt[e].amount--,Pe--}for(const t of Object.keys(qt)){const o=qt[t];e+=ro(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)}return e}(),Xt=e}(),Re=0);const t=Game.auraMult("Fierce Hoarder")>0;!Be&&t?(Be=!0,Se=1):Be&&!t&&(Be=!1,Se=1),Se&&(qo(),Se=0),function(){rn(),Lo(),function(){yt=0;let e=0;for(const t in Game.wrinklers)2===Game.wrinklers[t].phase&&e++;let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}bt=e,yt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Oo(),Zo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Ht=le(e/co())}(),function(){!function(){k=0,_t={};for(const e of Object.keys(Game.shimmers))_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Dt=Game.shimmers[e],k+=1)}();for(const e of Object.keys(ie))void 0===_t[e]&&(ie[e].parentNode.removeChild(ie[e]),delete ie[e]);if(C!==Game.shimmerTypes.golden.n){if(C=Game.shimmerTypes.golden.n,C){y0){let t=0;for(const e in Game.wrinklers)2===Game.wrinklers[e].phase&&t++;t>G?(G=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?xn(3,"WrinklerMaxFlash"):xn(3,"WrinklerFlash"),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Tn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume"):Tn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume"),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):G=t}}()}}function Pn(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${bn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function En(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;for(const t in sn)if(void 0===e[t])o=!0,e[t]=sn[t];else if("Header"!==t&&"Colors"!==t)-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]-1&&e[t][n]<2||(o=!0,e[t][n]=sn[t][n]);else for(const n in sn.Colors)void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=sn[t][n]);o&&Pn(),Bn();for(const e in sn)"Header"!==e&&void 0!==yn[e].func&&yn[e].func()}else En(sn)}function Nn(){for(const e of Object.keys(Game.wrinklers))Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}function On(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i)}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Ao(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${re(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${se((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(re(Game.Objects[o].bulkPrice)).join(re((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return Z=t,ee=o,Po(),l("tooltip").innerHTML}function Wn(){if(Game.Objects["Wizard tower"].minigameLoaded)for(const e in Game.Objects["Wizard tower"].minigame.spellsById)null!==l(`grimoireSpell${e}`).onmouseover&&(x[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}function Ln(){if(!u&&Game.Objects["Wizard tower"].minigameLoaded){const t=Game.Objects["Wizard tower"].minigame;d=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){d(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Pn()}function $n(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Hn(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(D[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a);for(const t of Object.keys(e)){const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)}return n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild($n("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+po()0&&(t.appendChild(In("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(re(e)))),t.appendChild(In("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(le(e/st)))))}const l=function(e){let t=Game.cookiesPs;wo(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Uo(),t=$e,wo()),jt>=1e6&&jo("Sacrifice"),jt>=1e9&&jo("Oblivion"),jt>=1e12&&jo("From scratch"),jt>=1e15&&jo("Nihilism"),jt>=1e18&&jo("Dematerialize"),jt>=1e21&&jo("Nil zero zilch"),jt>=1e24&&jo("Transcendence"),jt>=1e27&&jo("Obliterate"),jt>=1e30&&jo("Negative void"),jt>=1e33&&jo("To crumbs, you say?"),jt>=1e36&&jo("You get nothing"),jt>=1e39&&jo("Humble rebeginnings"),jt>=1e42&&jo("The end of the world"),jt>=1e45&&jo("Oh, you're back"),jt>=1e48&&jo("Lazarus"),jt>=1e51&&jo("Smurf account"),jt>=1e54&&jo("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,We=e;const o=Oe;Uo(),Vo(),o!==Oe&&Uo();const n=$e-t;return We=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(re(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild($n("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${re(ft)} / ${re(gt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Nn()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${re(Ct[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==Ct[1]&&(Game.wrinklers[Ct[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==Ct[1]?Ct[1]:"None"})`,n))}let n=!1;const i=[];for(const e of Object.keys(Ro))Game.Has(Ro[e])||(i.push(Ro[e]),n=!0);const a=[];for(const e of Object.keys(Ho))Game.Has(Ho[e])||(a.push(Ho[e]),n=!0);const r=[];for(const e of Object.keys($o))Game.Has($o[e])||(r.push($o[e]),n=!0);const s=[];for(const e of Object.keys(Game.eggDrops))Game.HasUnlocked(Game.eggDrops[e])||(s.push(Game.eggDrops[e]),n=!0);const c=[];for(const e of Object.keys(Game.rareEggDrops))Game.HasUnlocked(Game.rareEggDrops[e])||(c.push(Game.rareEggDrops[e]),n=!0);const d=[];for(const e of Object.keys(Io))Game.HasUnlocked(Io[e])||(d.push(Io[e]),n=!0);const p=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),u=Game.Has("Century egg");if(("christmas"===Game.season||n||p||u)&&(o.appendChild($n("Season Specials","Sea")),e.Header.Sea&&(0!==i.length&&o.appendChild(In("basic","Halloween Cookies Left to Buy",zn(i))),0!==a.length&&o.appendChild(In("basic","Christmas Cookies Left to Buy",zn(a))),0!==r.length&&o.appendChild(In("basic","Valentine Cookies Left to Buy",zn(r))),0!==s.length&&o.appendChild(In("basic","Normal Easter Eggs Left to Unlock",zn(s))),0!==c.length&&o.appendChild(In("basic","Rare Easter Eggs Left to Unlock",zn(c))),0!==d.length&&o.appendChild(In("basic","Rare Plant Drops Left to Unlock",zn(d))),"christmas"===Game.season&&o.appendChild(In("basic","Reindeer Reward",document.createTextNode(re(dt)))),p&&o.appendChild(In("withTooltip","Chocolate Egg Cookies",document.createTextNode(re(pt)),"ChoEggTooltipPlaceholder")),u&&o.appendChild(In("basic","Century Egg Multiplier",document.createTextNode(Math.round(1e4*(ct-1))/100+"%"))))),o.appendChild($n("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average Cookies Per Second (Past ${Q[e.AvgCPSHist]<60?`${Q[e.AvgCPSHist]} seconds`:Q[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(re(co(),3)))),o.appendChild(In("basic",`Average Cookie Clicks Per Second (Past ${q[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(re(Gt,1)))),Game.Has("Fortune cookies")){const e=[];for(const t of Object.keys(Do))Game.Has(Do[t])||e.push(Do[t]);0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed Golden Cookies",document.createTextNode(re(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&function(){for(const e of l("menu").children)if(e.children[0])if("Prestige"===e.children[0].innerHTML&&wt){const t=wt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=wt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(vt){const t=vt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=vt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.appendChild(i)}}}()}const _n={BarsColors:"Bars/Colors",Calculation:"Calculation",Notification:"Notification",Tooltip:"Tooltips and additional insights",Statistics:"Statistics",Notation:"Notation",Miscellaneous:"Miscellaneous"},Xn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Qn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Hn(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing","bool"===yn[t].type){const n=document.createElement("a");yn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Dn+t,n.onclick=function(){!function(t){e[t]++,e[t]===yn[t].label.length?(e[t]=0,yn[t].toggle&&(l(Dn+t).className="option off")):l(Dn+t).className="option",void 0!==yn[t].func&&yn[t].func(),l(Dn+t).innerHTML=yn[t].label[e[t]],Pn()}(t)},n.textContent=yn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=yn[t].desc,o.appendChild(i),o}if("vol"===yn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=yn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");return r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Rn(t)},r.onchange=function(){Rn(t)},n.appendChild(r),o.appendChild(n),o}if("url"===yn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${yn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Dn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Dn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,Pn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=yn[t].desc,o.appendChild(s),o}if("color"===yn[t].type){o.className="";for(let t=0;tthis.max&&console.log("TEST"),e[t]=this.value,Pn(),pn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=yn[t].desc,o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){M.Beautify=Beautify,Beautify=re,M.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){M.CalculateGains(),Re=1,Zt=Date.now(),Jt=Date.now()},M.tooltip={},M.tooltip.draw=Game.tooltip.draw,M.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){M.tooltip.drawMod(e,t,o)},M.tooltip.update=Game.tooltip.update,M.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){M.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},M.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(M.UpdateWrinklers)},M.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(M.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),M.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){M.RebuildUpgrades(),function(){T=[];for(const e of Object.keys(Game.UpgradesInStore))null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})}(),Game.CalculateGains()},M.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Pe-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=Oe;return Uo(),Vo(),o!==Oe&&Uo(),[$e-Game.cookiesPs,t]}(t),n=le(o/(e+Game.cookiesPs)),i=re(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${re(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},M.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){M.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Xe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},M.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Un().picker&&void 0!==Un().picker.owner||(M.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t);for(const t of Object.keys(_n)){const n=Qn(t,_n[t]);if(o.appendChild(n),e.Header[t])if("Notification"===t)for(const t of Object.keys(Xn)){const n=Qn(t,Xn[t]);if(n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t])for(const e in yn)yn[e].group===t&&o.appendChild(qn(e))}else for(const e of Object.keys(yn))yn[e].group===t&&o.appendChild(qn(e))}const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){En(sn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Hn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.5) sees a total rehaul of the backend of the mod. It does not introduce any new functions, this is planned for the next release.
\nWe believe we have fixed all bugs related to this new code, but if you find any bugs, please report them on the GitHub!
\n
\nBesides, this update fixes the following bugs:
\n- Fixed some upgrade tooltips which did not display the full effect of buying the upgrades
\n- Fixed not always being able to sell when "blocking bulk buy"
\n- Fixed heavenly chips per second display
\n- Fixed small display bug when pressing shift and hovering over garden plots
\n- Fixed some bugs with the display of numbers and formatting of them
\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},M.sayTime=Game.sayTime,H=function(e,t){return Number.isNaN(e)||e<=0?M.sayTime(e,t):le(e/Game.fps,1)},M.Logic=Game.Logic,Game.Logic=function(){M.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ae=`${Game.OnAscend?"Ascending! ":""}${re(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ae;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Dt?Dt.wrath?`[W${Math.ceil(Dt.life/Game.fps)}]`:`[G${Math.ceil(Dt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=h?`[R${Math.ceil(Rt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ae;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Dt&&(t=!0,Dt.wrath?e+=`[W${Math.ceil(Dt.life/Game.fps)}]`:e+=`[G${Math.ceil(Dt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&h&&(e+=`[R${Math.ceil(Rt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${re(Game.prestige)}.
(CpS +${re(Game.prestige)}%)`,n+='
'),n+=Me<1?"Ascending now would grant you no prestige.":Me<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${re(Me)} prestige levels (+${re(Me)}% CpS)
and ${re(Me)} heavenly chips to spend.`,n+='
',n+=`You need ${re(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Ht} to reach the next level and you are making ${re(st,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){vn(),nn(),ln(),a=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColor="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=S+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.5",N)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",P)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",P)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",P)),l("wrapper").appendChild(e);for(const e of Object.keys(Game.Objects))mo(e)}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColor="black";const t=uo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:L},{id:"CMTimerBarGCBar",color:W}]);e.appendChild(t);const o=uo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:L},{id:"CMTimerBarRenBar",color:O}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColor="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(P,"Better than best PP building")),e.appendChild(o(E,"Same as best PP building")),e.appendChild(o(N,"Between best and worst PP buildings closer to best")),e.appendChild(o(O,"Between best and worst PP buildings closer to worst")),e.appendChild(o(F,"Same as worst PP building")),e.appendChild(o(W,"Worse than worst PP building")),e.appendChild(o(L,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=S+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",P)),e.appendChild(o("CMUpgradeBarGreen",E)),e.appendChild(o("CMUpgradeBarYellow",N)),e.appendChild(o("CMUpgradeBarOrange",O)),e.appendChild(o("CMUpgradeBarRed",F)),e.appendChild(o("CMUpgradeBarPurple",W)),e.appendChild(o("CMUpgradeBarGray",L)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMWhiteScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}();for(const e of Object.keys(D))On(D[e][0],D[e][1],D[e][2]);!function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Nn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==Ct[1]&&(Game.wrinklers[Ct[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",function(){for(const e of Object.keys(Game.Objects)){const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(w[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})}}(),Game.canLumps()&&(r=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),m=Game.LoadMinigames,Game.LoadMinigames=function(){m(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){$=1},l("backgroundLeftCanvas").onmouseout=function(){$=0,Game.tooltip.hide();for(const e of Object.keys(Game.wrinklers))z[e]=0},Kn(),An(),Game.CalculateGains(),En(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.5 loaded!"):Game.Notify("Cookie Monster version 2.031.5 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){wn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.5 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Eo),Game.registerHook("logic",Bn),wn=!1)},load:function(e){const t=JSON.parse(e);vn(),En(t.settings),"2.031.5"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:bn};Game.registerMod("CookieMonster",Zn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],f=o.fixed?"fixed":"absolute",g=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var f=m[h];if(f)if(i.pub.presets.hasOwnProperty(f)){for(var u in i.pub.presets[f])if(i.pub.presets[f].hasOwnProperty(u))try{a(u,i.pub.presets[f][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",f)}var g=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===g.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){if(t[n])return t[n].exports;var i=t[n]={exports:{}};return e[n].call(i.exports,i,i.exports,o),i.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};const t=["","","M","G","T","P","E","Z","Y"],n=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],i=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let a,r,s,c,d,p,u,m,h,f,g,C,y,b,k,G,v,w=[],x=[],T=[],M={};const S="CMText",B="CMBack",P="Blue",E="Green",N="Yellow",O="Orange",F="Red",W="Purple",L="Gray",A="Pink",j="Brown",U=[L,P,E,N,O,F,W,A,j],D=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]];let R,H,$=0,I=-1,z=[],V=1,_=1,X=1;const Q=[10,15,30,60,300,600,900,1800],q=[1,5,10,15,30],Y={Frenzy:N,"Dragon Harvest":j,"Elder frenzy":E,Clot:F,"Click frenzy":P,Dragonflight:A};let K,J,Z,ee,te,oe,ne,ie={},ae="";function re(o,a,r){const l=e.ScaleDecimals+1;if(o===1/0)return"Infinity";if(void 0===o)return"0";if(0===e.Scale)return M.Beautify(o,a);if(Number.isFinite(o)){let s="";if(0===o)return o.toString();if(o>.001&&o=.01&&o=.01&&o=.01&&o315576e4)return"XX:XX:XX:XX:XX";s+=(n<10?"0":"")+n+":",s+=(i<10?"0":"")+i+":",s+=(a<10?"0":"")+a+":",s+=(r<10?"0":"")+r+":",s+=(l<10?"0":"")+l}else{if(t>7776e5)return o?"Over 9000 days!":">9000d";s+=n>0?n+(o?1===n?" year":" years":"y")+", ":"",s+=i>0?i+(o?1===i?" day":" days":"d")+", ":"",(s.length>0||a>0)&&(s+=a+(o?1===a?" hour":" hours":"h")+", "),(s.length>0||r>0)&&(s+=r+(o?1===r?" minute":" minutes":"m")+", "),s+=l+(o?1===l?" second":" seconds":"s")}return s}function se(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=E):(n=le(t),o=t>300?F:t>60?O:N),{text:n,color:o}}let ce,de,pe,ue,me,he,fe,ge,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Be,Pe,Ee,Ne,Oe,Fe,We,Le,Ae,je,Ue,De,Re,He=0,$e=0,Ie=0,ze=0,Ve=0,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=1,nt=1,it=1,at=0,rt=0,lt=0,st=0,ct={},dt={},pt={},ut=0,mt=0,ht=[0,null],ft=0,gt=0,Ct={},yt={},bt={},kt={},Gt={},vt=0,wt=0,xt=[],Tt=0,Mt=0,St=[],Bt=0,Pt=0,Et=[],Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At={},jt={},Ut=0,Dt=0,Rt=0,Ht=0,$t=[],It={},zt=0,Vt=[],_t=[],Xt=[],Qt=Game.startDate,qt=Game.startDate;function Yt(e){let t=0;return Game.dragonAuras[Le].name!==e&&Game.dragonAuras[Ae].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Le].name&&"Reality Bending"!==Game.dragonAuras[Ae].name||(t+=.1),t}function Kt(){let e=.25;return e*=1+Yt("Earth Shatterer"),e}function Jt(e,t){return void 0===Ue[e]?void 0===t?1:t:Ue[e]}function Zt(e){const t=_t[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function eo(e){if(Game.hasGod){void 0===Vt.Temple.minigame&&(Vt.Temple.minigame=Game.Objects.Temple.minigame);const t=Vt.Temple.minigame.gods[e];for(let e=0;e<3;e++)if(Vt.Temple.minigame.slot[e]===t.id)return e+1}return!1}function to(e,t){if(Zt("Season savings")&&(t*=.99),Zt("Santa's dominion")&&(t*=.99),Zt("Faberge egg")&&(t*=.99),Zt("Divine discount")&&(t*=.99),Zt("Fortune #100")&&(t*=.99),t*=1-.02*Yt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(t*=.95),Game.hasBuff("Crafty pixies")&&(t*=.98),Game.hasBuff("Nasty goblins")&&(t*=1.02),e.fortune&&Zt(e.fortune.name)&&(t*=.93),t*=Jt("buildingCost"),Vt.Temple.minigameLoaded){const e=eo("creation");1===e?t*=.93:2===e?t*=.95:3===e&&(t*=.98)}return t}function oo(e,t,o,n,i,a){a=void 0===a?0:a;let r=0;-1===i&&(i=o),i||(i=Game.buyBulk);for(let l=0;l0&&(r+=i,o--)}return r}function no(){let t=Game.buyBulk;if(1===Game.buyMode?_=t:t=_,1===t?t=ct:10===t?t=dt:100===t&&(t=pt),1===Game.buyMode)if(1===e.BuildColor)for(const o of Object.keys(t))l(`productPrice${Game.Objects[o].id}`).style.color=e.Colors[t[o].color];else for(const e of Object.keys(Game.Objects))l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color");else if(-1===Game.buyMode)for(const e of Object.keys(ct)){const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=re(oo(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))}if(1===Game.buyMode&&e.SortBuildings){const e=Object.keys(t).map((e=>{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o}));e.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const t=ct[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;for(const s of Object.keys(Game.UpgradesInStore)){const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eU.indexOf(t.color)?1:U.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e=10&&(e+=1);return e}:o.power=function(){let e=2;if(Zt("Starlove")&&(e=3),Game.hasGod){const t=eo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function xo(){Ee=Game.UpgradesOwned,Ne=Game.pledges,Oe=Game.AchievementsOwned,Fe=Game.heavenlyPower,We=Game.prestige;for(const e of Object.keys(Game.Objects)){const t=Game.Objects[e];let o=Vt[e];void 0===o&&(Vt[e]=vo(e),o=Vt[e],so(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&(o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Vt[e]=o}for(const e of Object.keys(Game.Upgrades)){const t=Game.Upgrades[e];let o=_t[e];void 0===o&&(_t[e]=wo(e),o=_t[e]),o.bought=t.bought,_t[e]=o}for(const e of Object.keys(Game.Achievements)){const t=Game.Achievements[e];let o=Xt[e];void 0===o&&(Xt[e]=ko(e),o=Xt[e]),o.won=t.won,Xt[e]=o}bo(),Le=He,Ae=$e}function To(e,t,o,n,i){let a=0;for(let r=0;rt.plantsById[t.plot[ee[1]][ee[0]][0]-1].matureBase,o=t.plantsById[t.plot[ee[1]][ee[0]][0]-1].name;l("CMTooltipBorder").appendChild(Co("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${re(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${re(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${re(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${re(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===Z&&function(){const t=Game.Objects.Farm.minigame;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Co("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${re(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${se((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(re(Game.Objects[o].bulkPrice)).join(re((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t&&(l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return Z=t,ee=o,So(),l("tooltip").innerHTML}function Po(){if(Game.prefs.autosave&&Game.drawT%10==0&&"stats"===Game.onMenu&&e.Stats){const e=document.getElementById("CMStatsAutosaveTimer");e&&(e.innerText=Game.sayTime(60*Game.fps-Game.T%(60*Game.fps),4))}no(),io(),function(){if(1===e.TimerBar){const t=l("CMTimerBar").offsetWidth-163,o=l("CMTimerBar").offsetWidth-133;let n=0;0!==Game.shimmerTypes.golden.spawned||Game.Has("Golden switch [off]")?l("CMTimerBarGC").style.display="none":(l("CMTimerBarGC").style.display="",l("CMTimerBarGCMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n++),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n++):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="";for(const t of Object.keys(Game.buffs))if(Game.buffs[t]){const a=lo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==Y[Game.buffs[t].name]?Y[Game.buffs[t].name]:W,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n++,i[Game.buffs[t].name]=a}for(const e of Object.keys(i))l("CMTimerBarBuffTimers").appendChild(i[e]);0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ne!==n&&(ne=n,uo())}}(),co(),So(),function(){if(1===e.TooltipWrink&&1===$){let e=!1;for(const t of Object.keys(Game.wrinklers)){const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0!==z[t]&&void 0!==z[t])break;{const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),I=t,z[t]=1}}else z[t]=0}e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let e=Game.wrinklers[I].sucked,t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[I].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Vt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=re(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu();let t=l("cookies").innerHTML.replace(/.*(?=
)/i,re(Game.cookies));Game.prefs.monospace&&(t=`${t}`),l("cookies").innerHTML=t}class Eo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){e>this.maxLength&&(e=this.maxLength),e>this.queue.length&&(e=this.queue.length);let t=0;for(let o=this.queue.length-1;o>=0&&o>this.queue.length-1-e;o--)t+=this.queue[o];return 0===t?0:t/e}}function No(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+zt;Game.cpsSucked>0&&(o+=ut),Wt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-fe,i=Math.max(0,Game.cookies-ge)/n,a=Math.max(0,ut-Ce)/n,r=Math.max(0,ht[0]-ye)/n,l=Math.max(0,o-st)/n,s=(Game.cookieClicks-be)/n;for(let e=0;eHt?W:t.pp>Rt?O:N,0!==Number(e.PPSecondsLowerLimit)&&o/ao()0&&(n=F),n}function Fo(e){for(const t of Object.keys(e))Game.cookiesPs?e[t].pp=Math.max(e[t].price-(Game.cookies+ro()),0)/Game.cookiesPs+e[t].price/e[t].bonus:e[t].pp=e[t].price/e[t].bonus,e[t].color=Oo(e[t],e[t].price)}function Wo(){!function(){if(Dt=1/0,Ht=1,$t=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),0===e.ColorPPBulkMode&&Game.buyMode>0){for(const e of Object.keys(ct))Game.cookiesPs?ct[e].pp=Math.max(Game.Objects[e].getPrice()-(Game.cookies+ro()),0)/Game.cookiesPs+Game.Objects[e].getPrice()/ct[e].bonus:ct[e].pp=Game.Objects[e].getPrice()/ct[e].bonus,$t.push([ct[e].pp,Game.Objects[e].getPrice()]);if($t.sort(((e,t)=>e[0]-t[0])),e.PPOnlyConsiderBuyable)for(;$t[0][1]>Game.cookies&&1!==$t.length;)$t.shift();Dt=$t[e.PPExcludeTop][0],Ht=$t[$t.length-1][0],Rt=(Ht-Dt)/2+Dt;for(const t of Object.keys(ct)){ct[t].color=Oo(ct[t],Game.Objects[t].getPrice());for(let o=0;o0){let t;1===Game.buyBulk?t=ct:10===Game.buyBulk?t=dt:100===Game.buyBulk&&(t=pt);for(const e of Object.keys(t))Game.cookiesPs?t[e].pp=Math.max(Game.Objects[e].bulkPrice-(Game.cookies+ro()),0)/Game.cookiesPs+Game.Objects[e].bulkPrice/t[e].bonus:t[e].pp=Game.Objects[e].bulkPrice/t[e].bonus,$t.push([t[e].pp,Game.Objects[e].bulkPrice]);if($t.sort(((e,t)=>e[0]-t[0])),e.PPOnlyConsiderBuyable)for(;$t[0][1]>Game.cookies&&1!==$t.length;)$t.shift();Dt=$t[e.PPExcludeTop][0],Ht=$t[$t.length-1][0],Rt=(Ht-Dt)/2+Dt;for(const o of Object.keys(ct)){t[o].color=Oo(t[o],Game.Objects[o].bulkPrice);for(let n=0;n=Game.CpsAchievements[e].threshold&&Lo(Game.CpsAchievements[e].name);Re=l;const s=Game.shimmerTypes.golden.n,c=Yt("Dragon's Fortune");for(let t=0;t=7&&Lo("Elder"),!$o("Veteran")&&e>=14&&Lo("Veteran");let t=0,o=1,n=1,i=1e5;for(const e of Object.keys(Vt))t+=Vt[e].amount,i=Math.min(Vt[e].amount,i),$o("Mathematician")||Vt[e].amount=1&&Lo("One with everything"),1===o&&Lo("Mathematician"),1===n&&Lo("Base 10"),i>=100&&Lo("Centennial"),i>=150&&Lo("Centennial and a half"),i>=200&&Lo("Bicentennial"),i>=250&&Lo("Bicentennial and a half"),i>=300&&Lo("Tricentennial"),i>=350&&Lo("Tricentennial and a half"),i>=400&&Lo("Quadricentennial"),i>=450&&Lo("Quadricentennial and a half"),i>=500&&Lo("Quincentennial"),i>=550&&Lo("Quincentennial and a half"),i>=600&&Lo("Sexcentennial"),t>=100&&Lo("Builder"),t>=500&&Lo("Architect"),t>=1e3&&Lo("Engineer"),t>=2e3&&Lo("Lord of Constructs"),t>=4e3&&Lo("Grand design"),t>=8e3&&Lo("Ecumenopolis"),Ee>=20&&Lo("Enhancer"),Ee>=50&&Lo("Augmenter"),Ee>=100&&Lo("Upgrader"),Ee>=200&&Lo("Lord of Progress"),Ee>=300&&Lo("The full picture"),Ee>=400&&Lo("When there's nothing left to add"),t>=4e3&&Ee>=300&&Lo("Polymath"),t>=8e3&&Ee>=400&&Lo("Renaissance baker"),Vt.Cursor.amount+Vt.Grandma.amount>=777&&Lo("The elder scrolls");let a=!0;for(const e of Object.keys(Uo))Zt(Uo[e])||(a=!1);a&&Lo("Spooky cookies");let r=!0;for(const e of Object.keys(Do))Zt(Do[e])||(r=!1);if(r&&Lo("Let it snow"),Zt("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;for(const o of Object.keys(e))Zt(e[o].name)&&t++;t>=e.length&&Lo("O Fortuna")}}function zo(e,t){xo(),Vt[e].amount+=t;const o=Vt[e];if("Cursor"===e)o.amount>=1&&Lo("Click"),o.amount>=2&&Lo("Double-click"),o.amount>=50&&Lo("Mouse wheel"),o.amount>=100&&Lo("Of Mice and Men"),o.amount>=200&&Lo("The Digital"),o.amount>=300&&Lo("Extreme polydactyly"),o.amount>=400&&Lo("Dr. T"),o.amount>=500&&Lo("Thumbs, phalanges, metacarpals"),o.amount>=600&&Lo("With her finger and her thumb"),o.amount>=700&&Lo("Gotta hand it to you"),o.amount>=800&&Lo("The devil's workshop");else for(const e in Game.Objects[o.name].tieredAchievs)o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Lo(Game.Objects[o.name].tieredAchievs[e].name);const n=Oe;return Ao(),Io(),n!==Oe&&Ao(),De-Game.cookiesPs}function Vo(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){xo(),"Shimmering veil [on]"===_t[e].name?_t["Shimmering veil [off]"].bought=0:"Golden switch [on]"===_t[e].name?_t["Golden switch [off]"].bought=0:_t[e].bought=(_t[e].bought+1)%2,_t[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&Ee++,"Elder Pledge"===e?(Ne++,Ne>0&&Lo("Elder nap"),Ne>=5&&Lo("Elder slumber")):"Elder Covenant"===e?Lo("Elder calm"):"Prism heart biscuits"===e?Lo("Lovely cookies"):"Heavenly key"===e&&Lo("Wholesome");const t=Oe;Ao(),Io(),t!==Oe&&Ao();const o=function(){let e=0;Zt("Thousand fingers")&&(e+=.1),Zt("Million fingers")&&(e*=5),Zt("Billion fingers")&&(e*=10),Zt("Trillion fingers")&&(e*=20),Zt("Quadrillion fingers")&&(e*=20),Zt("Quintillion fingers")&&(e*=20),Zt("Sextillion fingers")&&(e*=20),Zt("Septillion fingers")&&(e*=20),Zt("Octillion fingers")&&(e*=20),Zt("Nonillion fingers")&&(e*=20);let t=0;for(const e of Object.keys(Vt))t+=Vt[e].amount;t-=Vt.Cursor.amount,e*=t,Zt("Plastic mouse")&&(e+=.01*De),Zt("Iron mouse")&&(e+=.01*De),Zt("Titanium mouse")&&(e+=.01*De),Zt("Adamantium mouse")&&(e+=.01*De),Zt("Unobtainium mouse")&&(e+=.01*De),Zt("Eludium mouse")&&(e+=.01*De),Zt("Wishalloy mouse")&&(e+=.01*De),Zt("Fantasteel mouse")&&(e+=.01*De),Zt("Nevercrack mouse")&&(e+=.01*De),Zt("Armythril mouse")&&(e+=.01*De),Zt("Technobsidian mouse")&&(e+=.01*De),Zt("Plasmarble mouse")&&(e+=.01*De),Zt("Miraculite mouse")&&(e+=.01*De),Zt("Fortune #104")&&(e+=.01*De);let o=1;if(Zt("Santa's helpers")&&(o*=1.1),Zt("Cookie egg")&&(o*=1.1),Zt("Halo gloves")&&(o*=1.1),Zt("Dragon claw")&&(o*=1.03),Zt("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,Zt("Luminous gloves")?20:10)),o*=Jt("click"),Vt.Temple.minigameLoaded&&eo){const e=eo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}for(const e of Object.keys(Game.buffs))void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick);o*=1+.05*Yt("Dragon Cursor");let n=o*Game.ComputeCps(1,Zt("Reinforced index finger")+Zt("Carpal tunnel prevention cream")+Zt("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[De-Game.cookiesPs,o]:[De-Game.cookiesPs]}return[]}function _o(e,t){const o=[];for(const t of Object.keys(Game.Objects))o[t]={},o[t].bonus=zo(t,e),1!==e&&(Se=1);return o}function Xo(){for(const e of Object.keys(Game.Objects))ct[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),dt[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),pt[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}function Qo(){ct=_o(1),dt=_o(10),pt=_o(100),function(){Ct=[];for(const e of Object.keys(Game.Upgrades)){const t=Vo(e);Ct[e]={},t[0]&&(Ct[e].bonus=t[0]),t[1]&&(Ct[e].bonusMouse=t[1])}}()}function qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,xt=qo(7,e,nt),vt=2*xt[1]/nt,wt=xt[2]/60/60/6/ot,St=qo(6,e,it),Tt=2*St[1]/it,Mt=St[2]/60/60/6/ot,Et=qo(7,7*e,nt),Bt=2*Et[1]/nt,Pt=Et[2]/60/60/6/ot,Ft=qo(6,7*e,it),Nt=2*Ft[1]/it,Ot=Ft[2]/60/60/6/ot}function Ko(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Te,i=Math.max(0,o-Me)/n;for(let e=0;e\n\t`}function Zo(){bt="",Gt="",kt="";const e=[];for(const t of Object.keys(Game.Upgrades))e.push(Game.Upgrades[t]);e.sort((function(e,t){return e.order>t.order?1:e.order0?Ve/=e:Ve=0,_e=nt*(.15*Ve)+13,Xe=it*(.15*Ve)+13,Qe=7*Ve,qe=nt*(.15*Qe)+13,Ye=it*(.15*Qe)+13,Ke=2*Ve,Je=.15*Ke,Ze=0;let t=0,o=0;for(const e of Object.keys(Game.Objects))Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&o++;for(const e of Object.keys(Game.Objects))(Game.Objects[e].amountZe&&(Ze=2*Game.Objects[e].price,et=e)}function on(){let e=1,t=1,o=1;Zt("Green yeast digestives")&&(o*=1.01),Zt("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),nt=o*e,it=o*t,ot=1,0===Game.shimmerTypes.golden.n&&(ot*=1+1.23*Game.auraMult("Dragon's Fortune"))}function nn(){ut=0,mt=0,ht=[0,null];for(let e=0;eht[0]&&(ht=[t,e]))}}function an(){bo(),nn(),tn(),on(),Yo(),Zo(),en(),ce=new Eo(Q[Q.length-1]),de=new Eo(Q[Q.length-1]),pe=new Eo(Q[Q.length-1]),ue=new Eo(Q[Q.length-1]),me=new Eo(q[q.length-1]),he=new Eo(5),Ko(),No(),Qo(),Xo(),Wo()}const rn={BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,BuildColor:1,BulkBuildColor:0,UpBarColor:1,UpgradeBarFixedPos:1,CalcWrink:0,CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,ColorPPBulkMode:1,PPExcludeTop:0,PPSecondsLowerLimit:0,PPOnlyConsiderBuyable:0,ToolWarnBon:0,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,DragonAuraInfo:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,TimeFormat:0,DetailedTime:1,GrimoireBar:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,Colors:{Blue:"#4bb8f0",Green:"#00ff00",Yellow:"#ffff00",Orange:"#ff7f00",Red:"#ff0000",Purple:"#ff00ff",Gray:"#b3b3b3",Pink:"#ff1493",Brown:"#8b4513"},SortBuildings:0,SortUpgrades:0,GCTimer:1,Favicon:1,WrinklerButtons:1,BulkBuyBlock:0,Header:{BarsColors:1,Calculation:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Tooltip:1,Statistics:1,Notation:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},ln=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function sn(){1===e.BotBar?(l("CMBotBar").style.display="",co()):l("CMBotBar").style.display="none",uo()}function cn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),co(),no(),io()}function dn(){let t="";for(let o=0;o0?At.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class un{constructor(e,t){this.type=e,this.group=t}}class mn extends un{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class hn extends un{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class fn extends un{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const gn={BotBar:new mn("bool","BarsColors",["Bottom Bar OFF","Bottom Bar ON"],"Building Information",!0,(function(){sn()})),TimerBar:new mn("bool","BarsColors",["Timer Bar OFF","Timer Bar ON"],"Timers of Golden Cookie, Season Popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){mo()})),TimerBarPos:new mn("bool","BarsColors",["Timer Bar Position (Top Left)","Timer Bar Position (Bottom)"],"Placement of the Timer Bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),uo()})),TimerBarOverlay:new mn("bool","BarsColors",["Timer Bar Overlay OFF","Timer Bar Overlay Only Seconds","Timer Bar Overlay Full"],"Overlay on timers displaying seconds and/or percentage left",!0),SortBuildings:new mn("bool","BarsColors",["Sort Buildings: Default","Sort Buildings: PP"],"Sort the display of buildings in either default order or by PP",!1,(function(){no()})),SortUpgrades:new mn("bool","BarsColors",["Sort Upgrades: Default","Sort Upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){io()})),BuildColor:new mn("bool","BarsColors",["Building Colors OFF","Building Colors ON"],"Color code buildings",!0,(function(){no()})),BulkBuildColor:new mn("bool","BarsColors",["Bulk Building Colors (Single Building Color)","Bulk Building Colors (Calculated Bulk Color)"],"Color code bulk buildings based on single buildings color or calculated bulk value color",!1,(function(){no()})),UpBarColor:new mn("bool","BarsColors",["Upgrade Colors/Bar OFF","Upgrade Colors with Bar ON","Upgrade Colors without Bar ON"],"Color code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",io()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",io()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),Colors:new class extends un{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("color","BarsColors",{Blue:"Color Blue. Used to show better than best PP building, for Click Frenzy bar, and for various labels",Green:"Color Green. Used to show best PP building, for Blood Frenzy bar, and for various labels",Yellow:"Color Yellow. Used to show between best and worst PP buildings closer to best, for Frenzy bar, and for various labels",Orange:"Color Orange. Used to show between best and worst PP buildings closer to worst, for Next Reindeer bar, and for various labels",Red:"Color Red. Used to show worst PP building, for Clot bar, and for various labels",Purple:"Color Purple. Used to show worse than worst PP building, for Next Cookie bar, and for various labels",Gray:"Color Gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar",Pink:"Color Pink. Used for Dragonflight bar",Brown:"Color Brown. Used for Dragon Harvest bar"},(function(){dn()})),UpgradeBarFixedPos:new mn("bool","BarsColors",["Upgrade Bar Fixed Position OFF","Upgrade Bar Fixed Position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),CalcWrink:new mn("bool","Calculation",["Calculate with Wrinklers OFF","Calculate with Wrinklers ON","Calculate with Single Fattest Wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) Wrinklers",!0),CPSMode:new mn("bool","Calculation",["Current Cookies Per Second","Average Cookies Per Second"],"Calculate times using current Cookies Per Second or average Cookies Per Second",!1),AvgCPSHist:new mn("bool","Calculation",["Average CPS for past 10s","Average CPS for past 15s","Average CPS for past 30s","Average CPS for past 1m","Average CPS for past 5m","Average CPS for past 10m","Average CPS for past 15m","Average CPS for past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average Cookie Clicks for past 1s","Average Cookie Clicks for past 5s","Average Cookie Clicks for past 10s","Average Cookie Clicks for past 15s","Average Cookie Clicks for past 30s"],"How much time average Cookie Clicks should consider",!1),ColorPPBulkMode:new mn("bool","Calculation",["Color of PP (Compared to Single)","Color of PP (Compared to Bulk)"],"Color PP-values based on comparison with single purchase or with selected bulk-buy mode",!1,(function(){Wo()})),PPExcludeTop:new mn("bool","Calculation",["Don't Ignore Any","Ignore 1st Best","Ignore 1st and 2nd Best","Ignore 1st, 2nd and 3rd Best"],"Makes CookieMonster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPSecondsLowerLimit:new fn("numscale","Calculation","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),PPOnlyConsiderBuyable:new mn("bool","Calculation",["Don't Ignore Non-Buyable","Ignore Non-Buyable"],"Makes CookieMonster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),ToolWarnBon:new mn("bool","Calculation",["Calculate Tooltip Warning With Bonus CPS OFF","Calculate Tooltip Warning With Bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title Pinned Tab Highlight"],'Update title with Golden Cookie/Season Popup timers; pinned tab highlight only changes the title when a Golden Cookie/Season Popup spawns; "!" means that Golden Cookie/Reindeer can spawn',!0),GeneralSound:new mn("bool","NotificationGeneral",["Consider Game Volume Setting OFF","Consider Game Volume Setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new mn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when Golden Cookie spawns",!0,(function(){ln(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on Golden Cookie",!0),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on Golden Cookie",!0),GCVolume:new hn("vol","NotificationGC",[],"Volume"),GCSoundURL:new mn("url","NotificationGC","Sound URL:","URL of the sound to be played when a Golden Cookie spawns"),FortuneNotification:new mn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when Fortune Cookie is on the Ticker",!0,(function(){ln(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on Fortune Cookie",!0),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on Fortune Cookie",!0),FortuneVolume:new hn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new mn("url","NotificationFC","Sound URL:","URL of the sound to be played when the Ticker has a Fortune Cookie"),SeaNotification:new mn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on Season Popup",!0,(function(){ln(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on Season Popup",!0),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on Season Popup",!0),SeaVolume:new hn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when a Season Special spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on Garden Tick",!0),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on Garden Tick",!0),GardVolume:new hn("vol","NotificationGard",[],"Volume"),GardSoundURL:new mn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new mn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){ln(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new hn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new mn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new mn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a Wrinkler appears",!0,(function(){ln(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a Wrinkler appears",!0),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a Wrinkler appears",!0),WrinklerVolume:new hn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new mn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a Wrinkler appears"),WrinklerMaxNotification:new mn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of Wrinklers has appeared",!0,(function(){ln(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxVolume:new hn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new mn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of Wrinklers has appeared"),TooltipBuildUpgrade:new mn("bool","Tooltip",["Building/Upgrade Tooltip Information OFF","Building/Upgrade Tooltip Information ON"],"Extra information in Building/Upgrade tooltips",!0),TooltipAmor:new mn("bool","Tooltip",["Buildings Tooltip Amortization Information OFF","Buildings Tooltip Amortization Information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new mn("bool","Tooltip",["Tooltip Lucky Warning OFF","Tooltip Lucky Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new mn("bool","Tooltip",["Tooltip Lucky Frenzy Warning OFF","Tooltip Lucky Frenzy Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new mn("bool","Tooltip",["Tooltip Conjure Warning OFF","Tooltip Conjure Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new mn("bool","Tooltip",["Tooltip Conjure Frenzy Warning OFF","Tooltip Conjure Frenzy Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new mn("bool","Tooltip",["Tooltip Edifice Warning OFF","Tooltip Edifice Warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new fn("numscale","Tooltip","Tooltip Warning At x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnPos:new mn("bool","Tooltip",["Tooltip Warning Position (Left)","Tooltip Warning Position (Bottom)"],"Placement of the warning boxes",!1,(function(){fo()})),TooltipGrim:new mn("bool","Tooltip",["Grimoire Tooltip Information OFF","Grimoire Tooltip Information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new mn("bool","Tooltip",["Wrinkler Tooltip OFF","Wrinkler Tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new mn("bool","Tooltip",["Sugar Lump Tooltip OFF","Sugar Lump Tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new mn("bool","Tooltip",["Garden Plots Tooltip OFF","Garden Plots Tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),DragonAuraInfo:new mn("bool","Tooltip",["Extra Dragon Aura Info OFF","Extra Dragon Aura Info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),TooltipAscendButton:new mn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new mn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new mn("bool","Statistics",["Missing Upgrades OFF","Missing Upgrades ON"],"Shows Missing upgrades in Stats Menu. This feature can be laggy for users with a low amount of unlocked achievements.",!0),UpStats:new mn("bool","Statistics",["Statistics Update Rate (Default)","Statistics Update Rate (1s)"],"Default Game rate is once every 5 seconds",!1),TimeFormat:new mn("bool","Statistics",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Statistics",["Detailed Time OFF","Detailed Time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=H:Game.sayTime=M.sayTime})),GrimoireBar:new mn("bool","Statistics",["Grimoire Magic Meter Timer OFF","Grimoire Magic Meter Timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),HeavenlyChipsTarget:new fn("numscale","Statistics","Heavenly Chips Target: ",'Use this to set a Heavenly Chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new mn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many Golden Cookies you have missed",!0),Scale:new mn("bool","Notation",["Game's Setting Scale","Metric","Short Scale","Short Scale (Abbreviated)","Scientific Notation","Engineering Notation"],"Change how long numbers are handled",!1,(function(){cn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],"Set the number of decimals used when applicable",!1,(function(){cn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (Standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){cn()})),ScaleCutoff:new fn("numscale","Notation","Notation Cut-off Point: ","The number from which CookieMonster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),GCTimer:new mn("bool","Miscellaneous",["Golden Cookie Timer OFF","Golden Cookie Timer ON"],"A timer on the Golden Cookie when it has been spawned",!0,(function(){!function(){if(1===e.GCTimer)for(const e of Object.keys(ie))ie[e].style.display="block",ie[e].style.left=It[e].l.style.left,ie[e].style.top=It[e].l.style.top;else for(const e of Object.keys(ie))ie[e].style.display="none"}()})),Favicon:new mn("bool","Miscellaneous",["Favicon OFF","Favicon ON"],"Update favicon with Golden/Wrath Cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","Miscellaneous",["Extra Buttons OFF","Extra Buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){e.WrinklerButtons?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")})),BulkBuyBlock:new mn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function Cn(){return JSON.stringify({settings:e,version:"2.031.5"})}function yn(){if(Ie!==Game.dragonLevel||je){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount0&&(e=t);Vt[e].amount--,Pe--}for(const t of Object.keys(Vt)){const o=Vt[t];e+=oo(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)}return e}(),zt=e}(),je=0);const t=Game.auraMult("Fierce Hoarder")>0;!Be&&t?(Be=!0,Se=1):Be&&!t&&(Be=!1,Se=1),Se&&(Xo(),Se=0),function(){nn(),Wo(),function(){ft=0;let e=0;for(const t in Game.wrinklers)2===Game.wrinklers[t].phase&&e++;let t=1;if(Vt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}gt=e,ft=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),No(),Ko();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Ut=le(e/ao())}(),function(){!function(){k=0,It={};for(const e of Object.keys(Game.shimmers))It[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(At=Game.shimmers[e],k+=1)}();for(const e of Object.keys(ie))void 0===It[e]&&(ie[e].parentNode.removeChild(ie[e]),delete ie[e]);if(C!==Game.shimmerTypes.golden.n){if(C=Game.shimmerTypes.golden.n,C){y0){let t=0;for(const e in Game.wrinklers)2===Game.wrinklers[e].phase&&t++;t>G?(G=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Gn(3,"WrinklerMaxFlash"):Gn(3,"WrinklerFlash"),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?vn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume"):vn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume"),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?xn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):xn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):G=t}}()}}function Mn(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${Cn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Sn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;for(const t in rn)if(void 0===e[t])o=!0,e[t]=rn[t];else if("Header"!==t&&"Colors"!==t)-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]-1&&e[t][n]<2||(o=!0,e[t][n]=rn[t][n]);else for(const n in rn.Colors)void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=rn[t][n]);o&&Mn(),Tn();for(const e in rn)"Header"!==e&&void 0!==gn[e].func&&gn[e].func()}else Sn(rn)}function Bn(){for(const e of Object.keys(Game.wrinklers))Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}function Pn(){if(Game.Objects["Wizard tower"].minigameLoaded)for(const e in Game.Objects["Wizard tower"].minigame.spellsById)null!==l(`grimoireSpell${e}`).onmouseover&&(x[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("g",`${e}`)}),"this"),Game.tooltip.wobble()})}function En(){if(!u&&Game.Objects["Wizard tower"].minigameLoaded){const t=Game.Objects["Wizard tower"].minigame;d=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){d(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Mn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Un(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(D[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Dn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a);for(const t of Object.keys(e)){const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)}return n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+ro()0&&(t.appendChild(Un("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(re(e)))),t.appendChild(Un("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(le(e/at)))))}const l=function(e){let t=Game.cookiesPs;xo(),0===_t["Heavenly key"].bought&&(_t["Heavenly chip secret"].bought=1,_t["Heavenly cookie stand"].bought=1,_t["Heavenly bakery"].bought=1,_t["Heavenly confectionery"].bought=1,_t["Heavenly key"].bought=1,Ao(),t=De,xo()),Wt>=1e6&&Lo("Sacrifice"),Wt>=1e9&&Lo("Oblivion"),Wt>=1e12&&Lo("From scratch"),Wt>=1e15&&Lo("Nihilism"),Wt>=1e18&&Lo("Dematerialize"),Wt>=1e21&&Lo("Nil zero zilch"),Wt>=1e24&&Lo("Transcendence"),Wt>=1e27&&Lo("Obliterate"),Wt>=1e30&&Lo("Negative void"),Wt>=1e33&&Lo("To crumbs, you say?"),Wt>=1e36&&Lo("You get nothing"),Wt>=1e39&&Lo("Humble rebeginnings"),Wt>=1e42&&Lo("The end of the world"),Wt>=1e45&&Lo("Oh, you're back"),Wt>=1e48&&Lo("Lazarus"),Wt>=1e51&&Lo("Smurf account"),Wt>=1e54&&Lo("If at first you don't succeed"),_t["Heavenly chip secret"].bought=1,_t["Heavenly cookie stand"].bought=1,_t["Heavenly bakery"].bought=1,_t["Heavenly confectionery"].bought=1,_t["Heavenly key"].bought=1,We=e;const o=Oe;Ao(),Io(),o!==Oe&&Ao();const n=De-t;return We=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(re(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Un("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${re(ut)} / ${re(mt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Bn()},e.appendChild(t),o.appendChild(Un("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${re(ht[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==ht[1]&&(Game.wrinklers[ht[1]].hp=0)},n.appendChild(i),o.appendChild(Un("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==ht[1]?ht[1]:"None"})`,n))}let n=!1;const i=[];for(const e of Object.keys(Uo))Game.Has(Uo[e])||(i.push(Uo[e]),n=!0);const a=[];for(const e of Object.keys(Do))Game.Has(Do[e])||(a.push(Do[e]),n=!0);const r=[];for(const e of Object.keys(Ro))Game.Has(Ro[e])||(r.push(Ro[e]),n=!0);const s=[];for(const e of Object.keys(Game.eggDrops))Game.HasUnlocked(Game.eggDrops[e])||(s.push(Game.eggDrops[e]),n=!0);const c=[];for(const e of Object.keys(Game.rareEggDrops))Game.HasUnlocked(Game.rareEggDrops[e])||(c.push(Game.rareEggDrops[e]),n=!0);const d=[];for(const e of Object.keys(Ho))Game.HasUnlocked(Ho[e])||(d.push(Ho[e]),n=!0);const p=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),u=Game.Has("Century egg");if(("christmas"===Game.season||n||p||u)&&(o.appendChild(jn("Season Specials","Sea")),e.Header.Sea&&(0!==i.length&&o.appendChild(Un("basic","Halloween Cookies Left to Buy",Dn(i))),0!==a.length&&o.appendChild(Un("basic","Christmas Cookies Left to Buy",Dn(a))),0!==r.length&&o.appendChild(Un("basic","Valentine Cookies Left to Buy",Dn(r))),0!==s.length&&o.appendChild(Un("basic","Normal Easter Eggs Left to Unlock",Dn(s))),0!==c.length&&o.appendChild(Un("basic","Rare Easter Eggs Left to Unlock",Dn(c))),0!==d.length&&o.appendChild(Un("basic","Rare Plant Drops Left to Unlock",Dn(d))),"christmas"===Game.season&&o.appendChild(Un("basic","Reindeer Reward",document.createTextNode(re(lt)))),p&&o.appendChild(Un("withTooltip","Chocolate Egg Cookies",document.createTextNode(re(st)),"ChoEggTooltipPlaceholder")),u&&o.appendChild(Un("basic","Century Egg Multiplier",document.createTextNode(Math.round(1e4*(rt-1))/100+"%"))))),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Un("basic",`Average Cookies Per Second (Past ${Q[e.AvgCPSHist]<60?`${Q[e.AvgCPSHist]} seconds`:Q[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(re(ao(),3)))),o.appendChild(Un("basic",`Average Cookie Clicks Per Second (Past ${q[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(re(yt,1)))),Game.Has("Fortune cookies")){const e=[];for(const t of Object.keys(jo))Game.Has(jo[t])||e.push(jo[t]);0!==e.length&&o.appendChild(Un("basic","Fortune Upgrades Left to Buy",Dn(e)))}if(e.ShowMissedGC&&o.appendChild(Un("basic","Missed Golden Cookies",document.createTextNode(re(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Un("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&function(){for(const e of l("menu").children)if(e.children[0])if("Prestige"===e.children[0].innerHTML&&kt){const t=kt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=kt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(bt){const t=bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=bt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Gt){const t=Gt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Gt,e.appendChild(i)}}}()}const Hn={BarsColors:"Bars/Colors",Calculation:"Calculation",Notification:"Notification",Tooltip:"Tooltips and additional insights",Statistics:"Statistics",Notation:"Notation",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===gn[t].type){const n=document.createElement("a");gn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]++,e[t]===gn[t].label.length?(e[t]=0,gn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==gn[t].func&&gn[t].func(),l(Wn+t).innerHTML=gn[t].label[e[t]],Mn()}(t)},n.textContent=gn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=gn[t].desc,o.appendChild(i),o}if("vol"===gn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=gn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");return r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n),o}if("url"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,Mn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=gn[t].desc,o.appendChild(s),o}if("color"===gn[t].type){o.className="";for(let t=0;tthis.max&&console.log("TEST"),e[t]=this.value,Mn(),cn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=gn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){M.Beautify=Beautify,Beautify=re,M.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){M.CalculateGains(),je=1,qt=Date.now(),Qt=Date.now()},M.tooltip={},M.tooltip.draw=Game.tooltip.draw,M.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){M.tooltip.drawMod(e,t,o)},M.tooltip.update=Game.tooltip.update,M.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){M.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},M.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(M.UpdateWrinklers)},M.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(M.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),M.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){M.RebuildUpgrades(),function(){T=[];for(const e of Object.keys(Game.UpgradesInStore))null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("u",`${e}`)}),"store"),Game.tooltip.wobble())})}(),Game.CalculateGains()},M.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=Vt[Game.ObjectsById[e].name].name;Vt[o].amount-=1,Pe-=1,t=Vt[o].basePrice*Game.priceIncrease**Math.max(0,Vt[o].amount-1-Vt[o].free),t=Game.modifyBuildingPrice(Vt[o],t),t=Math.ceil(t);break}const o=Oe;return Ao(),Io(),o!==Oe&&Ao(),[De-Game.cookiesPs,t]}(t),n=le(o/(e+Game.cookiesPs)),i=re(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${re(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},M.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){M.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},M.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(M.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t);for(const t of Object.keys(Hn)){const n=In(t,Hn[t]);if(o.appendChild(n),e.Header[t])if("Notification"===t)for(const t of Object.keys($n)){const n=In(t,$n[t]);if(n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t])for(const e in gn)gn[e].group===t&&o.appendChild(zn(e))}else for(const e of Object.keys(gn))gn[e].group===t&&o.appendChild(zn(e))}const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Sn(rn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.5) sees a total rehaul of the backend of the mod. It does not introduce any new functions, this is planned for the next release.
\nWe believe we have fixed all bugs related to this new code, but if you find any bugs, please report them on the GitHub!
\n
\nBesides, this update fixes the following bugs:
\n- Fixed some upgrade tooltips which did not display the full effect of buying the upgrades
\n- Fixed not always being able to sell when "blocking bulk buy"
\n- Fixed heavenly chips per second display
\n- Fixed small display bug when pressing shift and hovering over garden plots
\n- Fixed some bugs with the display of numbers and formatting of them
\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},M.sayTime=Game.sayTime,H=function(e,t){return Number.isNaN(e)||e<=0?M.sayTime(e,t):le(e/Game.fps,1)},M.Logic=Game.Logic,Game.Logic=function(){M.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ae=`${Game.OnAscend?"Ascending! ":""}${re(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ae;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=At?At.wrath?`[W${Math.ceil(At.life/Game.fps)}]`:`[G${Math.ceil(At.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=h?`[R${Math.ceil(jt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ae;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;At&&(t=!0,At.wrath?e+=`[W${Math.ceil(At.life/Game.fps)}]`:e+=`[G${Math.ceil(At.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&h&&(e+=`[R${Math.ceil(jt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${re(Game.prestige)}.
(CpS +${re(Game.prestige)}%)`,n+='
'),n+=Me<1?"Ascending now would grant you no prestige.":Me<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${re(Me)} prestige levels (+${re(Me)}% CpS)
and ${re(Me)} heavenly chips to spend.`,n+='
',n+=`You need ${re(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Ut} to reach the next level and you are making ${re(at,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){bn(),tn(),an(),a=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColor="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=S+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.5",N)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",P)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",P)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",P)),l("wrapper").appendChild(e);for(const e of Object.keys(Game.Objects))so(e)}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColor="black";const t=lo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:L},{id:"CMTimerBarGCBar",color:W}]);e.appendChild(t);const o=lo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:L},{id:"CMTimerBarRenBar",color:O}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColor="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(P,"Better than best PP building")),e.appendChild(o(E,"Same as best PP building")),e.appendChild(o(N,"Between best and worst PP buildings closer to best")),e.appendChild(o(O,"Between best and worst PP buildings closer to worst")),e.appendChild(o(F,"Same as worst PP building")),e.appendChild(o(W,"Worse than worst PP building")),e.appendChild(o(L,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=S+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",P)),e.appendChild(o("CMUpgradeBarGreen",E)),e.appendChild(o("CMUpgradeBarYellow",N)),e.appendChild(o("CMUpgradeBarOrange",O)),e.appendChild(o("CMUpgradeBarRed",F)),e.appendChild(o("CMUpgradeBarPurple",W)),e.appendChild(o("CMUpgradeBarGray",L)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMWhiteScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}();for(const e of Object.keys(D))Mo(D[e][0],D[e][1],D[e][2]);!function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Bn()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==ht[1]&&(Game.wrinklers[ht[1]].hp=0)},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",function(){for(const e of Object.keys(Game.Objects)){const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(w[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("b",`${e}`)}),"store"),Game.tooltip.wobble()})}}(),Game.canLumps()&&(r=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("s","Lump")}),"this"),Game.tooltip.wobble()}),m=Game.LoadMinigames,Game.LoadMinigames=function(){m(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Pn(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){$=1},l("backgroundLeftCanvas").onmouseout=function(){$=0,Game.tooltip.hide();for(const e of Object.keys(Game.wrinklers))z[e]=0},_n(),Nn(),Game.CalculateGains(),Sn(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.5 loaded!"):Game.Notify("Cookie Monster version 2.031.5 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){kn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.5 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",Tn),kn=!1)},load:function(e){const t=JSON.parse(e);bn(),Sn(t.settings),"2.031.5"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:Cn};Game.registerMod("CookieMonster",Qn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index b009414..93a5691 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],f=o.fixed?"fixed":"absolute",g=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var f=m[h];if(f)if(i.pub.presets.hasOwnProperty(f)){for(var u in i.pub.presets[f])if(i.pub.presets[f].hasOwnProperty(u))try{a(u,i.pub.presets[f][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",f)}var g=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===g.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){if(t[n])return t[n].exports;var i=t[n]={exports:{}};return e[n].call(i.exports,i,i.exports,o),i.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};const t=["","","M","G","T","P","E","Z","Y"],n=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],i=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let a,r,s,c,d,p,u,m,h,f,g,C,y,b,k,G,v,w=[],x=[],T=[],M={};const S="CMText",B="CMBack",P="Blue",E="Green",N="Yellow",O="Orange",F="Red",W="Purple",L="Gray",A="Pink",j="Brown",U=[L,P,E,N,O,F,W,A,j],D=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]];let R,H,$=0,I=-1,z=[],V=1,_=1,X=1;const Q=[10,15,30,60,300,600,900,1800],q=[1,5,10,15,30],Y={Frenzy:N,"Dragon Harvest":j,"Elder frenzy":E,Clot:F,"Click frenzy":P,Dragonflight:A};let K,J,Z,ee,te,oe,ne,ie={},ae="";function re(o,a,r){const l=e.ScaleDecimals+1;if(o===1/0)return"Infinity";if(void 0===o)return"0";if(0===e.Scale)return M.Beautify(o,a);if(Number.isFinite(o)){let s="";if(0===o)return o.toString();if(o>.001&&o=.01&&o=.01&&o=.01&&o315576e4)return"XX:XX:XX:XX:XX";s+=(n<10?"0":"")+n+":",s+=(i<10?"0":"")+i+":",s+=(a<10?"0":"")+a+":",s+=(r<10?"0":"")+r+":",s+=(l<10?"0":"")+l}else{if(t>7776e5)return o?"Over 9000 days!":">9000d";s+=n>0?n+(o?1===n?" year":" years":"y")+", ":"",s+=i>0?i+(o?1===i?" day":" days":"d")+", ":"",(s.length>0||a>0)&&(s+=a+(o?1===a?" hour":" hours":"h")+", "),(s.length>0||r>0)&&(s+=r+(o?1===r?" minute":" minutes":"m")+", "),s+=l+(o?1===l?" second":" seconds":"s")}return s}function se(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=E):(n=le(t),o=t>300?F:t>60?O:N),{text:n,color:o}}let ce,de,pe,ue,me,he,fe,ge,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Be,Pe,Ee,Ne,Oe,Fe,We,Le,Ae,je,Ue,De,Re,He,$e,Ie,ze=0,Ve=0,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=1,rt=1,lt=1,st=0,ct=0,dt=0,pt=0,ut={},mt={},ht={},ft=0,gt=0,Ct=[0,null],yt=0,bt=0,kt={},Gt={},vt={},wt={},xt={},Tt=0,Mt=0,St=[],Bt=0,Pt=0,Et=[],Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Ut=0,Dt={},Rt={},Ht=0,$t=0,It=0,zt=0,Vt=[],_t={},Xt=0,Qt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},qt=[],Yt=[],Kt=[],Jt=Game.startDate,Zt=Game.startDate;function eo(e){let t=0;return Game.dragonAuras[Le].name!==e&&Game.dragonAuras[Ae].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Le].name&&"Reality Bending"!==Game.dragonAuras[Ae].name||(t+=.1),t}function to(){let e=.25;return e*=1+eo("Earth Shatterer"),e}function oo(e,t){return void 0===He[e]?void 0===t?1:t:He[e]}function no(e){const t=Yt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function io(e){if(Game.hasGod){void 0===qt.Temple.minigame&&(qt.Temple.minigame=Game.Objects.Temple.minigame);const t=qt.Temple.minigame.gods[e];if(je===t.id)return 1;if(Ue===t.id)return 2;if(De===t.id)return 3}return!1}function ao(e,t){if(no("Season savings")&&(t*=.99),no("Santa's dominion")&&(t*=.99),no("Faberge egg")&&(t*=.99),no("Divine discount")&&(t*=.99),no("Fortune #100")&&(t*=.99),t*=1-.02*eo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(t*=.95),Game.hasBuff("Crafty pixies")&&(t*=.98),Game.hasBuff("Nasty goblins")&&(t*=1.02),e.fortune&&no(e.fortune.name)&&(t*=.93),t*=oo("buildingCost"),qt.Temple.minigameLoaded){const e=io("creation");1===e?t*=.93:2===e?t*=.95:3===e&&(t*=.98)}return t}function ro(e,t,o,n,i,a){a=void 0===a?0:a;let r=0;-1===i&&(i=o),i||(i=Game.buyBulk);for(let l=0;l0&&(r+=i,o--)}return r}function lo(){let t=Game.buyBulk;if(1===Game.buyMode?_=t:t=_,1===t?t=ut:10===t?t=mt:100===t&&(t=ht),1===Game.buyMode)if(1===e.BuildColor)for(const o of Object.keys(t))l(`productPrice${Game.Objects[o].id}`).style.color=e.Colors[t[o].color];else for(const e of Object.keys(Game.Objects))l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color");else if(-1===Game.buyMode)for(const e of Object.keys(ut)){const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=re(ro(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))}if(1===Game.buyMode&&e.SortBuildings){const e=Object.keys(t).map((e=>{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o}));e.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const t=ut[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;for(const s of Object.keys(Game.UpgradesInStore)){const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eU.indexOf(t.color)?1:U.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e=10&&(e+=1);return e}:o.power=function(){let e=2;if(no("Starlove")&&(e=3),Game.hasGod){const t=io("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function wo(){Ee=Game.UpgradesOwned,Ne=Game.pledges,Oe=Game.AchievementsOwned,Fe=Game.heavenlyPower,We=Game.prestige;for(const e of Object.keys(Game.Objects)){const t=Game.Objects[e];let o=qt[e];void 0===o&&(qt[e]=Go(e),o=qt[e],mo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(je=t.minigame.slot[0],Ue=t.minigame.slot[1],De=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),qt[e]=o}for(const e of Object.keys(Game.Upgrades)){const t=Game.Upgrades[e];let o=Yt[e];void 0===o&&(Yt[e]=vo(e),o=Yt[e]),o.bought=t.bought,Yt[e]=o}for(const e of Object.keys(Game.Achievements)){const t=Game.Achievements[e];let o=Kt[e];void 0===o&&(Kt[e]=bo(e),o=Kt[e]),o.won=t.won,Kt[e]=o}yo(),Le=ze,Ae=Ve}function xo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function To(e){e.appendChild(xo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(xo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(xo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(xo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===Z){e.appendChild(xo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Mo(e,t,o){let n=0;for(;et.plantsById[t.plot[ee[1]][ee[0]][0]-1].matureBase,o=t.plantsById[t.plot[ee[1]][ee[0]][0]-1].name;l("CMTooltipBorder").appendChild(xo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${re(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${re(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${re(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${re(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===Z?function(){const t=Game.Objects.Farm.minigame;if(e.TooltipLump){l("CMTooltipBorder").appendChild(xo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n++),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n++):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="";for(const t of Object.keys(Game.buffs))if(Game.buffs[t]){const a=uo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==Y[Game.buffs[t].name]?Y[Game.buffs[t].name]:W,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n++,i[Game.buffs[t].name]=a}for(const e of Object.keys(i))l("CMTimerBarBuffTimers").appendChild(i[e]);0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ne!==n&&(ne=n,go())}}(),ho(),Po(),function(){if(1===e.TooltipWrink&&1===$){let e=!1;for(const t of Object.keys(Game.wrinklers)){const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0!==z[t]&&void 0!==z[t])break;{const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),I=t,z[t]=1}}else z[t]=0}e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let e=Game.wrinklers[I].sucked,t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[I].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),qt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=re(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),l("cookies").innerHTML=l("cookies").innerHTML.replace(/.*(?=
)/i,re(Game.cookies))}class No{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){e>this.maxLength&&(e=this.maxLength),e>this.queue.length&&(e=this.queue.length);let t=0;for(let o=this.queue.length-1;o>=0&&o>this.queue.length-1-e;o--)t+=this.queue[o];return 0===t?0:t/e}}function Oo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Xt;Game.cpsSucked>0&&(o+=ft),jt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-fe,i=Math.max(0,Game.cookies-ge)/n,a=Math.max(0,ft-Ce)/n,r=Math.max(0,Ct[0]-ye)/n,l=Math.max(0,o-pt)/n,s=(Game.cookieClicks-be)/n;for(let e=0;ezt?W:t.pp>It?O:N,0!==Number(e.PPSecondsLowerLimit)&&o/co()0&&(n=F),n}function Wo(e){for(const t of Object.keys(e))Game.cookiesPs?e[t].pp=Math.max(e[t].price-(Game.cookies+po()),0)/Game.cookiesPs+e[t].price/e[t].bonus:e[t].pp=e[t].price/e[t].bonus,e[t].color=Fo(e[t],e[t].price)}function Lo(){!function(){if($t=1/0,zt=1,Vt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),0===e.ColorPPBulkMode&&Game.buyMode>0){for(const e of Object.keys(ut))Game.cookiesPs?ut[e].pp=Math.max(Game.Objects[e].getPrice()-(Game.cookies+po()),0)/Game.cookiesPs+Game.Objects[e].getPrice()/ut[e].bonus:ut[e].pp=Game.Objects[e].getPrice()/ut[e].bonus,Vt.push([ut[e].pp,Game.Objects[e].getPrice()]);if(Vt.sort(((e,t)=>e[0]-t[0])),e.PPOnlyConsiderBuyable)for(;Vt[0][1]>Game.cookies&&1!==Vt.length;)Vt.shift();$t=Vt[e.PPExcludeTop][0],zt=Vt[Vt.length-1][0],It=(zt-$t)/2+$t;for(const t of Object.keys(ut)){ut[t].color=Fo(ut[t],Game.Objects[t].getPrice());for(let o=0;o0){let t;1===Game.buyBulk?t=ut:10===Game.buyBulk?t=mt:100===Game.buyBulk&&(t=ht);for(const e of Object.keys(t))Game.cookiesPs?t[e].pp=Math.max(Game.Objects[e].bulkPrice-(Game.cookies+po()),0)/Game.cookiesPs+Game.Objects[e].bulkPrice/t[e].bonus:t[e].pp=Game.Objects[e].bulkPrice/t[e].bonus,Vt.push([t[e].pp,Game.Objects[e].bulkPrice]);if(Vt.sort(((e,t)=>e[0]-t[0])),e.PPOnlyConsiderBuyable)for(;Vt[0][1]>Game.cookies&&1!==Vt.length;)Vt.shift();$t=Vt[e.PPExcludeTop][0],zt=Vt[Vt.length-1][0],It=(zt-$t)/2+$t;for(const o of Object.keys(ut)){t[o].color=Fo(t[o],Game.Objects[o].bulkPrice);for(let n=0;n=Game.CpsAchievements[e].threshold&&jo(Game.CpsAchievements[e].name);Ie=l;const s=Game.shimmerTypes.golden.n,c=eo("Dragon's Fortune");for(let t=0;t=7&&jo("Elder"),!zo("Veteran")&&e>=14&&jo("Veteran");let t=0,o=1,n=1,i=1e5;for(const e of Object.keys(qt))t+=qt[e].amount,i=Math.min(qt[e].amount,i),zo("Mathematician")||qt[e].amount=1&&jo("One with everything"),1===o&&jo("Mathematician"),1===n&&jo("Base 10"),i>=100&&jo("Centennial"),i>=150&&jo("Centennial and a half"),i>=200&&jo("Bicentennial"),i>=250&&jo("Bicentennial and a half"),i>=300&&jo("Tricentennial"),i>=350&&jo("Tricentennial and a half"),i>=400&&jo("Quadricentennial"),i>=450&&jo("Quadricentennial and a half"),i>=500&&jo("Quincentennial"),i>=550&&jo("Quincentennial and a half"),i>=600&&jo("Sexcentennial"),t>=100&&jo("Builder"),t>=500&&jo("Architect"),t>=1e3&&jo("Engineer"),t>=2e3&&jo("Lord of Constructs"),t>=4e3&&jo("Grand design"),t>=8e3&&jo("Ecumenopolis"),Ee>=20&&jo("Enhancer"),Ee>=50&&jo("Augmenter"),Ee>=100&&jo("Upgrader"),Ee>=200&&jo("Lord of Progress"),Ee>=300&&jo("The full picture"),Ee>=400&&jo("When there's nothing left to add"),t>=4e3&&Ee>=300&&jo("Polymath"),t>=8e3&&Ee>=400&&jo("Renaissance baker"),qt.Cursor.amount+qt.Grandma.amount>=777&&jo("The elder scrolls");let a=!0;for(const e of Object.keys(Ro))no(Ro[e])||(a=!1);a&&jo("Spooky cookies");let r=!0;for(const e of Object.keys(Ho))no(Ho[e])||(r=!1);if(r&&jo("Let it snow"),no("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;for(const o of Object.keys(e))no(e[o].name)&&t++;t>=e.length&&jo("O Fortuna")}}function _o(e,t){wo(),qt[e].amount+=t;const o=qt[e];if("Cursor"===e)o.amount>=1&&jo("Click"),o.amount>=2&&jo("Double-click"),o.amount>=50&&jo("Mouse wheel"),o.amount>=100&&jo("Of Mice and Men"),o.amount>=200&&jo("The Digital"),o.amount>=300&&jo("Extreme polydactyly"),o.amount>=400&&jo("Dr. T"),o.amount>=500&&jo("Thumbs, phalanges, metacarpals"),o.amount>=600&&jo("With her finger and her thumb"),o.amount>=700&&jo("Gotta hand it to you"),o.amount>=800&&jo("The devil's workshop");else for(const e in Game.Objects[o.name].tieredAchievs)o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&jo(Game.Objects[o.name].tieredAchievs[e].name);const n=Oe;return Uo(),Vo(),n!==Oe&&Uo(),$e-Game.cookiesPs}function Xo(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){wo(),"Shimmering veil [on]"===Yt[e].name?Yt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Yt[e].name?Yt["Golden switch [off]"].bought=0:Yt[e].bought=(Yt[e].bought+1)%2,Yt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&Ee++,"Elder Pledge"===e?(Ne++,Ne>0&&jo("Elder nap"),Ne>=5&&jo("Elder slumber")):"Elder Covenant"===e?jo("Elder calm"):"Prism heart biscuits"===e?jo("Lovely cookies"):"Heavenly key"===e&&jo("Wholesome");const t=Oe;Uo(),Vo(),t!==Oe&&Uo();const o=function(){let e=0;no("Thousand fingers")&&(e+=.1),no("Million fingers")&&(e*=5),no("Billion fingers")&&(e*=10),no("Trillion fingers")&&(e*=20),no("Quadrillion fingers")&&(e*=20),no("Quintillion fingers")&&(e*=20),no("Sextillion fingers")&&(e*=20),no("Septillion fingers")&&(e*=20),no("Octillion fingers")&&(e*=20),no("Nonillion fingers")&&(e*=20);let t=0;for(const e of Object.keys(qt))t+=qt[e].amount;t-=qt.Cursor.amount,e*=t,no("Plastic mouse")&&(e+=.01*$e),no("Iron mouse")&&(e+=.01*$e),no("Titanium mouse")&&(e+=.01*$e),no("Adamantium mouse")&&(e+=.01*$e),no("Unobtainium mouse")&&(e+=.01*$e),no("Eludium mouse")&&(e+=.01*$e),no("Wishalloy mouse")&&(e+=.01*$e),no("Fantasteel mouse")&&(e+=.01*$e),no("Nevercrack mouse")&&(e+=.01*$e),no("Armythril mouse")&&(e+=.01*$e),no("Technobsidian mouse")&&(e+=.01*$e),no("Plasmarble mouse")&&(e+=.01*$e),no("Miraculite mouse")&&(e+=.01*$e),no("Fortune #104")&&(e+=.01*$e);let o=1;if(no("Santa's helpers")&&(o*=1.1),no("Cookie egg")&&(o*=1.1),no("Halo gloves")&&(o*=1.1),no("Dragon claw")&&(o*=1.03),no("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,no("Luminous gloves")?20:10)),o*=oo("click"),qt.Temple.minigameLoaded&&io){const e=io("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}for(const e of Object.keys(Game.buffs))void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick);o*=1+.05*eo("Dragon Cursor");let n=o*Game.ComputeCps(1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[$e-Game.cookiesPs,o]:[$e-Game.cookiesPs]}return[]}function Qo(e,t){const o=[];for(const t of Object.keys(Game.Objects))o[t]={},o[t].bonus=_o(t,e),1!==e&&(Se=1);return o}function qo(){for(const e of Object.keys(Game.Objects))ut[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),mt[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),ht[e].price=Ao(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}function Yo(){ut=Qo(1),mt=Qo(10),ht=Qo(100),function(){kt=[];for(const e of Object.keys(Game.Upgrades)){const t=Xo(e);kt[e]={},t[0]&&(kt[e].bonus=t[0]),t[1]&&(kt[e].bonusMouse=t[1])}}()}function Ko(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,St=Ko(7,e,rt),Tt=2*St[1]/rt,Mt=St[2]/60/60/6/at,Et=Ko(6,e,lt),Bt=2*Et[1]/lt,Pt=Et[2]/60/60/6/at,Ft=Ko(7,7*e,rt),Nt=2*Ft[1]/rt,Ot=Ft[2]/60/60/6/at,At=Ko(6,7*e,lt),Wt=2*At[1]/lt,Lt=At[2]/60/60/6/at}function Zo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Te,i=Math.max(0,o-Me)/n;for(let e=0;e\n\t`}function tn(){vt="",xt="",wt="";const e=[];for(const t of Object.keys(Game.Upgrades))e.push(Game.Upgrades[t]);e.sort((function(e,t){return e.order>t.order?1:e.order0?Qe/=e:Qe=0,qe=rt*(.15*Qe)+13,Ye=lt*(.15*Qe)+13,Ke=7*Qe,Je=rt*(.15*Ke)+13,Ze=lt*(.15*Ke)+13,et=2*Qe,tt=.15*et,ot=0;let t=0,o=0;for(const e of Object.keys(Game.Objects))Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&o++;for(const e of Object.keys(Game.Objects))(Game.Objects[e].amountot&&(ot=2*Game.Objects[e].price,nt=e)}function an(){let e=1,t=1,o=1;no("Green yeast digestives")&&(o*=1.01),no("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),rt=o*e,lt=o*t,at=1,0===Game.shimmerTypes.golden.n&&(at*=1+1.23*Game.auraMult("Dragon's Fortune"))}function rn(){ft=0,gt=0,Ct=[0,null];for(let e=0;eCt[0]&&(Ct=[t,e]))}}function ln(){yo(),rn(),nn(),an(),Jo(),tn(),on(),ce=new No(Q[Q.length-1]),de=new No(Q[Q.length-1]),pe=new No(Q[Q.length-1]),ue=new No(Q[Q.length-1]),me=new No(q[q.length-1]),he=new No(5),Zo(),Oo(),Yo(),qo(),Lo()}const sn={BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,BuildColor:1,BulkBuildColor:0,UpBarColor:1,UpgradeBarFixedPos:1,CalcWrink:0,CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,ColorPPBulkMode:1,PPExcludeTop:0,PPSecondsLowerLimit:0,PPOnlyConsiderBuyable:0,ToolWarnBon:0,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,DragonAuraInfo:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,TimeFormat:0,DetailedTime:1,GrimoireBar:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,Colors:{Blue:"#4bb8f0",Green:"#00ff00",Yellow:"#ffff00",Orange:"#ff7f00",Red:"#ff0000",Purple:"#ff00ff",Gray:"#b3b3b3",Pink:"#ff1493",Brown:"#8b4513"},SortBuildings:0,SortUpgrades:0,GCTimer:1,Favicon:1,WrinklerButtons:1,BulkBuyBlock:0,Header:{BarsColors:1,Calculation:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Tooltip:1,Statistics:1,Notation:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},cn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function dn(){1===e.BotBar?(l("CMBotBar").style.display="",ho()):l("CMBotBar").style.display="none",go()}function pn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),ho(),lo(),so()}function un(){let t="";for(let o=0;o0?Dt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class fn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class gn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class Cn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const yn={BotBar:new fn("bool","BarsColors",["Bottom Bar OFF","Bottom Bar ON"],"Building Information",!0,(function(){dn()})),TimerBar:new fn("bool","BarsColors",["Timer Bar OFF","Timer Bar ON"],"Timers of Golden Cookie, Season Popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){Co()})),TimerBarPos:new fn("bool","BarsColors",["Timer Bar Position (Top Left)","Timer Bar Position (Bottom)"],"Placement of the Timer Bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),go()})),TimerBarOverlay:new fn("bool","BarsColors",["Timer Bar Overlay OFF","Timer Bar Overlay Only Seconds","Timer Bar Overlay Full"],"Overlay on timers displaying seconds and/or percentage left",!0),SortBuildings:new fn("bool","BarsColors",["Sort Buildings: Default","Sort Buildings: PP"],"Sort the display of buildings in either default order or by PP",!1,(function(){lo()})),SortUpgrades:new fn("bool","BarsColors",["Sort Upgrades: Default","Sort Upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){so()})),BuildColor:new fn("bool","BarsColors",["Building Colors OFF","Building Colors ON"],"Color code buildings",!0,(function(){lo()})),BulkBuildColor:new fn("bool","BarsColors",["Bulk Building Colors (Single Building Color)","Bulk Building Colors (Calculated Bulk Color)"],"Color code bulk buildings based on single buildings color or calculated bulk value color",!1,(function(){lo()})),UpBarColor:new fn("bool","BarsColors",["Upgrade Colors/Bar OFF","Upgrade Colors with Bar ON","Upgrade Colors without Bar ON"],"Color code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",so()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",so()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),Colors:new class extends hn{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("color","BarsColors",{Blue:"Color Blue. Used to show better than best PP building, for Click Frenzy bar, and for various labels",Green:"Color Green. Used to show best PP building, for Blood Frenzy bar, and for various labels",Yellow:"Color Yellow. Used to show between best and worst PP buildings closer to best, for Frenzy bar, and for various labels",Orange:"Color Orange. Used to show between best and worst PP buildings closer to worst, for Next Reindeer bar, and for various labels",Red:"Color Red. Used to show worst PP building, for Clot bar, and for various labels",Purple:"Color Purple. Used to show worse than worst PP building, for Next Cookie bar, and for various labels",Gray:"Color Gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar",Pink:"Color Pink. Used for Dragonflight bar",Brown:"Color Brown. Used for Dragon Harvest bar"},(function(){un()})),UpgradeBarFixedPos:new fn("bool","BarsColors",["Upgrade Bar Fixed Position OFF","Upgrade Bar Fixed Position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),CalcWrink:new fn("bool","Calculation",["Calculate with Wrinklers OFF","Calculate with Wrinklers ON","Calculate with Single Fattest Wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) Wrinklers",!0),CPSMode:new fn("bool","Calculation",["Current Cookies Per Second","Average Cookies Per Second"],"Calculate times using current Cookies Per Second or average Cookies Per Second",!1),AvgCPSHist:new fn("bool","Calculation",["Average CPS for past 10s","Average CPS for past 15s","Average CPS for past 30s","Average CPS for past 1m","Average CPS for past 5m","Average CPS for past 10m","Average CPS for past 15m","Average CPS for past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new fn("bool","Calculation",["Average Cookie Clicks for past 1s","Average Cookie Clicks for past 5s","Average Cookie Clicks for past 10s","Average Cookie Clicks for past 15s","Average Cookie Clicks for past 30s"],"How much time average Cookie Clicks should consider",!1),ColorPPBulkMode:new fn("bool","Calculation",["Color of PP (Compared to Single)","Color of PP (Compared to Bulk)"],"Color PP-values based on comparison with single purchase or with selected bulk-buy mode",!1,(function(){Lo()})),PPExcludeTop:new fn("bool","Calculation",["Don't Ignore Any","Ignore 1st Best","Ignore 1st and 2nd Best","Ignore 1st, 2nd and 3rd Best"],"Makes CookieMonster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPSecondsLowerLimit:new Cn("numscale","Calculation","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),PPOnlyConsiderBuyable:new fn("bool","Calculation",["Don't Ignore Non-Buyable","Ignore Non-Buyable"],"Makes CookieMonster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),ToolWarnBon:new fn("bool","Calculation",["Calculate Tooltip Warning With Bonus CPS OFF","Calculate Tooltip Warning With Bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),Title:new fn("bool","NotificationGeneral",["Title OFF","Title ON","Title Pinned Tab Highlight"],'Update title with Golden Cookie/Season Popup timers; pinned tab highlight only changes the title when a Golden Cookie/Season Popup spawns; "!" means that Golden Cookie/Reindeer can spawn',!0),GeneralSound:new fn("bool","NotificationGeneral",["Consider Game Volume Setting OFF","Consider Game Volume Setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new fn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when Golden Cookie spawns",!0,(function(){cn(e.GCNotification)})),GCFlash:new fn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on Golden Cookie",!0),GCSound:new fn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on Golden Cookie",!0),GCVolume:new gn("vol","NotificationGC",[],"Volume"),GCSoundURL:new fn("url","NotificationGC","Sound URL:","URL of the sound to be played when a Golden Cookie spawns"),FortuneNotification:new fn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when Fortune Cookie is on the Ticker",!0,(function(){cn(e.FortuneNotification)})),FortuneFlash:new fn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on Fortune Cookie",!0),FortuneSound:new fn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on Fortune Cookie",!0),FortuneVolume:new gn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new fn("url","NotificationFC","Sound URL:","URL of the sound to be played when the Ticker has a Fortune Cookie"),SeaNotification:new fn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on Season Popup",!0,(function(){cn(e.SeaNotification)})),SeaFlash:new fn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on Season Popup",!0),SeaSound:new fn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on Season Popup",!0),SeaVolume:new gn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new fn("url","NotificationSea","Sound URL:","URL of the sound to be played when a Season Special spawns"),GardFlash:new fn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on Garden Tick",!0),GardSound:new fn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on Garden Tick",!0),GardVolume:new gn("vol","NotificationGard",[],"Volume"),GardSoundURL:new fn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new fn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){cn(e.MagicNotification)})),MagicFlash:new fn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new fn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new gn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new fn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new fn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a Wrinkler appears",!0,(function(){cn(e.WrinklerNotification)})),WrinklerFlash:new fn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a Wrinkler appears",!0),WrinklerSound:new fn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a Wrinkler appears",!0),WrinklerVolume:new gn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new fn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a Wrinkler appears"),WrinklerMaxNotification:new fn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of Wrinklers has appeared",!0,(function(){cn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new fn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new fn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxVolume:new gn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new fn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of Wrinklers has appeared"),TooltipBuildUpgrade:new fn("bool","Tooltip",["Building/Upgrade Tooltip Information OFF","Building/Upgrade Tooltip Information ON"],"Extra information in Building/Upgrade tooltips",!0),TooltipAmor:new fn("bool","Tooltip",["Buildings Tooltip Amortization Information OFF","Buildings Tooltip Amortization Information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new fn("bool","Tooltip",["Tooltip Lucky Warning OFF","Tooltip Lucky Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new fn("bool","Tooltip",["Tooltip Lucky Frenzy Warning OFF","Tooltip Lucky Frenzy Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new fn("bool","Tooltip",["Tooltip Conjure Warning OFF","Tooltip Conjure Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new fn("bool","Tooltip",["Tooltip Conjure Frenzy Warning OFF","Tooltip Conjure Frenzy Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new fn("bool","Tooltip",["Tooltip Edifice Warning OFF","Tooltip Edifice Warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new Cn("numscale","Tooltip","Tooltip Warning At x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnPos:new fn("bool","Tooltip",["Tooltip Warning Position (Left)","Tooltip Warning Position (Bottom)"],"Placement of the warning boxes",!1,(function(){Bo()})),TooltipGrim:new fn("bool","Tooltip",["Grimoire Tooltip Information OFF","Grimoire Tooltip Information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new fn("bool","Tooltip",["Wrinkler Tooltip OFF","Wrinkler Tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new fn("bool","Tooltip",["Sugar Lump Tooltip OFF","Sugar Lump Tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new fn("bool","Tooltip",["Garden Plots Tooltip OFF","Garden Plots Tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new fn("bool","Tooltip",["Show Extra Info Pantheon Tooltip OFF","Show Extra Info Pantheon Tooltip ON"],"Shows additional info in the pantheon tooltip",!0),DragonAuraInfo:new fn("bool","Tooltip",["Extra Dragon Aura Info OFF","Extra Dragon Aura Info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),TooltipAscendButton:new fn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new fn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new fn("bool","Statistics",["Missing Upgrades OFF","Missing Upgrades ON"],"Shows Missing upgrades in Stats Menu. This feature can be laggy for users with a low amount of unlocked achievements.",!0),UpStats:new fn("bool","Statistics",["Statistics Update Rate (Default)","Statistics Update Rate (1s)"],"Default Game rate is once every 5 seconds",!1),TimeFormat:new fn("bool","Statistics",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new fn("bool","Statistics",["Detailed Time OFF","Detailed Time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=H:Game.sayTime=M.sayTime})),GrimoireBar:new fn("bool","Statistics",["Grimoire Magic Meter Timer OFF","Grimoire Magic Meter Timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),HeavenlyChipsTarget:new Cn("numscale","Statistics","Heavenly Chips Target: ",'Use this to set a Heavenly Chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new fn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many Golden Cookies you have missed",!0),Scale:new fn("bool","Notation",["Game's Setting Scale","Metric","Short Scale","Short Scale (Abbreviated)","Scientific Notation","Engineering Notation"],"Change how long numbers are handled",!1,(function(){pn()})),ScaleDecimals:new fn("bool","Notation",["1 decimals","2 decimals","3 decimals"],"Set the number of decimals used when applicable",!1,(function(){pn()})),ScaleSeparator:new fn("bool","Notation",[". for decimals (Standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){pn()})),ScaleCutoff:new Cn("numscale","Notation","Notation Cut-off Point: ","The number from which CookieMonster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),GCTimer:new fn("bool","Miscellaneous",["Golden Cookie Timer OFF","Golden Cookie Timer ON"],"A timer on the Golden Cookie when it has been spawned",!0,(function(){!function(){if(1===e.GCTimer)for(const e of Object.keys(ie))ie[e].style.display="block",ie[e].style.left=_t[e].l.style.left,ie[e].style.top=_t[e].l.style.top;else for(const e of Object.keys(ie))ie[e].style.display="none"}()})),Favicon:new fn("bool","Miscellaneous",["Favicon OFF","Favicon ON"],"Update favicon with Golden/Wrath Cookie",!0,(function(){mn()})),WrinklerButtons:new fn("bool","Miscellaneous",["Extra Buttons OFF","Extra Buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){e.WrinklerButtons?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")})),BulkBuyBlock:new fn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function bn(){return JSON.stringify({settings:e,version:"2.031.5"})}function kn(){if(_e!==Game.dragonLevel||Re){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount0&&(e=t);qt[e].amount--,Pe--}for(const t of Object.keys(qt)){const o=qt[t];e+=ro(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)}return e}(),Xt=e}(),Re=0);const t=Game.auraMult("Fierce Hoarder")>0;!Be&&t?(Be=!0,Se=1):Be&&!t&&(Be=!1,Se=1),Se&&(qo(),Se=0),function(){rn(),Lo(),function(){yt=0;let e=0;for(const t in Game.wrinklers)2===Game.wrinklers[t].phase&&e++;let t=1;if(qt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}bt=e,yt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Oo(),Zo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Ht=le(e/co())}(),function(){!function(){k=0,_t={};for(const e of Object.keys(Game.shimmers))_t[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Dt=Game.shimmers[e],k+=1)}();for(const e of Object.keys(ie))void 0===_t[e]&&(ie[e].parentNode.removeChild(ie[e]),delete ie[e]);if(C!==Game.shimmerTypes.golden.n){if(C=Game.shimmerTypes.golden.n,C){y0){let t=0;for(const e in Game.wrinklers)2===Game.wrinklers[e].phase&&t++;t>G?(G=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?xn(3,"WrinklerMaxFlash"):xn(3,"WrinklerFlash"),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Tn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume"):Tn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume"),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):G=t}}()}}function Pn(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${bn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function En(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;for(const t in sn)if(void 0===e[t])o=!0,e[t]=sn[t];else if("Header"!==t&&"Colors"!==t)-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]-1&&e[t][n]<2||(o=!0,e[t][n]=sn[t][n]);else for(const n in sn.Colors)void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=sn[t][n]);o&&Pn(),Bn();for(const e in sn)"Header"!==e&&void 0!==yn[e].func&&yn[e].func()}else En(sn)}function Nn(){for(const e of Object.keys(Game.wrinklers))Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}function On(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i)}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Ao(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${re(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${se((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(re(Game.Objects[o].bulkPrice)).join(re((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return Z=t,ee=o,Po(),l("tooltip").innerHTML}function Wn(){if(Game.Objects["Wizard tower"].minigameLoaded)for(const e in Game.Objects["Wizard tower"].minigame.spellsById)null!==l(`grimoireSpell${e}`).onmouseover&&(x[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}function Ln(){if(!u&&Game.Objects["Wizard tower"].minigameLoaded){const t=Game.Objects["Wizard tower"].minigame;d=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){d(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Pn()}function $n(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Hn(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(D[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a);for(const t of Object.keys(e)){const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)}return n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild($n("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+po()0&&(t.appendChild(In("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(re(e)))),t.appendChild(In("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(le(e/st)))))}const l=function(e){let t=Game.cookiesPs;wo(),0===Yt["Heavenly key"].bought&&(Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,Uo(),t=$e,wo()),jt>=1e6&&jo("Sacrifice"),jt>=1e9&&jo("Oblivion"),jt>=1e12&&jo("From scratch"),jt>=1e15&&jo("Nihilism"),jt>=1e18&&jo("Dematerialize"),jt>=1e21&&jo("Nil zero zilch"),jt>=1e24&&jo("Transcendence"),jt>=1e27&&jo("Obliterate"),jt>=1e30&&jo("Negative void"),jt>=1e33&&jo("To crumbs, you say?"),jt>=1e36&&jo("You get nothing"),jt>=1e39&&jo("Humble rebeginnings"),jt>=1e42&&jo("The end of the world"),jt>=1e45&&jo("Oh, you're back"),jt>=1e48&&jo("Lazarus"),jt>=1e51&&jo("Smurf account"),jt>=1e54&&jo("If at first you don't succeed"),Yt["Heavenly chip secret"].bought=1,Yt["Heavenly cookie stand"].bought=1,Yt["Heavenly bakery"].bought=1,Yt["Heavenly confectionery"].bought=1,Yt["Heavenly key"].bought=1,We=e;const o=Oe;Uo(),Vo(),o!==Oe&&Uo();const n=$e-t;return We=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(re(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild($n("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${re(ft)} / ${re(gt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Nn()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${re(Ct[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==Ct[1]&&(Game.wrinklers[Ct[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==Ct[1]?Ct[1]:"None"})`,n))}let n=!1;const i=[];for(const e of Object.keys(Ro))Game.Has(Ro[e])||(i.push(Ro[e]),n=!0);const a=[];for(const e of Object.keys(Ho))Game.Has(Ho[e])||(a.push(Ho[e]),n=!0);const r=[];for(const e of Object.keys($o))Game.Has($o[e])||(r.push($o[e]),n=!0);const s=[];for(const e of Object.keys(Game.eggDrops))Game.HasUnlocked(Game.eggDrops[e])||(s.push(Game.eggDrops[e]),n=!0);const c=[];for(const e of Object.keys(Game.rareEggDrops))Game.HasUnlocked(Game.rareEggDrops[e])||(c.push(Game.rareEggDrops[e]),n=!0);const d=[];for(const e of Object.keys(Io))Game.HasUnlocked(Io[e])||(d.push(Io[e]),n=!0);const p=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),u=Game.Has("Century egg");if(("christmas"===Game.season||n||p||u)&&(o.appendChild($n("Season Specials","Sea")),e.Header.Sea&&(0!==i.length&&o.appendChild(In("basic","Halloween Cookies Left to Buy",zn(i))),0!==a.length&&o.appendChild(In("basic","Christmas Cookies Left to Buy",zn(a))),0!==r.length&&o.appendChild(In("basic","Valentine Cookies Left to Buy",zn(r))),0!==s.length&&o.appendChild(In("basic","Normal Easter Eggs Left to Unlock",zn(s))),0!==c.length&&o.appendChild(In("basic","Rare Easter Eggs Left to Unlock",zn(c))),0!==d.length&&o.appendChild(In("basic","Rare Plant Drops Left to Unlock",zn(d))),"christmas"===Game.season&&o.appendChild(In("basic","Reindeer Reward",document.createTextNode(re(dt)))),p&&o.appendChild(In("withTooltip","Chocolate Egg Cookies",document.createTextNode(re(pt)),"ChoEggTooltipPlaceholder")),u&&o.appendChild(In("basic","Century Egg Multiplier",document.createTextNode(Math.round(1e4*(ct-1))/100+"%"))))),o.appendChild($n("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average Cookies Per Second (Past ${Q[e.AvgCPSHist]<60?`${Q[e.AvgCPSHist]} seconds`:Q[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(re(co(),3)))),o.appendChild(In("basic",`Average Cookie Clicks Per Second (Past ${q[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(re(Gt,1)))),Game.Has("Fortune cookies")){const e=[];for(const t of Object.keys(Do))Game.Has(Do[t])||e.push(Do[t]);0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed Golden Cookies",document.createTextNode(re(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&function(){for(const e of l("menu").children)if(e.children[0])if("Prestige"===e.children[0].innerHTML&&wt){const t=wt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=wt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(vt){const t=vt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=vt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(xt){const t=xt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=xt,e.appendChild(i)}}}()}const _n={BarsColors:"Bars/Colors",Calculation:"Calculation",Notification:"Notification",Tooltip:"Tooltips and additional insights",Statistics:"Statistics",Notation:"Notation",Miscellaneous:"Miscellaneous"},Xn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Qn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Hn(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing","bool"===yn[t].type){const n=document.createElement("a");yn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Dn+t,n.onclick=function(){!function(t){e[t]++,e[t]===yn[t].label.length?(e[t]=0,yn[t].toggle&&(l(Dn+t).className="option off")):l(Dn+t).className="option",void 0!==yn[t].func&&yn[t].func(),l(Dn+t).innerHTML=yn[t].label[e[t]],Pn()}(t)},n.textContent=yn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=yn[t].desc,o.appendChild(i),o}if("vol"===yn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=yn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");return r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Rn(t)},r.onchange=function(){Rn(t)},n.appendChild(r),o.appendChild(n),o}if("url"===yn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${yn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Dn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Dn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,Pn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=yn[t].desc,o.appendChild(s),o}if("color"===yn[t].type){o.className="";for(let t=0;tthis.max&&console.log("TEST"),e[t]=this.value,Pn(),pn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=yn[t].desc,o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){M.Beautify=Beautify,Beautify=re,M.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){M.CalculateGains(),Re=1,Zt=Date.now(),Jt=Date.now()},M.tooltip={},M.tooltip.draw=Game.tooltip.draw,M.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){M.tooltip.drawMod(e,t,o)},M.tooltip.update=Game.tooltip.update,M.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){M.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},M.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(M.UpdateWrinklers)},M.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(M.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),M.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){M.RebuildUpgrades(),function(){T=[];for(const e of Object.keys(Game.UpgradesInStore))null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})}(),Game.CalculateGains()},M.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=qt[Game.ObjectsById[e].name].name;qt[o].amount-=1,Pe-=1,t=qt[o].basePrice*Game.priceIncrease**Math.max(0,qt[o].amount-1-qt[o].free),t=Game.modifyBuildingPrice(qt[o],t),t=Math.ceil(t);break}const o=Oe;return Uo(),Vo(),o!==Oe&&Uo(),[$e-Game.cookiesPs,t]}(t),n=le(o/(e+Game.cookiesPs)),i=re(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${re(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},M.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){M.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Xe}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},M.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Un().picker&&void 0!==Un().picker.owner||(M.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t);for(const t of Object.keys(_n)){const n=Qn(t,_n[t]);if(o.appendChild(n),e.Header[t])if("Notification"===t)for(const t of Object.keys(Xn)){const n=Qn(t,Xn[t]);if(n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t])for(const e in yn)yn[e].group===t&&o.appendChild(qn(e))}else for(const e of Object.keys(yn))yn[e].group===t&&o.appendChild(qn(e))}const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){En(sn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Hn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.5) sees a total rehaul of the backend of the mod. It does not introduce any new functions, this is planned for the next release.
\nWe believe we have fixed all bugs related to this new code, but if you find any bugs, please report them on the GitHub!
\n
\nBesides, this update fixes the following bugs:
\n- Fixed some upgrade tooltips which did not display the full effect of buying the upgrades
\n- Fixed not always being able to sell when "blocking bulk buy"
\n- Fixed heavenly chips per second display
\n- Fixed small display bug when pressing shift and hovering over garden plots
\n- Fixed some bugs with the display of numbers and formatting of them
\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},M.sayTime=Game.sayTime,H=function(e,t){return Number.isNaN(e)||e<=0?M.sayTime(e,t):le(e/Game.fps,1)},M.Logic=Game.Logic,Game.Logic=function(){M.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ae=`${Game.OnAscend?"Ascending! ":""}${re(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ae;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Dt?Dt.wrath?`[W${Math.ceil(Dt.life/Game.fps)}]`:`[G${Math.ceil(Dt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=h?`[R${Math.ceil(Rt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ae;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Dt&&(t=!0,Dt.wrath?e+=`[W${Math.ceil(Dt.life/Game.fps)}]`:e+=`[G${Math.ceil(Dt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&h&&(e+=`[R${Math.ceil(Rt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${re(Game.prestige)}.
(CpS +${re(Game.prestige)}%)`,n+='
'),n+=Me<1?"Ascending now would grant you no prestige.":Me<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${re(Me)} prestige levels (+${re(Me)}% CpS)
and ${re(Me)} heavenly chips to spend.`,n+='
',n+=`You need ${re(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Ht} to reach the next level and you are making ${re(st,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){vn(),nn(),ln(),a=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColor="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=S+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.5",N)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",P)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",P)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",P)),l("wrapper").appendChild(e);for(const e of Object.keys(Game.Objects))mo(e)}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColor="black";const t=uo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:L},{id:"CMTimerBarGCBar",color:W}]);e.appendChild(t);const o=uo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:L},{id:"CMTimerBarRenBar",color:O}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColor="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(P,"Better than best PP building")),e.appendChild(o(E,"Same as best PP building")),e.appendChild(o(N,"Between best and worst PP buildings closer to best")),e.appendChild(o(O,"Between best and worst PP buildings closer to worst")),e.appendChild(o(F,"Same as worst PP building")),e.appendChild(o(W,"Worse than worst PP building")),e.appendChild(o(L,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=S+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",P)),e.appendChild(o("CMUpgradeBarGreen",E)),e.appendChild(o("CMUpgradeBarYellow",N)),e.appendChild(o("CMUpgradeBarOrange",O)),e.appendChild(o("CMUpgradeBarRed",F)),e.appendChild(o("CMUpgradeBarPurple",W)),e.appendChild(o("CMUpgradeBarGray",L)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMWhiteScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}();for(const e of Object.keys(D))On(D[e][0],D[e][1],D[e][2]);!function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Nn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==Ct[1]&&(Game.wrinklers[Ct[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",function(){for(const e of Object.keys(Game.Objects)){const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(w[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})}}(),Game.canLumps()&&(r=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),m=Game.LoadMinigames,Game.LoadMinigames=function(){m(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){$=1},l("backgroundLeftCanvas").onmouseout=function(){$=0,Game.tooltip.hide();for(const e of Object.keys(Game.wrinklers))z[e]=0},Kn(),An(),Game.CalculateGains(),En(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.5 loaded!"):Game.Notify("Cookie Monster version 2.031.5 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){wn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.5 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Eo),Game.registerHook("logic",Bn),wn=!1)},load:function(e){const t=JSON.parse(e);vn(),En(t.settings),"2.031.5"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:bn};Game.registerMod("CookieMonster",Zn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],f=o.fixed?"fixed":"absolute",g=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var f=m[h];if(f)if(i.pub.presets.hasOwnProperty(f)){for(var u in i.pub.presets[f])if(i.pub.presets[f].hasOwnProperty(u))try{a(u,i.pub.presets[f][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",f)}var g=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===g.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){if(t[n])return t[n].exports;var i=t[n]={exports:{}};return e[n].call(i.exports,i,i.exports,o),i.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};const t=["","","M","G","T","P","E","Z","Y"],n=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],i=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let a,r,s,c,d,p,u,m,h,f,g,C,y,b,k,G,v,w=[],x=[],T=[],M={};const S="CMText",B="CMBack",P="Blue",E="Green",N="Yellow",O="Orange",F="Red",W="Purple",L="Gray",A="Pink",j="Brown",U=[L,P,E,N,O,F,W,A,j],D=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"]];let R,H,$=0,I=-1,z=[],V=1,_=1,X=1;const Q=[10,15,30,60,300,600,900,1800],q=[1,5,10,15,30],Y={Frenzy:N,"Dragon Harvest":j,"Elder frenzy":E,Clot:F,"Click frenzy":P,Dragonflight:A};let K,J,Z,ee,te,oe,ne,ie={},ae="";function re(o,a,r){const l=e.ScaleDecimals+1;if(o===1/0)return"Infinity";if(void 0===o)return"0";if(0===e.Scale)return M.Beautify(o,a);if(Number.isFinite(o)){let s="";if(0===o)return o.toString();if(o>.001&&o=.01&&o=.01&&o=.01&&o315576e4)return"XX:XX:XX:XX:XX";s+=(n<10?"0":"")+n+":",s+=(i<10?"0":"")+i+":",s+=(a<10?"0":"")+a+":",s+=(r<10?"0":"")+r+":",s+=(l<10?"0":"")+l}else{if(t>7776e5)return o?"Over 9000 days!":">9000d";s+=n>0?n+(o?1===n?" year":" years":"y")+", ":"",s+=i>0?i+(o?1===i?" day":" days":"d")+", ":"",(s.length>0||a>0)&&(s+=a+(o?1===a?" hour":" hours":"h")+", "),(s.length>0||r>0)&&(s+=r+(o?1===r?" minute":" minutes":"m")+", "),s+=l+(o?1===l?" second":" seconds":"s")}return s}function se(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=E):(n=le(t),o=t>300?F:t>60?O:N),{text:n,color:o}}let ce,de,pe,ue,me,he,fe,ge,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Be,Pe,Ee,Ne,Oe,Fe,We,Le,Ae,je,Ue,De,Re,He=0,$e=0,Ie=0,ze=0,Ve=0,_e=0,Xe=0,Qe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=1,nt=1,it=1,at=0,rt=0,lt=0,st=0,ct={},dt={},pt={},ut=0,mt=0,ht=[0,null],ft=0,gt=0,Ct={},yt={},bt={},kt={},Gt={},vt=0,wt=0,xt=[],Tt=0,Mt=0,St=[],Bt=0,Pt=0,Et=[],Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At={},jt={},Ut=0,Dt=0,Rt=0,Ht=0,$t=[],It={},zt=0,Vt=[],_t=[],Xt=[],Qt=Game.startDate,qt=Game.startDate;function Yt(e){let t=0;return Game.dragonAuras[Le].name!==e&&Game.dragonAuras[Ae].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Le].name&&"Reality Bending"!==Game.dragonAuras[Ae].name||(t+=.1),t}function Kt(){let e=.25;return e*=1+Yt("Earth Shatterer"),e}function Jt(e,t){return void 0===Ue[e]?void 0===t?1:t:Ue[e]}function Zt(e){const t=_t[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function eo(e){if(Game.hasGod){void 0===Vt.Temple.minigame&&(Vt.Temple.minigame=Game.Objects.Temple.minigame);const t=Vt.Temple.minigame.gods[e];for(let e=0;e<3;e++)if(Vt.Temple.minigame.slot[e]===t.id)return e+1}return!1}function to(e,t){if(Zt("Season savings")&&(t*=.99),Zt("Santa's dominion")&&(t*=.99),Zt("Faberge egg")&&(t*=.99),Zt("Divine discount")&&(t*=.99),Zt("Fortune #100")&&(t*=.99),t*=1-.02*Yt("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(t*=.95),Game.hasBuff("Crafty pixies")&&(t*=.98),Game.hasBuff("Nasty goblins")&&(t*=1.02),e.fortune&&Zt(e.fortune.name)&&(t*=.93),t*=Jt("buildingCost"),Vt.Temple.minigameLoaded){const e=eo("creation");1===e?t*=.93:2===e?t*=.95:3===e&&(t*=.98)}return t}function oo(e,t,o,n,i,a){a=void 0===a?0:a;let r=0;-1===i&&(i=o),i||(i=Game.buyBulk);for(let l=0;l0&&(r+=i,o--)}return r}function no(){let t=Game.buyBulk;if(1===Game.buyMode?_=t:t=_,1===t?t=ct:10===t?t=dt:100===t&&(t=pt),1===Game.buyMode)if(1===e.BuildColor)for(const o of Object.keys(t))l(`productPrice${Game.Objects[o].id}`).style.color=e.Colors[t[o].color];else for(const e of Object.keys(Game.Objects))l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color");else if(-1===Game.buyMode)for(const e of Object.keys(ct)){const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=re(oo(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))}if(1===Game.buyMode&&e.SortBuildings){const e=Object.keys(t).map((e=>{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o}));e.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const t=ct[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;for(const s of Object.keys(Game.UpgradesInStore)){const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eU.indexOf(t.color)?1:U.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e=10&&(e+=1);return e}:o.power=function(){let e=2;if(Zt("Starlove")&&(e=3),Game.hasGod){const t=eo("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function xo(){Ee=Game.UpgradesOwned,Ne=Game.pledges,Oe=Game.AchievementsOwned,Fe=Game.heavenlyPower,We=Game.prestige;for(const e of Object.keys(Game.Objects)){const t=Game.Objects[e];let o=Vt[e];void 0===o&&(Vt[e]=vo(e),o=Vt[e],so(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&(o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Vt[e]=o}for(const e of Object.keys(Game.Upgrades)){const t=Game.Upgrades[e];let o=_t[e];void 0===o&&(_t[e]=wo(e),o=_t[e]),o.bought=t.bought,_t[e]=o}for(const e of Object.keys(Game.Achievements)){const t=Game.Achievements[e];let o=Xt[e];void 0===o&&(Xt[e]=ko(e),o=Xt[e]),o.won=t.won,Xt[e]=o}bo(),Le=He,Ae=$e}function To(e,t,o,n,i){let a=0;for(let r=0;rt.plantsById[t.plot[ee[1]][ee[0]][0]-1].matureBase,o=t.plantsById[t.plot[ee[1]][ee[0]][0]-1].name;l("CMTooltipBorder").appendChild(Co("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${re(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${re(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${re(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?re(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${re(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===Z&&function(){const t=Game.Objects.Farm.minigame;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Co("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${re(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${se((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(re(Game.Objects[o].bulkPrice)).join(re((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t&&(l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return Z=t,ee=o,So(),l("tooltip").innerHTML}function Po(){if(Game.prefs.autosave&&Game.drawT%10==0&&"stats"===Game.onMenu&&e.Stats){const e=document.getElementById("CMStatsAutosaveTimer");e&&(e.innerText=Game.sayTime(60*Game.fps-Game.T%(60*Game.fps),4))}no(),io(),function(){if(1===e.TimerBar){const t=l("CMTimerBar").offsetWidth-163,o=l("CMTimerBar").offsetWidth-133;let n=0;0!==Game.shimmerTypes.golden.spawned||Game.Has("Golden switch [off]")?l("CMTimerBarGC").style.display="none":(l("CMTimerBarGC").style.display="",l("CMTimerBarGCMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n++),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n++):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="";for(const t of Object.keys(Game.buffs))if(Game.buffs[t]){const a=lo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==Y[Game.buffs[t].name]?Y[Game.buffs[t].name]:W,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n++,i[Game.buffs[t].name]=a}for(const e of Object.keys(i))l("CMTimerBarBuffTimers").appendChild(i[e]);0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ne!==n&&(ne=n,uo())}}(),co(),So(),function(){if(1===e.TooltipWrink&&1===$){let e=!1;for(const t of Object.keys(Game.wrinklers)){const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0!==z[t]&&void 0!==z[t])break;{const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),I=t,z[t]=1}}else z[t]=0}e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let e=Game.wrinklers[I].sucked,t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[I].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Vt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=re(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu();let t=l("cookies").innerHTML.replace(/.*(?=
)/i,re(Game.cookies));Game.prefs.monospace&&(t=`${t}`),l("cookies").innerHTML=t}class Eo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){e>this.maxLength&&(e=this.maxLength),e>this.queue.length&&(e=this.queue.length);let t=0;for(let o=this.queue.length-1;o>=0&&o>this.queue.length-1-e;o--)t+=this.queue[o];return 0===t?0:t/e}}function No(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+zt;Game.cpsSucked>0&&(o+=ut),Wt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-fe,i=Math.max(0,Game.cookies-ge)/n,a=Math.max(0,ut-Ce)/n,r=Math.max(0,ht[0]-ye)/n,l=Math.max(0,o-st)/n,s=(Game.cookieClicks-be)/n;for(let e=0;eHt?W:t.pp>Rt?O:N,0!==Number(e.PPSecondsLowerLimit)&&o/ao()0&&(n=F),n}function Fo(e){for(const t of Object.keys(e))Game.cookiesPs?e[t].pp=Math.max(e[t].price-(Game.cookies+ro()),0)/Game.cookiesPs+e[t].price/e[t].bonus:e[t].pp=e[t].price/e[t].bonus,e[t].color=Oo(e[t],e[t].price)}function Wo(){!function(){if(Dt=1/0,Ht=1,$t=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),0===e.ColorPPBulkMode&&Game.buyMode>0){for(const e of Object.keys(ct))Game.cookiesPs?ct[e].pp=Math.max(Game.Objects[e].getPrice()-(Game.cookies+ro()),0)/Game.cookiesPs+Game.Objects[e].getPrice()/ct[e].bonus:ct[e].pp=Game.Objects[e].getPrice()/ct[e].bonus,$t.push([ct[e].pp,Game.Objects[e].getPrice()]);if($t.sort(((e,t)=>e[0]-t[0])),e.PPOnlyConsiderBuyable)for(;$t[0][1]>Game.cookies&&1!==$t.length;)$t.shift();Dt=$t[e.PPExcludeTop][0],Ht=$t[$t.length-1][0],Rt=(Ht-Dt)/2+Dt;for(const t of Object.keys(ct)){ct[t].color=Oo(ct[t],Game.Objects[t].getPrice());for(let o=0;o0){let t;1===Game.buyBulk?t=ct:10===Game.buyBulk?t=dt:100===Game.buyBulk&&(t=pt);for(const e of Object.keys(t))Game.cookiesPs?t[e].pp=Math.max(Game.Objects[e].bulkPrice-(Game.cookies+ro()),0)/Game.cookiesPs+Game.Objects[e].bulkPrice/t[e].bonus:t[e].pp=Game.Objects[e].bulkPrice/t[e].bonus,$t.push([t[e].pp,Game.Objects[e].bulkPrice]);if($t.sort(((e,t)=>e[0]-t[0])),e.PPOnlyConsiderBuyable)for(;$t[0][1]>Game.cookies&&1!==$t.length;)$t.shift();Dt=$t[e.PPExcludeTop][0],Ht=$t[$t.length-1][0],Rt=(Ht-Dt)/2+Dt;for(const o of Object.keys(ct)){t[o].color=Oo(t[o],Game.Objects[o].bulkPrice);for(let n=0;n=Game.CpsAchievements[e].threshold&&Lo(Game.CpsAchievements[e].name);Re=l;const s=Game.shimmerTypes.golden.n,c=Yt("Dragon's Fortune");for(let t=0;t=7&&Lo("Elder"),!$o("Veteran")&&e>=14&&Lo("Veteran");let t=0,o=1,n=1,i=1e5;for(const e of Object.keys(Vt))t+=Vt[e].amount,i=Math.min(Vt[e].amount,i),$o("Mathematician")||Vt[e].amount=1&&Lo("One with everything"),1===o&&Lo("Mathematician"),1===n&&Lo("Base 10"),i>=100&&Lo("Centennial"),i>=150&&Lo("Centennial and a half"),i>=200&&Lo("Bicentennial"),i>=250&&Lo("Bicentennial and a half"),i>=300&&Lo("Tricentennial"),i>=350&&Lo("Tricentennial and a half"),i>=400&&Lo("Quadricentennial"),i>=450&&Lo("Quadricentennial and a half"),i>=500&&Lo("Quincentennial"),i>=550&&Lo("Quincentennial and a half"),i>=600&&Lo("Sexcentennial"),t>=100&&Lo("Builder"),t>=500&&Lo("Architect"),t>=1e3&&Lo("Engineer"),t>=2e3&&Lo("Lord of Constructs"),t>=4e3&&Lo("Grand design"),t>=8e3&&Lo("Ecumenopolis"),Ee>=20&&Lo("Enhancer"),Ee>=50&&Lo("Augmenter"),Ee>=100&&Lo("Upgrader"),Ee>=200&&Lo("Lord of Progress"),Ee>=300&&Lo("The full picture"),Ee>=400&&Lo("When there's nothing left to add"),t>=4e3&&Ee>=300&&Lo("Polymath"),t>=8e3&&Ee>=400&&Lo("Renaissance baker"),Vt.Cursor.amount+Vt.Grandma.amount>=777&&Lo("The elder scrolls");let a=!0;for(const e of Object.keys(Uo))Zt(Uo[e])||(a=!1);a&&Lo("Spooky cookies");let r=!0;for(const e of Object.keys(Do))Zt(Do[e])||(r=!1);if(r&&Lo("Let it snow"),Zt("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;for(const o of Object.keys(e))Zt(e[o].name)&&t++;t>=e.length&&Lo("O Fortuna")}}function zo(e,t){xo(),Vt[e].amount+=t;const o=Vt[e];if("Cursor"===e)o.amount>=1&&Lo("Click"),o.amount>=2&&Lo("Double-click"),o.amount>=50&&Lo("Mouse wheel"),o.amount>=100&&Lo("Of Mice and Men"),o.amount>=200&&Lo("The Digital"),o.amount>=300&&Lo("Extreme polydactyly"),o.amount>=400&&Lo("Dr. T"),o.amount>=500&&Lo("Thumbs, phalanges, metacarpals"),o.amount>=600&&Lo("With her finger and her thumb"),o.amount>=700&&Lo("Gotta hand it to you"),o.amount>=800&&Lo("The devil's workshop");else for(const e in Game.Objects[o.name].tieredAchievs)o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Lo(Game.Objects[o.name].tieredAchievs[e].name);const n=Oe;return Ao(),Io(),n!==Oe&&Ao(),De-Game.cookiesPs}function Vo(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){xo(),"Shimmering veil [on]"===_t[e].name?_t["Shimmering veil [off]"].bought=0:"Golden switch [on]"===_t[e].name?_t["Golden switch [off]"].bought=0:_t[e].bought=(_t[e].bought+1)%2,_t[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&Ee++,"Elder Pledge"===e?(Ne++,Ne>0&&Lo("Elder nap"),Ne>=5&&Lo("Elder slumber")):"Elder Covenant"===e?Lo("Elder calm"):"Prism heart biscuits"===e?Lo("Lovely cookies"):"Heavenly key"===e&&Lo("Wholesome");const t=Oe;Ao(),Io(),t!==Oe&&Ao();const o=function(){let e=0;Zt("Thousand fingers")&&(e+=.1),Zt("Million fingers")&&(e*=5),Zt("Billion fingers")&&(e*=10),Zt("Trillion fingers")&&(e*=20),Zt("Quadrillion fingers")&&(e*=20),Zt("Quintillion fingers")&&(e*=20),Zt("Sextillion fingers")&&(e*=20),Zt("Septillion fingers")&&(e*=20),Zt("Octillion fingers")&&(e*=20),Zt("Nonillion fingers")&&(e*=20);let t=0;for(const e of Object.keys(Vt))t+=Vt[e].amount;t-=Vt.Cursor.amount,e*=t,Zt("Plastic mouse")&&(e+=.01*De),Zt("Iron mouse")&&(e+=.01*De),Zt("Titanium mouse")&&(e+=.01*De),Zt("Adamantium mouse")&&(e+=.01*De),Zt("Unobtainium mouse")&&(e+=.01*De),Zt("Eludium mouse")&&(e+=.01*De),Zt("Wishalloy mouse")&&(e+=.01*De),Zt("Fantasteel mouse")&&(e+=.01*De),Zt("Nevercrack mouse")&&(e+=.01*De),Zt("Armythril mouse")&&(e+=.01*De),Zt("Technobsidian mouse")&&(e+=.01*De),Zt("Plasmarble mouse")&&(e+=.01*De),Zt("Miraculite mouse")&&(e+=.01*De),Zt("Fortune #104")&&(e+=.01*De);let o=1;if(Zt("Santa's helpers")&&(o*=1.1),Zt("Cookie egg")&&(o*=1.1),Zt("Halo gloves")&&(o*=1.1),Zt("Dragon claw")&&(o*=1.03),Zt("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,Zt("Luminous gloves")?20:10)),o*=Jt("click"),Vt.Temple.minigameLoaded&&eo){const e=eo("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}for(const e of Object.keys(Game.buffs))void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick);o*=1+.05*Yt("Dragon Cursor");let n=o*Game.ComputeCps(1,Zt("Reinforced index finger")+Zt("Carpal tunnel prevention cream")+Zt("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[De-Game.cookiesPs,o]:[De-Game.cookiesPs]}return[]}function _o(e,t){const o=[];for(const t of Object.keys(Game.Objects))o[t]={},o[t].bonus=zo(t,e),1!==e&&(Se=1);return o}function Xo(){for(const e of Object.keys(Game.Objects))ct[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),dt[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),pt[e].price=To(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}function Qo(){ct=_o(1),dt=_o(10),pt=_o(100),function(){Ct=[];for(const e of Object.keys(Game.Upgrades)){const t=Vo(e);Ct[e]={},t[0]&&(Ct[e].bonus=t[0]),t[1]&&(Ct[e].bonusMouse=t[1])}}()}function qo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,xt=qo(7,e,nt),vt=2*xt[1]/nt,wt=xt[2]/60/60/6/ot,St=qo(6,e,it),Tt=2*St[1]/it,Mt=St[2]/60/60/6/ot,Et=qo(7,7*e,nt),Bt=2*Et[1]/nt,Pt=Et[2]/60/60/6/ot,Ft=qo(6,7*e,it),Nt=2*Ft[1]/it,Ot=Ft[2]/60/60/6/ot}function Ko(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Te,i=Math.max(0,o-Me)/n;for(let e=0;e\n\t`}function Zo(){bt="",Gt="",kt="";const e=[];for(const t of Object.keys(Game.Upgrades))e.push(Game.Upgrades[t]);e.sort((function(e,t){return e.order>t.order?1:e.order0?Ve/=e:Ve=0,_e=nt*(.15*Ve)+13,Xe=it*(.15*Ve)+13,Qe=7*Ve,qe=nt*(.15*Qe)+13,Ye=it*(.15*Qe)+13,Ke=2*Ve,Je=.15*Ke,Ze=0;let t=0,o=0;for(const e of Object.keys(Game.Objects))Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&o++;for(const e of Object.keys(Game.Objects))(Game.Objects[e].amountZe&&(Ze=2*Game.Objects[e].price,et=e)}function on(){let e=1,t=1,o=1;Zt("Green yeast digestives")&&(o*=1.01),Zt("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),nt=o*e,it=o*t,ot=1,0===Game.shimmerTypes.golden.n&&(ot*=1+1.23*Game.auraMult("Dragon's Fortune"))}function nn(){ut=0,mt=0,ht=[0,null];for(let e=0;eht[0]&&(ht=[t,e]))}}function an(){bo(),nn(),tn(),on(),Yo(),Zo(),en(),ce=new Eo(Q[Q.length-1]),de=new Eo(Q[Q.length-1]),pe=new Eo(Q[Q.length-1]),ue=new Eo(Q[Q.length-1]),me=new Eo(q[q.length-1]),he=new Eo(5),Ko(),No(),Qo(),Xo(),Wo()}const rn={BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,BuildColor:1,BulkBuildColor:0,UpBarColor:1,UpgradeBarFixedPos:1,CalcWrink:0,CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,ColorPPBulkMode:1,PPExcludeTop:0,PPSecondsLowerLimit:0,PPOnlyConsiderBuyable:0,ToolWarnBon:0,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,DragonAuraInfo:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,UpStats:1,TimeFormat:0,DetailedTime:1,GrimoireBar:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,Colors:{Blue:"#4bb8f0",Green:"#00ff00",Yellow:"#ffff00",Orange:"#ff7f00",Red:"#ff0000",Purple:"#ff00ff",Gray:"#b3b3b3",Pink:"#ff1493",Brown:"#8b4513"},SortBuildings:0,SortUpgrades:0,GCTimer:1,Favicon:1,WrinklerButtons:1,BulkBuyBlock:0,Header:{BarsColors:1,Calculation:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Tooltip:1,Statistics:1,Notation:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},ln=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function sn(){1===e.BotBar?(l("CMBotBar").style.display="",co()):l("CMBotBar").style.display="none",uo()}function cn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),co(),no(),io()}function dn(){let t="";for(let o=0;o0?At.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class un{constructor(e,t){this.type=e,this.group=t}}class mn extends un{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class hn extends un{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class fn extends un{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const gn={BotBar:new mn("bool","BarsColors",["Bottom Bar OFF","Bottom Bar ON"],"Building Information",!0,(function(){sn()})),TimerBar:new mn("bool","BarsColors",["Timer Bar OFF","Timer Bar ON"],"Timers of Golden Cookie, Season Popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){mo()})),TimerBarPos:new mn("bool","BarsColors",["Timer Bar Position (Top Left)","Timer Bar Position (Bottom)"],"Placement of the Timer Bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),uo()})),TimerBarOverlay:new mn("bool","BarsColors",["Timer Bar Overlay OFF","Timer Bar Overlay Only Seconds","Timer Bar Overlay Full"],"Overlay on timers displaying seconds and/or percentage left",!0),SortBuildings:new mn("bool","BarsColors",["Sort Buildings: Default","Sort Buildings: PP"],"Sort the display of buildings in either default order or by PP",!1,(function(){no()})),SortUpgrades:new mn("bool","BarsColors",["Sort Upgrades: Default","Sort Upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){io()})),BuildColor:new mn("bool","BarsColors",["Building Colors OFF","Building Colors ON"],"Color code buildings",!0,(function(){no()})),BulkBuildColor:new mn("bool","BarsColors",["Bulk Building Colors (Single Building Color)","Bulk Building Colors (Calculated Bulk Color)"],"Color code bulk buildings based on single buildings color or calculated bulk value color",!1,(function(){no()})),UpBarColor:new mn("bool","BarsColors",["Upgrade Colors/Bar OFF","Upgrade Colors with Bar ON","Upgrade Colors without Bar ON"],"Color code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",io()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",io()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),Colors:new class extends un{constructor(e,t,o,n){super(e,t),this.desc=o,this.func=n}}("color","BarsColors",{Blue:"Color Blue. Used to show better than best PP building, for Click Frenzy bar, and for various labels",Green:"Color Green. Used to show best PP building, for Blood Frenzy bar, and for various labels",Yellow:"Color Yellow. Used to show between best and worst PP buildings closer to best, for Frenzy bar, and for various labels",Orange:"Color Orange. Used to show between best and worst PP buildings closer to worst, for Next Reindeer bar, and for various labels",Red:"Color Red. Used to show worst PP building, for Clot bar, and for various labels",Purple:"Color Purple. Used to show worse than worst PP building, for Next Cookie bar, and for various labels",Gray:"Color Gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar",Pink:"Color Pink. Used for Dragonflight bar",Brown:"Color Brown. Used for Dragon Harvest bar"},(function(){dn()})),UpgradeBarFixedPos:new mn("bool","BarsColors",["Upgrade Bar Fixed Position OFF","Upgrade Bar Fixed Position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),CalcWrink:new mn("bool","Calculation",["Calculate with Wrinklers OFF","Calculate with Wrinklers ON","Calculate with Single Fattest Wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) Wrinklers",!0),CPSMode:new mn("bool","Calculation",["Current Cookies Per Second","Average Cookies Per Second"],"Calculate times using current Cookies Per Second or average Cookies Per Second",!1),AvgCPSHist:new mn("bool","Calculation",["Average CPS for past 10s","Average CPS for past 15s","Average CPS for past 30s","Average CPS for past 1m","Average CPS for past 5m","Average CPS for past 10m","Average CPS for past 15m","Average CPS for past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average Cookie Clicks for past 1s","Average Cookie Clicks for past 5s","Average Cookie Clicks for past 10s","Average Cookie Clicks for past 15s","Average Cookie Clicks for past 30s"],"How much time average Cookie Clicks should consider",!1),ColorPPBulkMode:new mn("bool","Calculation",["Color of PP (Compared to Single)","Color of PP (Compared to Bulk)"],"Color PP-values based on comparison with single purchase or with selected bulk-buy mode",!1,(function(){Wo()})),PPExcludeTop:new mn("bool","Calculation",["Don't Ignore Any","Ignore 1st Best","Ignore 1st and 2nd Best","Ignore 1st, 2nd and 3rd Best"],"Makes CookieMonster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPSecondsLowerLimit:new fn("numscale","Calculation","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),PPOnlyConsiderBuyable:new mn("bool","Calculation",["Don't Ignore Non-Buyable","Ignore Non-Buyable"],"Makes CookieMonster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),ToolWarnBon:new mn("bool","Calculation",["Calculate Tooltip Warning With Bonus CPS OFF","Calculate Tooltip Warning With Bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title Pinned Tab Highlight"],'Update title with Golden Cookie/Season Popup timers; pinned tab highlight only changes the title when a Golden Cookie/Season Popup spawns; "!" means that Golden Cookie/Reindeer can spawn',!0),GeneralSound:new mn("bool","NotificationGeneral",["Consider Game Volume Setting OFF","Consider Game Volume Setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new mn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when Golden Cookie spawns",!0,(function(){ln(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on Golden Cookie",!0),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on Golden Cookie",!0),GCVolume:new hn("vol","NotificationGC",[],"Volume"),GCSoundURL:new mn("url","NotificationGC","Sound URL:","URL of the sound to be played when a Golden Cookie spawns"),FortuneNotification:new mn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when Fortune Cookie is on the Ticker",!0,(function(){ln(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on Fortune Cookie",!0),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on Fortune Cookie",!0),FortuneVolume:new hn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new mn("url","NotificationFC","Sound URL:","URL of the sound to be played when the Ticker has a Fortune Cookie"),SeaNotification:new mn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on Season Popup",!0,(function(){ln(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on Season Popup",!0),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on Season Popup",!0),SeaVolume:new hn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when a Season Special spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on Garden Tick",!0),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on Garden Tick",!0),GardVolume:new hn("vol","NotificationGard",[],"Volume"),GardSoundURL:new mn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new mn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){ln(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new hn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new mn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new mn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a Wrinkler appears",!0,(function(){ln(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a Wrinkler appears",!0),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a Wrinkler appears",!0),WrinklerVolume:new hn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new mn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a Wrinkler appears"),WrinklerMaxNotification:new mn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of Wrinklers has appeared",!0,(function(){ln(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of Wrinklers has appeared",!0),WrinklerMaxVolume:new hn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new mn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of Wrinklers has appeared"),TooltipBuildUpgrade:new mn("bool","Tooltip",["Building/Upgrade Tooltip Information OFF","Building/Upgrade Tooltip Information ON"],"Extra information in Building/Upgrade tooltips",!0),TooltipAmor:new mn("bool","Tooltip",["Buildings Tooltip Amortization Information OFF","Buildings Tooltip Amortization Information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new mn("bool","Tooltip",["Tooltip Lucky Warning OFF","Tooltip Lucky Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new mn("bool","Tooltip",["Tooltip Lucky Frenzy Warning OFF","Tooltip Lucky Frenzy Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new mn("bool","Tooltip",["Tooltip Conjure Warning OFF","Tooltip Conjure Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new mn("bool","Tooltip",["Tooltip Conjure Frenzy Warning OFF","Tooltip Conjure Frenzy Warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new mn("bool","Tooltip",["Tooltip Edifice Warning OFF","Tooltip Edifice Warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new fn("numscale","Tooltip","Tooltip Warning At x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnPos:new mn("bool","Tooltip",["Tooltip Warning Position (Left)","Tooltip Warning Position (Bottom)"],"Placement of the warning boxes",!1,(function(){fo()})),TooltipGrim:new mn("bool","Tooltip",["Grimoire Tooltip Information OFF","Grimoire Tooltip Information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new mn("bool","Tooltip",["Wrinkler Tooltip OFF","Wrinkler Tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new mn("bool","Tooltip",["Sugar Lump Tooltip OFF","Sugar Lump Tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new mn("bool","Tooltip",["Garden Plots Tooltip OFF","Garden Plots Tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),DragonAuraInfo:new mn("bool","Tooltip",["Extra Dragon Aura Info OFF","Extra Dragon Aura Info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),TooltipAscendButton:new mn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new mn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new mn("bool","Statistics",["Missing Upgrades OFF","Missing Upgrades ON"],"Shows Missing upgrades in Stats Menu. This feature can be laggy for users with a low amount of unlocked achievements.",!0),UpStats:new mn("bool","Statistics",["Statistics Update Rate (Default)","Statistics Update Rate (1s)"],"Default Game rate is once every 5 seconds",!1),TimeFormat:new mn("bool","Statistics",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Statistics",["Detailed Time OFF","Detailed Time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=H:Game.sayTime=M.sayTime})),GrimoireBar:new mn("bool","Statistics",["Grimoire Magic Meter Timer OFF","Grimoire Magic Meter Timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),HeavenlyChipsTarget:new fn("numscale","Statistics","Heavenly Chips Target: ",'Use this to set a Heavenly Chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new mn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many Golden Cookies you have missed",!0),Scale:new mn("bool","Notation",["Game's Setting Scale","Metric","Short Scale","Short Scale (Abbreviated)","Scientific Notation","Engineering Notation"],"Change how long numbers are handled",!1,(function(){cn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],"Set the number of decimals used when applicable",!1,(function(){cn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (Standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){cn()})),ScaleCutoff:new fn("numscale","Notation","Notation Cut-off Point: ","The number from which CookieMonster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),GCTimer:new mn("bool","Miscellaneous",["Golden Cookie Timer OFF","Golden Cookie Timer ON"],"A timer on the Golden Cookie when it has been spawned",!0,(function(){!function(){if(1===e.GCTimer)for(const e of Object.keys(ie))ie[e].style.display="block",ie[e].style.left=It[e].l.style.left,ie[e].style.top=It[e].l.style.top;else for(const e of Object.keys(ie))ie[e].style.display="none"}()})),Favicon:new mn("bool","Miscellaneous",["Favicon OFF","Favicon ON"],"Update favicon with Golden/Wrath Cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","Miscellaneous",["Extra Buttons OFF","Extra Buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){e.WrinklerButtons?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")})),BulkBuyBlock:new mn("bool","Miscellaneous",["Block Bulk Buying OFF","Block Bulk Buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0)};function Cn(){return JSON.stringify({settings:e,version:"2.031.5"})}function yn(){if(Ie!==Game.dragonLevel||je){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount0&&(e=t);Vt[e].amount--,Pe--}for(const t of Object.keys(Vt)){const o=Vt[t];e+=oo(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)}return e}(),zt=e}(),je=0);const t=Game.auraMult("Fierce Hoarder")>0;!Be&&t?(Be=!0,Se=1):Be&&!t&&(Be=!1,Se=1),Se&&(Xo(),Se=0),function(){nn(),Wo(),function(){ft=0;let e=0;for(const t in Game.wrinklers)2===Game.wrinklers[t].phase&&e++;let t=1;if(Vt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}gt=e,ft=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),No(),Ko();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Ut=le(e/ao())}(),function(){!function(){k=0,It={};for(const e of Object.keys(Game.shimmers))It[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(At=Game.shimmers[e],k+=1)}();for(const e of Object.keys(ie))void 0===It[e]&&(ie[e].parentNode.removeChild(ie[e]),delete ie[e]);if(C!==Game.shimmerTypes.golden.n){if(C=Game.shimmerTypes.golden.n,C){y0){let t=0;for(const e in Game.wrinklers)2===Game.wrinklers[e].phase&&t++;t>G?(G=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Gn(3,"WrinklerMaxFlash"):Gn(3,"WrinklerFlash"),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?vn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume"):vn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume"),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?xn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):xn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):G=t}}()}}function Mn(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${Cn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Sn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t;let o=!1;for(const t in rn)if(void 0===e[t])o=!0,e[t]=rn[t];else if("Header"!==t&&"Colors"!==t)-1===t.indexOf("SoundURL")?e[t]>-1&&e[t]-1&&e[t][n]<2||(o=!0,e[t][n]=rn[t][n]);else for(const n in rn.Colors)void 0!==e[t][n]&&"string"==typeof e[t][n]||(o=!0,e[t][n]=rn[t][n]);o&&Mn(),Tn();for(const e in rn)"Header"!==e&&void 0!==gn[e].func&&gn[e].func()}else Sn(rn)}function Bn(){for(const e of Object.keys(Game.wrinklers))Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}function Pn(){if(Game.Objects["Wizard tower"].minigameLoaded)for(const e in Game.Objects["Wizard tower"].minigame.spellsById)null!==l(`grimoireSpell${e}`).onmouseover&&(x[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("g",`${e}`)}),"this"),Game.tooltip.wobble()})}function En(){if(!u&&Game.Objects["Wizard tower"].minigameLoaded){const t=Game.Objects["Wizard tower"].minigame;d=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){d(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Mn()}function jn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){An(o),Game.UpdateMenu()},n.appendChild(i),n}function Un(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(D[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Dn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a);for(const t of Object.keys(e)){const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)}return n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Rn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(jn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+ro()0&&(t.appendChild(Un("basic","Heavenly Chips To Target Set In Settings (CUR)",document.createTextNode(re(e)))),t.appendChild(Un("basic","Time To Target (CUR, Current 5 Second Average)",document.createTextNode(le(e/at)))))}const l=function(e){let t=Game.cookiesPs;xo(),0===_t["Heavenly key"].bought&&(_t["Heavenly chip secret"].bought=1,_t["Heavenly cookie stand"].bought=1,_t["Heavenly bakery"].bought=1,_t["Heavenly confectionery"].bought=1,_t["Heavenly key"].bought=1,Ao(),t=De,xo()),Wt>=1e6&&Lo("Sacrifice"),Wt>=1e9&&Lo("Oblivion"),Wt>=1e12&&Lo("From scratch"),Wt>=1e15&&Lo("Nihilism"),Wt>=1e18&&Lo("Dematerialize"),Wt>=1e21&&Lo("Nil zero zilch"),Wt>=1e24&&Lo("Transcendence"),Wt>=1e27&&Lo("Obliterate"),Wt>=1e30&&Lo("Negative void"),Wt>=1e33&&Lo("To crumbs, you say?"),Wt>=1e36&&Lo("You get nothing"),Wt>=1e39&&Lo("Humble rebeginnings"),Wt>=1e42&&Lo("The end of the world"),Wt>=1e45&&Lo("Oh, you're back"),Wt>=1e48&&Lo("Lazarus"),Wt>=1e51&&Lo("Smurf account"),Wt>=1e54&&Lo("If at first you don't succeed"),_t["Heavenly chip secret"].bought=1,_t["Heavenly cookie stand"].bought=1,_t["Heavenly bakery"].bought=1,_t["Heavenly confectionery"].bought=1,_t["Heavenly key"].bought=1,We=e;const o=Oe;Ao(),Io(),o!==Oe&&Ao();const n=De-t;return We=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(re(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Un("withTooltip","Reset Bonus Income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Un("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(jn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${re(ut)} / ${re(mt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Bn()},e.appendChild(t),o.appendChild(Un("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${re(ht[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==ht[1]&&(Game.wrinklers[ht[1]].hp=0)},n.appendChild(i),o.appendChild(Un("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==ht[1]?ht[1]:"None"})`,n))}let n=!1;const i=[];for(const e of Object.keys(Uo))Game.Has(Uo[e])||(i.push(Uo[e]),n=!0);const a=[];for(const e of Object.keys(Do))Game.Has(Do[e])||(a.push(Do[e]),n=!0);const r=[];for(const e of Object.keys(Ro))Game.Has(Ro[e])||(r.push(Ro[e]),n=!0);const s=[];for(const e of Object.keys(Game.eggDrops))Game.HasUnlocked(Game.eggDrops[e])||(s.push(Game.eggDrops[e]),n=!0);const c=[];for(const e of Object.keys(Game.rareEggDrops))Game.HasUnlocked(Game.rareEggDrops[e])||(c.push(Game.rareEggDrops[e]),n=!0);const d=[];for(const e of Object.keys(Ho))Game.HasUnlocked(Ho[e])||(d.push(Ho[e]),n=!0);const p=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),u=Game.Has("Century egg");if(("christmas"===Game.season||n||p||u)&&(o.appendChild(jn("Season Specials","Sea")),e.Header.Sea&&(0!==i.length&&o.appendChild(Un("basic","Halloween Cookies Left to Buy",Dn(i))),0!==a.length&&o.appendChild(Un("basic","Christmas Cookies Left to Buy",Dn(a))),0!==r.length&&o.appendChild(Un("basic","Valentine Cookies Left to Buy",Dn(r))),0!==s.length&&o.appendChild(Un("basic","Normal Easter Eggs Left to Unlock",Dn(s))),0!==c.length&&o.appendChild(Un("basic","Rare Easter Eggs Left to Unlock",Dn(c))),0!==d.length&&o.appendChild(Un("basic","Rare Plant Drops Left to Unlock",Dn(d))),"christmas"===Game.season&&o.appendChild(Un("basic","Reindeer Reward",document.createTextNode(re(lt)))),p&&o.appendChild(Un("withTooltip","Chocolate Egg Cookies",document.createTextNode(re(st)),"ChoEggTooltipPlaceholder")),u&&o.appendChild(Un("basic","Century Egg Multiplier",document.createTextNode(Math.round(1e4*(rt-1))/100+"%"))))),o.appendChild(jn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Un("basic",`Average Cookies Per Second (Past ${Q[e.AvgCPSHist]<60?`${Q[e.AvgCPSHist]} seconds`:Q[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(re(ao(),3)))),o.appendChild(Un("basic",`Average Cookie Clicks Per Second (Past ${q[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(re(yt,1)))),Game.Has("Fortune cookies")){const e=[];for(const t of Object.keys(jo))Game.Has(jo[t])||e.push(jo[t]);0!==e.length&&o.appendChild(Un("basic","Fortune Upgrades Left to Buy",Dn(e)))}if(e.ShowMissedGC&&o.appendChild(Un("basic","Missed Golden Cookies",document.createTextNode(re(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Un("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&function(){for(const e of l("menu").children)if(e.children[0])if("Prestige"===e.children[0].innerHTML&&kt){const t=kt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=kt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(bt){const t=bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=bt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Gt){const t=Gt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Gt,e.appendChild(i)}}}()}const Hn={BarsColors:"Bars/Colors",Calculation:"Calculation",Notification:"Notification",Tooltip:"Tooltips and additional insights",Statistics:"Statistics",Notation:"Notation",Miscellaneous:"Miscellaneous"},$n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function In(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){An(t),Game.UpdateMenu()},n.appendChild(i),n}function zn(t){const o=document.createElement("div");if(o.className="listing","bool"===gn[t].type){const n=document.createElement("a");gn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Wn+t,n.onclick=function(){!function(t){e[t]++,e[t]===gn[t].label.length?(e[t]=0,gn[t].toggle&&(l(Wn+t).className="option off")):l(Wn+t).className="option",void 0!==gn[t].func&&gn[t].func(),l(Wn+t).innerHTML=gn[t].label[e[t]],Mn()}(t)},n.textContent=gn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=gn[t].desc,o.appendChild(i),o}if("vol"===gn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=gn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");return r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Ln(t)},r.onchange=function(){Ln(t)},n.appendChild(r),o.appendChild(n),o}if("url"===gn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${gn[t].label} `,o.appendChild(n);const i=document.createElement("input");i.id=Wn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Wn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){Game.Prompt(a.outerHTML,[["Save",function(){e[`${t}`]=l(`CMConfig${t}Prompt`).value,Mn(),Game.ClosePrompt(),Game.UpdateMenu()}],"Cancel"])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=gn[t].desc,o.appendChild(s),o}if("color"===gn[t].type){o.className="";for(let t=0;tthis.max&&console.log("TEST"),e[t]=this.value,Mn(),cn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=gn[t].desc,o.appendChild(a),o}return o}function Vn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function _n(){M.Beautify=Beautify,Beautify=re,M.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){M.CalculateGains(),je=1,qt=Date.now(),Qt=Date.now()},M.tooltip={},M.tooltip.draw=Game.tooltip.draw,M.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){M.tooltip.drawMod(e,t,o)},M.tooltip.update=Game.tooltip.update,M.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){M.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},M.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Vn(M.UpdateWrinklers)},M.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Vn(M.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Vn(Game.ClickCookie)}),!1),M.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){M.RebuildUpgrades(),function(){T=[];for(const e of Object.keys(Game.UpgradesInStore))null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("u",`${e}`)}),"store"),Game.tooltip.wobble())})}(),Game.CalculateGains()},M.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e-1].amount>0){const o=Vt[Game.ObjectsById[e].name].name;Vt[o].amount-=1,Pe-=1,t=Vt[o].basePrice*Game.priceIncrease**Math.max(0,Vt[o].amount-1-Vt[o].free),t=Game.modifyBuildingPrice(Vt[o],t),t=Math.ceil(t);break}const o=Oe;return Ao(),Io(),o!==Oe&&Ao(),[De-Game.cookiesPs,t]}(t),n=le(o/(e+Game.cookiesPs)),i=re(e/Game.cookiesPs);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${re(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},M.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){M.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},M.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Fn().picker&&void 0!==Fn().picker.owner||(M.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t);for(const t of Object.keys(Hn)){const n=In(t,Hn[t]);if(o.appendChild(n),e.Header[t])if("Notification"===t)for(const t of Object.keys($n)){const n=In(t,$n[t]);if(n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t])for(const e in gn)gn[e].group===t&&o.appendChild(zn(e))}else for(const e of Object.keys(gn))gn[e].group===t&&o.appendChild(zn(e))}const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Sn(rn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Rn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){An("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.5) sees a total rehaul of the backend of the mod. It does not introduce any new functions, this is planned for the next release.
\nWe believe we have fixed all bugs related to this new code, but if you find any bugs, please report them on the GitHub!
\n
\nBesides, this update fixes the following bugs:
\n- Fixed some upgrade tooltips which did not display the full effect of buying the upgrades
\n- Fixed not always being able to sell when "blocking bulk buy"
\n- Fixed heavenly chips per second display
\n- Fixed small display bug when pressing shift and hovering over garden plots
\n- Fixed some bugs with the display of numbers and formatting of them
\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},M.sayTime=Game.sayTime,H=function(e,t){return Number.isNaN(e)||e<=0?M.sayTime(e,t):le(e/Game.fps,1)},M.Logic=Game.Logic,Game.Logic=function(){M.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ae=`${Game.OnAscend?"Ascending! ":""}${re(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ae;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=At?At.wrath?`[W${Math.ceil(At.life/Game.fps)}]`:`[G${Math.ceil(At.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=h?`[R${Math.ceil(jt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ae;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;At&&(t=!0,At.wrath?e+=`[W${Math.ceil(At.life/Game.fps)}]`:e+=`[G${Math.ceil(At.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&h&&(e+=`[R${Math.ceil(jt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${re(Game.prestige)}.
(CpS +${re(Game.prestige)}%)`,n+='
'),n+=Me<1?"Ascending now would grant you no prestige.":Me<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${re(Me)} prestige levels (+${re(Me)}% CpS)
and ${re(Me)} heavenly chips to spend.`,n+='
',n+=`You need ${re(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Ut} to reach the next level and you are making ${re(at,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Xn(){bn(),tn(),an(),a=Object.keys(Game.mods).length,v=document.createElement("style"),v.type="text/css",v.id="CMCSS",document.head.appendChild(v),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColor="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=S+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.5",N)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",P)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",P)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",P)),l("wrapper").appendChild(e);for(const e of Object.keys(Game.Objects))so(e)}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColor="black";const t=lo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:L},{id:"CMTimerBarGCBar",color:W}]);e.appendChild(t);const o=lo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:L},{id:"CMTimerBarRenBar",color:O}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColor="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(P,"Better than best PP building")),e.appendChild(o(E,"Same as best PP building")),e.appendChild(o(N,"Between best and worst PP buildings closer to best")),e.appendChild(o(O,"Between best and worst PP buildings closer to worst")),e.appendChild(o(F,"Same as worst PP building")),e.appendChild(o(W,"Worse than worst PP building")),e.appendChild(o(L,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=S+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",P)),e.appendChild(o("CMUpgradeBarGreen",E)),e.appendChild(o("CMUpgradeBarYellow",N)),e.appendChild(o("CMUpgradeBarOrange",O)),e.appendChild(o("CMUpgradeBarRed",F)),e.appendChild(o("CMUpgradeBarPurple",W)),e.appendChild(o("CMUpgradeBarGray",L)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMWhiteScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}();for(const e of Object.keys(D))Mo(D[e][0],D[e][1],D[e][2]);!function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Bn()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==ht[1]&&(Game.wrinklers[ht[1]].hp=0)},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",function(){for(const e of Object.keys(Game.Objects)){const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(w[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("b",`${e}`)}),"store"),Game.tooltip.wobble()})}}(),Game.canLumps()&&(r=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("s","Lump")}),"this"),Game.tooltip.wobble()}),m=Game.LoadMinigames,Game.LoadMinigames=function(){m(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Bo("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Pn(),Nn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){$=1},l("backgroundLeftCanvas").onmouseout=function(){$=0,Game.tooltip.hide();for(const e of Object.keys(Game.wrinklers))z[e]=0},_n(),Nn(),Game.CalculateGains(),Sn(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.5 loaded!"):Game.Notify("Cookie Monster version 2.031.5 loaded!","","",1,1),Game.Win("Third-party")}const Qn={init:function(){kn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.5 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Xn(),Game.registerHook("draw",Po),Game.registerHook("logic",Tn),kn=!1)},load:function(e){const t=JSON.parse(e);bn(),Sn(t.settings),"2.031.5"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:Cn};Game.registerMod("CookieMonster",Qn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index 2005765..f71c40b 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","__esModule","d","definition","key","o","enumerable","CMOptions","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColorTextPre","ColorBackPre","ColorBlue","ColorGreen","ColorYellow","ColorOrange","ColorRed","ColorPurple","ColorGray","ColorPink","ColorBrown","Colors","TooltipText","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColors","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","TimeFormat","GetTimeColor","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CacheMidPP","CacheMaxPP","CacheArrayOfPPs","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimDateCentury","Game","startDate","SimDateAges","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColor","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColor","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColor","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","UpdateBotBar","BotBar","count","timeColor","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","elderWrath","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","lastChild","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColor","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","magic","recover","recoverColor","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","matureBase","plantName","GardenPlots","totalGain","mortal","tile","immortal","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColor","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheBuildingsBulkPP","CachePP","PPExcludeTop","ColorPPBulkMode","CacheBuildingsPP","CacheUpgradePP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","BuyBuildingsBonusIncome","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyUpgradesBonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","CacheBuildingIncome","result","CacheBuildingsPrices","CacheIncome","bonusIncome","CacheUpgradeIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","crateMissing","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","CacheAllMissingUpgrades","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","BulkBuildColor","UpgradeBarFixedPos","GeneralSound","GCNotification","GCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","TooltipAmor","DragonAuraInfo","TooltipAscendButton","MissingUpgrades","DetailedTime","GrimoireBar","HeavenlyChipsTarget","ShowMissedGC","Blue","Green","Yellow","Orange","Red","Purple","Gray","Pink","Brown","GCTimer","Favicon","WrinklerButtons","BulkBuyBlock","Header","BarsColors","Calculation","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Tooltip","Statistics","Notation","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateColors","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingVolume","SettingInputNumber","SettingsData","insertBefore","ToggleGCTimer","save","stringify","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","PlaySound","url","sndConfig","volConfig","sound","realAudio","volume","play","CreateGCTimer","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","Notification_Notification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","FindShimmer","transform","life","CheckGoldenCookie","TickerEffect","CheckSeasonPopup","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","mod","PopAllNormalWrinklers","hp","CreateSimpleTooltip","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColor","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColorFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColor","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColor","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColorFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColorFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColor","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColor","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColor","bakeberryFrag","chocorootColor","chocorootFrag","queenbeetColor","queenbeetFrag","duketaterColor","duketaterFrag","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","missingPlantDrops","centEgg","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","AddMissingUpgrades","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","Prompt","outerHTML","ClosePrompt","innerDiv","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ReplaceTooltipUpgrade","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","groupObject","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateWhiteScreen","getElementsByTagName","CreateFavicon","append","CreateWrinklerButtons","ReplaceTooltipBuild","canLumps","forEach","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAe,SACfC,EAAe,SAMfC,EAAY,OACZC,EAAa,QACbC,EAAc,SACdC,EAAc,SACdC,EAAW,MACXC,EAAc,SACdC,EAAY,OACZC,EAAY,OACZC,EAAa,QACbC,EAAS,CACbH,EACAN,EACAC,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,GAUIE,EAAc,CAClB,CAAC,6BAA8B,oCAAqC,SACpE,CACE,2CACA,6EACA,SAEF,CACE,6BACA,qPACA,SAEF,CACE,8BACA,kEACA,SAEF,CACE,kCACA,2PACA,SAEF,CACE,0BACA,gLACA,SAEF,CACE,2BACA,uOA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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","__esModule","d","definition","key","o","enumerable","CMOptions","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColorTextPre","ColorBackPre","ColorBlue","ColorGreen","ColorYellow","ColorOrange","ColorRed","ColorPurple","ColorGray","ColorPink","ColorBrown","Colors","TooltipText","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColors","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","TimeFormat","GetTimeColor","text","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CacheMidPP","CacheMaxPP","CacheArrayOfPPs","CacheGoldenShimmersByID","CacheSellForChoEgg","SimObjects","SimUpgrades","SimAchievements","SimDateCentury","Game","startDate","SimDateAges","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","slot","id","SimModifyBuildingPrice","building","price","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColor","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColor","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColor","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","UpdateBotBar","BotBar","count","timeColor","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","GetCPSBuffMult","mult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","fps","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","lastChild","click","production","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","elderWrath","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","won","BuildingGetPrice","increase","CreateSimpleTooltip","placeholder","minWidth","Tooltip","desc","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColor","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","magic","recover","recoverColor","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","matureBase","plantName","GardenPlots","totalGain","mortal","tile","immortal","HarvestAll","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CreateTooltip","TooltipAmor","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","ObjectsById","tileTooltip","toolTooltip","area","Draw","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColor","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","wrinkler","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","addLatest","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheBuildingsBulkPP","CachePP","PPExcludeTop","ColorPPBulkMode","CacheBuildingsPP","CacheUpgradePP","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","BuyBuildingsBonusIncome","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyUpgradesBonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","computedMouseCps","CacheBuildingIncome","result","CacheBuildingsPrices","CacheIncome","bonusIncome","CacheUpgradeIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","crateMissing","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","CacheAllMissingUpgrades","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","BulkBuildColor","UpgradeBarFixedPos","GeneralSound","GCNotification","GCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","DragonAuraInfo","TooltipAscendButton","MissingUpgrades","DetailedTime","GrimoireBar","HeavenlyChipsTarget","ShowMissedGC","Blue","Green","Yellow","Orange","Red","Purple","Gray","Pink","Brown","GCTimer","Favicon","WrinklerButtons","BulkBuyBlock","Header","BarsColors","Calculation","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Statistics","Notation","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateColors","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","toggle","super","SettingVolume","SettingInputNumber","SettingsData","insertBefore","ToggleGCTimer","save","stringify","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","InitData","isInitializing","Flash","config","setTimeout","PlaySound","url","sndConfig","volConfig","sound","realAudio","volume","play","CreateGCTimer","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","Notification_Notification","notifyConfig","title","message","visibilityState","badge","CMLoop","OnAscend","AscendTimer","mods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","FindShimmer","transform","life","CheckGoldenCookie","TickerEffect","CheckSeasonPopup","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","mod","PopAllNormalWrinklers","hp","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColor","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColorFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColor","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColor","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColorFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColorFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColor","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColor","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColor","bakeberryFrag","chocorootColor","chocorootFrag","queenbeetColor","queenbeetFrag","duketaterColor","duketaterFrag","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","missingPlantDrops","centEgg","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","AddMissingUpgrades","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","Prompt","outerHTML","ClosePrompt","innerDiv","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","mouseDown","setOnCrate","ReplaceTooltipUpgrade","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","groupObject","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateWhiteScreen","getElementsByTagName","CreateFavicon","append","CreateWrinklerButtons","ReplaceTooltipBuild","canLumps","forEach","child","coords","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAe,SACfC,EAAe,SAMfC,EAAY,OACZC,EAAa,QACbC,EAAc,SACdC,EAAc,SACdC,EAAW,MACXC,EAAc,SACdC,EAAY,OACZC,EAAY,OACZC,EAAa,QACbC,EAAS,CACbH,EACAN,EACAC,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,GAUIE,EAAc,CAClB,CAAC,6BAA8B,oCAAqC,SACpE,CACE,2CACA,6EACA,SAEF,CACE,6BACA,qPACA,SAEF,CACE,8BACA,kEACA,SAEF,CACE,kCACA,2PACA,SAEF,CACE,0BACA,gLACA,SAEF,CACE,2BACA,uOA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","file":"./CookieMonster.js","sourceRoot":""} diff --git a/src/Disp/Draw.js b/src/Disp/Draw.js index baee992..83ef524 100644 --- a/src/Disp/Draw.js +++ b/src/Disp/Draw.js @@ -53,8 +53,10 @@ export default function Draw() { RefreshMenu(); // Replace Cookies counter because Orteil uses very weird code to "pad" it... - l('cookies').innerHTML = l('cookies').innerHTML.replace( + let str = l('cookies').innerHTML.replace( /.*(?=
)/i, Beautify(Game.cookies), ); + if (Game.prefs.monospace) str = `${str}`; + l('cookies').innerHTML = str; } diff --git a/src/Disp/MenuSections/CreateStatsSections.js b/src/Disp/MenuSections/CreateStatsSections.js index 74d27b2..28d3f12 100644 --- a/src/Disp/MenuSections/CreateStatsSections.js +++ b/src/Disp/MenuSections/CreateStatsSections.js @@ -505,11 +505,11 @@ export function GardenSection() { section.className = 'CMStatsGardenSection'; const bakeberryColor = - Game.cookies < Game.cookiesPs * 60 * 30 ? ColorRed : ColorGreen; + Game.cookies < Game.cookiesPs * 60 * 10 * 100 ? ColorRed : ColorGreen; const bakeberryFrag = document.createElement('span'); bakeberryFrag.style.fontWeight = 'bold'; bakeberryFrag.className = ColorTextPre + bakeberryColor; - bakeberryFrag.textContent = Beautify(Game.cookiesPs * 60 * 30); + bakeberryFrag.textContent = Beautify(Game.cookiesPs * 60 * 10 * 100); section.appendChild( StatsListing( 'basic', @@ -519,11 +519,11 @@ export function GardenSection() { ); const chocorootColor = - Game.cookies < Game.cookiesPs * 60 * 3 ? ColorRed : ColorGreen; + Game.cookies < Game.cookiesPs * 60 * 100 ? ColorRed : ColorGreen; const chocorootFrag = document.createElement('span'); chocorootFrag.style.fontWeight = 'bold'; chocorootFrag.className = ColorTextPre + chocorootColor; - chocorootFrag.textContent = Beautify(Game.cookiesPs * 60 * 3); + chocorootFrag.textContent = Beautify(Game.cookiesPs * 60 * 100); section.appendChild( StatsListing( 'basic', @@ -533,11 +533,11 @@ export function GardenSection() { ); const queenbeetColor = - Game.cookies < Game.cookiesPs * 60 * 60 ? ColorRed : ColorGreen; + Game.cookies < Game.cookiesPs * 60 * 60 * 25 ? ColorRed : ColorGreen; const queenbeetFrag = document.createElement('span'); queenbeetFrag.style.fontWeight = 'bold'; queenbeetFrag.className = ColorTextPre + queenbeetColor; - queenbeetFrag.textContent = Beautify(Game.cookiesPs * 60 * 60); + queenbeetFrag.textContent = Beautify(Game.cookiesPs * 60 * 60 * 25); section.appendChild( StatsListing( 'basic', @@ -547,11 +547,11 @@ export function GardenSection() { ); const duketaterColor = - Game.cookies < Game.cookiesPs * 60 * 120 ? ColorRed : ColorGreen; + Game.cookies < Game.cookiesPs * 60 * 15 * 100 ? ColorRed : ColorGreen; const duketaterFrag = document.createElement('span'); duketaterFrag.style.fontWeight = 'bold'; duketaterFrag.className = ColorTextPre + duketaterColor; - duketaterFrag.textContent = Beautify(Game.cookiesPs * 60 * 120); + duketaterFrag.textContent = Beautify(Game.cookiesPs * 60 * 15 * 100); section.appendChild( StatsListing( 'basic',