From 66e21dbcada9ffc61d3462df9a4228063dfcf315 Mon Sep 17 00:00:00 2001
From: Gooderist <45722503+drewmayo@users.noreply.github.com>
Date: Sat, 10 Oct 2020 21:23:43 -0500
Subject: updated to 2.029
---
main.js | 739 ++++++++++++++++++++++++++++++++++++++++++++++++----------------
1 file changed, 553 insertions(+), 186 deletions(-)
(limited to 'main.js')
diff --git a/main.js b/main.js
index ba4726a..b5b973a 100644
--- a/main.js
+++ b/main.js
@@ -1,5 +1,5 @@
/*
-All this code is copyright Orteil, 2013-2019.
+All this code is copyright Orteil, 2013-2020.
-with some help, advice and fixes by Nicholas Laux, Debugbro, Opti, and lots of people on reddit, Discord, and the DashNet forums
-also includes a bunch of snippets found on stackoverflow.com and others
Hello, and welcome to the joyous mess that is main.js. Code contained herein is not guaranteed to be good, consistent, or sane. Most of this is years old at this point and harkens back to simpler, cruder times. Have a nice trip.
@@ -7,7 +7,7 @@ Spoilers ahead.
http://orteil.dashnet.org
*/
-var VERSION=2.022;
+var VERSION=2.029;
var BETA=0;
@@ -101,6 +101,24 @@ var ajax=function(url,callback)
return true;
}
+function toFixed(x)
+{
+ if (Math.abs(x) < 1.0) {
+ var e = parseInt(x.toString().split('e-')[1]);
+ if (e) {
+ x *= Math.pow(10,e-1);
+ x = '0.' + (new Array(e)).join('0') + x.toString().substring(2);
+ }
+ } else {
+ var e = parseInt(x.toString().split('+')[1]);
+ if (e > 20) {
+ e -= 20;
+ x /= Math.pow(10,e);
+ x += (new Array(e+1)).join('0');
+ }
+ }
+ return x;
+}
//Beautify and number-formatting adapted from the Frozen Cookies add-on (http://cookieclicker.wikia.com/wiki/Frozen_Cookies_%28JavaScript_Add-on%29)
function formatEveryThirdPower(notations)
@@ -165,7 +183,8 @@ function Beautify(value,floats)
value=Math.floor(Math.abs(value));
if (floats>0 && fixed==value+1) value++;
var formatter=numberFormatters[Game.prefs.format?2:1];
- var output=formatter(value).toString().replace(/\B(?=(\d{3})+(?!\d))/g,',');
+ var output=(value.toString().indexOf('e+')!=-1 && Game.prefs.format==1)?value.toPrecision(3).toString():formatter(value).toString().replace(/\B(?=(\d{3})+(?!\d))/g,',');
+ //var output=formatter(value).toString().replace(/\B(?=(\d{3})+(?!\d))/g,',');
if (output=='0') negative=false;
return negative?'-'+output:output+decimal;
}
@@ -191,9 +210,19 @@ function shortenNumber(value)
return value;
}
+SimpleBeautify=function(val)
+{
+ var str=val.toString();
+ var str2='';
+ for (var i in str)//add commas
+ {
+ if ((str.length-i)%3==0 && i>0) str2+=',';
+ str2+=str[i];
+ }
+ return str2;
+}
var beautifyInTextFilter=/(([\d]+[,]*)+)/g;//new regex
-var a=/\d\d?\d?(?:,\d\d\d)*/g;//old regex
function BeautifyInTextFunction(str){return Beautify(parseInt(str.replace(/,/g,''),10));};
function BeautifyInText(str) {return str.replace(beautifyInTextFilter,BeautifyInTextFunction);}//reformat every number inside a string
function BeautifyAll()//run through upgrades and achievements to reformat the numbers
@@ -482,8 +511,6 @@ var PlaySound=function(url,vol,pitchVar)
//vol : volume between 0 and 1 (multiplied by game volume setting); defaults to 1 (full volume)
//(DISABLED) pitchVar : pitch variance in browsers that support it (Firefox only at the moment); defaults to 0.05 (which means pitch can be up to -5% or +5% anytime the sound plays)
var volume=1;
- var pitchVar=(typeof pitchVar==='undefined')?0.05:pitchVar;
- var rate=1+(Math.random()*2-1)*pitchVar;
if (typeof vol!=='undefined') volume=vol;
if (!Game.volume || volume==0) return 0;
if (!Sounds[url])
@@ -500,8 +527,10 @@ var PlaySound=function(url,vol,pitchVar)
sound.src=Sounds[url].src;
//sound.currentTime=0;
sound.volume=Math.pow(volume*Game.volume/100,2);
- if (pitchSupport && rate!=0)
+ if (pitchSupport)
{
+ var pitchVar=(typeof pitchVar==='undefined')?0.05:pitchVar;
+ var rate=1+(Math.random()*2-1)*pitchVar;
sound.preservesPitch=false;
sound.mozPreservesPitch=false;
sound.webkitPreservesPitch=false;
@@ -601,12 +630,12 @@ Game.Launch=function()
'
Info
'+
'
'+
'
About
'+
- '
Cookie Clicker is a javascript game by Orteil and Opti.
'+
+ '
Cookie Clicker is a javascript game by Orteil and Opti.
It looks like you\'re accessing Cookie Clicker from another URL than the official one. '+
- 'You can play Cookie Clicker over here! '+
+ 'You can play Cookie Clicker over here! '+
'(If for any reason, you are unable to access the game on the official URL, we are currently working on a second domain.)
';
}
Game.timedout=false;
@@ -1198,6 +1255,8 @@ Game.Launch=function()
Game.cookies=0;//cookies
Game.cookiesd=0;//cookies display
Game.cookiesPs=1;//cookies per second (to recalculate with every new purchase)
+ Game.cookiesPsRaw=0;//raw cookies per second
+ Game.cookiesPsRawHighest=0;//highest raw cookies per second this ascension
Game.cookiesReset=0;//cookies lost to resetting (used to determine prestige and heavenly chips)
Game.cookieClicks=0;//+1 for each click on the cookie
Game.goldenClicks=0;//+1 for each golden cookie clicked (all time)
@@ -1545,7 +1604,7 @@ Game.Launch=function()
this.tta.style.top=Y+'px';
this.tta.style.bottom='auto';
if (this.shouldHide) {this.hide();this.shouldHide=0;}
- else if (Game.drawT%10==0 && typeof(this.text)=='function')
+ else if (Game.drawT%10==0 && typeof(this.text)==='function')
{
var text=this.text();
if (text=='') this.tta.style.opacity='0';
@@ -1861,6 +1920,7 @@ Game.Launch=function()
(type==3?'\n heralds : ':'')+parseInt(Game.heralds)+';'+
(type==3?'\n golden cookie fortune : ':'')+parseInt(Game.fortuneGC)+';'+
(type==3?'\n CpS fortune : ':'')+parseInt(Game.fortuneCPS)+';'+
+ (type==3?'\n highest raw CpS : ':'')+parseFloat(Game.cookiesPsRawHighest)+';'+
'|';//cookies and lots of other stuff
if (type==3) str+='\n\nBuildings : amount, bought, cookies produced, level, minigame data';
@@ -1873,6 +1933,7 @@ Game.Launch=function()
str+=me.amount+','+me.bought+','+parseFloat(Math.floor(me.totalCookies))+','+parseInt(me.level);
if (Game.isMinigameReady(me)) str+=','+me.minigame.save(); else str+=',';
str+=','+(me.muted?'1':'0');
+ str+=','+me.highest;
str+=';';
}
}
@@ -2070,7 +2131,7 @@ Game.Launch=function()
Game.startDate=parseInt(spl[0]);
Game.fullDate=parseInt(spl[1]);
Game.lastDate=parseInt(spl[2]);
- Game.bakeryName=spl[3]?spl[3]:Game.GetBakeryName();
+ Game.bakeryNameSet(spl[3]?spl[3]:Game.GetBakeryName());
Game.seed=spl[4]?spl[4]:Game.makeSeed();
//prefs
if (version<1.0503) spl=str[3].split('');
@@ -2150,6 +2211,7 @@ Game.Launch=function()
Game.heralds=spl[48]?parseInt(spl[48]):Game.heralds;
Game.fortuneGC=spl[49]?parseInt(spl[49]):0;
Game.fortuneCPS=spl[50]?parseInt(spl[50]):0;
+ Game.cookiesPsRawHighest=spl[51]?parseFloat(spl[51]):0;
spl=str[5].split(';');//buildings
Game.BuildingsOwned=0;
@@ -2161,7 +2223,7 @@ Game.Launch=function()
if (spl[i])
{
var mestr=spl[i].toString().split(',');
- me.amount=parseInt(mestr[0]);me.bought=parseInt(mestr[1]);me.totalCookies=parseFloat(mestr[2]);me.level=parseInt(mestr[3]||0);
+ me.amount=parseInt(mestr[0]);me.bought=parseInt(mestr[1]);me.totalCookies=parseFloat(mestr[2]);me.level=parseInt(mestr[3]||0);me.highest=(version>=2.024?parseInt(mestr[6]):me.amount);
if (me.minigame && me.minigameLoaded && me.minigame.reset) {me.minigame.reset(true);me.minigame.load(mestr[4]||'');} else me.minigameSave=(mestr[4]||0);
me.muted=parseInt(mestr[5])||0;
Game.BuildingsOwned+=me.amount;
@@ -2169,7 +2231,7 @@ Game.Launch=function()
}
else
{
- me.amount=0;me.unlocked=0;me.bought=0;me.totalCookies=0;me.level=0;
+ me.amount=0;me.unlocked=0;me.bought=0;me.highest=0;me.totalCookies=0;me.level=0;
}
}
@@ -2552,6 +2614,7 @@ Game.Launch=function()
//Game.goldenClicks=0;
//Game.missedGoldenClicks=0;
Game.handmadeCookies=0;
+ Game.cookiesPsRawHighest=0;
if (hard)
{
Game.bgType=0;
@@ -2597,7 +2660,7 @@ Game.Launch=function()
for (var i in Game.ObjectsById)
{
var me=Game.ObjectsById[i];
- me.amount=0;me.bought=0;me.free=0;me.totalCookies=0;
+ me.amount=0;me.bought=0;me.highest=0;me.free=0;me.totalCookies=0;
me.switchMinigame(false);
if (hard) {me.muted=0;}
me.pics=[];
@@ -2918,14 +2981,15 @@ Game.Launch=function()
{
if (me.pool!='toggle' && me.pool!='tech')
{
+ var purchase=me.kitten?'purrchase':'purchase';
if (Game.Has('Inspired checklist'))
{
- if (me.isVaulted()) tip='Upgrade is vaulted and will not be auto-purchased. Click to purchase. Shift-click to unvault.';
- else tip='Click to purchase. Shift-click to vault.';
+ if (me.isVaulted()) tip='Upgrade is vaulted and will not be auto-'+purchase+'d. Click to '+purchase+'. Shift-click to unvault.';
+ else tip='Click to '+purchase+'. Shift-click to vault.';
if (Game.keys[16]) tip+=' (You are holding Shift.)';
else tip+=' (You are not holding Shift.)';
}
- else tip='Click to purchase.';
+ else tip='Click to '+purchase+'.';
}
else if (me.pool=='toggle' && me.choicesFunction) tip='Click to open selector.';
else if (me.pool=='toggle') tip='Click to toggle.';
@@ -2933,7 +2997,7 @@ Game.Launch=function()
}
var desc=me.desc;
- if (me.descFunc) desc=me.descFunc();
+ if (me.descFunc) desc=me.descFunc(context);
if (me.bought && context=='store' && me.displayFuncWhenOwned) desc=me.displayFuncWhenOwned()+''+desc;
if (me.unlockAt)
{
@@ -3092,13 +3156,13 @@ Game.Launch=function()
l('ascendOverlay').innerHTML=
'
'+
'
Each prestige level grants you a permanent +1% CpS. The more levels you have, the more cookies they require.
'
+ '
Each prestige level grants you a permanent +1% CpS. The more levels you have, the more cookies they require.
'
,'bottom-right')+' style="margin-top:8px;">
'+
'
Heavenly chips are used to buy heavenly upgrades. You gain 1 chip every time you gain a prestige level.
'
+ '
Heavenly chips are used to buy heavenly upgrades. You gain 1 chip every time you gain a prestige level.
Money made from selling cookies : $'+Beautify(Game.cookiesEarned*0.08,2)+'
'+
- (Game.Objects['Portal'].amount>0?'
TV show seasons produced : '+Beautify(Math.floor((timeInSeconds/60/60)*(Game.Objects['Portal'].amount*0.13)+1))+'
':'')
+ '
Money made from selling cookies : '+Beautify(Game.cookiesEarned*0.08,2)+' cookie dollars
'+
+ (Game.Objects['Portal'].highest>0?'
TV show seasons produced : '+Beautify(Math.floor((timeInSeconds/60/60)*(Game.Objects['Portal'].highest*0.13)+1))+'
':'')
:'')+
(researchStr!=''?'
Research : '+researchStr+' remaining
':'')+
(wrathStr!=''?'
Grandmatriarchs status : '+wrathStr+'
':'')+
@@ -6054,13 +6126,13 @@ Game.Launch=function()
'News : eggs have begun to materialize in the most unexpected places; "no place is safe", warn experts.',
'News : packs of rampaging rabbits cause billions in property damage; new strain of myxomatosis being developed.',
'News : egg-laying rabbits "not quite from this dimension", warns biologist; advises against petting, feeding, or cooking the creatures.',
- 'News : mysterious rabbits found to be egg-layers, but warm-blooded, hinting at possible platypus ancestry.'
+ 'News : mysterious rabbits found to be egg-layers, but mammalian, hinting at possible platypus ancestry.'
]));
}
if (Math.random()<0.05)
{
- if (Game.HasAchiev('Base 10')) list.push('News : cookie manufacturer completely forgoes common sense, lets OCD drive building decisions!');//somehow I got flak for this one
+ if (Game.HasAchiev('Base 10')) list.push('News : cookie manufacturer completely forgoes common sense, lets strange obsession with round numbers drive building decisions!');
if (Game.HasAchiev('From scratch')) list.push('News : follow the tear-jerking, riches-to-rags story about a local cookie manufacturer who decided to give it all up!');
if (Game.HasAchiev('A world filled with cookies')) list.push('News : known universe now jammed with cookies! No vacancies!');
if (Game.HasAchiev('Last Chance to See')) list.push('News : incredibly rare albino wrinkler on the brink of extinction poached by cookie-crazed pastry magnate!');
@@ -6081,6 +6153,8 @@ Game.Launch=function()
if (Game.Has('Kitten analysts')) list.push('News : are your spending habits sensible? For a hefty fee, these analysts will tell you!');
if (Game.Has('Kitten executives')) list.push('News : kittens strutting around in hot little business suits shouting cut-throat orders at their assistants, possibly the cutest thing this reporter has ever seen!');
if (Game.Has('Kitten angels')) list.push('News : "Try to ignore any ghostly felines that may be purring inside your ears," warn scientists. "They\'ll just lure you into making poor life choices."');
+ if (Game.Has('Kitten wages')) list.push('News : kittens break glass ceiling! Do they have any idea how expensive those are!');
+ if (Game.HasAchiev('Jellicles')) list.push('News : local kittens involved in misguided musical production, leave audience perturbed and unnerved.');
}
if (Game.HasAchiev('Dude, sweet') && Math.random()<0.2) list.push(choose([
@@ -6152,6 +6226,9 @@ Game.Launch=function()
'News : obesity epidemic strikes nation; experts blame '+choose(['twerking','that darn rap music','video-games','lack of cookies','mysterious ghostly entities','aliens','parents','schools','comic-books','cookie-snorting fad'])+'.',
'News : cookie shortage strikes town, people forced to eat cupcakes; "just not the same", concedes mayor.',
'News : "you gotta admit, all this cookie stuff is a bit ominous", says confused idiot.',
+ 'News : scientists advise getting used to cookies suffusing every aspect of life; "this is the new normal", expert says.',
+ 'News : doctors advise against wearing face masks when going outside. "You never know when you might need a cookie... a mask would just get in the way."',
+ 'News : is there life on Mars? Various chocolate bar manufacturers currently under investigation for bacterial contaminants.',
]),
choose([
'News : movie cancelled from lack of actors; "everybody\'s at home eating cookies", laments director.',
@@ -6176,7 +6253,7 @@ Game.Launch=function()
'News : "'+Game.bakeryName+'" set to be this year\'s most popular baby name.',
'News : new popularity survey says '+Game.bakeryName+'\'s the word when it comes to cookies.',
'News : major city being renamed '+Game.bakeryName+'ville after world-famous cookie manufacturer.',
- 'News : '+choose(['street','school','nursing home','stadium','new fast food chain','new planet','new disease','flesh-eating virus','deadly bacteria','new species of '+choose(animals),'new law','baby','programming language'])+' to be named after '+Game.bakeryName+', the world-famous cookie manufacturer.',
+ 'News : '+choose(['street','school','nursing home','stadium','new fast food chain','new planet','new disease','flesh-eating bacteria','deadly virus','new species of '+choose(animals),'new law','baby','programming language'])+' to be named after '+Game.bakeryName+', the world-famous cookie manufacturer.',
'News : don\'t miss tonight\'s biopic on '+Game.bakeryName+'\'s irresistible rise to success!',
'News : don\'t miss tonight\'s interview of '+Game.bakeryName+' by '+choose(['Bloprah','Blavid Bletterman','Blimmy Blimmel','Blellen Blegeneres','Blimmy Blallon','Blonan Blo\'Brien','Blay Bleno','Blon Blewart','Bleven Blolbert','Lord Toxikhron of dimension 7-B19',Game.bakeryName+'\'s own evil clone'])+'!',
'News : people all over the internet still scratching their heads over nonsensical reference : "Okay, but why an egg?"',
@@ -6185,7 +6262,7 @@ Game.Launch=function()
'News : cookie emoji most popular among teenagers, far ahead of "judgemental OK hand sign" and "shifty-looking dark moon", says study.',
]),
choose([
- 'News : births of suspiciously bald babies on the rise; reptilian overlords deny involvement.',
+ 'News : births of suspiciously bald babies on the rise; ancient alien cabal denies involvement.',
'News : "at this point, cookies permeate the economy", says economist. "If we start eating anything else, we\'re all dead."',
'News : pun in headline infuriates town, causes riot. 21 wounded, 5 dead; mayor still missing.',
'Nws : ky btwn W and R brokn, plas snd nw typwritr ASAP.',
@@ -6487,7 +6564,7 @@ Game.Launch=function()
Game.buyBulkOld=Game.buyBulk;//used to undo changes from holding Shift or Ctrl
Game.buyBulkShortcut=0;//are we pressing Shift or Ctrl?
- Game.Objects=[];
+ Game.Objects={};
Game.ObjectsById=[];
Game.ObjectsN=0;
Game.BuildingsOwned=0;
@@ -6553,6 +6630,7 @@ Game.Launch=function()
this.amount=0;
this.bought=0;
+ this.highest=0;
this.free=0;
this.eachFrame=0;
@@ -6644,6 +6722,7 @@ Game.Launch=function()
if (this.buyFunction) this.buyFunction();
Game.recalculateGains=1;
if (this.amount==1 && this.id!=0) l('row'+this.id).classList.add('enabled');
+ this.highest=Math.max(this.highest,this.amount);
Game.BuildingsOwned++;
success=1;
}
@@ -6740,6 +6819,7 @@ Game.Launch=function()
this.price=this.getPrice();
Game.recalculateGains=1;
if (this.amount==1 && this.id!=0) l('row'+this.id).classList.add('enabled');
+ this.highest=Math.max(this.highest,this.amount);
Game.BuildingsOwned++;
}
}
@@ -6750,7 +6830,9 @@ Game.Launch=function()
this.amount+=amount;
this.bought+=amount;
this.free+=amount;
+ this.highest=Math.max(this.highest,this.amount);
Game.BuildingsOwned+=amount;
+ this.highest=Math.max(this.highest,this.amount);
this.refresh();
}
this.getFreeRanks=function(amount)//this building's price behaves as if you had X less of it
@@ -6981,7 +7063,7 @@ Game.Launch=function()
str+='';
l('sectionLeftExtra').innerHTML=l('sectionLeftExtra').innerHTML+str;
}
- else//draw it
+ else
{
var str='
';
str+='
';
@@ -7099,13 +7181,30 @@ Game.Launch=function()
if (this.mouseOn)
{
var selected=-1;
- //mouse detection only fits grandma sprites for now
- var marginW=-18;
- var marginH=-10;
- for (var i=0;i=pic.x-marginW && this.mousePos[0]=pic.y-marginH && this.mousePos[1]=pic.x-marginW && this.mousePos[0]=pic.y-marginH && this.mousePos[1]0)
+ {
+ var str='Names in white were submitted by our supporters on Patreon.';
+ ctx.globalAlpha=0.75;
+ ctx.fillStyle='#000';
+ ctx.font='9px Merriweather';
+ ctx.textAlign='left';
+ ctx.fillRect(0,0,ctx.measureText(str).width+4,12);
+ ctx.globalAlpha=1;
+ ctx.fillStyle='rgba(255,255,255,0.7)';
+ ctx.fillText(str,2,8);
+ ctx.fillStyle='rgba(255,255,255,1)';
+ ctx.fillText('white',2+ctx.measureText('Names in ').width,8);
+ }
}
}
@@ -7387,6 +7486,7 @@ Game.Launch=function()
if (Game.Has('Sextillion fingers')) add+= 50000;
if (Game.Has('Septillion fingers')) add+= 500000;
if (Game.Has('Octillion fingers')) add+= 5000000;
+ if (Game.Has('Nonillion fingers')) add+= 50000000;
var mult=1;
var num=0;
for (var i in Game.Objects) {if (Game.Objects[i].name!='Cursor') num+=Game.Objects[i].amount;}
@@ -7407,8 +7507,9 @@ Game.Launch=function()
if (this.amount>=300) Game.Unlock('Sextillion fingers');
if (this.amount>=350) Game.Unlock('Septillion fingers');
if (this.amount>=400) Game.Unlock('Octillion fingers');
+ if (this.amount>=450) Game.Unlock('Nonillion fingers');
- if (this.amount>=1) Game.Win('Click');if (this.amount>=2) Game.Win('Double-click');if (this.amount>=50) Game.Win('Mouse wheel');if (this.amount>=100) Game.Win('Of Mice and Men');if (this.amount>=200) Game.Win('The Digital');if (this.amount>=300) Game.Win('Extreme polydactyly');if (this.amount>=400) Game.Win('Dr. T');if (this.amount>=500) Game.Win('Thumbs, phalanges, metacarpals');if (this.amount>=600) Game.Win('With her finger and her thumb');
+ if (this.amount>=1) Game.Win('Click');if (this.amount>=2) Game.Win('Double-click');if (this.amount>=50) Game.Win('Mouse wheel');if (this.amount>=100) Game.Win('Of Mice and Men');if (this.amount>=200) Game.Win('The Digital');if (this.amount>=300) Game.Win('Extreme polydactyly');if (this.amount>=400) Game.Win('Dr. T');if (this.amount>=500) Game.Win('Thumbs, phalanges, metacarpals');if (this.amount>=600) Game.Win('With her finger and her thumb');if (this.amount>=700) Game.Win('Gotta hand it to you');
});
Game.SpecialGrandmaUnlock=15;
@@ -7447,7 +7548,7 @@ Game.Launch=function()
mult*=Game.eff('grandmaCps');
mult*=Game.GetTieredCpsMult(me);
-
+
var add=0;
if (Game.Has('One mind')) add+=Game.Objects['Grandma'].amount*0.02;
if (Game.Has('Communal brainsweep')) add+=Game.Objects['Grandma'].amount*0.02;
@@ -7513,7 +7614,7 @@ Game.Launch=function()
if (this.amount>=Game.SpecialGrandmaUnlock && Game.Objects['Grandma'].amount>0) Game.Unlock(this.grandma.name);
});
//Game.last.minigameUrl='minigameDungeon.js';//not yet
- //Game.last.minigameName='Dungeon';
+ Game.last.minigameName='Dungeon';
new Game.Object('Bank','bank|banks|banked|Interest rates [X]% better|Interest rates [X]% better','Generates cookies from interest.',6,15,{base:'bank',xV:8,yV:4,w:56,rows:1,x:0,y:13},0,function(me){
var mult=1;
@@ -7524,6 +7625,8 @@ Game.Launch=function()
Game.UnlockTiered(this);
if (this.amount>=Game.SpecialGrandmaUnlock && Game.Objects['Grandma'].amount>0) Game.Unlock(this.grandma.name);
});
+ Game.last.minigameUrl='minigameMarket.js';
+ Game.last.minigameName='Stock Market';
new Game.Object('Temple','temple|temples|discovered|[X] sacred artifact retrieved|[X] sacred artifacts retrieved','Full of precious, ancient chocolate.',7,16,{base:'temple',xV:8,yV:4,w:72,rows:2,x:0,y:-5},0,function(me){
var mult=1;
@@ -7546,6 +7649,7 @@ Game.Launch=function()
Game.UnlockTiered(this);
if (this.amount>=Game.SpecialGrandmaUnlock && Game.Objects['Grandma'].amount>0) Game.Unlock(this.grandma.name);
});
+ Game.last.displayName='Wizard tower';//shrink
Game.last.minigameUrl='minigameGrimoire.js';
Game.last.minigameName='Grimoire';
@@ -7568,6 +7672,7 @@ Game.Launch=function()
Game.UnlockTiered(this);
if (this.amount>=Game.SpecialGrandmaUnlock && Game.Objects['Grandma'].amount>0) Game.Unlock(this.grandma.name);
});
+ Game.last.displayName='Alchemy lab';//shrink
new Game.Object('Portal','portal|portals|retrieved|[X] dimension enslaved|[X] dimensions enslaved','Opens a door to the Cookieverse.',11,7,{base:'portal',xV:32,yV:32,w:64,rows:2,x:0,y:0},1666666,function(me){
var mult=1;
@@ -7588,6 +7693,7 @@ Game.Launch=function()
Game.UnlockTiered(this);
if (this.amount>=Game.SpecialGrandmaUnlock && Game.Objects['Grandma'].amount>0) Game.Unlock(this.grandma.name);
});
+ Game.last.displayName='Time machine';//shrink
new Game.Object('Antimatter condenser','antimatter condenser|antimatter condensers|condensed|[X] extra quark flavor|[X] extra quark flavors','Condenses the antimatter in the universe into cookies.',13,13,{base:'antimattercondenser',xV:0,yV:64,w:64,rows:1,x:0,y:0},3999999999,function(me){
var mult=1;
@@ -7598,7 +7704,7 @@ Game.Launch=function()
Game.UnlockTiered(this);
if (this.amount>=Game.SpecialGrandmaUnlock && Game.Objects['Grandma'].amount>0) Game.Unlock(this.grandma.name);
});
- Game.last.displayName='Antimatter condenser';//shrink the name since it's so large
+ Game.last.displayName='Antim. condenser';//shrink
new Game.Object('Prism','prism|prisms|converted|[X] new color discovered|[X] new colors discovered','Converts light itself into cookies.',14,14,{base:'prism',xV:16,yV:4,w:64,rows:1,x:0,y:20},75000000000,function(me){
var mult=1;
@@ -7619,6 +7725,7 @@ Game.Launch=function()
Game.UnlockTiered(this);
if (this.amount>=Game.SpecialGrandmaUnlock && Game.Objects['Grandma'].amount>0) Game.Unlock(this.grandma.name);
});
+ Game.last.displayName='Chancemaker';//shrink
new Game.Object('Fractal engine','fractal engine|fractal engines|made from cookies|[X] iteration deep|[X] iterations deep','Turns cookies into even more cookies.',16,20,{base:'fractalEngine',xV:8,yV:64,w:64,rows:1,x:0,y:0},12345678987654321,function(me){
var mult=1;
@@ -7629,6 +7736,7 @@ Game.Launch=function()
Game.UnlockTiered(this);
if (this.amount>=Game.SpecialGrandmaUnlock && Game.Objects['Grandma'].amount>0) Game.Unlock(this.grandma.name);
});
+ Game.last.displayName='Fractal engine';//shrink
new Game.Object('Javascript console','javascript console|javascript consoles|programmed|Equipped with [X] external library|Equipped with [X] external libraries','Creates cookies from the very code this game was written in.',17,32,{base:'javascriptconsole',xV:8,yV:64,w:14,rows:1,x:8,y:-32,frames:2},12345678987654321,function(me){
var mult=1;
@@ -7639,8 +7747,7 @@ Game.Launch=function()
Game.UnlockTiered(this);
if (this.amount>=Game.SpecialGrandmaUnlock && Game.Objects['Grandma'].amount>0) Game.Unlock(this.grandma.name);
});
- Game.last.displayName='Javascript console';//shrink the name since it's so large
-
+ Game.last.displayName='Javascript console';//shrink
Game.foolObjects={
'Unknown':{name:'Investment',desc:'You\'re not sure what this does, you just know it means profit.',icon:0},
@@ -7760,6 +7867,7 @@ Game.Launch=function()
if (Game.Has('Faberge egg')) price*=0.99;
if (Game.Has('Divine sales')) price*=0.99;
if (Game.Has('Fortune #100')) price*=0.99;
+ if (this.kitten && Game.Has('Kitten wages')) price*=0.9;
if (Game.hasBuff('Haggler\'s luck')) price*=0.98;
if (Game.hasBuff('Haggler\'s misery')) price*=1.02;
//if (Game.hasAura('Master of the Armory')) price*=0.98;
@@ -7852,8 +7960,25 @@ Game.Launch=function()
for (var i in choices)
{
+ choices[i].id=i;
+ choices[i].order=choices[i].order||0;
+ }
+
+ var sortMap=function(a,b)
+ {
+ if (a.order>b.order) return 1;
+ else if (a.order
';
+ str+='';
}
}
@@ -8100,7 +8225,7 @@ Game.Launch=function()
Game.NewUpgradeCookie=function(obj)
{
- var upgrade=new Game.Upgrade(obj.name,'Cookie production multiplier +'+Beautify((typeof(obj.power)=='function'?obj.power(obj):obj.power),1)+'%.'+obj.desc+'',obj.price,obj.icon);
+ var upgrade=new Game.Upgrade(obj.name,'Cookie production multiplier +'+Beautify((typeof(obj.power)==='function'?obj.power(obj):obj.power),1)+'%.'+obj.desc+'',obj.price,obj.icon);
upgrade.power=obj.power;
upgrade.pool='cookie';
var toPush={cookies:obj.price/20,name:obj.name};
@@ -8482,7 +8607,7 @@ Game.Launch=function()
order=150;
new Game.Upgrade('Unobtainium mouse','Clicking gains +1% of your CpS.These nice mice should suffice.',5000000000000,[11,14]);Game.MakeTiered(Game.last,5,11);
- order=10020;
+ order=10030;
Game.NewUpgradeCookie({name:'Caramoas',desc:'Yeah. That\'s got a nice ring to it.',icon:[14,4],require:'Box of brand biscuits',power: 3, price: 9999999999999999});
Game.NewUpgradeCookie({name:'Sagalongs',desc:'Grandma\'s favorite?',icon:[15,3],require:'Box of brand biscuits',power: 3, price: 9999999999999999});
Game.NewUpgradeCookie({name:'Shortfoils',desc:'Foiled again!',icon:[15,4],require:'Box of brand biscuits',power: 3, price: 9999999999999999});
@@ -8598,7 +8723,7 @@ Game.Launch=function()
Game.NewUpgradeCookie({name:'Golden heart biscuits',desc:'A beautiful biscuit to symbolize kindness, true love, and sincerity.',require:Game.last.name,season:'valentines',icon:[21,4], power:heartPower,price: 1000000000000000000});
Game.NewUpgradeCookie({name:'Eternal heart biscuits',desc:'Silver icing for a very special someone you\'ve liked for a long, long time.',require:Game.last.name,season:'valentines',icon:[19,4], power:heartPower,price: 1000000000000000000000});
- Game.heartDrops=['Pure heart biscuits','Ardent heart biscuits','Sour heart biscuits','Weeping heart biscuits','Golden heart biscuits','Eternal heart biscuits'];
+ Game.heartDrops=['Pure heart biscuits','Ardent heart biscuits','Sour heart biscuits','Weeping heart biscuits','Golden heart biscuits','Eternal heart biscuits','Prism heart biscuits'];
Game.GetHowManyHeartDrops=function()
{
@@ -8812,7 +8937,7 @@ Game.Launch=function()
Game.NewUpgradeCookie({name:'Cream cookies',desc:'It\'s like two chocolate chip cookies! But brought together with the magic of cream! It\'s fiendishly perfect!',icon:[29,4],power: 3,price: 9999999999999999999*5});
order=0;
- var desc='Placing an upgrade in this slot will make its effects permanent across all playthroughs. Click to activate.';
+ var desc='Placing an upgrade in this slot will make its effects permanent across all playthroughs.';
new Game.Upgrade('Permanent upgrade slot I',desc, 100,[0,10]);Game.last.pool='prestige';Game.last.iconFunction=function(){return Game.PermanentSlotIcon(0);};Game.last.activateFunction=function(){Game.AssignPermanentSlot(0);};
new Game.Upgrade('Permanent upgrade slot II',desc, 2000,[1,10]);Game.last.pool='prestige';Game.last.parents=['Permanent upgrade slot I'];Game.last.iconFunction=function(){return Game.PermanentSlotIcon(1);};Game.last.activateFunction=function(){Game.AssignPermanentSlot(1);};
new Game.Upgrade('Permanent upgrade slot III',desc, 30000,[2,10]);Game.last.pool='prestige';Game.last.parents=['Permanent upgrade slot II'];Game.last.iconFunction=function(){return Game.PermanentSlotIcon(2);};Game.last.activateFunction=function(){Game.AssignPermanentSlot(2);};
@@ -8822,10 +8947,10 @@ Game.Launch=function()
var slots=['Permanent upgrade slot I','Permanent upgrade slot II','Permanent upgrade slot III','Permanent upgrade slot IV','Permanent upgrade slot V'];
for (var i=0;iClick to activate.');
var upgrade=Game.UpgradesById[Game.permanentUpgrades[i]];
- return '
'+'Current : '+upgrade.name+'
'+this.desc;
+ return '
'+'Current : '+upgrade.name+'
'+this.desc+(context=='stats'?'':' Click to activate.');
};}(i);
}
@@ -9000,48 +9125,57 @@ Game.Launch=function()
new Game.Upgrade('Milk selector','Lets you pick what flavor of milk to display.',0,[1,8]);
Game.last.descFunc=function(){
var choice=this.choicesFunction()[Game.milkType];
+ if (!choice) choice=this.choicesFunction()[0];
return '
Current : '+choice.name+'
'+this.desc;
};
Game.last.pool='toggle';
Game.last.choicesFunction=function()
{
+ var rank=0;
var choices=[];
choices[0]={name:'Automatic',icon:[0,7]};
- choices[1]={name:'Plain milk',icon:[1,8]};
- choices[2]={name:'Chocolate milk',icon:[2,8]};
- choices[3]={name:'Raspberry milk',icon:[3,8]};
- choices[4]={name:'Orange milk',icon:[4,8]};
- choices[5]={name:'Caramel milk',icon:[5,8]};
- choices[6]={name:'Banana milk',icon:[6,8]};
- choices[7]={name:'Lime milk',icon:[7,8]};
- choices[8]={name:'Blueberry milk',icon:[8,8]};
- choices[9]={name:'Strawberry milk',icon:[9,8]};
- choices[10]={name:'Vanilla milk',icon:[10,8]};
+ choices[1]={name:'Plain milk',icon:[1,8],rank:rank++};
+ choices[2]={name:'Chocolate milk',icon:[2,8],rank:rank++};
+ choices[3]={name:'Raspberry milk',icon:[3,8],rank:rank++};
+ choices[4]={name:'Orange milk',icon:[4,8],rank:rank++};
+ choices[5]={name:'Caramel milk',icon:[5,8],rank:rank++};
+ choices[6]={name:'Banana milk',icon:[6,8],rank:rank++};
+ choices[7]={name:'Lime milk',icon:[7,8],rank:rank++};
+ choices[8]={name:'Blueberry milk',icon:[8,8],rank:rank++};
+ choices[9]={name:'Strawberry milk',icon:[9,8],rank:rank++};
+ choices[10]={name:'Vanilla milk',icon:[10,8],rank:rank++};
+
+ choices[19]={name:'Honey milk',icon:[21,23],rank:rank++};
+ choices[20]={name:'Coffee milk',icon:[22,23],rank:rank++};
+ choices[21]={name:'Tea milk',icon:[23,23],rank:rank++};
+ choices[22]={name:'Coconut milk',icon:[24,23],rank:rank++};
+ choices[23]={name:'Cherry milk',icon:[25,23],rank:rank++};
+
+ choices[25]={name:'Spiced milk',icon:[26,23],rank:rank++};
+ choices[26]={name:'Maple milk',icon:[28,23],rank:rank++};
+ choices[27]={name:'Mint milk',icon:[29,23],rank:rank++};
+ choices[28]={name:'Licorice milk',icon:[30,23],rank:rank++};
if (Game.Has('Fanciful dairy selection'))
{
- choices[11]={name:'Zebra milk',icon:[10,7]};
- choices[12]={name:'Cosmic milk',icon:[9,7]};
- choices[13]={name:'Flaming milk',icon:[8,7]};
- choices[14]={name:'Sanguine milk',icon:[7,7]};
- choices[15]={name:'Midas milk',icon:[6,7]};
- choices[16]={name:'Midnight milk',icon:[5,7]};
- choices[17]={name:'Green inferno milk',icon:[4,7]};
- choices[18]={name:'Frostfire milk',icon:[3,7]};
+ choices[11]={name:'Zebra milk',icon:[10,7],order:10,div:true};
+ choices[12]={name:'Cosmic milk',icon:[9,7],order:10};
+ choices[13]={name:'Flaming milk',icon:[8,7],order:10};
+ choices[14]={name:'Sanguine milk',icon:[7,7],order:10};
+ choices[15]={name:'Midas milk',icon:[6,7],order:10};
+ choices[16]={name:'Midnight milk',icon:[5,7],order:10};
+ choices[17]={name:'Green inferno milk',icon:[4,7],order:10};
+ choices[18]={name:'Frostfire milk',icon:[3,7],order:10};
- choices[24]={name:'Soy milk',icon:[27,23]};
+ choices[24]={name:'Soy milk',icon:[27,23],order:10};
}
- choices[19]={name:'Honey milk',icon:[21,23]};
- choices[20]={name:'Coffee milk',icon:[22,23]};
- choices[21]={name:'Tea milk',icon:[23,23]};
- choices[22]={name:'Coconut milk',icon:[24,23]};
- choices[23]={name:'Cherry milk',icon:[25,23]};
-
- choices[25]={name:'Spiced milk',icon:[26,23]};
- choices[26]={name:'Maple milk',icon:[28,23]};
- choices[27]={name:'Mint milk',icon:[29,23]};
+ var maxRank=Math.floor(Game.AchievementsOwned/25);
+ for (var i in choices)
+ {
+ if (choices[i].rank && choices[i].rank>maxRank) choices[i]=0;
+ }
choices[Game.milkType].selected=1;
return choices;
@@ -9078,6 +9212,7 @@ Game.Launch=function()
25:{pic:'milkSpiced'},
26:{pic:'milkMaple'},
27:{pic:'milkMint'},
+ 28:{pic:'milkLicorice'},
};
@@ -9462,7 +9597,7 @@ Game.Launch=function()
order=200;new Game.TieredUpgrade('Good manners','Grandmas are twice as efficient.Apparently these ladies are much more amiable if you take the time to learn their strange, ancient customs, which seem to involve saying "please" and "thank you" and staring at the sun with bulging eyes while muttering eldritch curses under your breath.','Grandma',11);
- order=300;new Game.TieredUpgrade('Lindworms','Farms are twice as efficient.You have to import these from far up north, but they really help areate the soil!','Farm',11);
+ order=300;new Game.TieredUpgrade('Lindworms','Farms are twice as efficient.You have to import these from far up north, but they really help aerate the soil!','Farm',11);
order=400;new Game.TieredUpgrade('Bore again','Mines are twice as efficient.After extracting so much sediment for so long, you\'ve formed some veritable mountains of your own from the accumulated piles of rock and dirt. Time to dig through those and see if you find anything fun!','Mine',11);
order=500;new Game.TieredUpgrade('"Volunteer" interns','Factories are twice as efficient.If you\'re bad at something, always do it for free.','Factory',11);
order=525;new Game.TieredUpgrade('Rules of acquisition','Banks are twice as efficient.Rule 387 : a cookie baked is a cookie kept.','Bank',11);
@@ -9593,7 +9728,7 @@ Game.Launch=function()
if (!Game.Has('Shimmering veil [off]') && Game.Has('Shimmering veil [on]')) return false;
if (Game.Has('Reinforced membrane'))
{
- if (context=='shimmer') Math.seedrandom(Game.seed+'/'+Game.goldenClicks);
+ if (context=='shimmer') Math.seedrandom(Game.seed+'/'+(Game.goldenClicks+Game.reindeerClicked));
else if (context=='click') Math.seedrandom(Game.seed+'/'+Game.cookieClicks);
if (Math.random()<0.1)
{
@@ -9748,6 +9883,65 @@ Game.Launch=function()
new Game.Upgrade('Fortune cookies','The news ticker may occasionally have fortunes, which may be clicked for something good.These don\'t taste all that great but that\'s not really the point, is it?',77777777777,[29,8]);Game.last.pool='prestige';Game.last.parents=['Distilled essence of redoubled luck'];
+ order=40000;
+ new Game.Upgrade('A really good guide book','?????????',7,[22,12]);//debug purposes only
+ //new Game.Upgrade('A really good guide book','All dungeon locations behave as if unlocked. You may shift-click a dungeon location to teleport there.It even tells you which hotels to avoid!',7,[22,12]);//debug purposes only
+ Game.last.buyFunction=function(){if (Game.Objects['Factory'].minigameLoaded){Game.Objects['Factory'].minigame.computeMapBounds();Game.Objects['Factory'].minigame.updateLocStyles();}}
+ Game.last.pool='debug';
+
+ order=10300;
+ Game.NewUpgradeCookie({name:'Prism heart biscuits',desc:'An every-flavor biscuit that stands for universal love and being true to yourself.',require:'Eternal heart biscuits',season:'valentines',icon:[30,8], power:heartPower,price: 1000000000000000000000000});Game.last.order=10300.175;
+
+ order=19100;
+ new Game.Upgrade('Kitten wages','Through clever accounting, this actually makes kitten upgrades 10% cheaper.Cats can have little a salary. Cats are expert hagglers and have a keen sense of bargaining, especially in the case of cash.',9000000000,[31,8]);Game.last.pool='prestige';Game.last.parents=['Kitten angels'];Game.last.kitten=1;
+ new Game.Upgrade('Pet the dragon','Unlocks the ability to pet your dragon by clicking on it once hatched.Dragons do not purr. If your dragon starts purring, vacate the area immediately.',99999999999,[30,12]);Game.last.pool='prestige';Game.last.parents=['How to bake your dragon','Residual luck'];
+
+ order=25100;
+ var dragonDropUpgradeCost=function(me){return Game.unbuffedCps*60*30*((Game.dragonLevel+3%. Cost scales with CpS, but 10 times cheaper with a fully-trained dragon.Your dragon sheds these regularly, so this one probably won\'t be missed. Note: icon not to scale.',999,[30,14]);Game.last.priceFunc=dragonDropUpgradeCost;
+ new Game.Upgrade('Dragon claw','Clicks are +3% more powerful. Cost scales with CpS, but 10 times cheaper with a fully-trained dragon.Will grow back in a few days\' time. A six-inch retractable claw, like a razor, from the middle toe. So you know, try to show a little respect.',999,[31,14]);Game.last.priceFunc=dragonDropUpgradeCost;
+ new Game.Upgrade('Dragon fang','+3% golden cookie gains. Dragon harvest and Dragonflight are 10% stronger. Cost scales with CpS, but 10 times cheaper with a fully-trained dragon.Just a fallen baby tooth your dragon wanted you to have, as a gift. It might be smaller than an adult tooth, but it\'s still frighteningly sharp - and displays some awe-inspiring cavities, which you might expect from a creature made out of sweets.',999,[30,15]);Game.last.priceFunc=dragonDropUpgradeCost;
+ new Game.Upgrade('Dragon teddy bear','+3% random drops. Cost scales with CpS, but 10 times cheaper with a fully-trained dragon.Your dragon used to sleep with this. Now it\'s time for you to have it. Crafted in the likelihood of a fearsome beast. Stuffed with magical herbs picked long ago by a wandering wizard. Woven from elven yarn and a polyester blend.',999,[31,15]);Game.last.priceFunc=dragonDropUpgradeCost;
+
+ order=10020;
+ Game.NewUpgradeCookie({name:'Granola cookies',desc:'Wait! These are just oatmeal cookies mixed with raisin cookies! What next, half-dark chocolate half-white chocolate cookies?',icon:[28,32],power: 5,price: getCookiePrice(28)});
+ Game.NewUpgradeCookie({name:'Ricotta cookies',desc:'Light and cake-like. Often flavored with lemon or almond extract. Sprinkles optional. Allegedly Italian. Investigation pending.',icon:[29,32],power: 5,price: getCookiePrice(29)});
+ Game.NewUpgradeCookie({name:'Roze koeken',desc:'The icing on these Dutch cookies is traditionally pink, but different colors may be used for special occasions - such as pink to celebrate Breast Cancer Awareness Month, or for International Flamingo Day, pink.',icon:[30,32],power: 5,price: getCookiePrice(30)});
+ Game.NewUpgradeCookie({name:'Peanut butter cup cookies',desc:'What more poignant example of modern societal struggles than the brazen reclaiming of a corporate product by integrating it in the vastly more authentic shell of a homemade undertaking? Anyway this is a peanut butter cup, baked into a cookie. It\'s pretty good!',icon:[31,32],power: 5,price: getCookiePrice(31)});
+ Game.NewUpgradeCookie({name:'Sesame cookies',desc:'Look at all the little seeds on these! It\'s like someone dropped them on the street or something! A very welcoming and educational street!',icon:[22,33],power: 5,price: getCookiePrice(32)});
+ Game.NewUpgradeCookie({name:'Taiyaki',desc:'A pastry fish filled with red bean paste, doomed to live an existence of constant and excruciating pain as its aquatic environment slowly dissolves its soft doughy body. Also comes in chocolate flavor!',icon:[23,33],power: 5,price: getCookiePrice(33)});
+ Game.NewUpgradeCookie({name:'Vanillekipferl',desc:'Nut-based cookies from Central Europe, coated in powdered vanilla sugar. Regular kipferl, crescent-shaped bread rolls from the same region, are much less exciting.',icon:[24,33],power: 5,price: getCookiePrice(34)});
+
+ order=10300;
+ Game.NewUpgradeCookie({name:'Cosmic chocolate butter biscuit',desc:'Rewarded for owning 550 of everything. Through some strange trick of magic or technology, looking at this cookie is like peering into a deep ocean of ancient stars. The origins of this biscuit are unknown; its manufacture, as far as your best investigators can tell, left no paper trail. From a certain angle, if you squint hard enough, you\'ll notice that a number of stars near the center are arranged to resemble the outline of your own face.',icon:[27,32],power: 10,price: 999999999999999999999999999999999999999999999999,locked:1});
+
+ order=100;new Game.Upgrade('Nonillion fingers','The mouse and cursors gain +50000000 cookies for each non-cursor object owned.Only for the freakiest handshakes.',10000000000000000000000000,[12,31]);Game.MakeTiered(Game.last,13,0);
+ order=150;new Game.Upgrade('Miraculite mouse','Clicking gains +1% of your CpS.Composed of a material that neither science nor philosophy are equipped to conceptualize. And boy, does it ever click.',50000000000000000000000000000,[11,31]);Game.MakeTiered(Game.last,13,11);
+ order=200;new Game.TieredUpgrade('Generation degeneration','Grandmas are twice as efficient.Genetic testing shows that most of your grandmas are infected with a strange degenerative disease that only seems to further their powers; the more time passes, the older they get. This should concern you.','Grandma',12);
+ order=300;new Game.TieredUpgrade('Global seed vault','Farms are twice as efficient.An enormous genetic repository that could outlive an apocalypse. Guarantees the survival of your empire, or at the very least its agricultural components, should civilization fall. Which should be any day now.','Farm',12);
+ order=400;new Game.TieredUpgrade('Air mining','Mines are twice as efficient.You\'ve dug your drills through just about every solid surface you could find. But did you know recent advances have revealed untold riches hiding within non-solid surfaces too?','Mine',12);
+ order=500;new Game.TieredUpgrade('Behavioral reframing','Factories are twice as efficient.Through careful social engineering you\'ve convinced your workers that "union" is a slur that only the most vile and repugnant filth among us would ever dare utter! Sometimes progress isn\'t in the big machines, it\'s in the little lies!','Factory',12);
+ order=525;new Game.TieredUpgrade('Altruistic loop','Banks are twice as efficient.You control so many branches of the global economy and legislative bodies that, through a particularly creative loophole, donating money (to yourself) grants you even more cash in tax deductions than you started with!','Bank',12);
+ order=550;new Game.TieredUpgrade('A novel idea','Temples are twice as efficient.You don\'t get rich starting a religion. If you want to get rich, you write science fiction.','Temple',12);
+ order=575;new Game.TieredUpgrade('Spelling bees','Wizard towers are twice as efficient.You\'ve unleashed a swarm of magically-enhanced bees upon mankind! Their stinging spells may be the bane of all living things but you\'re certain you can put their delicious, purple, fizzy honey to good use!','Wizard tower',12);
+ order=600;new Game.TieredUpgrade('Toroid universe','Shipments are twice as efficient.If you think of the universe as an nth-dimensional torus that wraps back on itself in every direction, you can save a fortune on rocket fuel! Of course the universe isn\'t actually shaped like that, but you\'ve never let details stand in your way.','Shipment',12);
+ order=700;new Game.TieredUpgrade('Hermetic reconciliation','Alchemy labs are twice as efficient.It\'s time for modern science and the mystical domains of the occult to work together at last. What do gravitons transmute into? What if alkahest is pH-neutral? Should a homunculus have the right to vote? And other exciting questions coming to you soon, whether you like it or not.','Alchemy lab',12);
+ order=800;new Game.TieredUpgrade('His advent','Portals are twice as efficient."He comes! He comes at last! Just like the prophecies foretold! And as He steps out of the portal, your engineers begin slicing Him into convenient chunks before transporting His writhing cosmic flesh to your factories, where He will be processed and converted into a new and exciting cookie flavor, available tomorrow.','Portal',12);
+ order=900;new Game.TieredUpgrade('Split seconds','Time machines are twice as efficient.Time is infinite, yes... But what if, nestled within each second, were even more infinities? Every moment an eternity! Think of how many scheduling troubles this solves!','Time machine',12);
+ order=1000;new Game.TieredUpgrade('Flavor itself','Antimatter condensers are twice as efficient.Deep under the earth, in the most sterile laboratory, in the most vast and expensive particle accelerator ever devised, your scientists have synthesized -for a fraction of a second- the physical manifestation of pure flavor. Highly unstable, and gone in a puff of radioactive energy, it nonetheless left your team shivering with awe... and hunger.','Antimatter condenser',12);
+ order=1100;new Game.TieredUpgrade('Light speed limit','Prisms are twice as efficient.Whoah, slow down. Harvesting light is well and good but it\'d be much easier if it weren\'t so dang fast! This should thankfully take care of that.','Prism',12);
+ order=1200;new Game.TieredUpgrade('A touch of determinism','Chancemakers are twice as efficient.By knowing the exact position and movement of every particle in the universe, you\'re able to predict everything that can ever happen, leaving nothing to chance. This was a doozy to pull off mind you, but it\'s helped you win 50 bucks at the horse races so you could say it\'s already paying off.','Chancemaker',12);
+ order=1300;new Game.TieredUpgrade('This upgrade','Fractal engines are twice as efficient.This upgrade\'s flavor text likes to refer to itself, as well as to the fact that it likes to refer to itself. You should really buy this upgrade before it starts doing anything more obnoxious.','Fractal engine',12);
+ order=1400;new Game.TieredUpgrade('Your biggest fans','Javascript consoles are twice as efficient.Let\'s face it, baking cookies isn\'t the most optimized thing there is. So you\'ve purchased your biggest fans yet and stuck them next to your computers to keep things chill and in working order. Cool!','Javascript console',12);
+
+
+ order=10020;
+ Game.NewUpgradeCookie({name:'Battenberg biscuits',desc:'Inspired by a cake of the same name, itself named after a prince of the same name. You suppose you could play a really, really short game of chess on these.',icon:[28,33],power: 5,price: getCookiePrice(35)});
+ Game.NewUpgradeCookie({name:'Rosette cookies',desc:'Intricate fried pastries from Northern Europe, made using specialized irons and dipped in icing sugar. While usually eaten as a delicious treat, these are often also used as Christmas tree decorations, or worn elegantly on one\'s lapel to symbolize the nah I\'m just messing with you.',icon:[26,33],power: 5,price: getCookiePrice(36)});
+ Game.NewUpgradeCookie({name:'Gangmakers',desc:'The little bit of raspberry jam at its center is crucial; a plain butter cookie with chocolate topping does not a gangmaker make.',icon:[27,33],power: 5,price: getCookiePrice(37)});
+ Game.NewUpgradeCookie({name:'Welsh cookies',desc:'Welsh cookies, also known as Welsh cakes, bakestones, griddle cakes, griddle scones, or pics, or in Welsh: picau ar y maen, pice bach, cacennau cri or teisennau gradell, are rich currant-filled scone-like biscuits of uncertain origin.',icon:[29,33],power: 5,price: getCookiePrice(38)});
+ Game.NewUpgradeCookie({name:'Raspberry cheesecake cookies',desc:'The humble raspberry cheesecake, now in ascended cookie form. Researchers posit that raspberry cheesecake cookies are evidence that the final form of every baked good, through convergent evolution, approaches that of a cookie, in a process known as cookienisation.',icon:[25,33],power: 5,price: getCookiePrice(39)});
+
//end of upgrades
Game.seasons={
@@ -9894,11 +10088,12 @@ Game.Launch=function()
if (me.order>=200 && me.order<2000 && !me.tier && me.name.indexOf('grandma')==-1 && me.pool!='prestige') console.log(me.name+' has no tier.');
}
- Game.UpgradesByPool=[];
+ Game.UpgradesByPool={'kitten':[]};
for (var i in Game.Upgrades)
{
if (!Game.UpgradesByPool[Game.Upgrades[i].pool]) Game.UpgradesByPool[Game.Upgrades[i].pool]=[];
Game.UpgradesByPool[Game.Upgrades[i].pool].push(Game.Upgrades[i]);
+ if (Game.Upgrades[i].kitten) Game.UpgradesByPool['kitten'].push(Game.Upgrades[i]);
}
Game.PrestigeUpgrades=[];
@@ -9930,7 +10125,7 @@ Game.Launch=function()
/*var oldPrestigePrices={"Chimera":5764801,"Synergies Vol. I":2525,"Synergies Vol. II":252525,"Label printer":9999};
for (var i in oldPrestigePrices){Game.Upgrades[i].basePrice=oldPrestigePrices[i];}*/
- Game.UpgradePositions={141:[176,-66],181:[-555,-93],253:[-272,-231],254:[-99,-294],255:[-193,-279],264:[48,123],265:[133,154],266:[223,166],267:[305,137],268:[382,85],269:[-640,42],270:[-614,-268],271:[-728,-120],272:[-688,-205],273:[-711,-31],274:[270,-328],275:[317,-439],276:[333,-556],277:[334,-676],278:[333,-796],279:[328,-922],280:[303,-1040],281:[194,-230],282:[-265,212],283:[-321,297],284:[-322,406],285:[-243,501],286:[-403,501],287:[-314,606],288:[-312,-374],289:[-375,-502],290:[-206,-476],291:[453,-745],292:[-375,-651],293:[-399,-794],323:[-86,120],325:[192,-1127],326:[-328,-158],327:[-192,290],328:[-3,237],329:[92,376],353:[121,-326],354:[77,-436],355:[64,-548],356:[57,-673],357:[52,-793],358:[58,-924],359:[82,-1043],360:[-188,408],362:[158,289],363:[-30,-30],364:[-232,-730],365:[-77,349],368:[-82,-532],393:[196,-714],394:[197,-964],395:[-143,-140],396:[-264,-889],397:[-69,563],408:[-204,-1036],409:[-72,-1152],410:[-70,-1328],411:[-388,137],412:[-470,253],413:[-482,389],449:[-367,-1113],450:[-334,-1214],451:[-278,-1303],495:[-402,-966],496:[200,49],505:[-545,-570],520:[-279,-8],537:[-907,-131],539:[-508,-1270],540:[-629,-1291],541:[-594,-1186],542:[-548,-1374],561:[300,-17],562:[52,646],591:[154,744],592:[180,608],643:[-121,710],};
+ Game.UpgradePositions={141:[176,-66],181:[-555,-93],253:[-272,-231],254:[-99,-294],255:[-193,-279],264:[48,123],265:[133,154],266:[223,166],267:[305,137],268:[382,85],269:[-640,42],270:[-614,-268],271:[-728,-120],272:[-688,-205],273:[-711,-31],274:[270,-328],275:[317,-439],276:[333,-556],277:[334,-676],278:[333,-796],279:[328,-922],280:[303,-1040],281:[194,-230],282:[-265,212],283:[-321,297],284:[-322,406],285:[-243,501],286:[-403,501],287:[-314,606],288:[-312,-374],289:[-375,-502],290:[-206,-476],291:[453,-745],292:[-375,-651],293:[-399,-794],323:[-78,109],325:[192,-1127],326:[-328,-158],327:[-192,290],328:[-3,237],329:[92,376],353:[121,-326],354:[77,-436],355:[64,-548],356:[57,-673],357:[52,-793],358:[58,-924],359:[82,-1043],360:[-188,408],362:[158,289],363:[-30,-30],364:[-232,-730],365:[-77,349],368:[-82,-532],393:[196,-714],394:[197,-964],395:[-143,-140],396:[-264,-889],397:[-69,563],408:[-204,-1036],409:[-72,-1152],410:[-70,-1328],411:[-388,137],412:[-470,253],413:[-482,389],449:[-367,-1113],450:[-334,-1214],451:[-278,-1303],495:[-402,-966],496:[200,49],505:[-545,-570],520:[-279,-8],537:[-907,-131],539:[-508,-1270],540:[-629,-1291],541:[-594,-1186],542:[-548,-1374],561:[300,-17],562:[52,646],591:[154,744],592:[180,608],643:[-121,710],646:[457,-906],647:[-122,205],};
for (var i in Game.UpgradePositions) {Game.UpgradesById[i].posX=Game.UpgradePositions[i][0];Game.UpgradesById[i].posY=Game.UpgradePositions[i][1];}
@@ -10038,29 +10233,29 @@ Game.Launch=function()
if (tier==2) {icon[1]=23;n+=7;}
else if (tier==3) {icon[1]=24;n+=14;}
var pow=Math.pow(10,n);
- var achiev=new Game.Achievement(name,'Make '+Beautify(pow)+' cookies just from '+building.plural+'.'+(q?''+q+'':''),icon);
+ var achiev=new Game.Achievement(name,'Make '+toFixed(pow)+' cookies just from '+building.plural+'.'+(q?''+q+'':''),icon);
building.productionAchievs.push({pow:pow,achiev:achiev});
return achiev;
}
Game.thresholdIcons=[0,1,2,3,4,5,6,7,8,9,10,11,18,19,20,21,22,23,24,25,26,27,28,29,21,22,23,24,25,26,27,28,29,21,22,23,24,25,26,27,28,29];
Game.BankAchievements=[];
- Game.BankAchievement=function(name)
+ Game.BankAchievement=function(name,q)
{
var threshold=Math.pow(10,Math.floor(Game.BankAchievements.length*1.5+2));
if (Game.BankAchievements.length==0) threshold=1;
- var achiev=new Game.Achievement(name,'Bake '+Beautify(threshold)+' cookie'+(threshold==1?'':'s')+' in one ascension.',[Game.thresholdIcons[Game.BankAchievements.length],(Game.BankAchievements.length>32?1:Game.BankAchievements.length>23?2:5)]);
+ var achiev=new Game.Achievement(name,'Bake '+toFixed(threshold)+' cookie'+(threshold==1?'':'s')+' in one ascension.'+(q?(''+q+''):''),[Game.thresholdIcons[Game.BankAchievements.length],(Game.BankAchievements.length>32?1:Game.BankAchievements.length>23?2:5)]);
achiev.threshold=threshold;
achiev.order=100+Game.BankAchievements.length*0.01;
Game.BankAchievements.push(achiev);
return achiev;
}
Game.CpsAchievements=[];
- Game.CpsAchievement=function(name)
+ Game.CpsAchievement=function(name,q)
{
var threshold=Math.pow(10,Math.floor(Game.CpsAchievements.length*1.2));
//if (Game.CpsAchievements.length==0) threshold=1;
- var achiev=new Game.Achievement(name,'Bake '+Beautify(threshold)+' cookie'+(threshold==1?'':'s')+' per second.',[Game.thresholdIcons[Game.CpsAchievements.length],(Game.CpsAchievements.length>32?1:Game.CpsAchievements.length>23?2:5)]);
+ var achiev=new Game.Achievement(name,'Bake '+toFixed(threshold)+' cookie'+(threshold==1?'':'s')+' per second.'+(q?(''+q+''):''),[Game.thresholdIcons[Game.CpsAchievements.length],(Game.CpsAchievements.length>32?1:Game.CpsAchievements.length>23?2:5)]);
achiev.threshold=threshold;
achiev.order=200+Game.CpsAchievements.length*0.01;
Game.CpsAchievements.push(achiev);
@@ -10127,7 +10322,7 @@ Game.Launch=function()
Game.TieredAchievement('Retirement home','Have 100 grandmas.','Grandma',3);
order=1200;
- Game.TieredAchievement('My first farm','Have 1 farm.','Farm',1);
+ Game.TieredAchievement('Bought the farm','Have 1 farm.','Farm',1);
Game.TieredAchievement('Reap what you sow','Have 50 farms.','Farm',2);
Game.TieredAchievement('Farm ill','Have 100 farms.','Farm',3);
@@ -10465,25 +10660,25 @@ Game.Launch=function()
Game.BankAchievement('How?');
Game.BankAchievement('The land of milk and cookies');
- Game.BankAchievement('He who controls the cookies controls the universe');Game.last.baseDesc+='The milk must flow!';Game.last.desc=BeautifyInText(Game.last.baseDesc);
+ Game.BankAchievement('He who controls the cookies controls the universe','The milk must flow!');
Game.BankAchievement('Tonight on Hoarders');
Game.BankAchievement('Are you gonna eat all that?');
Game.BankAchievement('We\'re gonna need a bigger bakery');
- Game.BankAchievement('In the mouth of madness');Game.last.baseDesc+='A cookie is just what we tell each other it is.';Game.last.desc=BeautifyInText(Game.last.baseDesc);
+ Game.BankAchievement('In the mouth of madness','A cookie is just what we tell each other it is.');
Game.BankAchievement('Brought to you by the letter ');
Game.CpsAchievement('A world filled with cookies');
Game.CpsAchievement('When this baby hits '+Beautify(10000000000000*60*60)+' cookies per hour');
Game.CpsAchievement('Fast and delicious');
- Game.CpsAchievement('Cookiehertz : a really, really tasty hertz');Game.last.baseDesc+='Tastier than a hertz donut, anyway.';Game.last.desc=BeautifyInText(Game.last.baseDesc);
+ Game.CpsAchievement('Cookiehertz : a really, really tasty hertz','Tastier than a hertz donut, anyway.');
Game.CpsAchievement('Woops, you solved world hunger');
- Game.CpsAchievement('Turbopuns');Game.last.baseDesc+='Mother Nature will be like "slowwwww dowwwwwn".';Game.last.desc=BeautifyInText(Game.last.baseDesc);
+ Game.CpsAchievement('Turbopuns','Mother Nature will be like "slowwwww dowwwwwn".');
Game.CpsAchievement('Faster menner');
Game.CpsAchievement('And yet you\'re still hungry');
Game.CpsAchievement('The Abakening');
Game.CpsAchievement('There\'s really no hard limit to how long these achievement names can be and to be quite honest I\'m rather curious to see how far we can go. Adolphus W. Green (1844–1917) started as the Principal of the Groton School in 1864. By 1865, he became second assistant librarian at the New York Mercantile Library; from 1867 to 1869, he was promoted to full librarian. From 1869 to 1873, he worked for Evarts, Southmayd & Choate, a law firm co-founded by William M. Evarts, Charles Ferdinand Southmayd and Joseph Hodges Choate. He was admitted to the New York State Bar Association in 1873. Anyway, how\'s your day been?');//Game.last.shortName='There\'s really no hard limit to how long these achievement names can be and to be quite honest I\'m [...]';
- Game.CpsAchievement('Fast');Game.last.baseDesc+='Wow!';Game.last.desc=BeautifyInText(Game.last.baseDesc);
+ Game.CpsAchievement('Fast','Wow!');
order=7002;
new Game.Achievement('Bicentennial and a half','Have at least 250 of everything.Keep on truckin\'.',[9,6]);
@@ -10542,10 +10737,10 @@ Game.Launch=function()
order=7002;
new Game.Achievement('Tricentennial','Have at least 300 of everything.Can\'t stop, won\'t stop. Probably should stop, though.',[29,12]);
- Game.CpsAchievement('Knead for speed');Game.last.baseDesc+='How did we not make that one yet?';Game.last.desc=BeautifyInText(Game.last.baseDesc);
- Game.CpsAchievement('Well the cookies start coming and they don\'t stop coming');Game.last.baseDesc+='Didn\'t make sense not to click for fun.';Game.last.desc=BeautifyInText(Game.last.baseDesc);
+ Game.CpsAchievement('Knead for speed','How did we not make that one yet?');
+ Game.CpsAchievement('Well the cookies start coming and they don\'t stop coming','Didn\'t make sense not to click for fun.');
Game.CpsAchievement('I don\'t know if you\'ve noticed but all these icons are very slightly off-center');
- Game.CpsAchievement('The proof of the cookie is in the baking');Game.last.baseDesc+='How can you have any cookies if you don\'t bake your dough?';Game.last.desc=BeautifyInText(Game.last.baseDesc);
+ Game.CpsAchievement('The proof of the cookie is in the baking','How can you have any cookies if you don\'t bake your dough?');
Game.CpsAchievement('If it\'s worth doing, it\'s worth overdoing');
Game.BankAchievement('The dreams in which I\'m baking are the best I\'ve ever had');
@@ -10733,7 +10928,6 @@ Game.Launch=function()
new Game.Achievement('Quincentennial','Have at least 500 of everything.Some people would say you\'re halfway there. We do not care for those people and their reckless sense of unchecked optimism.',[29,25]);
-
order=21100;
new Game.Achievement('Maillard reaction','Harvest a caramelized sugar lump.',[29,27]);
@@ -10826,6 +11020,54 @@ Game.Launch=function()
order=33000;
new Game.Achievement('O Fortuna','Own every fortune upgrade.Owning this achievement makes fortunes appear twice as often; unlocked fortune upgrades also have a 40% chance to carry over after ascending.',[29,8]);
+ order=61615;
+ new Game.Achievement('Initial public offering','Make your first stock market profit.',[0,33]);
+ new Game.Achievement('Rookie numbers','Own at least 100 of every stock market good.Gotta pump those numbers up!',[9,33]);
+ new Game.Achievement('No nobility in poverty','Own at least 500 of every stock market good.What kind of twisted individual is out there cramming camels through needle holes anyway?',[10,33]);
+ new Game.Achievement('Full warehouses','Own at least 1,000 of a stock market good.',[11,33]);
+ new Game.Achievement('Make my day','Make a day of CpS ($86,400) in 1 stock market sale.',[1,33]);
+ new Game.Achievement('Buy buy buy','Spend a day of CpS ($86,400) in 1 stock market purchase.',[1,33]);
+ new Game.Achievement('Liquid assets','Have your stock market profits surpass a whole year of CpS ($31,536,000).',[12,33]);
+ new Game.Achievement('Pyramid scheme','Unlock the highest-tier stock market headquarters.',[18,33]);
+
+ order=10000;
+ new Game.Achievement('Jellicles','Own 10 kitten upgrades.Jellicles can and jellicles do! Make sure to wash your jellicles every day!',[18,19]);
+
+ order=7002;
+ new Game.Achievement('Quincentennial and a half','Have at least 550 of everything.This won\'t fill the churning void inside, you know.',[29,26]);
+
+ Game.CpsAchievement('What did we even eat before these');
+ Game.CpsAchievement('Heavy flow');
+ Game.CpsAchievement('More you say?');
+ Game.BankAchievement('Large and in charge');
+ Game.BankAchievement('Absolutely stuffed');
+ Game.BankAchievement('It\'s only wafer-thin','Just the one!');
+
+ order=1000;new Game.Achievement('Clickety split','Make 1,000,000,000,000,000,000,000,000,000 cookies from clicking.',[11,31]);
+ order=1050;new Game.Achievement('Gotta hand it to you','Have 700 cursors.',[0,17]);
+ order=1100;Game.TieredAchievement('Okay boomer','Have 600 grandmas.','Grandma',13);
+ order=1200;Game.TieredAchievement('Overripe','Have 550 farms.','Farm',12);
+ order=1300;Game.TieredAchievement('Rock on','Have 550 mines.','Mine',12);
+ order=1400;Game.TieredAchievement('Self-manmade man','Have 550 factories.','Factory',12);
+ order=1425;Game.TieredAchievement('Checks out','Have 550 banks.','Bank',12);
+ order=1450;Game.TieredAchievement('Living on a prayer','Have 550 temples.','Temple',12);
+ order=1475;Game.TieredAchievement('Higitus figitus migitus mum','Have 550 wizard towers.','Wizard tower',12);
+ order=1500;Game.TieredAchievement('The incredible journey','Have 550 shipments.','Shipment',12);
+ order=1600;Game.TieredAchievement('Just a phase','Have 550 alchemy labs.','Alchemy lab',12);
+ order=1700;Game.TieredAchievement('Don\'t let me leave, Murph','Have 550 portals.','Portal',12);
+ order=1800;Game.TieredAchievement('Caveman to cosmos','Have 550 time machines.','Time machine',12);
+ order=1900;Game.TieredAchievement('Particular tastes','Have 550 antimatter condensers.','Antimatter condenser',12);
+ order=2000;Game.TieredAchievement('A light snack','Have 550 prisms.','Prism',12);
+ order=2100;Game.TieredAchievement('Tempting fate','Have 550 chancemakers.','Chancemaker',12);
+ order=2200;Game.TieredAchievement('Tautological','Have 550 fractal engines.','Fractal engine',12);
+ order=2300;Game.TieredAchievement('Curly braces','Have 550 javascript consoles.Or as the French call them, mustache boxes. Go well with quotes.','Javascript console',12);
+
+ order=10000;
+ new Game.Achievement('Seven horseshoes','Click 27777 golden cookies.Enough for one of those funky horses that graze near your factories.',[21,33]);Game.last.pool='shadow';
+
+ order=11000;
+ new Game.Achievement('Olden days','Find the forgotten madeleine.DashNet Farms remembers.',[12,3]);
+
//end of achievements
/*=====================================================================================
@@ -10986,6 +11228,7 @@ Game.Launch=function()
});
new Game.buffType('dragon harvest',function(time,pow)
{
+ if (Game.Has('Dragon fang')) pow=Math.ceil(pow*1.1);
return {
name:'Dragon Harvest',
desc:'Cookie production x'+pow+' for '+Game.sayTime(time*Game.fps,-1)+'!',
@@ -11035,6 +11278,7 @@ Game.Launch=function()
});
new Game.buffType('dragonflight',function(time,pow)
{
+ if (Game.Has('Dragon fang')) pow=Math.ceil(pow*1.1);
return {
name:'Dragonflight',
desc:'Clicking power x'+pow+' for '+Game.sayTime(time*Game.fps,-1)+'!',
@@ -11183,6 +11427,81 @@ Game.Launch=function()
aura:0
};
});
+ new Game.buffType('loan 1',function(time,pow)
+ {
+ return {
+ name:'Loan 1',
+ desc:'Cookie production x'+pow+' for '+Game.sayTime(time*Game.fps,-1)+'.',
+ icon:[1,33],
+ time:time*Game.fps,
+ power:pow,
+ multCpS:pow,
+ max:true,
+ onDie:function(){if (Game.takeLoan) {Game.takeLoan(1,true);}},
+ };
+ });
+ new Game.buffType('loan 1 interest',function(time,pow)
+ {
+ return {
+ name:'Loan 1 (interest)',
+ desc:'Cookie production x'+pow+' for '+Game.sayTime(time*Game.fps,-1)+'.',
+ icon:[1,33],
+ time:time*Game.fps,
+ power:pow,
+ multCpS:pow,
+ max:true
+ };
+ });
+ new Game.buffType('loan 2',function(time,pow)
+ {
+ return {
+ name:'Loan 2',
+ desc:'Cookie production x'+pow+' for '+Game.sayTime(time*Game.fps,-1)+'.',
+ icon:[1,33],
+ time:time*Game.fps,
+ power:pow,
+ multCpS:pow,
+ max:true,
+ onDie:function(){if (Game.takeLoan) {Game.takeLoan(2,true);}},
+ };
+ });
+ new Game.buffType('loan 2 interest',function(time,pow)
+ {
+ return {
+ name:'Loan 2 (interest)',
+ desc:'Cookie production x'+pow+' for '+Game.sayTime(time*Game.fps,-1)+'.',
+ icon:[1,33],
+ time:time*Game.fps,
+ power:pow,
+ multCpS:pow,
+ max:true
+ };
+ });
+ new Game.buffType('loan 3',function(time,pow)
+ {
+ return {
+ name:'Loan 3',
+ desc:'Cookie production x'+pow+' for '+Game.sayTime(time*Game.fps,-1)+'.',
+ icon:[1,33],
+ time:time*Game.fps,
+ power:pow,
+ multCpS:pow,
+ max:true,
+ onDie:function(){if (Game.takeLoan) {Game.takeLoan(3,true);}},
+ };
+ });
+ new Game.buffType('loan 3 interest',function(time,pow)
+ {
+ return {
+ name:'Loan 3 (interest)',
+ desc:'Cookie production x'+pow+' for '+Game.sayTime(time*Game.fps,-1)+'.',
+ icon:[1,33],
+ time:time*Game.fps,
+ power:pow,
+ multCpS:pow,
+ max:true
+ };
+ });
//end of buffs
@@ -11657,7 +11976,7 @@ Game.Launch=function()
var len=Game.specialTabs.length;
if (len==0) return;
var y=Game.LeftBackground.canvas.height-24-48*len;
- for (var i in Game.specialTabs)
+ for (var i=0;i=4 && Game.Has('Pet the dragon') && l('specialPic'))
+ {
+ triggerAnim(l('specialPic'),'pucker');
+ PlaySound('snd/click'+Math.floor(Math.random()*7+1)+'.mp3',0.5);
+ if (Date.now()-Game.lastClickedSpecialPic>2000) PlaySound('snd/growl.mp3');
+ //else if (Math.random()<0.5) PlaySound('snd/growl.mp3',0.5+Math.random()*0.2);
+ Game.lastClickedSpecialPic=Date.now();
+ if (Game.prefs.particles)
+ {
+ Game.particleAdd(Game.mouseX,Game.mouseY-32,Math.random()*4-2,Math.random()*-2-4,Math.random()*0.2+0.5,1,2,[20,3]);
+ }
+ if (Game.dragonLevel>=8 && Math.random()<1/20)
+ {
+ Math.seedrandom(Game.seed+'/dragonTime');
+ var drops=['Dragon scale','Dragon claw','Dragon fang','Dragon teddy bear'];
+ drops=shuffle(drops);
+ var drop=drops[Math.floor((new Date().getMinutes()/60)*drops.length)];
+ if (!Game.Has(drop) && !Game.HasUnlocked(drop))
+ {
+ Game.Unlock(drop);
+ if (Game.prefs.popups) Game.Popup('You find : '+drop+'!');
+ else Game.Notify(drop,'Your dragon dropped something!',Game.Upgrades[drop].icon);
+ }
+ Math.seedrandom();
+ }
+ }
+ }
+
Game.ToggleSpecialMenu=function(on)
{
if (on)
@@ -11930,14 +12279,14 @@ Game.Launch=function()
else if (Game.specialTab=='dragon') {pic='dragon.png?v='+Game.version;frame=Game.dragonLevels[Game.dragonLevel].pic;}
else {pic='dragon.png?v='+Game.version;frame=4;}
- var str='';
+ var str='';
str+='
x
';
if (Game.specialTab=='santa')
{
var moni=Math.pow(Game.santaLevel+1,Game.santaLevel+1);
- str+='
'+Game.santaLevels[Game.santaLevel]+'
';
+ str+='
'+Game.santaLevels[Game.santaLevel]+'
';
if (Game.santaLevel<14)
{
str+=''+
@@ -11952,7 +12301,7 @@ Game.Launch=function()
{
var level=Game.dragonLevels[Game.dragonLevel];
- str+='
'+level.name+'
';
+ str+='
'+level.name+'
';
if (Game.dragonLevel>=5)
{
@@ -12076,6 +12425,7 @@ Game.Launch=function()
{name:'Rank XVI - Spiced milk',pic:'milkSpiced',icon:[26,23]},
{name:'Rank XVII - Maple milk',pic:'milkMaple',icon:[28,23]},
{name:'Rank XVIII - Mint milk',pic:'milkMint',icon:[29,23]},
+ {name:'Rank XIX - Licorice milk',pic:'milkLicorice',icon:[30,23]},
];
Game.Milk=Game.Milks[0];
@@ -12214,50 +12564,59 @@ Game.Launch=function()
if (Game.drawT%5==0)
{
- Game.defaultBg='bgBlue';
- Game.bgR=0;
-
- if (Game.season=='fools') Game.defaultBg='bgMoney';
- if (Game.elderWrathD<1)
- {
- Game.bgR=0;
- Game.bg=Game.defaultBg;
- Game.bgFade=Game.defaultBg;
- }
- else if (Game.elderWrathD>=1 && Game.elderWrathD<2)
- {
- Game.bgR=(Game.elderWrathD-1)/1;
- Game.bg=Game.defaultBg;
- Game.bgFade='grandmas1';
- }
- else if (Game.elderWrathD>=2 && Game.elderWrathD<3)
+ if (false && Game.bgType!=0 && Game.ascensionMode!=1)
{
- Game.bgR=(Game.elderWrathD-2)/1;
- Game.bg='grandmas1';
- Game.bgFade='grandmas2';
+ //l('backgroundCanvas').style.background='url(img/shadedBordersSoft.png) 0px 0px,url(img/bgWheat.jpg) 50% 50%';
+ //l('backgroundCanvas').style.backgroundSize='100% 100%,cover';
}
- else if (Game.elderWrathD>=3)// && Game.elderWrathD<4)
- {
- Game.bgR=(Game.elderWrathD-3)/1;
- Game.bg='grandmas2';
- Game.bgFade='grandmas3';
- }
-
- if (Game.bgType!=0 && Game.ascensionMode!=1)
+ else
{
+ l('backgroundCanvas').style.background='transparent';
+ Game.defaultBg='bgBlue';
Game.bgR=0;
- Game.bg=Game.BGsByChoice[Game.bgType].pic;
- Game.bgFade=Game.bg;
- }
-
- Game.Background.fillPattern(Pic(Game.bg+'.jpg'),0,0,Game.Background.canvas.width,Game.Background.canvas.height,512,512,0,0);
- if (Game.bgR>0)
- {
- Game.Background.globalAlpha=Game.bgR;
- Game.Background.fillPattern(Pic(Game.bgFade+'.jpg'),0,0,Game.Background.canvas.width,Game.Background.canvas.height,512,512,0,0);
+
+ if (Game.season=='fools') Game.defaultBg='bgMoney';
+ if (Game.elderWrathD<1)
+ {
+ Game.bgR=0;
+ Game.bg=Game.defaultBg;
+ Game.bgFade=Game.defaultBg;
+ }
+ else if (Game.elderWrathD>=1 && Game.elderWrathD<2)
+ {
+ Game.bgR=(Game.elderWrathD-1)/1;
+ Game.bg=Game.defaultBg;
+ Game.bgFade='grandmas1';
+ }
+ else if (Game.elderWrathD>=2 && Game.elderWrathD<3)
+ {
+ Game.bgR=(Game.elderWrathD-2)/1;
+ Game.bg='grandmas1';
+ Game.bgFade='grandmas2';
+ }
+ else if (Game.elderWrathD>=3)// && Game.elderWrathD<4)
+ {
+ Game.bgR=(Game.elderWrathD-3)/1;
+ Game.bg='grandmas2';
+ Game.bgFade='grandmas3';
+ }
+
+ if (Game.bgType!=0 && Game.ascensionMode!=1)
+ {
+ Game.bgR=0;
+ Game.bg=Game.BGsByChoice[Game.bgType].pic;
+ Game.bgFade=Game.bg;
+ }
+
+ Game.Background.fillPattern(Pic(Game.bg+'.jpg'),0,0,Game.Background.canvas.width,Game.Background.canvas.height,512,512,0,0);
+ if (Game.bgR>0)
+ {
+ Game.Background.globalAlpha=Game.bgR;
+ Game.Background.fillPattern(Pic(Game.bgFade+'.jpg'),0,0,Game.Background.canvas.width,Game.Background.canvas.height,512,512,0,0);
+ }
+ Game.Background.globalAlpha=1;
+ Game.Background.drawImage(Pic('shadedBordersSoft.png'),0,0,Game.Background.canvas.width,Game.Background.canvas.height);
}
- Game.Background.globalAlpha=1;
- Game.Background.drawImage(Pic('shadedBordersSoft.png'),0,0,Game.Background.canvas.width,Game.Background.canvas.height);
}
Timer.track('window background');
@@ -12825,6 +13184,8 @@ Game.Launch=function()
for (var i in Game.Objects)
{
var me=Game.Objects[i];
+ me.level=9;
+ me.levelUp();
if (me.minigame && me.minigame.onRuinTheFun) me.minigame.onRuinTheFun();
}
if (!silent)
@@ -13284,6 +13645,7 @@ Game.Launch=function()
if (minAmount>=400) {Game.Win('Quadricentennial');Game.Unlock('Royal raspberry chocolate butter biscuit');}
if (minAmount>=450) {Game.Win('Quadricentennial and a half');Game.Unlock('Ultra-concentrated high-energy chocolate butter biscuit');}
if (minAmount>=500) {Game.Win('Quincentennial');Game.Unlock('Pure pitch-black chocolate butter biscuit');}
+ if (minAmount>=550) {Game.Win('Quincentennial and a half');Game.Unlock('Cosmic chocolate butter biscuit');}
if (Game.handmadeCookies>=1000) {Game.Win('Clicktastic');Game.Unlock('Plastic mouse');}
if (Game.handmadeCookies>=100000) {Game.Win('Clickathlon');Game.Unlock('Iron mouse');}
@@ -13297,6 +13659,7 @@ Game.Launch=function()
if (Game.handmadeCookies>=1000000000000000000000) {Game.Win('The ultimate clickdown');Game.Unlock('Armythril mouse');}
if (Game.handmadeCookies>=100000000000000000000000) {Game.Win('All the other kids with the pumped up clicks');Game.Unlock('Technobsidian mouse');}
if (Game.handmadeCookies>=10000000000000000000000000) {Game.Win('One...more...click...');Game.Unlock('Plasmarble mouse');}
+ if (Game.handmadeCookies>=1000000000000000000000000000) {Game.Win('Clickety split');Game.Unlock('Miraculite mouse');}
if (Game.cookiesEarned=3000 && Game.UpgradesOwned>=300) Game.Win('Polymath');
if (buildingsOwned>=4000 && Game.UpgradesOwned>=400) Game.Win('Renaissance baker');
+ if (!Game.HasAchiev('Jellicles'))
+ {
+ var kittens=0;
+ for (var i=0;i=10) Game.Win('Jellicles');
+ }
+
if (Game.cookiesEarned>=10000000000000 && !Game.HasAchiev('You win a cookie')) {Game.Win('You win a cookie');Game.Earn(1);}
if (Game.shimmerTypes['golden'].n>=4) Game.Win('Four-leaf cookie');
@@ -13407,14 +13780,7 @@ Game.Launch=function()
if (ascendNowToGet>0)//show number saying how many chips you'd get resetting now
{
- var str=ascendNowToGet.toString();
- var str2='';
- for (var i in str)//add commas
- {
- if ((str.length-i)%3==0 && i>0) str2+=',';
- str2+=str[i];
- }
- Game.ascendNumber.innerHTML='+'+str2;
+ Game.ascendNumber.innerHTML='+'+SimpleBeautify(ascendNowToGet);
Game.ascendNumber.style.display='block';
}
else
@@ -13433,7 +13799,8 @@ Game.Launch=function()
//if (Game.ascendMeterPercentT=1) {Game.ascendMeter.className='';} else Game.ascendMeter.className='filling';
}
- Game.ascendMeter.style.right=Math.floor(Math.max(0,1-Game.ascendMeterPercent)*100)+'px';
+ //Game.ascendMeter.style.right=Math.floor(Math.max(0,1-Game.ascendMeterPercent)*100)+'px';
+ Game.ascendMeter.style.transform='translate('+Math.floor(-Math.max(0,1-Game.ascendMeterPercent)*100)+'px,0px)';
Game.ascendMeterPercent+=(Game.ascendMeterPercentT-Game.ascendMeterPercent)*0.1;
Game.NotesLogic();
@@ -13517,7 +13884,7 @@ Game.Launch=function()
for (var i in Game.Objects)
{
var me=Game.Objects[i];
- if (me.onMinigame && me.minigame.draw && !me.muted) me.minigame.draw();
+ if (me.onMinigame && me.minigame.draw && !me.muted && !Game.onMenu) me.minigame.draw();
}
Timer.track('draw minigames');
--
cgit v1.2.3