xxfillex

Cookie Clicker combo execution mod

Jan 10th, 2023 (edited)
3,933
1
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JavaScript 31.62 KB | Source Code | 1 0
  1. //the mod will make any save, even a fresh save, get all achievements, upgrades, and many other values as suitable for a combo attempt. After initial launch, using ResetAll(); will reset the game and minigames according to the variables without resetting the variables, so you can change the variables after launch to change the conditions for the combo. To change the variables to suit your own needs, you can set the variables yourself using a script, which can be done by copying over the variables to your own pastebin or bookmark, changing the values of the variables, and running that script after this one.
  2. //version 1.1: Fixed some minor issues including swapping seasons and minigames not unmuting, as well as magic not properly resetting if wizard towers are sold.
  3. //version 1.2: Fixed some larger things I was considering fixing as I had some spare time on my laptop, including choosing own pantheon spirits, a lot of customization for golden cookies, including being able to spawn up to 3 golden cookies at the start (DO, nat, DEoRL), as well as being able to load a save of your own to override mainly upgrades and achievements, but not minigames, among other things. Turning off grandmapocalypse for immersion is now possible, but will not pop wrinklers.
  4. //version 1.21: Small fix, making you able to disable fortunes, as well as making the golden cookie spawning its own function in case you want to reset only some parts of the game for some reason
  5. //version 2.0: Pretty big update including GUI for using presets under Options, allowing for changing the chance of fortunes, and more!
  6. //version 2.1: Kinda huge update, adds a nice and cool UI replacing the debug menu, fixes some bugs, adds seeding to golden cookies, makes it impossible to save normally in order to protect the save the mod is loaded onto, and is now split into two separate scripts in order to make it easier to update the mod in the future. As I'm moving all eval to the other script, forcing fortunes and the like will be unavailable if that script becomes inaccessible.
  7. //version 2.11: Hotfix for some issues, now with even more seeding
  8. //version 2.12: Made running it on a fresh save more pleasant, changed a building count bug in stats, made presets slightly better
  9. //version 2.2: Made EB building list better, making it actually usable. Randomized garden rotation, made the duration calculation better, fixed the presets to take new variables into account, fixed importing messing up krumblor, removed the GC spawning sound from misc golden cookies during reset, and a few other small fixes.
  10. //version 2.21: hotfix for having some golden cookie related things off throwing errors (again), as well as having random FtHoF being laggy
  11. //version 2.22: added rebuy option for both building lists, made time until garden tick random
  12. //version 2.23: small fix because krumblor still messed up
  13. //versoin 2.24: made bank minigame get reset since it's not supposed to show you RNG about the save you load onto CCCEM
  14.  
  15. var iniSeed='R'; //use 'R' to randomize seed, otherwise set as a specific seed
  16. var iniLoadSave=false //paste a save to load initially into this variable as a string by using 'apostrophes' around the text. Loading a save in this way will override most cookie, upgrade, prestige, and buildning settings, but not minigame settings.
  17. var iniC=4e69 //initial cookie count
  18. var iniCE=1e78 //cookies earned count
  19. var iniP=1e22 //prestige level
  20. var iniLumps=105 //lump count
  21. var iniBC=1095; //cursor amount, used to determine other building amounts
  22. var wizCount=951; //specifically wizard towers
  23. var wizLevel=10; //set wizard tower level
  24. var buildingRelList=  [[-8, -33, -17, -17, -17, -26, -13, -20, -19, -19, -14, -23, -20, -12, -16, -32, -47, -39, -24],0,
  25.                       [-18, -22, -17, -17, -17, -19, -21, -18, -24, -16, -13, -27, -12, -15, -17, -34, -46, -33, -31],0] //good non-EB count for 2.052
  26. var buildingRelListEB=[[-4, -36, -17, -17, -18, -22, -17, -19, -19, -11, -25, -20, -20, -15, -16, -26, -51, -39, -28],-2,
  27.                       [-18, -22, -18, -17, -17, -19, -20, -21, -22, -5, -28, -23, -14, -16, -17, -26, -53, -34, -33],1] //good EB count for 2.052. Numbers represent how many fewer to buy compared to the previous building, wizard tower count is overriden by wizCount afterwards
  28. var useEB=false
  29. var useRebuy=0
  30. var chooseLump=0 //4 is caramelized
  31. var d1Aura=13 //13 is Epoch Manipulator
  32. var d2Aura=4 //4 is Dragon Harvest
  33. var seedNats=true
  34. var seedTicker=true
  35. var GCCount=77777
  36. var iniRein=0
  37. var forceFtHoF='blood frenzy' //'blood frenzy' is elder frenzy, setting as something that isn't a buff will result in random outcome
  38. var gardenSeed=14 //14 means currently holding whiskerbloom seed
  39. var gardenP1=[6, 60] //defalut [6, 60] (being fairly grown golden clover), will be planted on half of the columns
  40. var gardenP2=[17, 60] //default [17, 60] (being fairly grown nursetulip), will be planted on the other half of the columns
  41. var setGardenR='' //set to 1, 2, 3 or 4
  42. var toNextTick='' //between 0 and 900 for time until next tick
  43. var officeL=5 //5 is palace of greed
  44. var spirit1=1 //1 is vomitrax
  45. var spirit2=4 //4 is selebrak
  46. var spirit3=6 //6 is muridal
  47. var iniSpawn=true //true to have a regular golden cookie spawn immediately
  48. var iniGC=19 //what first GC gives, 'R' for random
  49. var iniDO=false //true to treat get an extra golden cookie at the start as if from DO, functionally equivalent to DEoRL
  50. var iniGC2=21 //what DO GC gives, 'R' for random
  51. var iniDEoRL=false //set to true to get an extra golden cookie at the start as if from DEoRL
  52. var iniGC3=1 //what DEoRL GC gives, 'R' for random
  53. var iniTimer=0 //set to a number of frames indicate how long since the last Golden cookie was spawned
  54. var iniF=true //true to start with Frenzy
  55. var iniFdur=600 //number of seconds of duration
  56. var iniDH=true //true to start with Dragon Harvest
  57. var iniDHdur=600
  58. var iniBSCount=0 // number of BSs to start with (not including other golden cookies)
  59. var iniBSdur=600
  60. var iniSB=false //if you start with sugar blessing
  61. var fortuneG=0 //0 to make GC fortune unclicked
  62. var forceFortune=1 //set to value between 0 and 1 for probability of getting a fortune
  63. var boughtSF=0 //0 or 1, 0 to make SF available
  64. var boughtCE=0 //make chocolate egg available
  65. var setSeason=183 //183 makes it halloween, set to the id of the season switcher toggle
  66. var setPledge=true //true to automatically pledge at the start, otherwise false
  67. var muteBuildings=[1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1] //list of which buildings to mute, 1 mutes
  68. var unmuteMinigames=true //unmutes all buildings with minigames, overrides muteBuildings
  69. var buyOption1=1 //set to 0 to have buy selected and 1 to have sell selected at the start
  70. var buyOption2=4 //set to 2 to have "1" selected, 3 for "10", 4 for "100", 5 for "all"
  71.  
  72. function PresetSettingsGrail() {
  73.   Game.bakeryNameSet('grail moments')
  74.   iniSeed='R';
  75.   iniLoadSave=false
  76.   iniC=4e69
  77.   iniCE=1e78
  78.   iniP=1e22
  79.   iniLumps=105
  80.   iniBC=1095;
  81.   wizCount=951;
  82.   wizLevel=10;
  83.   buildingRelList=  [[-8, -33, -17, -17, -17, -26, -13, -20, -19, -19, -14, -23, -20, -12, -16, -32, -47, -39, -24],0,
  84.                     [-18, -22, -17, -17, -17, -19, -21, -18, -24, -16, -13, -27, -12, -15, -17, -34, -46, -33, -31],0]
  85.   buildingRelListEB=[[-4, -36, -17, -17, -18, -22, -17, -19, -19, -11, -25, -20, -20, -15, -16, -26, -51, -39, -28],-2,
  86.                     [-18, -22, -18, -17, -17, -19, -20, -21, -22, -5, -28, -23, -14, -16, -17, -26, -53, -34, -33],1]
  87.   useEB=false
  88.   useRebuy=0
  89.   seedNats=true
  90.   seedTicker=true
  91.   GCCount=77777
  92.   iniRein=0
  93.   chooseLump=0
  94.   d1Aura=13
  95.   d2Aura=4
  96.   forceFtHoF='blood frenzy'
  97.   gardenSeed=14
  98.   gardenP1=[6, 60]
  99.   gardenP2=[17, 60]
  100.   setGardenR=''
  101.   officeL=5
  102.   spirit1=1
  103.   spirit2=4
  104.   spirit3=6
  105.   iniSpawn=true
  106.   iniGC=19
  107.   iniDO=false
  108.   iniDEoRL=false
  109.   iniTimer=0
  110.   iniF=true
  111.   iniFdur=600
  112.   iniDH=true
  113.   iniDHdur=600
  114.   iniBSCount=0
  115.   iniBSdur=600
  116.   fortuneG=0
  117.   forceFortune=1
  118.   boughtSF=0
  119.   boughtCE=0
  120.   setSeason=183
  121.   setPledge=true
  122.   buyOption1=1
  123.   buyOption2=4
  124.   };
  125.  
  126. function PresetSettingsConsist() {
  127.   PresetSettingsGrail();
  128.   Game.bakeryNameSet('preset consistency')
  129.   iniSeed='R';
  130.   iniLoadSave='Mi4wNTJ8fDE2ODY0NDE5MDA0MTg7MTYwMzQ2NjgwMjcyMDsxNjg2NjQ4OTQ5MjcxO3ByZXNldCBjb25zaXN0ZW5jeTttaG9mYjswLDEsMCwwLDAsMCwwfDAxMTEwMDEwMTAxMTAwMTEwMTAxMDExMTAxMXw2LjA0NDM0MTA5NTQxMTAwNGUrNjQ7MS4wMDEwNTE5ODEzMzI1MTA5ZSs2NTs1OTsyNzc3NzsxLjQzODUxNDE0NzAxMTYyMDllKzYwOzM2MTsyMzszMTsxLjEwMDAwMDU5MDQ2NTk3NDJlKzY2OzA7NDsxMDE1NjE7MDstMTsxMTY7Nzs2LjE0NDEzMDgxMTE2MjI5NGUrNTU7NTsxNDsyOy0xOzE7OzA7MDsxMDMyMjgwMzAwMTYxMjY2MzAwOzU0MjM3Nzc2NTc2MjUwNDIwMDsyNTk0Mjg3MzE4Nzk2NTI4MDswOzA7NTM7NTI7NjQxOzIyMjs2Mzk7Mjc7MDswOzQ7NjU7MDswOzcxOzE0NzsxNjg2NTk1MDEwNDk5OzA7MTsyMjc7NDE7MDsxOzIuMjU0MzA3Mzc0NzM2MzA0ZSs1NTs1MDswOzA7fDEwMTEsMTM2MSwzLjY2MDg3NDYyMjAxMzQxNWUrNTcsMTIsLDAsMTAxMTsxMDAzLDEzNTMsMi4yODQ1MDgxNTI4MjQ5MjY3ZSs1NiwwLCwxLDEwMDM7OTY2LDEzMTYsNC4xMzcxNjM4MDU2MDA2NDVlKzU2LDcsMTY4NjY0ODk5NjIyMzoxOjE2ODY0NDMxMzg4MjE6MDowOjA6MTowOjE2ODY0NDE5MDA0NDQ6IDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgMDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6LDAsOTY2Ozk0NiwxMjk2LDkuOTI3Mjk3ODc3NjY0MTQzZSs1NiwwLCwxLDk0Njs5MTksMTI2OSw2LjM2NDE3ODg3NjQ1NDUwOGUrNTUsMCwsMSw5MTk7ODkxLDEyNDEsNy41MDgyNjE1NjI1MjI2NGUrNTQsMSwwOjA6MTowOjE6IDM3ODI6MTo3OTo0OjA6MDowOjAhMjY0OjQ6LTg2OjQyODowOjA6MDowITMyMDA6MTotNDI6NTgwOjA6MDowOjAhNDMzODoxOjEzOjM5NjowOjA6MDowITI1NTI6NDotMTA1OjIyMTowOjA6MDowITQwODg6MjotMTI1OjE1MTowOjA6MDowITc5NzU6MTo0NzoyOTA6MDowOjA6MCE5MzQwOjE6NDI6MTk3OjA6MDowOjAhNzYyNTo1OjEyOjU0MTowOjA6MDowITMzNDY6NDotOTY6NjA4OjA6MDowOjAhMTA2MjE6MTo3OjQ1MTowOjA6MDowITEyNTEwOjE6LTM6MTgzOjA6MDowOjAhMTMxNjE6MToxOjQ2OTowOjA6MDowITEzMjY0OjA6LTI6NDA2OjA6MDowOjAhMTM4NjQ6NTotOToyMTU6MDowOjA6MCExNzkwODozOjQwOjU2NTowOjA6MDowITgzMzI6NDotODU6NTYxOjA6MDowOjAhMTY3Mzk6NDotMTAyOjU0NTowOjA6MDowISAxLDAsODkxOzg5MSwxMjQxLDYuODI0NzMwNTQ3ODY0MDczZSs1NiwxLC0xLy0xLy0xIDMgMTY4NjQ0MTkwMDQ0OSAxLDAsODkxOzg1NywxMjA3LDMuNDUzMzY1MTY1NTA0NjQyZSs1NCwyLDQzLjY2OTAwMTIyNTQyNDg5IDAgNzM0NiAxLDAsODU3Ozg0NywxMTk3LDUuNDYwODkwNjU1MzY3NjU4ZSs1MywwLCwxLDg0Nzs4MTksMTE2OSwxLjY4NzI4MDIxNDg2Njk4NWUrNTQsMCwsMSw4MTk7ODEwLDExNjAsMS45NDQ0NzQ3ODUzOTM2NDllKzU2LDAsLDEsODEwOzc5MiwxMTQyLDYuNTA3NDc1NzI4MDA4NjAzZSs1NiwwLCwxLDc5Mjs3NzMsMTEyMywxLjM3NjMzOTgyNTg4MDQxMDJlKzU2LDAsLDEsNzczOzc1NiwxMTA2LDQuMjIzMTQzNDUxODg3NTA2ZSs1NiwwLCwxLDc1Njs3MzcsMTA4Nyw0LjcxNjg4NDc5NTI5NjUzOGUrNTYsMCwsMSw3Mzc7NzIxLDEwNzEsMS43MTMxMTYxNDY2NTY5MTVlKzU3LDAsLDEsNzIxOzY4MSwxMDMxLDUuNTkyNTI2MTY2NzY0NDc2ZSs1NywwLCwxLDY4MTs2NDUsOTk1LDQuNzU4MzU2MzI4MzQyODgxZSs1NiwwLCwxLDY0NTs2MjAsOTcwLDEuMjE0NTc4MjIzNTIxNTllKzU3LDAsLDEsNjIwOzYwMCw5NTAsMi43ODcwNzgwNDg0NDU1ODg2ZSs1NywwLCwwLDYwMDt8MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDEwMTAxMDEwMTAxMDEwMTExMTExMTExMTEwMDExMTExMTAwMTAxMTExMDExMTExMTEwMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwMDExMTExMTExMTExMTExMTExMTAxMDEwMTAxMDEwMTAxMTEwMDAxMDEwMTAxMDEwMTAxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAwMTEwMTAxMDEwMTAxMDExMTExMTExMTExMTExMTEwMTAxMDEwMDAxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwMDEwMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMTEwMTAxMDEwMTAwMDAwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDAwMTAxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAwMDAxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTExMTExMTExMTExMDAxMTExMTExMTExMTExMTExMTExMTAwMDAwMDAxMDEwMTAxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAwMTExMTExMDEwMTAxMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAwMTExMTExMTExMTExMTEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDExMTExMTExMTExMTExMTExMDEwMTAxMDEwMTAxMTExMTAxMTExMTEwMTExMTExMTExMTExMTExMTExMTExMDExMTExMTEwMTAwMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTAxMTExMTEwMDExMTExMTExMDAwMDAwMDAwMDAwMTExMXwxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTExMTExMTExMTExMTEwMDAwMDAwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDExMTExMDExMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAxMDAwMDAwMDAwMDAxMTEwMTExMTExMTExMTEwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDExMTExMTExMTExMTExMTExMTEwMTExMTExMTExMTExMTExMDAxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTExMTExMTExMTEwMTExMTExMTExMTExMTExMTEwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDAxMDEwMDAxMTEwMDAxMTExMTExMTExMTExMDExMTAxMTExMTExMTExMTExMTEwMDAwMDAxMTExfHw%3D%21END%21'
  131.   iniLumps=105
  132.   chooseLump=0
  133.   d1Aura=13
  134.   d2Aura=9
  135.   forceFtHoF='click frenzy'
  136.   gardenSeed=14
  137.   gardenP1=[6, 60]
  138.   gardenP2=[17, 60]
  139.   officeL=5
  140.   spirit1=2
  141.   spirit2=8
  142.   spirit3=6
  143.   iniSpawn=true
  144.   iniGC=19
  145.   iniDO=false
  146.   iniDEoRL=false
  147.   iniTimer=0
  148.   iniF=true
  149.   iniDH=true
  150.   fortuneG=0
  151.   forceFortune=0.04
  152.   boughtSF=0
  153.   boughtCE=0
  154.   setSeason=183
  155.   setPledge=true
  156.   };
  157.  
  158. function PresetSettingsBSScry() {
  159.   PresetSettingsGrail();
  160.   Game.bakeryNameSet('preset BS scry')
  161.   iniSeed='R';
  162.   iniLoadSave='Mi4wNTJ8fDE2ODY0NDE5MDA0MTg7MTYwMzQ2NjgwMjcyMDsxNjg2NjQ5MDYyMTM5O3ByZXNldCBCUyBzY3J5O21ob2ZiOzAsMSwwLDAsMCwwLDB8MDExMTAwMTAxMDExMDAxMTAxMDEwMTExMDExfDkuNTkyMzU0NDg3MzcwOTFlKzY2OzEuMDAwMDAwMDAwMTkwNjUwNWUrNzE7NTk7Mjc3Nzc7MS40Mzg1MTQxNDcwMTE2MjA5ZSs2MDszNjA7MjM7MzE7MS4xMDAwMDA1OTA0NjU5NzQyZSs2NjswOzU7MTA2Nzk1OzA7LTE7MTE2OzEwOzEuMDUxOTI0NTMzMjM3MDkxMWUrNTQ7NDsxNDs0Oy0xOzE7OzA7MDsxMDMyMjgwMzAwMTYxMjY2MzAwOzU0MjM3Nzc2NTc2MjUwNDIwMDsyNTk0Mjg3MzE4Nzk2NTI4MDswOzA7NTM7NTI7NjQxOzIyMjs2Mzk7Mjc7MDswOzQ7NjU7MDswOzg2OzE0NzsxNjg2NTk1MDEwNDk5OzA7MTsyMjc7NDE7MDsxOzIuNTU0OTA2NTg1ODQ1OTI4M2UrNTc7NTA7MDswO3wxMDQxLDI1NDEsMy45Mjc3MTQ2Mzc0MjE3MjdlKzU5LDEwLCwwLDEwNTE7MTAzMywxMzgzLDIuNTE1MTk1MjYyNzk1MDUxZSs1OCwwLCwxLDEwMzM7MTAxNiwxMzY2LDUuMzUyNDIxMTAzODYyMTU4ZSs1OCw4LDE2ODY2NDkxNTU1NDY6MToxNjg2NDQzMTM4ODIxOjA6MDowOjE6MDoxNjg2NDQxOTAwNDQ0OiAxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIDA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOjA6MDowOiwwLDEwMTY7OTk2LDEzNDYsMS4yNzQ4OTI5NzE4NTcyMzIzZSs1OSwwLCwxLDk5Njs5NjksMTMxOSw4LjAwNzA3Mzk3NTQxNjM1OWUrNTcsMCwsMSw5Njk7OTQxLDEyOTEsOS4xOTgwNjY1MDIyNjQwMzJlKzU2LDEsNDowOjE6MDoxOiAzOTA3OjM6NjE6MzUwOjA6MDowOjAhMjQ4OjQ6LTkxOjQyMTowOjA6MDowITMxMTU6MTotMjQ6NTczOjA6MDowOjAhMzcxNjoxOjM2OjM4OTowOjA6MDowITE0MzM6NDotMTE1OjIxNDowOjA6MDowITQwMzg6MjotOTA6MTQ0OjA6MDowOjAhODM3MDoxOjY5OjI4MzowOjA6MDowITkyNzQ6MTo1NDoxOTA6MDowOjA6MCE2ODk4OjU6MTA6NTM0OjA6MDowOjAhMjQ0OjQ6LTEyNjo2MDE6MDowOjA6MCExMDg5OToxOjEyOjQ0NDowOjA6MDowITEyNjYxOjE6MjM6MTc2OjA6MDowOjAhMTM0ODc6MToxOjQ2MjowOjA6MDowITEyOTg0OjA6LTI6Mzk5OjA6MDowOjAhMTMyNzY6NTotODk6MjA4OjA6MDowOjAhMTk4ODU6Mzo1NTo1NTg6MDowOjA6MCE2OTU1OjQ6LTk0OjU1NDowOjA6MDowITE0MTQxOjQ6LTEyNTo1Mzg6MDowOjA6MCEgMSwwLDk0MTs5NDEsMTI5MSw4LjkwNzI5MTUzNDM3MDYzZSs1OCwxLC0xLy0xLy0xIDMgMTY4NjQ0MTkwMDQ0OSAxLDAsOTQxOzg1NywxMjA3LDMuOTY5NjIxNjc2MTcyNTkzZSs1NiwyLDYyLjY3MDc0ODQxNjk4NTc0IDAgNzM0NiAxLDAsODU3Ozg5NywxMjQ3LDYuMjgzMzIyMDEzMzkzMDIyZSs1NSwwLCwxLDg5Nzs4NjksMTIxOSwxLjk1MDAzMzU1ODU2MDM3NzdlKzU2LDAsLDEsODY5Ozg2MCwxMjEwLDIuNDMyODY1ODI4OTE2OTI0MmUrNTgsMCwsMSw4NjA7ODQyLDExOTIsOC4zODE5NDUzNDY4MjMyNTVlKzU4LDAsLDEsODQyOzgyMywxMTczLDEuNjM2NzgwMzQ5OTkwNTk5MmUrNTgsMCwsMSw4MjM7ODA2LDExNTYsNS4yOTYwOTg2MjM0MjkzMDdlKzU4LDAsLDEsODA2Ozc4NywxMTM3LDUuODM0MzI0MDQwODc2ODA4ZSs1OCwwLCwxLDc4Nzs3NzEsMTEyMSwyLjEzMDYwNjA1MDI5Mzk2NjZlKzU5LDAsLDEsNzcxOzczMSwxMDgxLDcuMzYyMDk5ODcyODQ5NDI3NWUrNTksMCwsMSw3MzE7Njk1LDEwNDUsNy4zOTQzNDc3MzM4OTM0MmUrNTgsMCwsMSw2OTU7NjYwLDEwMTAsMi41OTMwNzgwOTE0NjcxNjkzZSs1OSwwLCwxLDY2MDs2NTAsMTAwMCw0LjkxMTYzMzc3OTQ5NTA1NWUrNTksMCwsMCw2NTA7fDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAxMDEwMTAxMDEwMTAxMDExMTExMTExMTExMDAxMTExMTEwMDEwMTExMTAxMTExMTExMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDAxMTExMTExMTExMTExMTExMTEwMTAxMDEwMTAxMDEwMTExMDAwMTAxMDEwMTAxMDEwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwMDExMDEwMTAxMDEwMTAxMTExMTExMTExMTExMTExMDEwMTAxMDAwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDAxMDAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTExMDEwMTAxMDEwMDAwMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAwMDEwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwMDAwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDExMTExMTExMTExMTAwMTExMTExMTExMTExMTExMTExMTEwMDAwMDAwMTAxMDEwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwMDExMTExMTAxMDEwMTAxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMTExMTExMTExMTExMTExMTAxMDEwMTAxMDEwMTExMTEwMTExMTExMDExMTExMTExMTExMTExMTExMTExMTAxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTExMTExMDExMDExMTExMTExMTExMDEwMTAxMDExMTF8MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDExMTExMTExMTExMTExMDAwMDAwMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAxMTExMTAxMTAxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTAwMDAwMDAwMDAwMTExMDExMTExMTExMTExMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAxMTExMTExMTExMTExMTExMTExMTExMTExMTExMTAxMTExMTExMTExMTExMTExMTExMDExMTExMTExMTExMTExMTAwMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMDExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTEwMTExMDEwMTExMTExMTExMTExMTExMTEwMTExMTExMTExMTExMTExMTAwMTExMTExMXx8%21END%21'
  163.   iniLumps=103
  164.   chooseLump=0
  165.   d1Aura=13
  166.   d2Aura=4
  167.   forceFtHoF='building special'
  168.   gardenSeed=14
  169.   gardenP1=[17, 60]
  170.   gardenP2=[6, 60]
  171.   officeL=4
  172.   spirit1=1
  173.   spirit2=4
  174.   spirit3=6
  175.   iniSpawn=true
  176.   iniGC=19
  177.   iniDO=false
  178.   iniDEoRL=false
  179.   iniTimer=0
  180.   iniF=true
  181.   iniDH=true
  182.   fortuneG=0
  183.   forceFortune=0.04
  184.   boughtSF=0
  185.   boughtCE=0
  186.   setSeason=183
  187.   setPledge=true
  188.   };
  189.  
  190. function ResetGame(toFindRaw) {
  191.   Game.popups=0;
  192.   if (!(typeof Game.Objects.Temple.minigame === "undefined")){Game.Objects.Temple.minigame.slot=[Game.Objects.Temple.minigame.slot[0],Game.Objects.Temple.minigame.slot[1],Game.Objects.Temple.minigame.slot[2]]}; //fixes import corruption before importing the save
  193.   if (iniLoadSave!=false) {
  194.     var isSpecialTab=Game.specialTab
  195.     Game.ImportSaveCode(iniLoadSave);
  196.     iniCE=Game.cookiesEarned
  197.     Game.specialTab=isSpecialTab
  198.     }
  199.   else {
  200.     var leftout=['Steamed cookies','Ultrascience','Gold hoard','Neuromancy','Perfect idling','Wrinkler doormat','Reindeer season','Eternal seasons','Turbo-charged soil','A really good guide book','Magic shenanigans','Occult obstruction','Glucose-charged air'];
  201.     for (var i in Game.Upgrades)
  202.       {
  203.         if (Game.Upgrades[i].pool=='toggle' || leftout.indexOf(Game.Upgrades[i].name)!=-1) {}
  204.         else Game.Upgrades[i].earn();
  205.       }
  206.     Game.SetAllAchievs(1);
  207.     Game.MaxSpecials();
  208.     Game.nextResearch=0;
  209.     Game.researchT=-1;
  210.     var buildCount=iniBC;
  211.     var rebuy=useRebuy
  212.     if (toFindRaw) rebuy=0
  213.     if (!useEB || toFindRaw) {buildCount+=buildingRelList[rebuy+1]} else {buildCount+=buildingRelListEB[rebuy+1]}
  214.     var num=0
  215.     for (var i = 0; i < Object.keys(Game.Objects).length; i++)
  216.       {
  217.         if (buildCount<0) buildCount=0;
  218.         Game.ObjectsById[i].amount=buildCount;
  219.         if (i==7) {num+=wizCount} else {num+=buildCount};
  220.         if (!useEB || toFindRaw) {buildCount+=buildingRelList[rebuy][i]} else {buildCount+=buildingRelListEB[rebuy][i]};
  221.       }
  222.     Game.BuildingsOwned=num
  223.     Game.cookies=iniC;
  224.     Game.cookiesEarned=iniCE;
  225.     Game.prestige=iniP;
  226.    
  227.     for (var i = 0; i < Object.keys(Game.Objects).length; i++)
  228.       {
  229.         var me=Game.ObjectsById[i];
  230.         if (i==0) {me.level=19;} else if (i==7) {me.level=wizLevel-1;} else {me.level=9;};
  231.         me.levelUp(true);
  232.       }
  233.     };
  234.   if (iniSeed=='R') {Game.seed=Game.makeSeed();} else {Game.seed=iniSeed;};
  235.   if (!toFindRaw) {console.log(Game.seed);};
  236.   Game.prefs.autosave=0
  237.   Game.ObjectsById[7].amount=wizCount
  238.   Game.Upgrades['Chocolate egg'].bought=boughtCE;
  239.   Game.Upgrades['Sugar frenzy'].bought=boughtSF;
  240.   Game.popups=0
  241.   if (setSeason!=false) Game.UpgradesById[setSeason].earn();
  242.   if (setPledge!=false) Game.UpgradesById[74].earn();
  243.   if (!Game.Has('Golden switch [on]')) {Game.UpgradesById[332].earn();Game.UpgradesById[331].bought = 0;}
  244.   Game.seasonUses=0;
  245.   Game.upgradesToRebuild=1;
  246.   Game.recalculateGains=1;
  247.   Game.storeBulkButton(buyOption1);
  248.   Game.storeBulkButton(buyOption2);
  249.  
  250.   Game.killBuffs();
  251.   Game.killShimmers();
  252.   Game.shimmerTypes.golden.last=''
  253.   Game.goldenClicks=GCCount
  254.   Game.reindeerClicked=iniRein
  255.   Game.cookieClicks=0
  256.   Game.fortuneGC=fortuneG
  257.   Game.fortuneCPS=1
  258.   Game.lumpCurrentType=chooseLump;
  259.   Game.computeLumpTimes();
  260.   Game.lumpT=Date.now()-Game.lumpRipeAge;
  261.   Game.dragonAura=(toFindRaw?0:d1Aura)
  262.   Game.dragonAura2=(toFindRaw?0:d2Aura)
  263.  
  264.   Game.Logic();
  265.   Game.popups=1;
  266.   };
  267.  
  268. function ResetMinigames(toFindRaw) {
  269.   if (toFindRaw) {Game.popups=0}
  270.   for (var i = 0; i < Object.keys(Game.Objects).length; i++)
  271.     {
  272.       var me=Game.ObjectsById[i];
  273.       if (me.minigame && me.minigame.onRuinTheFun) me.minigame.onRuinTheFun();
  274.       if (muteBuildings[i]==0 || me.minigame && unmuteMinigames) {me.muted=0;me.switchMinigame(1)} else {me.muted=1;};
  275.     }
  276.   Game.lumps=iniLumps
  277.  
  278.   for (var i = 0; i < ((forceFtHoF=='random')?0:9999); i++) {
  279.     Math.seedrandom(Game.seed+'/'+i);
  280.     if (Math.random()<(1-0.15)) {
  281.       Math.random();
  282.       Math.random();
  283.       var choices=[];
  284.       choices.push('frenzy','multiply cookies');
  285.       if (!Game.hasBuff('Dragonflight')) choices.push('click frenzy');
  286.       if (Math.random()<0.1) choices.push('cookie storm','cookie storm','blab');
  287.       if (Game.BuildingsOwned>=10 && Math.random()<0.25) choices.push('building special');
  288.       if (Math.random()<0.15) choices=['cookie storm drop'];
  289.       if (Math.random()<0.0001) choices.push('free sugar lump');
  290.       var chosen=choose(choices);
  291.       if (chosen!=forceFtHoF) {continue;};
  292.       Game.Objects['Wizard tower'].minigame.spellsCastTotal=i
  293.       Game.Notify('Successfully found a '+forceFtHoF,'Your seed is '+Game.seed,[11,5]);
  294.       break
  295.       }
  296.     else {
  297.       Math.random();
  298.       Math.random();
  299.       var choices=[];
  300.       choices.push('clot','ruin cookies');
  301.       if (Math.random()<0.1) choices.push('cursed finger','blood frenzy');
  302.       if (Math.random()<0.003) choices.push('free sugar lump');
  303.       if (Math.random()<0.1) choices=['blab'];
  304.       var chosen=choose(choices);
  305.       if (chosen!=forceFtHoF) {continue;};
  306.       Game.Objects['Wizard tower'].minigame.spellsCastTotal=i
  307.       Game.Notify('Successfully found a '+forceFtHoF,'Your seed is '+Game.seed,[11,5])
  308.       break
  309.       }
  310.     }
  311.   if (forceFtHoF=='random') {Game.Notify('FtHoF randomized','Your seed is '+Game.seed,[0, 7])}
  312.   else if (chosen!=forceFtHoF) {Game.Notify('Failed to find a '+forceFtHoF,'Your seed is '+Game.seed,[15, 5])};
  313.   Game.Objects['Wizard tower'].minigame.magicM=Math.floor(4+Math.pow(wizCount,0.6)+Math.log((wizCount+(wizLevel-1)*10)/15+1)*15);
  314.   Game.Objects['Wizard tower'].minigame.magic=Game.Objects['Wizard tower'].minigame.magicM
  315.   Game.lumpRefill=0;
  316.   var gardenR=setGardenR?setGardenR:Math.floor(Math.random()*4+1)
  317.  
  318.   for (var y=0;y<6;y++) {
  319.     for (var x=0;x<6;x++) {
  320.       if (Game.Objects['Farm'].minigame.isTileUnlocked(x,y) == true && (gardenR>=3 && (x+gardenR)%2) || (gardenR<3 && (y+gardenR)%2)) {Game.Objects['Farm'].minigame.plot[y][x]=[gardenP1[0], gardenP1[1]]} else {Game.Objects['Farm'].minigame.plot[y][x]=[gardenP2[0], gardenP2[1]]}
  321.       }
  322.     }
  323.   Game.Objects['Farm'].minigame.freeze=0;
  324.   Game.Objects['Farm'].minigame.soil=2;
  325.   if (toFindRaw) {Game.Objects['Farm'].minigame.harvestAll(); Game.Objects['Farm'].minigame.computeEffs()}
  326.   Game.Objects['Farm'].minigame.nextStep=Date.now()
  327.   if (!toFindRaw) {Game.Objects['Farm'].minigame.logic(); Game.Objects['Farm'].minigame.nextStep=Date.now()+(toNextTick?toNextTick:Math.round(Math.random()*900))*1000}
  328.   Game.Objects['Farm'].minigame.seedSelected=gardenSeed;
  329.  
  330.   Game.Objects['Bank'].minigame.reset();
  331.   Game.Objects['Bank'].minigame.officeLevel=officeL;
  332.  
  333.   Game.Objects['Temple'].minigame.reset();
  334.   Game.Objects['Temple'].minigame.dragging=Game.Objects['Temple'].minigame.godsById[(toFindRaw?0:spirit1)];
  335.   Game.Objects['Temple'].minigame.slotGod(Game.Objects['Temple'].minigame.godsById[(toFindRaw?0:spirit1)], 0);
  336.   var div=l('templeGod'+(toFindRaw?0:spirit1));
  337.   div.className='ready templeGod titleFont';
  338.   div.style.transform='none';
  339.   l('templeSlot'+0).appendChild(div);
  340.   Game.Objects['Temple'].minigame.dragging=Game.Objects['Temple'].minigame.godsById[(toFindRaw?0:spirit2)];
  341.   Game.Objects['Temple'].minigame.slotGod(Game.Objects['Temple'].minigame.godsById[(toFindRaw?0:spirit2)], 1);
  342.   var div=l('templeGod'+(toFindRaw?0:spirit2));
  343.   div.className='ready templeGod titleFont';
  344.   div.style.transform='none';
  345.   l('templeSlot'+1).appendChild(div);
  346.   Game.Objects['Temple'].minigame.dragging=Game.Objects['Temple'].minigame.godsById[(toFindRaw?0:spirit3)];
  347.   Game.Objects['Temple'].minigame.slotGod(Game.Objects['Temple'].minigame.godsById[(toFindRaw?0:spirit3)], 2);
  348.   var div=l('templeGod'+(toFindRaw?0:spirit3));
  349.   div.className='ready templeGod titleFont';
  350.   div.style.transform='none';
  351.   l('templeSlot'+2).appendChild(div);
  352.   Game.Objects['Temple'].minigame.dragging=false;
  353.   Game.Objects['Temple'].minigame.swaps=3
  354.   if (toFindRaw) {Game.Objects['Temple'].minigame.reset();};
  355.  
  356.   Game.popups=1
  357.   };
  358.  
  359. function SpawnGoldenCookies() {
  360.   var priorVol=Game.volume
  361.   Game.volume=0
  362.   var newShimmer=new Game.shimmer('golden',{noWrath:true});
  363.   newShimmer.spawnLead=1;
  364.   Game.shimmerTypes.golden.spawned=1;
  365.   Game.Logic();
  366.   Game.killShimmers();
  367.   Game.volume=priorVol
  368.   var effectDurMod=GetEffectDurMod();
  369.   if (iniDO==true)
  370.     {
  371.     var newShimmer=new Game.shimmer('golden',{noWrath:setPledge});
  372.     if (iniGC2!='R') newShimmer.force=Game.goldenCookieChoices[iniGC2].toLowerCase();
  373.     };
  374.   if (iniSpawn==true)
  375.     {
  376.     var newShimmer=new Game.shimmer('golden',{noWrath:setPledge});
  377.     newShimmer.spawnLead=1;
  378.     Game.shimmerTypes.golden.spawned=1;
  379.     if (iniGC!='R') newShimmer.force=Game.goldenCookieChoices[iniGC].toLowerCase();
  380.     };
  381.   if (iniDEoRL==true)
  382.     {
  383.     var newShimmer=new Game.shimmer('golden',{noWrath:setPledge});
  384.     if (iniGC3!='R') newShimmer.force=Game.goldenCookieChoices[iniGC3].toLowerCase();
  385.     };
  386.   for (var i in Game.shimmerTypes) {me=Game.shimmerTypes[i]; me.time=iniTimer};
  387.   if (iniF==true) {Game.gainBuff('frenzy',(77*effectDurMod<iniFdur)?iniFdur:77*effectDurMod,7); Game.buffs['Frenzy'].time=iniFdur*Game.fps};
  388.   if (iniDH==true) {Game.gainBuff('dragon harvest',(60*effectDurMod<iniDHdur)?iniDHdur:60*effectDurMod,15); Game.buffs['Dragon Harvest'].time=iniDHdur*Game.fps};
  389.  
  390.   var list=[];
  391.   for (var i in Game.Objects) {if (Game.Objects[i].amount>=10) list.push(Game.Objects[i].id);}
  392.   var len=Math.min(list.length, iniBSCount)
  393.   var time=(30*effectDurMod<iniBSdur)?iniBSdur:30*effectDurMod
  394.   for (var i=0; i<len; i++) {var obj=choose(list); list.splice(list.indexOf(obj), 1); Game.gainBuff('building buff',time,Game.ObjectsById[obj].amount/10+1,obj)}
  395.  
  396.  
  397.   if (iniSB==true) Game.gainBuff('sugar blessing',24*60*60,1);
  398.   };
  399.  
  400. function ResetAll(manual) {
  401.   if (manual) {
  402.     FindMaxComboPow();
  403.     PrintScore();
  404.     maxComboPow=1
  405.     relComboPow=1
  406.     maxBSCount=0
  407.     maxGodz=1
  408.   }
  409.   ResetGame(1);
  410.   ResetMinigames(1);
  411.   Game.recalculateGains=1
  412.   Game.Logic();
  413.   if (!(typeof CCCEMUILoaded === "undefined")) {iniRaw=Game.cookiesPsRaw};
  414.   ResetGame();
  415.   ResetMinigames();
  416.   SpawnGoldenCookies();
  417.   };
  418.  
  419. function GetEffectDurMod() {
  420.   var effectDurMod=1;
  421.   if (Game.Has('Get lucky')) effectDurMod*=2;
  422.   if (Game.Has('Lasting fortune')) effectDurMod*=1.1;
  423.   if (Game.Has('Lucky digit')) effectDurMod*=1.01;
  424.   if (Game.Has('Lucky number')) effectDurMod*=1.01;
  425.   if (Game.Has('Green yeast digestives')) effectDurMod*=1.01;
  426.   if (Game.Has('Lucky payout')) effectDurMod*=1.01;
  427.   effectDurMod*=1+Game.auraMult('Epoch Manipulator')*0.05;
  428.   if (setPledge) effectDurMod*=Game.eff('goldenCookieEffDur');
  429.   else effectDurMod*=Game.eff('wrathCookieEffDur');
  430.  
  431.   if (Game.hasGod) {
  432.     var godLvl=Game.hasGod('decadence');
  433.     if (godLvl==1) effectDurMod*=1.07;
  434.     else if (godLvl==2) effectDurMod*=1.05;
  435.     else if (godLvl==3) effectDurMod*=1.02;
  436.   };
  437.   return effectDurMod
  438. };
  439.  
  440. function CheckModLoaded() {
  441.   if (typeof CCCEMUILoaded === "undefined") {var keepNotifs=Game.prefs.notifs; Game.prefs.notifs=0; Game.Notify('Mod partially not loaded','Try reloading, and maybe try later',[15, 5]); Game.prefs.notifs=keepNotifs};
  442.   };
  443.  
  444. if (Game.ready) {
  445.   Game.LoadMod("https://glander.club/asjs/cvCF2gMi")
  446.  
  447.   if (Game.chimeType==0) {PresetSettingsConsist(); ResetGame(1); PresetSettingsGrail()} else {ResetGame(1);};
  448.   Game.prefs.autosave=0
  449.   Game.bakeryNameSet('grail moments')
  450.  
  451.   setTimeout(CheckModLoaded, 1900);
  452.   setTimeout(ResetAll, 2000);
  453. } else {console.log("mod launch halted, game not loaded")};
Advertisement
Add Comment
Please, Sign In to add comment