Advertisement
xxfillex

CCCEM User Interface

Jun 10th, 2023 (edited)
3,056
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JavaScript 18.58 KB | Source Code | 0 0
  1. //version 1.0: User Interface created, I'm sure it has no issues whatsoever and works perfectly fine. This is meant to be run by the Cookie Clicker Combo Execution Mod, if run otherwise it will not work.
  2. //version 1.1: Changed the score system slightly, added more injections for seeding
  3. //version 1.11: hotfix: accidentally broke the prompt system lol
  4. //version 2.0: fixed scoring (hopefully), made the UI a bit more versatile, allowing others to create buttons using the lists, and made an example function (MoreTestButtons();) of how this can be done. Hopefully seeding is also fixed at this point
  5. //version 2.01: adjusted score to make all settings give more or less the same score (hopefully)
  6. //version 2.02: added the rebuy and time until next tick buttons
  7. //version 2.03: added time until next golden cookie if you have nat off
  8. //version 2.10: added p for pause, a mod for pausing the game using the P button as well as doing quick resets on R, as well as fixing sleep mode timeout saving the game
  9.  
  10. Game.sesame=0 //this prevents a crash if opensesame is open, but doesn't get rid of the fps counter. Not sure what to do about that
  11. var FtHoFOutcomes=['random','blood frenzy','click frenzy','building special','frenzy','cursed finger','multiply cookies','cookie storm','free sugar lump','cookie storm drop','blab']
  12. var promptN=0
  13. var maxComboPow=1
  14. var relComboPow=1
  15. var maxBSCount=0
  16. var maxGodz=1
  17. var iniRaw=1
  18. var tickerCount=0
  19. var isClickedGC=false
  20. var testButton='<a class="option neato" '+Game.clickStr+'="for (var i in moreButtons) {moreButtons[i].splice(moreButtons[i].indexOf(testButton),1)}; RedrawCCCEM();">Remove test buttons?</a>'
  21. var iniTimerButton='<a class="option neato" '+Game.clickStr+'="promptN=12; GetPrompt();">Nat Spawn Timer '+iniTimer+' frames</a><br>'
  22. if (typeof pForPauseButtons === 'undefined') {var pForPauseButtons=['<a class="option neato" '+Game.clickStr+'="Game.LoadMod(`https://glander.club/asjs/qdNgUW9y`);">Load P for Pause</a><br>']}
  23. if (typeof moreButtons === 'undefined') {var moreButtons=[[],[],[]]}
  24. var invalidateScore=0
  25.  
  26. if (typeof CCCEMUILoaded === 'undefined') {
  27.   var CCCEMUILoaded=1
  28.  
  29.   //prevents you from using OpenSesame as this mod removes the debugLog to make it look nice, which breaks the game if you run OpenSesame.
  30.   eval("Game.OpenSesame="+Game.OpenSesame.toString().replace("var str='';","return"))
  31.   if (l('debugLog')) {l('debugLog').remove();};
  32.  
  33.   //disable saving
  34.   eval("Game.Logic="+Game.Logic.toString().replace("if (canSave) Game.WriteSave();","if (false) Game.WriteSave();"))
  35.   eval("Game.Timeout="+Game.Timeout.toString().replace("Game.WriteSave();",""))
  36.   eval("Game.Resume="+Game.Resume.toString().replace("Game.LoadSave();",""))
  37.  
  38.   //seed spawn fortunes, GC effects, GC timer, and DEoRL, plus find multipliers when a GC is clicked
  39.   eval("Game.getNewTicker="+Game.getNewTicker.toString().replace("!manual && Game.T>Game.fps*10 && Game.Has('Fortune cookies') && Math.random()<(Game.HasAchiev('O Fortuna')?0.04:0.02)","!manual && Game.T>Game.fps*10 && Game.Has('Fortune cookies') && FortuneTicker(manual)"))
  40.   eval("Game.shimmerTypes.golden.popFunc="+Game.shimmerTypes.golden.popFunc.toString().replace("var list=[];","var list=[]; isClickedGC=true; FindMaxComboPow(); if (seedNats) {Math.seedrandom(Game.seed+'/'+Game.goldenClicks);};"))
  41.   eval("Game.updateShimmers="+Game.updateShimmers.toString().replace("me.time++;","me.time++; if (seedNats) {Math.seedrandom(Game.seed+'/'+(i=='golden'?Game.goldenClicks:Game.reindeerClicked)+'/'+me.time);};"))
  42.  
  43.   //find combo multipliers when a buff or golden cookie dies
  44.   eval("Game.shimmer.prototype.die="+Game.shimmer.prototype.die.toString().replace("Game.shimmersL.removeChild(this.l);","if (!isClickedGC) {FindMaxComboPow()}; isClickedGC=false; Game.shimmersL.removeChild(this.l);"))
  45.   eval("Game.updateBuffs="+Game.updateBuffs.toString().replace("if (buff.onDie) buff.onDie();","if (buff.onDie) buff.onDie(); FindMaxComboPow();"))
  46.   };
  47.  
  48. function FortuneTicker(manual) {
  49.   if (!seedTicker) {return (Math.random()<forceFortune)}
  50.   Math.seedrandom(Game.seed+'/'+tickerCount);
  51.   if (!manual) tickerCount++;
  52.   return (Math.random()<forceFortune)
  53.   };
  54.  
  55. function FindAuraP(a1, a2) {
  56.   var auraSlot1=Game.dragonAura
  57.   var auraSlot2=Game.dragonAura2
  58.   if (!a2) {if (auraSlot1==3 || auraSlot2==3) {a2=3} else {a2=0};};
  59.   Game.dragonAura=0
  60.   Game.dragonAura2=a2
  61.   Game.CalculateGains();
  62.   var noA1=Game.cookiesPs
  63.   Game.dragonAura=a1
  64.   Game.CalculateGains();   
  65.   var yesA1=Game.cookiesPs
  66.   Game.dragonAura=auraSlot1
  67.   Game.dragonAura2=auraSlot2
  68.   Game.recalculateGains=1
  69.   return yesA1/noA1
  70.   };
  71.  
  72. function FindMaxComboPow() {
  73.   var mComboPow=1;
  74.   var rComboPow=1;
  75.   var bsCount=0;
  76.   var isBS=false;
  77.   var godzPow=1;
  78.   for (var i in Game.buffs) {
  79.     var buff=Game.buffs[i];
  80.     for (var obj in Game.Objects) {
  81.       if (Game.goldenCookieBuildingBuffs[obj][0]==buff.name) {
  82.         isBS=true;
  83.         bsCount++;
  84.         };
  85.       };
  86.     if (buff.multCpS) {
  87.       mComboPow*=buff.multCpS;
  88.       if (ConsistentBuffs(isBS?'building special':buff.type.name, bsCount)) {rComboPow*=buff.multCpS; if (isBS) {rComboPow*=(iniBC/10)/buff.multCpS};};
  89.       isBS=false
  90.       };
  91.     if (buff.multClick) {
  92.       mComboPow*=buff.multClick
  93.       if (buff.name=='Devastation') {godzPow*=buff.multClick};
  94.       if (ConsistentBuffs(buff.type.name)) {rComboPow*=buff.multClick;};
  95.       };
  96.     };
  97.   if (Game.shimmerTypes['golden'].n>0) {mComboPow*=Math.pow(2.23, Game.shimmerTypes['golden'].n); mComboPow/=FindAuraP(1);};
  98.   if (maxComboPow<mComboPow) {maxComboPow=mComboPow; relComboPow=rComboPow; maxBSCount=bsCount; maxGodz=godzPow};
  99.   };
  100.  
  101. function ConsistentBuffs(buffName, bsCount) {
  102.   var icBuffs=['dragonflight','blood frenzy','click frenzy','frenzy','dragon harvest']
  103.   for (var i=0; i<bsCount; i++) {icBuffs.push('building special')}
  104.   index=icBuffs.indexOf(forceFtHoF); if (forceFtHoF && index!=-1) icBuffs.splice(index, 1);
  105.   index=icBuffs.indexOf('frenzy'); if (iniF && index!=-1) icBuffs.splice(index, 1);
  106.   index=icBuffs.indexOf('dragon harvest'); if (iniDH && index!=-1) icBuffs.splice(index, 1);
  107.   for (var i=0; i<iniBSCount; i++) {index=icBuffs.indexOf('building special'); if (index!=-1) icBuffs.splice(index, 1)};
  108.   if (iniSpawn && iniGC!='R') {index=icBuffs.indexOf(Game.goldenCookieChoices[iniGC].toLowerCase()); if (index!=-1) icBuffs.splice(index, 1)};
  109.   if (iniDO && iniGC2!='R') {index=icBuffs.indexOf(Game.goldenCookieChoices[iniGC2].toLowerCase()); if (index!=-1) icBuffs.splice(icBuffs.indexOf(index, 1))};
  110.   if (iniDEoRL && iniGC3!='R') {index=icBuffs.indexOf(Game.goldenCookieChoices[iniGC3].toLowerCase()); if (index!=-1) icBuffs.splice(icBuffs.indexOf(index, 1))};
  111.   for (var i in icBuffs) {if (icBuffs[i] == buffName) {return false}};
  112.   return true
  113.   };
  114.  
  115. function AllConsistentBuffsPow() {
  116.   var cBuffs=[];
  117.   var cBuffsPow=1
  118.   if (forceFtHoF!='random') {cBuffs.push(forceFtHoF)};
  119.   if (iniF && !(cBuffs.includes('frenzy'))) {cBuffs.push('frenzy')};
  120.   if (iniDH && !(cBuffs.includes('dragon harvest'))) {cBuffs.push('dragon harvest')};
  121.   if (iniSpawn && iniGC!='R' && (!(cBuffs.includes(Game.goldenCookieChoices[iniGC].toLowerCase())) || Game.goldenCookieChoices[iniGC].toLowerCase()=='building special')) {cBuffs.push(Game.goldenCookieChoices[iniGC].toLowerCase())}
  122.   if (iniDO && iniGC2!='R' && (!(cBuffs.includes(Game.goldenCookieChoices[iniGC2].toLowerCase())) || Game.goldenCookieChoices[iniGC2].toLowerCase()=='building special')) {cBuffs.push(Game.goldenCookieChoices[iniGC2].toLowerCase())}
  123.   if (iniDEoRL && iniGC3!='R' && (!(cBuffs.includes(Game.goldenCookieChoices[iniGC3].toLowerCase())) || Game.goldenCookieChoices[iniGC3].toLowerCase()=='building special')) {cBuffs.push(Game.goldenCookieChoices[iniGC3].toLowerCase())}
  124.   for (var i=0; i<iniBSCount; i++) {cBuffs.push('building special')};
  125.   for (var i in cBuffs) {
  126.     buff=cBuffs[i]
  127.     if (buff=='frenzy') {cBuffsPow*=7}
  128.     else if (buff=='dragon harvest') {cBuffsPow*=Game.Has('Dragon fang')?17:15}
  129.     else if (buff=='dragonflight') {cBuffsPow*=Game.Has('Dragon fang')?1223:1111}
  130.     else if (buff=='building special') {cBuffsPow*=1+(iniBC/10)}
  131.     else if (buff=='click frenzy') {cBuffsPow*=777}
  132.     else if (buff=='blood frenzy') {cBuffsPow*=666}
  133.     else {console.log('score may be inaccurate: consistent golden cookie outcome unregistered (may be due to having some setting as storm or lucky or something like that)')}
  134.     };
  135.   return cBuffsPow
  136.   };
  137.  
  138. function PrintScore() {
  139.   var cookieGain=Game.cookiesEarned-iniCE
  140.   var scoreRed=(maxComboPow*iniRaw*AllConsistentBuffsPow()/relComboPow);
  141.   var score=cookieGain/scoreRed;
  142.   var icon=[1,7]
  143.   if (score>1e7) {icon=[1,7]}
  144.   if (score>1e6) {icon=[22,7]}
  145.   else if (score>5e5) {icon=[33,4]}
  146.   else if (score>1e5) {icon=[32,4]}
  147.   else if (score>1e4) {icon=[14,5]}
  148.   else if (score>1e3) {icon=[13,5]}
  149.   else if (score>1e2) {icon=[12,5]}
  150.   else if (score>1e1) {icon=[0,2]}
  151.   else if (score>1) {icon=[0,1]}
  152.   else if (score>0) {icon=[0,0]}
  153.   else if (score==0) {icon=[12,8]}
  154.  
  155.   console.log('Score: '+score,'Combo Strength: '+maxComboPow,'Strength of non-divided buffs: '+relComboPow,'Number of BSs: '+maxBSCount,'Strength of Godzamok: '+maxGodz,'Initial Raw CpS: '+iniRaw,'Years of CpS: '+Beautify(cookieGain/iniRaw/31536000));
  156.   if (invalidateScore==0) {Game.Notify('Score: '+score.toPrecision(3),Beautify(cookieGain/iniRaw/31536000)+' years of CpS, GZ: '+maxGodz.toPrecision(3),icon)} else {Game.Notify('Score invalid', 'Settings changed since reset',[10,6]); invalidateScore=0};
  157.   };
  158.  
  159. function CycleFtHoF() {
  160.   for (var i=0;i<=FtHoFOutcomes.length;i++) {if (forceFtHoF==FtHoFOutcomes[i]) {if (i!=FtHoFOutcomes.length-1) {return FtHoFOutcomes[i+1]} else {return FtHoFOutcomes[0]};};};
  161.   };
  162.  
  163. function GetPrompt() {
  164.   Game.Prompt('<id ImportSave><h3>'+"Input to variable"+'</h3><div class="block">'+loc("Please paste what you want the variable to be equal to.")+'<div id="importError" class="warning" style="font-weight:bold;font-size:11px;"></div></div><div class="block"><textarea id="textareaPrompt" style="width:100%;height:128px;">'+'</textarea></div>',[[loc("Load"),';Game.ClosePrompt(); switch (promptN) {case 0: iniLoadSave=(l(\'textareaPrompt\').value); if (iniLoadSave.length<100) {iniLoadSave=false};break;case 1: iniSeed=(l(\'textareaPrompt\').value.trim()); if (iniSeed.length!=5) {iniSeed=\'R\'};break;case 2: iniC=Number(l(\'textareaPrompt\').value);break;case 3: iniCE=Number(l(\'textareaPrompt\').value);break;case 4: iniP=Number(l(\'textareaPrompt\').value);break;case 5: iniLumps=Number(l(\'textareaPrompt\').value);break;case 6: iniBC=Number(l(\'textareaPrompt\').value);break;case 7: wizCount=Number(l(\'textareaPrompt\').value);break;case 8: wizLevel=Number(l(\'textareaPrompt\').value);break;case 9: iniDHdur=Number(l(\'textareaPrompt\').value.replace("s",""));break;case 10: iniBSdur=Number(l(\'textareaPrompt\').value.replace("s",""));break;case 11: toNextTick=Number(l(\'textareaPrompt\').value.replace("s",""));break;case 12: iniTimer=Number(l(\'textareaPrompt\').value.replace("s",""));UpdateMoreButtons();break;};RedrawCCCEM();'],loc("Nevermind")]);
  165.     l('textareaPrompt').focus();
  166.   };
  167.  
  168. function UpdateMoreButtons() {
  169.   iniTimerButton='<a class="option neato" '+Game.clickStr+'="promptN=12; GetPrompt();">Nat Spawn Timer '+iniTimer+' frames</a><br>';
  170.   moreButtons[2].splice(moreButtons[2].indexOf(iniTimerButton),1);
  171.   moreButtons[2].push(iniTimerButton);
  172.   };
  173.  
  174. function MoreTestButtons() {
  175.   moreButtons[0].push(testButton)
  176.   moreButtons[1].push(testButton)
  177.   moreButtons[2].push(testButton)
  178.   RedrawCCCEM();
  179.   };
  180.  
  181. function RedrawCCCEM() {
  182.   invalidateScore=1
  183.   var str='';
  184.   str+='<div class="icon" style="position:absolute;left:-9px;top:-6px;background-position:'+(-28*48)+'px '+(-12*48)+'px;"></div>';
  185.  
  186.   str+='<div id="devConsoleContent">';
  187.   str+='<div class="title" style="font-size:14px;margin:6px;">CCCEM interface</div>';
  188.  
  189.   str+='<a class="option neato" '+Game.clickStr+'="ResetAll(1);">Try again</a>';
  190.   str+='<a class="option neato" '+Game.clickStr+'="PresetSettingsGrail();RedrawCCCEM();">Default</a>';
  191.   str+='<a class="option neato" '+Game.clickStr+'="PresetSettingsConsist();RedrawCCCEM();">consistency</a><br>';
  192.   str+='<a class="option neato" '+Game.clickStr+'="PresetSettingsBSScry();RedrawCCCEM();">BS scry</a>';
  193.   str+='<a class="option neato" '+Game.clickStr+'="promptN=0; GetPrompt();">Import Save</a><br>';
  194.   for (var i in moreButtons[0]) {str+=moreButtons[0][i]}
  195.   str+='<div class="line"></div>';
  196.   str+='<a class="option neato" '+Game.clickStr+'="promptN=1; GetPrompt();">iniSeed '+iniSeed+'</a>';
  197.   str+='<a class="option neato" '+Game.clickStr+'="promptN=2; GetPrompt();">Cookies '+(iniC.toPrecision(1))+'</a><br>';
  198.   str+='<a class="option neato" '+Game.clickStr+'="promptN=3; GetPrompt();">CookiesB '+(iniCE.toPrecision(1))+'</a>';
  199.   str+='<a class="option neato" '+Game.clickStr+'="promptN=4; GetPrompt();">Prestige '+(iniP.toPrecision(1))+'</a><br>';
  200.   str+='<a class="option neato" '+Game.clickStr+'="promptN=5; GetPrompt();">Lumps '+(iniLumps)+'</a>';
  201.   str+='<a class="option neato" '+Game.clickStr+'="chooseLump+=1; if (chooseLump>4) chooseLump=0;RedrawCCCEM();">LumpT '+(chooseLump)+'</a><br>';
  202.   str+='<a class="option neato" '+Game.clickStr+'="promptN=6; GetPrompt();">Cursors '+(iniBC)+'</a>';
  203.   str+='<a class="option neato" '+Game.clickStr+'="useEB=!useEB; RedrawCCCEM();">'+(useEB?'EB List':'No EB')+'</a>';
  204.   str+='<a class="option neato" '+Game.clickStr+'="useRebuy+=2; if (useRebuy>2) useRebuy=0; RedrawCCCEM();">'+(useRebuy?'Rebuy':'No Rebuy')+'</a><br>';
  205.   str+='<a class="option neato" '+Game.clickStr+'="promptN=7; GetPrompt();">Wizards '+(wizCount)+'</a>';
  206.   str+='<a class="option neato" '+Game.clickStr+'="promptN=8; GetPrompt();">WizLev '+(wizLevel)+'</a>';
  207.   str+='<a class="option neato" '+Game.clickStr+'="buyOption1?buyOption1--:buyOption1++; RedrawCCCEM();">'+(buyOption1?'Sell':'Buy')+'</a>';
  208.   str+='<a class="option neato" '+Game.clickStr+'="buyOption2++; if (buyOption2>5) {buyOption2=2}; RedrawCCCEM();">'+(Math.pow(10,buyOption2-2))+'</a><br>';
  209.   str+='<a class="option neato" '+Game.clickStr+'="Game.heralds=(Game.heralds==41)?100:41;Game.externalDataLoaded=true;RedrawCCCEM();">'+(Game.heralds)+' heralds</a>';
  210.   str+='<a class="option neato" '+Game.clickStr+'="d1Aura+=1; if (d1Aura>21) d1Aura=0;RedrawCCCEM();">Aura1 '+(d1Aura)+'</a>';
  211.   str+='<a class="option neato" '+Game.clickStr+'="d2Aura+=1; if (d2Aura>21) d2Aura=0;RedrawCCCEM();">Aura2 '+(d2Aura)+'</a><br>';
  212.   str+='<a class="option neato" '+Game.clickStr+'="if (forceFortune<0.04) {forceFortune+=0.02} else {forceFortune+=0.04}; if (forceFortune>1.004) forceFortune=0;RedrawCCCEM();">Fortune: '+Math.round(forceFortune*100)+'%</a>';
  213.   str+='<a class="option neato" '+Game.clickStr+'="forceFtHoF=CycleFtHoF(); RedrawCCCEM();">FtHoF '+(forceFtHoF)+'</a><br>';
  214.   str+='<a class="option neato" '+Game.clickStr+'="gardenSeed+=1; if (gardenSeed>33) gardenSeed=0;RedrawCCCEM();">HeldS '+(gardenSeed)+'</a>';
  215.   str+='<a class="option neato" '+Game.clickStr+'="setGardenR++; if (setGardenR>4) setGardenR=0;RedrawCCCEM();">Rotation '+(setGardenR?setGardenR:'R')+'</a>';
  216.   str+='<a class="option neato" '+Game.clickStr+'="promptN=11; GetPrompt();RedrawCCCEM();">Tick '+(toNextTick?toNextTick+'s':'random')+'</a><br>';
  217.   str+='<a class="option neato" '+Game.clickStr+'="gardenP1[0]+=1; if (gardenP1[0]>33) gardenP1[0]=0;RedrawCCCEM();">Seed1 '+(gardenP1[0])+'</a>';
  218.   str+='<a class="option neato" '+Game.clickStr+'="gardenP1[1]+=5; if (gardenP1[1]>99) gardenP1[1]=0;RedrawCCCEM();">Age1 '+(gardenP1[1])+'</a><br>';
  219.   str+='<a class="option neato" '+Game.clickStr+'="gardenP2[0]+=1; if (gardenP2[0]>33) gardenP2[0]=0;RedrawCCCEM();">Seed2 '+(gardenP2[0])+'</a>';
  220.   str+='<a class="option neato" '+Game.clickStr+'="gardenP2[1]+=5; if (gardenP2[1]>99) gardenP2[1]=0;RedrawCCCEM();">Age2 '+(gardenP2[1])+'</a><br>';
  221.   str+='<a class="option neato" '+Game.clickStr+'="officeL+=1; if (officeL>5) officeL=0;RedrawCCCEM();">office '+(officeL)+'</a>';
  222.   str+='<a class="option neato" '+Game.clickStr+'="spirit1+=1; if (spirit1>10) spirit1=0;RedrawCCCEM();">Dia '+(spirit1)+'</a>';
  223.   str+='<a class="option neato" '+Game.clickStr+'="spirit2+=1; if (spirit2>10) spirit2=0;RedrawCCCEM();">Ruby '+(spirit2)+'</a>';
  224.   str+='<a class="option neato" '+Game.clickStr+'="spirit3+=1; if (spirit3>10) spirit3=0;RedrawCCCEM();">Jade '+(spirit3)+'</a><br>';
  225.   for (var i in moreButtons[1]) {str+=moreButtons[1][i]}
  226.   str+='<div class="line"></div>';
  227.   str+='<a class="option neato" '+Game.clickStr+'="iniF=!iniF;RedrawCCCEM();">Frenzy '+(iniF?'On':'Off')+'</a>';
  228.   str+='<a class="option neato" '+Game.clickStr+'="iniDH=!iniDH;RedrawCCCEM();">DH '+(iniDH?'On':'Off')+'</a>';
  229.   str+='<a class="option neato" '+Game.clickStr+'="promptN=9; GetPrompt();">DH dur '+(iniDHdur)+'s</a><br>';
  230.   str+='<a class="option neato" '+Game.clickStr+'="iniBSCount++; if (iniBSCount>Object.keys(Game.Objects).length) iniBSCount=0; RedrawCCCEM();">Extra BSs: '+(iniBSCount)+'</a>';
  231.   str+='<a class="option neato" '+Game.clickStr+'="promptN=10; GetPrompt();">BS dur '+(iniBSdur)+'s</a><br>';
  232.   str+='<a class="option neato" '+Game.clickStr+'="seedNats=!seedNats;RedrawCCCEM();">Seeding GC '+(seedNats?'On':'Off')+'</a>';
  233.   str+='<a class="option neato" '+Game.clickStr+'="seedTicker=!seedTicker;RedrawCCCEM();">Seeding News '+(seedTicker?'On':'Off')+'</a><br>';
  234.   str+='<a class="option neato" '+Game.clickStr+'="iniSpawn=!iniSpawn; moreButtons[2].splice(moreButtons[2].indexOf(iniTimerButton),1); if (!iniSpawn) {moreButtons[2].push(iniTimerButton)}; RedrawCCCEM();">Nat GC '+(iniSpawn?'On':'Off')+'</a>';
  235.   str+='<a class="option neato" '+Game.clickStr+'="iniDO=!iniDO;RedrawCCCEM();">Dragon Orbs '+(iniDO?'On':'Off')+'</a>';
  236.   str+='<a class="option neato" '+Game.clickStr+'="iniDEoRL=!iniDEoRL;RedrawCCCEM();">DEoRL '+(iniDEoRL?'On':'Off')+'</a><br>';
  237.   str+='<a class="option neato" '+Game.clickStr+'="if (iniGC==\'R\') {iniGC=-1}; iniGC+=2; if (iniGC>27) iniGC=\'R\';RedrawCCCEM();">GC1 '+(Game.goldenCookieChoices[iniGC])+'</a><br>';
  238.   str+='<a class="option neato" '+Game.clickStr+'="if (iniGC2==\'R\') {iniGC2=-1}; iniGC2+=2; if (iniGC2>27) iniGC2=\'R\';RedrawCCCEM();">GC2 '+(Game.goldenCookieChoices[iniGC2])+'</a><br>';
  239.   str+='<a class="option neato" '+Game.clickStr+'="if (iniGC3==\'R\') {iniGC3=-1}; iniGC3+=2; if (iniGC3>27) iniGC3=\'R\';RedrawCCCEM();">GC3 '+(Game.goldenCookieChoices[iniGC3])+'</a><br>';
  240.   for (var i in moreButtons[2]) {str+=moreButtons[2][i]}
  241.   str+='</div>';
  242.   l('devConsole').innerHTML=str;
  243.   l('devConsole').style.minWidth='24px'
  244.   l('devConsole').style.width='auto'
  245.   l('debug').style.display='block';
  246.   };
  247. moreButtons[0].push(pForPauseButtons[0])
  248. RedrawCCCEM();
  249. invalidateScore=0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement