Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
93f87913b4 | ||
|
|
ddf70d1aaa | ||
|
|
1091d6b666 |
210
CookieMonster.js
210
CookieMonster.js
@@ -83,6 +83,50 @@ CM.Cache.RemakeLucky = function() {
|
||||
CM.Cache.LuckyRewardFrenzy = (CM.Cache.LuckyFrenzy * 0.1) + 13;
|
||||
}
|
||||
|
||||
CM.Cache.MaxChainMoni = function(digit, maxPayout) {
|
||||
var chain = 1 + Math.max(0, Math.ceil(Math.log(Game.cookies) / Math.LN10) - 10);
|
||||
var moni = Math.max(digit, Math.min(Math.floor(1 / 9 * Math.pow(10, chain) * digit), maxPayout));
|
||||
var nextMoni = Math.max(digit, Math.min(Math.floor(1 / 9 * Math.pow(10, chain + 1) * digit), maxPayout));
|
||||
while (nextMoni < maxPayout) {
|
||||
chain++;
|
||||
moni = Math.max(digit, Math.min(Math.floor(1 / 9 * Math.pow(10, chain) * digit), maxPayout));
|
||||
nextMoni = Math.max(digit, Math.min(Math.floor(1 / 9 * Math.pow(10, chain + 1) * digit), maxPayout));
|
||||
}
|
||||
return moni;
|
||||
}
|
||||
|
||||
CM.Cache.RemakeChain = function() {
|
||||
var maxPayout = Game.cookiesPs * 60 * 60 * 3;
|
||||
if (Game.frenzy > 0) {
|
||||
maxPayout /= Game.frenzyPower;
|
||||
}
|
||||
|
||||
CM.Cache.ChainReward = CM.Cache.MaxChainMoni(7, maxPayout);
|
||||
|
||||
CM.Cache.ChainWrathReward = CM.Cache.MaxChainMoni(6, maxPayout);
|
||||
|
||||
var base = 0;
|
||||
if (CM.Cache.ChainReward > CM.Cache.ChainWrathReward) {
|
||||
base = CM.Cache.ChainReward;
|
||||
}
|
||||
else {
|
||||
base = CM.Cache.ChainWrathReward;
|
||||
}
|
||||
var count = 1;
|
||||
while (base == base + count) {
|
||||
count++;
|
||||
}
|
||||
CM.Cache.Chain = (base + count) / 0.25;
|
||||
|
||||
CM.Cache.ChainFrenzyReward = CM.Cache.MaxChainMoni(7, maxPayout * 7);
|
||||
|
||||
count = 1;
|
||||
while(CM.Cache.ChainFrenzyReward == CM.Cache.ChainFrenzyReward + count) {
|
||||
count++;
|
||||
}
|
||||
CM.Cache.ChainFrenzy = (CM.Cache.ChainFrenzyReward + count) / 0.25;
|
||||
}
|
||||
|
||||
CM.Cache.RemakeSeaSpec = function() {
|
||||
if (Game.season == 'christmas') {
|
||||
CM.Cache.SeaSpec = Math.max(25, Game.cookiesPs * 60 * 1);
|
||||
@@ -95,7 +139,11 @@ CM.Cache.LuckyReward = 0;
|
||||
CM.Cache.LuckyFrenzy = 0;
|
||||
CM.Cache.LuckyRewardFrenzy = 0;
|
||||
CM.Cache.SeaSpec = 0;
|
||||
|
||||
CM.Cache.Chain = 0;
|
||||
CM.Cache.ChainReward = 0;
|
||||
CM.Cache.ChainWrathReward = 0;
|
||||
CM.Cache.ChainFrenzy = 0;
|
||||
CM.Cache.ChainFrenzyReward = 0;
|
||||
/**********
|
||||
* Config *
|
||||
**********/
|
||||
@@ -942,36 +990,59 @@ CM.Disp.AddMenu = function() {
|
||||
var luckyTimeFrenzy = (Game.cookies < CM.Cache.LuckyFrenzy) ? CM.Disp.FormatTime((CM.Cache.LuckyFrenzy - Game.cookies) / (Game.cookiesPs * (1 - Game.cpsSucked))) : '';
|
||||
var luckyCur = Math.min(Game.cookies * 0.1, Game.cookiesPs * 60 * 20) + 13;
|
||||
|
||||
var chainColor = (Game.cookies < CM.Cache.Chain) ? CM.Disp.colorRed : CM.Disp.colorGreen;
|
||||
var chainTime = (Game.cookies < CM.Cache.Chain) ? CM.Disp.FormatTime((CM.Cache.Chain - Game.cookies) / (Game.cookiesPs * (1 - Game.cpsSucked))) : '';
|
||||
var chainColorFrenzy = (Game.cookies < CM.Cache.ChainFrenzy) ? CM.Disp.colorRed : CM.Disp.colorGreen;
|
||||
var chainTimeFrenzy = (Game.cookies < CM.Cache.ChainFrenzy) ? CM.Disp.FormatTime((CM.Cache.ChainFrenzy - Game.cookies) / (Game.cookiesPs * (1 - Game.cpsSucked))) : '';
|
||||
var chainCurMax = Math.min(Game.cookiesPs * 60 * 60 * 3, Game.cookies * 0.25);
|
||||
var chainCur = CM.Cache.MaxChainMoni(7, chainCurMax);
|
||||
var chainCurWrath = CM.Cache.MaxChainMoni(6, chainCurMax);
|
||||
|
||||
var possibleHC = Game.HowMuchPrestige(Game.cookiesEarned + Game.cookiesReset);
|
||||
var neededCook = CM.Sim.CookNeedPrest(possibleHC + 1) - (Game.cookiesEarned + Game.cookiesReset);
|
||||
|
||||
var halloCook = 0;
|
||||
var specDisp = false;
|
||||
var halloCook = [];
|
||||
for (var i in CM.Data.HalloCookies) {
|
||||
if (Game.Has(CM.Data.HalloCookies[i])) halloCook++;
|
||||
if (!Game.Has(CM.Data.HalloCookies[i])) {
|
||||
halloCook.push(CM.Data.HalloCookies[i]);
|
||||
specDisp = true;
|
||||
}
|
||||
var christCook = 0;
|
||||
}
|
||||
var christCook = [];
|
||||
for (var i in CM.Data.ChristCookies) {
|
||||
if (Game.Has(CM.Data.ChristCookies[i])) christCook++;
|
||||
if (!Game.Has(CM.Data.ChristCookies[i])) {
|
||||
christCook.push(CM.Data.ChristCookies[i]);
|
||||
specDisp = true;
|
||||
}
|
||||
var valCook = 0;
|
||||
}
|
||||
var valCook = [];
|
||||
for (var i in CM.Data.ValCookies) {
|
||||
if (Game.Has(CM.Data.ValCookies[i])) valCook++;
|
||||
else break;
|
||||
if (!Game.Has(CM.Data.ValCookies[i])) {
|
||||
valCook.push(CM.Data.ValCookies[i]);
|
||||
specDisp = true;
|
||||
}
|
||||
var normEggs = 0;
|
||||
}
|
||||
var normEggs = [];
|
||||
for (var i in Game.eggDrops) {
|
||||
if (Game.HasUnlocked(Game.eggDrops[i])) normEggs++;
|
||||
if (!Game.HasUnlocked(Game.eggDrops[i])) {
|
||||
normEggs.push(Game.eggDrops[i]);
|
||||
specDisp = true;
|
||||
}
|
||||
var rareEggs = 0;
|
||||
}
|
||||
var rareEggs = [];
|
||||
for (var i in Game.rareEggDrops) {
|
||||
if (Game.HasUnlocked(Game.rareEggDrops[i])) rareEggs++;
|
||||
if (!Game.HasUnlocked(Game.rareEggDrops[i])) {
|
||||
rareEggs.push(Game.rareEggDrops[i]);
|
||||
specDisp = true;
|
||||
}
|
||||
}
|
||||
|
||||
var listing = function(name, text) {
|
||||
var div = document.createElement('div');
|
||||
div.className = 'listing';
|
||||
var b = document.createElement('b');
|
||||
b.textContent = name;
|
||||
b.textContent = name + ' : ';
|
||||
div.appendChild(b);
|
||||
div.appendChild(text);
|
||||
return div;
|
||||
@@ -989,7 +1060,7 @@ CM.Disp.AddMenu = function() {
|
||||
luckyReqSmall.textContent = ' (' + luckyTime + ')';
|
||||
luckyReqFrag.appendChild(luckyReqSmall);
|
||||
}
|
||||
stats.appendChild(listing('\"Lucky!\" Cookies Required : ', luckyReqFrag));
|
||||
stats.appendChild(listing('\"Lucky!\" Cookies Required', luckyReqFrag));
|
||||
var luckyReqFrenFrag = document.createDocumentFragment();
|
||||
var luckyReqFrenSpan = document.createElement('span');
|
||||
luckyReqFrenSpan.style.fontWeight = 'bold';
|
||||
@@ -1001,26 +1072,56 @@ CM.Disp.AddMenu = function() {
|
||||
luckyReqFrenSmall.textContent = ' (' + luckyTimeFrenzy + ')';
|
||||
luckyReqFrenFrag.appendChild(luckyReqFrenSmall);
|
||||
}
|
||||
stats.appendChild(listing('\"Lucky!\" Cookies Required (Frenzy) : ', luckyReqFrenFrag));
|
||||
stats.appendChild(listing('\"Lucky!\" Reward (MAX) : ', document.createTextNode(Beautify(CM.Cache.LuckyReward))));
|
||||
stats.appendChild(listing('\"Lucky!\" Reward (MAX) (Frenzy) : ', document.createTextNode(Beautify(CM.Cache.LuckyRewardFrenzy))));
|
||||
stats.appendChild(listing('\"Lucky!\" Reward (CUR) : ', document.createTextNode(Beautify(luckyCur))));
|
||||
stats.appendChild(listing('\"Lucky!\" Cookies Required (Frenzy)', luckyReqFrenFrag));
|
||||
stats.appendChild(listing('\"Lucky!\" Reward (MAX)', document.createTextNode(Beautify(CM.Cache.LuckyReward))));
|
||||
stats.appendChild(listing('\"Lucky!\" Reward (MAX) (Frenzy)', document.createTextNode(Beautify(CM.Cache.LuckyRewardFrenzy))));
|
||||
stats.appendChild(listing('\"Lucky!\" Reward (CUR)', document.createTextNode(Beautify(luckyCur))));
|
||||
stats.appendChild(header('Chain Cookies'));
|
||||
var chainReqFrag = document.createDocumentFragment();
|
||||
var chainReqSpan = document.createElement('span');
|
||||
chainReqSpan.style.fontWeight = 'bold';
|
||||
chainReqSpan.style.color = chainColor;
|
||||
chainReqSpan.textContent = Beautify(CM.Cache.Chain);
|
||||
chainReqFrag.appendChild(chainReqSpan);
|
||||
if (chainTime != '') {
|
||||
var chainReqSmall = document.createElement('small');
|
||||
chainReqSmall.textContent = ' (' + chainTime + ')';
|
||||
chainReqFrag.appendChild(chainReqSmall);
|
||||
}
|
||||
stats.appendChild(listing('\"Chain\" Cookies Required', chainReqFrag));
|
||||
var chainReqFrenFrag = document.createDocumentFragment();
|
||||
var chainReqFrenSpan = document.createElement('span');
|
||||
chainReqFrenSpan.style.fontWeight = 'bold';
|
||||
chainReqFrenSpan.style.color = chainColorFrenzy;
|
||||
chainReqFrenSpan.textContent = Beautify(CM.Cache.ChainFrenzy);
|
||||
chainReqFrenFrag.appendChild(chainReqFrenSpan);
|
||||
if (chainTimeFrenzy != '') {
|
||||
var chainReqFrenSmall = document.createElement('small');
|
||||
chainReqFrenSmall.textContent = ' (' + chainTimeFrenzy + ')';
|
||||
chainReqFrenFrag.appendChild(chainReqFrenSmall);
|
||||
}
|
||||
stats.appendChild(listing('\"Chain\" Cookies Required (Frenzy)', chainReqFrenFrag));
|
||||
stats.appendChild(listing('\"Chain\" Reward (MAX)', document.createTextNode(Beautify(CM.Cache.ChainReward))));
|
||||
stats.appendChild(listing('\"Chain\" Reward (MAX) (Wrath)', document.createTextNode(Beautify(CM.Cache.ChainWrathReward))));
|
||||
stats.appendChild(listing('\"Chain\" Reward (MAX) (Frenzy)', document.createTextNode(Beautify(CM.Cache.ChainFrenzyReward))));
|
||||
stats.appendChild(listing('\"Chain\" Reward (CUR)', document.createTextNode(Beautify(chainCur))));
|
||||
stats.appendChild(listing('\"Chain\" Reward (CUR) (Wrath)', document.createTextNode(Beautify(chainCurWrath))));
|
||||
stats.appendChild(header('Heavenly Chips'));
|
||||
var hcMaxFrag = document.createDocumentFragment();
|
||||
hcMaxFrag.appendChild(document.createTextNode(Beautify(possibleHC)));
|
||||
var hcMaxSmall = document.createElement('small');
|
||||
hcMaxSmall.textContent = ' (' + Beautify((possibleHC * 2)) + '%)';
|
||||
hcMaxFrag.appendChild(hcMaxSmall);
|
||||
stats.appendChild(listing('Heavenly Chips (MAX) : ', hcMaxFrag));
|
||||
stats.appendChild(listing('Heavenly Chips (MAX)', hcMaxFrag));
|
||||
var hcCurFrag = document.createDocumentFragment();
|
||||
hcCurFrag.appendChild(document.createTextNode(Beautify(Game.prestige['Heavenly chips'])));
|
||||
var hcCurSmall = document.createElement('small');
|
||||
hcCurSmall.textContent = ' (' + Beautify((Game.prestige['Heavenly chips'] * 2)) + '%)';
|
||||
hcCurFrag.appendChild(hcCurSmall);
|
||||
stats.appendChild(listing('Heavenly Chips (CUR) : ', hcCurFrag));
|
||||
stats.appendChild(listing('Cookies To Next Chip : ', document.createTextNode(Beautify(neededCook))));
|
||||
stats.appendChild(listing('Time To Next Chip : ', document.createTextNode(CM.Disp.FormatTime(neededCook / (Game.cookiesPs * (1 - Game.cpsSucked)), 1))));
|
||||
stats.appendChild(listing('Reset Bonus Income : ', document.createTextNode(Beautify(CM.Sim.ResetBonus()))));
|
||||
stats.appendChild(listing('Heavenly Chips (CUR)', hcCurFrag));
|
||||
stats.appendChild(listing('Cookies To Next Chip', document.createTextNode(Beautify(neededCook))));
|
||||
stats.appendChild(listing('Time To Next Chip', document.createTextNode(CM.Disp.FormatTime(neededCook / (Game.cookiesPs * (1 - Game.cpsSucked)), 1))));
|
||||
stats.appendChild(listing('Reset Bonus Income', document.createTextNode(Beautify(CM.Sim.ResetBonus()))));
|
||||
if (Game.cpsSucked > 0) {
|
||||
stats.appendChild(header('Wrinklers'));
|
||||
var sucked = 0;
|
||||
@@ -1029,16 +1130,57 @@ CM.Disp.AddMenu = function() {
|
||||
}
|
||||
sucked *= 1.1;
|
||||
if (Game.Has('Wrinklerspawn')) sucked *= 1.05;
|
||||
stats.appendChild(listing('Rewards of Popping : ', document.createTextNode(Beautify(sucked))));
|
||||
stats.appendChild(listing('Rewards of Popping', document.createTextNode(Beautify(sucked))));
|
||||
}
|
||||
if (Game.season == 'christmas' || specDisp) {
|
||||
stats.appendChild(header('Season Specials'));
|
||||
stats.appendChild(listing('Halloween Cookies Bought : ', document.createTextNode(halloCook + ' of ' + CM.Data.HalloCookies.length)));
|
||||
stats.appendChild(listing('Christmas Cookies Bought : ', document.createTextNode(christCook + ' of ' + CM.Data.ChristCookies.length)));
|
||||
stats.appendChild(listing('Valentine Cookies Bought : ', document.createTextNode(valCook + ' of ' + CM.Data.ValCookies.length)));
|
||||
stats.appendChild(listing('Normal Easter Eggs Unlocked : ', document.createTextNode(normEggs + ' of ' + Game.eggDrops.length)));
|
||||
stats.appendChild(listing('Rare Easter Eggs Unlocked : ', document.createTextNode(rareEggs + ' of ' + Game.rareEggDrops.length)));
|
||||
if (Game.season == 'christmas') {
|
||||
stats.appendChild(listing('Reindeer Reward : ', document.createTextNode(Beautify(CM.Cache.SeaSpec))));
|
||||
|
||||
if (specDisp) {
|
||||
var createSpecDisp = function(theSpecDisp) {
|
||||
var frag = document.createDocumentFragment();
|
||||
frag.appendChild(document.createTextNode(theSpecDisp.length + ' '));
|
||||
span = document.createElement('span');
|
||||
span.onmouseout = function() { Game.tooltip.hide(); };
|
||||
var placeholder = document.createElement('div');
|
||||
var missing = document.createElement('div');
|
||||
missing.style.minWidth = '140px';
|
||||
missing.style.marginBottom = '4px';
|
||||
var title = document.createElement('div');
|
||||
title.className = 'name';
|
||||
title.style.marginBottom = '4px';
|
||||
title.style.textAlign = 'center';
|
||||
title.textContent = 'Missing';
|
||||
missing.appendChild(title);
|
||||
for (var i in theSpecDisp) {
|
||||
var div = document.createElement('div');
|
||||
div.style.textAlign = 'center';
|
||||
div.appendChild(document.createTextNode(theSpecDisp[i]));
|
||||
missing.appendChild(div);
|
||||
}
|
||||
placeholder.appendChild(missing);
|
||||
span.onmouseover = function() {Game.tooltip.draw(this, escape(placeholder.innerHTML));};
|
||||
span.style.cursor = 'default';
|
||||
span.style.display = 'inline-block';
|
||||
span.style.height = '10px';
|
||||
span.style.width = '10px';
|
||||
span.style.borderRadius = '5px';
|
||||
span.style.textAlign = 'center';
|
||||
span.style.backgroundColor = '#C0C0C0';
|
||||
span.style.color = 'black';
|
||||
span.style.fontSize = '9px';
|
||||
span.style.verticalAlign = 'bottom';
|
||||
span.textContent = '?';
|
||||
frag.appendChild(span);
|
||||
return frag;
|
||||
}
|
||||
if (halloCook.length != 0) stats.appendChild(listing('Halloween Cookies Left to Buy', createSpecDisp(halloCook)));
|
||||
if (christCook.length != 0) stats.appendChild(listing('Christmas Cookies Left to Buy', createSpecDisp(christCook)));
|
||||
if (valCook.length != 0) stats.appendChild(listing('Valentine Cookies Left to Buy', createSpecDisp(valCook)));
|
||||
if (normEggs.length != 0) stats.appendChild(listing('Normal Easter Eggs Left to Unlock', createSpecDisp(normEggs)));
|
||||
if (rareEggs.length != 0) stats.appendChild(listing('Rare Easter Eggs Left to Unlock', createSpecDisp(rareEggs)));
|
||||
}
|
||||
|
||||
if (Game.season == 'christmas') stats.appendChild(listing('Reindeer Reward', document.createTextNode(Beautify(CM.Cache.SeaSpec))));
|
||||
}
|
||||
|
||||
l('menu').insertBefore(stats, l('menu').childNodes[2]);
|
||||
@@ -1381,6 +1523,7 @@ CM.Loop = function() {
|
||||
CM.Cache.RemakeIncome();
|
||||
CM.Cache.RemakeBCI();
|
||||
CM.Cache.RemakeLucky();
|
||||
CM.Cache.RemakeChain();
|
||||
CM.Cache.RemakeSeaSpec();
|
||||
|
||||
CM.Disp.UpdateBotBarOther();
|
||||
@@ -1435,7 +1578,7 @@ CM.ConfigDefault = {BotBar: 1, TimerBar: 1, BuildColor: 1, UpBarColor: 1, Flash:
|
||||
CM.ConfigPrefix = 'CMConfig';
|
||||
|
||||
CM.VersionMajor = '1.0465';
|
||||
CM.VersionMinor = '5';
|
||||
CM.VersionMinor = '6';
|
||||
|
||||
/*******
|
||||
* Sim *
|
||||
@@ -1571,8 +1714,7 @@ CM.Sim.CalculateGains = function() {
|
||||
|
||||
if (CM.Sim.Has('Elder Covenant')) mult *= 0.95;
|
||||
|
||||
CM.Sim.globalCpsMult = mult;
|
||||
CM.Sim.cookiesPs *= CM.Sim.globalCpsMult;
|
||||
CM.Sim.cookiesPs *= mult;
|
||||
};
|
||||
|
||||
CM.Sim.CheckOtherAchiev = function() {
|
||||
|
||||
50
src/Cache.js
50
src/Cache.js
@@ -63,6 +63,50 @@ CM.Cache.RemakeLucky = function() {
|
||||
CM.Cache.LuckyRewardFrenzy = (CM.Cache.LuckyFrenzy * 0.1) + 13;
|
||||
}
|
||||
|
||||
CM.Cache.MaxChainMoni = function(digit, maxPayout) {
|
||||
var chain = 1 + Math.max(0, Math.ceil(Math.log(Game.cookies) / Math.LN10) - 10);
|
||||
var moni = Math.max(digit, Math.min(Math.floor(1 / 9 * Math.pow(10, chain) * digit), maxPayout));
|
||||
var nextMoni = Math.max(digit, Math.min(Math.floor(1 / 9 * Math.pow(10, chain + 1) * digit), maxPayout));
|
||||
while (nextMoni < maxPayout) {
|
||||
chain++;
|
||||
moni = Math.max(digit, Math.min(Math.floor(1 / 9 * Math.pow(10, chain) * digit), maxPayout));
|
||||
nextMoni = Math.max(digit, Math.min(Math.floor(1 / 9 * Math.pow(10, chain + 1) * digit), maxPayout));
|
||||
}
|
||||
return moni;
|
||||
}
|
||||
|
||||
CM.Cache.RemakeChain = function() {
|
||||
var maxPayout = Game.cookiesPs * 60 * 60 * 3;
|
||||
if (Game.frenzy > 0) {
|
||||
maxPayout /= Game.frenzyPower;
|
||||
}
|
||||
|
||||
CM.Cache.ChainReward = CM.Cache.MaxChainMoni(7, maxPayout);
|
||||
|
||||
CM.Cache.ChainWrathReward = CM.Cache.MaxChainMoni(6, maxPayout);
|
||||
|
||||
var base = 0;
|
||||
if (CM.Cache.ChainReward > CM.Cache.ChainWrathReward) {
|
||||
base = CM.Cache.ChainReward;
|
||||
}
|
||||
else {
|
||||
base = CM.Cache.ChainWrathReward;
|
||||
}
|
||||
var count = 1;
|
||||
while (base == base + count) {
|
||||
count++;
|
||||
}
|
||||
CM.Cache.Chain = (base + count) / 0.25;
|
||||
|
||||
CM.Cache.ChainFrenzyReward = CM.Cache.MaxChainMoni(7, maxPayout * 7);
|
||||
|
||||
count = 1;
|
||||
while(CM.Cache.ChainFrenzyReward == CM.Cache.ChainFrenzyReward + count) {
|
||||
count++;
|
||||
}
|
||||
CM.Cache.ChainFrenzy = (CM.Cache.ChainFrenzyReward + count) / 0.25;
|
||||
}
|
||||
|
||||
CM.Cache.RemakeSeaSpec = function() {
|
||||
if (Game.season == 'christmas') {
|
||||
CM.Cache.SeaSpec = Math.max(25, Game.cookiesPs * 60 * 1);
|
||||
@@ -75,4 +119,8 @@ CM.Cache.LuckyReward = 0;
|
||||
CM.Cache.LuckyFrenzy = 0;
|
||||
CM.Cache.LuckyRewardFrenzy = 0;
|
||||
CM.Cache.SeaSpec = 0;
|
||||
|
||||
CM.Cache.Chain = 0;
|
||||
CM.Cache.ChainReward = 0;
|
||||
CM.Cache.ChainWrathReward = 0;
|
||||
CM.Cache.ChainFrenzy = 0;
|
||||
CM.Cache.ChainFrenzyReward = 0;
|
||||
|
||||
154
src/Disp.js
154
src/Disp.js
@@ -752,36 +752,59 @@ CM.Disp.AddMenu = function() {
|
||||
var luckyTimeFrenzy = (Game.cookies < CM.Cache.LuckyFrenzy) ? CM.Disp.FormatTime((CM.Cache.LuckyFrenzy - Game.cookies) / (Game.cookiesPs * (1 - Game.cpsSucked))) : '';
|
||||
var luckyCur = Math.min(Game.cookies * 0.1, Game.cookiesPs * 60 * 20) + 13;
|
||||
|
||||
var chainColor = (Game.cookies < CM.Cache.Chain) ? CM.Disp.colorRed : CM.Disp.colorGreen;
|
||||
var chainTime = (Game.cookies < CM.Cache.Chain) ? CM.Disp.FormatTime((CM.Cache.Chain - Game.cookies) / (Game.cookiesPs * (1 - Game.cpsSucked))) : '';
|
||||
var chainColorFrenzy = (Game.cookies < CM.Cache.ChainFrenzy) ? CM.Disp.colorRed : CM.Disp.colorGreen;
|
||||
var chainTimeFrenzy = (Game.cookies < CM.Cache.ChainFrenzy) ? CM.Disp.FormatTime((CM.Cache.ChainFrenzy - Game.cookies) / (Game.cookiesPs * (1 - Game.cpsSucked))) : '';
|
||||
var chainCurMax = Math.min(Game.cookiesPs * 60 * 60 * 3, Game.cookies * 0.25);
|
||||
var chainCur = CM.Cache.MaxChainMoni(7, chainCurMax);
|
||||
var chainCurWrath = CM.Cache.MaxChainMoni(6, chainCurMax);
|
||||
|
||||
var possibleHC = Game.HowMuchPrestige(Game.cookiesEarned + Game.cookiesReset);
|
||||
var neededCook = CM.Sim.CookNeedPrest(possibleHC + 1) - (Game.cookiesEarned + Game.cookiesReset);
|
||||
|
||||
var halloCook = 0;
|
||||
var specDisp = false;
|
||||
var halloCook = [];
|
||||
for (var i in CM.Data.HalloCookies) {
|
||||
if (Game.Has(CM.Data.HalloCookies[i])) halloCook++;
|
||||
if (!Game.Has(CM.Data.HalloCookies[i])) {
|
||||
halloCook.push(CM.Data.HalloCookies[i]);
|
||||
specDisp = true;
|
||||
}
|
||||
var christCook = 0;
|
||||
}
|
||||
var christCook = [];
|
||||
for (var i in CM.Data.ChristCookies) {
|
||||
if (Game.Has(CM.Data.ChristCookies[i])) christCook++;
|
||||
if (!Game.Has(CM.Data.ChristCookies[i])) {
|
||||
christCook.push(CM.Data.ChristCookies[i]);
|
||||
specDisp = true;
|
||||
}
|
||||
var valCook = 0;
|
||||
}
|
||||
var valCook = [];
|
||||
for (var i in CM.Data.ValCookies) {
|
||||
if (Game.Has(CM.Data.ValCookies[i])) valCook++;
|
||||
else break;
|
||||
if (!Game.Has(CM.Data.ValCookies[i])) {
|
||||
valCook.push(CM.Data.ValCookies[i]);
|
||||
specDisp = true;
|
||||
}
|
||||
var normEggs = 0;
|
||||
}
|
||||
var normEggs = [];
|
||||
for (var i in Game.eggDrops) {
|
||||
if (Game.HasUnlocked(Game.eggDrops[i])) normEggs++;
|
||||
if (!Game.HasUnlocked(Game.eggDrops[i])) {
|
||||
normEggs.push(Game.eggDrops[i]);
|
||||
specDisp = true;
|
||||
}
|
||||
var rareEggs = 0;
|
||||
}
|
||||
var rareEggs = [];
|
||||
for (var i in Game.rareEggDrops) {
|
||||
if (Game.HasUnlocked(Game.rareEggDrops[i])) rareEggs++;
|
||||
if (!Game.HasUnlocked(Game.rareEggDrops[i])) {
|
||||
rareEggs.push(Game.rareEggDrops[i]);
|
||||
specDisp = true;
|
||||
}
|
||||
}
|
||||
|
||||
var listing = function(name, text) {
|
||||
var div = document.createElement('div');
|
||||
div.className = 'listing';
|
||||
var b = document.createElement('b');
|
||||
b.textContent = name;
|
||||
b.textContent = name + ' : ';
|
||||
div.appendChild(b);
|
||||
div.appendChild(text);
|
||||
return div;
|
||||
@@ -799,7 +822,7 @@ CM.Disp.AddMenu = function() {
|
||||
luckyReqSmall.textContent = ' (' + luckyTime + ')';
|
||||
luckyReqFrag.appendChild(luckyReqSmall);
|
||||
}
|
||||
stats.appendChild(listing('\"Lucky!\" Cookies Required : ', luckyReqFrag));
|
||||
stats.appendChild(listing('\"Lucky!\" Cookies Required', luckyReqFrag));
|
||||
var luckyReqFrenFrag = document.createDocumentFragment();
|
||||
var luckyReqFrenSpan = document.createElement('span');
|
||||
luckyReqFrenSpan.style.fontWeight = 'bold';
|
||||
@@ -811,26 +834,56 @@ CM.Disp.AddMenu = function() {
|
||||
luckyReqFrenSmall.textContent = ' (' + luckyTimeFrenzy + ')';
|
||||
luckyReqFrenFrag.appendChild(luckyReqFrenSmall);
|
||||
}
|
||||
stats.appendChild(listing('\"Lucky!\" Cookies Required (Frenzy) : ', luckyReqFrenFrag));
|
||||
stats.appendChild(listing('\"Lucky!\" Reward (MAX) : ', document.createTextNode(Beautify(CM.Cache.LuckyReward))));
|
||||
stats.appendChild(listing('\"Lucky!\" Reward (MAX) (Frenzy) : ', document.createTextNode(Beautify(CM.Cache.LuckyRewardFrenzy))));
|
||||
stats.appendChild(listing('\"Lucky!\" Reward (CUR) : ', document.createTextNode(Beautify(luckyCur))));
|
||||
stats.appendChild(listing('\"Lucky!\" Cookies Required (Frenzy)', luckyReqFrenFrag));
|
||||
stats.appendChild(listing('\"Lucky!\" Reward (MAX)', document.createTextNode(Beautify(CM.Cache.LuckyReward))));
|
||||
stats.appendChild(listing('\"Lucky!\" Reward (MAX) (Frenzy)', document.createTextNode(Beautify(CM.Cache.LuckyRewardFrenzy))));
|
||||
stats.appendChild(listing('\"Lucky!\" Reward (CUR)', document.createTextNode(Beautify(luckyCur))));
|
||||
stats.appendChild(header('Chain Cookies'));
|
||||
var chainReqFrag = document.createDocumentFragment();
|
||||
var chainReqSpan = document.createElement('span');
|
||||
chainReqSpan.style.fontWeight = 'bold';
|
||||
chainReqSpan.style.color = chainColor;
|
||||
chainReqSpan.textContent = Beautify(CM.Cache.Chain);
|
||||
chainReqFrag.appendChild(chainReqSpan);
|
||||
if (chainTime != '') {
|
||||
var chainReqSmall = document.createElement('small');
|
||||
chainReqSmall.textContent = ' (' + chainTime + ')';
|
||||
chainReqFrag.appendChild(chainReqSmall);
|
||||
}
|
||||
stats.appendChild(listing('\"Chain\" Cookies Required', chainReqFrag));
|
||||
var chainReqFrenFrag = document.createDocumentFragment();
|
||||
var chainReqFrenSpan = document.createElement('span');
|
||||
chainReqFrenSpan.style.fontWeight = 'bold';
|
||||
chainReqFrenSpan.style.color = chainColorFrenzy;
|
||||
chainReqFrenSpan.textContent = Beautify(CM.Cache.ChainFrenzy);
|
||||
chainReqFrenFrag.appendChild(chainReqFrenSpan);
|
||||
if (chainTimeFrenzy != '') {
|
||||
var chainReqFrenSmall = document.createElement('small');
|
||||
chainReqFrenSmall.textContent = ' (' + chainTimeFrenzy + ')';
|
||||
chainReqFrenFrag.appendChild(chainReqFrenSmall);
|
||||
}
|
||||
stats.appendChild(listing('\"Chain\" Cookies Required (Frenzy)', chainReqFrenFrag));
|
||||
stats.appendChild(listing('\"Chain\" Reward (MAX)', document.createTextNode(Beautify(CM.Cache.ChainReward))));
|
||||
stats.appendChild(listing('\"Chain\" Reward (MAX) (Wrath)', document.createTextNode(Beautify(CM.Cache.ChainWrathReward))));
|
||||
stats.appendChild(listing('\"Chain\" Reward (MAX) (Frenzy)', document.createTextNode(Beautify(CM.Cache.ChainFrenzyReward))));
|
||||
stats.appendChild(listing('\"Chain\" Reward (CUR)', document.createTextNode(Beautify(chainCur))));
|
||||
stats.appendChild(listing('\"Chain\" Reward (CUR) (Wrath)', document.createTextNode(Beautify(chainCurWrath))));
|
||||
stats.appendChild(header('Heavenly Chips'));
|
||||
var hcMaxFrag = document.createDocumentFragment();
|
||||
hcMaxFrag.appendChild(document.createTextNode(Beautify(possibleHC)));
|
||||
var hcMaxSmall = document.createElement('small');
|
||||
hcMaxSmall.textContent = ' (' + Beautify((possibleHC * 2)) + '%)';
|
||||
hcMaxFrag.appendChild(hcMaxSmall);
|
||||
stats.appendChild(listing('Heavenly Chips (MAX) : ', hcMaxFrag));
|
||||
stats.appendChild(listing('Heavenly Chips (MAX)', hcMaxFrag));
|
||||
var hcCurFrag = document.createDocumentFragment();
|
||||
hcCurFrag.appendChild(document.createTextNode(Beautify(Game.prestige['Heavenly chips'])));
|
||||
var hcCurSmall = document.createElement('small');
|
||||
hcCurSmall.textContent = ' (' + Beautify((Game.prestige['Heavenly chips'] * 2)) + '%)';
|
||||
hcCurFrag.appendChild(hcCurSmall);
|
||||
stats.appendChild(listing('Heavenly Chips (CUR) : ', hcCurFrag));
|
||||
stats.appendChild(listing('Cookies To Next Chip : ', document.createTextNode(Beautify(neededCook))));
|
||||
stats.appendChild(listing('Time To Next Chip : ', document.createTextNode(CM.Disp.FormatTime(neededCook / (Game.cookiesPs * (1 - Game.cpsSucked)), 1))));
|
||||
stats.appendChild(listing('Reset Bonus Income : ', document.createTextNode(Beautify(CM.Sim.ResetBonus()))));
|
||||
stats.appendChild(listing('Heavenly Chips (CUR)', hcCurFrag));
|
||||
stats.appendChild(listing('Cookies To Next Chip', document.createTextNode(Beautify(neededCook))));
|
||||
stats.appendChild(listing('Time To Next Chip', document.createTextNode(CM.Disp.FormatTime(neededCook / (Game.cookiesPs * (1 - Game.cpsSucked)), 1))));
|
||||
stats.appendChild(listing('Reset Bonus Income', document.createTextNode(Beautify(CM.Sim.ResetBonus()))));
|
||||
if (Game.cpsSucked > 0) {
|
||||
stats.appendChild(header('Wrinklers'));
|
||||
var sucked = 0;
|
||||
@@ -839,16 +892,57 @@ CM.Disp.AddMenu = function() {
|
||||
}
|
||||
sucked *= 1.1;
|
||||
if (Game.Has('Wrinklerspawn')) sucked *= 1.05;
|
||||
stats.appendChild(listing('Rewards of Popping : ', document.createTextNode(Beautify(sucked))));
|
||||
stats.appendChild(listing('Rewards of Popping', document.createTextNode(Beautify(sucked))));
|
||||
}
|
||||
if (Game.season == 'christmas' || specDisp) {
|
||||
stats.appendChild(header('Season Specials'));
|
||||
stats.appendChild(listing('Halloween Cookies Bought : ', document.createTextNode(halloCook + ' of ' + CM.Data.HalloCookies.length)));
|
||||
stats.appendChild(listing('Christmas Cookies Bought : ', document.createTextNode(christCook + ' of ' + CM.Data.ChristCookies.length)));
|
||||
stats.appendChild(listing('Valentine Cookies Bought : ', document.createTextNode(valCook + ' of ' + CM.Data.ValCookies.length)));
|
||||
stats.appendChild(listing('Normal Easter Eggs Unlocked : ', document.createTextNode(normEggs + ' of ' + Game.eggDrops.length)));
|
||||
stats.appendChild(listing('Rare Easter Eggs Unlocked : ', document.createTextNode(rareEggs + ' of ' + Game.rareEggDrops.length)));
|
||||
if (Game.season == 'christmas') {
|
||||
stats.appendChild(listing('Reindeer Reward : ', document.createTextNode(Beautify(CM.Cache.SeaSpec))));
|
||||
|
||||
if (specDisp) {
|
||||
var createSpecDisp = function(theSpecDisp) {
|
||||
var frag = document.createDocumentFragment();
|
||||
frag.appendChild(document.createTextNode(theSpecDisp.length + ' '));
|
||||
span = document.createElement('span');
|
||||
span.onmouseout = function() { Game.tooltip.hide(); };
|
||||
var placeholder = document.createElement('div');
|
||||
var missing = document.createElement('div');
|
||||
missing.style.minWidth = '140px';
|
||||
missing.style.marginBottom = '4px';
|
||||
var title = document.createElement('div');
|
||||
title.className = 'name';
|
||||
title.style.marginBottom = '4px';
|
||||
title.style.textAlign = 'center';
|
||||
title.textContent = 'Missing';
|
||||
missing.appendChild(title);
|
||||
for (var i in theSpecDisp) {
|
||||
var div = document.createElement('div');
|
||||
div.style.textAlign = 'center';
|
||||
div.appendChild(document.createTextNode(theSpecDisp[i]));
|
||||
missing.appendChild(div);
|
||||
}
|
||||
placeholder.appendChild(missing);
|
||||
span.onmouseover = function() {Game.tooltip.draw(this, escape(placeholder.innerHTML));};
|
||||
span.style.cursor = 'default';
|
||||
span.style.display = 'inline-block';
|
||||
span.style.height = '10px';
|
||||
span.style.width = '10px';
|
||||
span.style.borderRadius = '5px';
|
||||
span.style.textAlign = 'center';
|
||||
span.style.backgroundColor = '#C0C0C0';
|
||||
span.style.color = 'black';
|
||||
span.style.fontSize = '9px';
|
||||
span.style.verticalAlign = 'bottom';
|
||||
span.textContent = '?';
|
||||
frag.appendChild(span);
|
||||
return frag;
|
||||
}
|
||||
if (halloCook.length != 0) stats.appendChild(listing('Halloween Cookies Left to Buy', createSpecDisp(halloCook)));
|
||||
if (christCook.length != 0) stats.appendChild(listing('Christmas Cookies Left to Buy', createSpecDisp(christCook)));
|
||||
if (valCook.length != 0) stats.appendChild(listing('Valentine Cookies Left to Buy', createSpecDisp(valCook)));
|
||||
if (normEggs.length != 0) stats.appendChild(listing('Normal Easter Eggs Left to Unlock', createSpecDisp(normEggs)));
|
||||
if (rareEggs.length != 0) stats.appendChild(listing('Rare Easter Eggs Left to Unlock', createSpecDisp(rareEggs)));
|
||||
}
|
||||
|
||||
if (Game.season == 'christmas') stats.appendChild(listing('Reindeer Reward', document.createTextNode(Beautify(CM.Cache.SeaSpec))));
|
||||
}
|
||||
|
||||
l('menu').insertBefore(stats, l('menu').childNodes[2]);
|
||||
|
||||
@@ -66,6 +66,7 @@ CM.Loop = function() {
|
||||
CM.Cache.RemakeIncome();
|
||||
CM.Cache.RemakeBCI();
|
||||
CM.Cache.RemakeLucky();
|
||||
CM.Cache.RemakeChain();
|
||||
CM.Cache.RemakeSeaSpec();
|
||||
|
||||
CM.Disp.UpdateBotBarOther();
|
||||
@@ -120,5 +121,5 @@ CM.ConfigDefault = {BotBar: 1, TimerBar: 1, BuildColor: 1, UpBarColor: 1, Flash:
|
||||
CM.ConfigPrefix = 'CMConfig';
|
||||
|
||||
CM.VersionMajor = '1.0465';
|
||||
CM.VersionMinor = '5';
|
||||
CM.VersionMinor = '6';
|
||||
|
||||
|
||||
@@ -132,8 +132,7 @@ CM.Sim.CalculateGains = function() {
|
||||
|
||||
if (CM.Sim.Has('Elder Covenant')) mult *= 0.95;
|
||||
|
||||
CM.Sim.globalCpsMult = mult;
|
||||
CM.Sim.cookiesPs *= CM.Sim.globalCpsMult;
|
||||
CM.Sim.cookiesPs *= mult;
|
||||
};
|
||||
|
||||
CM.Sim.CheckOtherAchiev = function() {
|
||||
|
||||
Reference in New Issue
Block a user