Fixed bug with Reset Bonus Income stat, added average CPS stat with options, added average Cookie Clicks stat with options (Issue #10), added the option to calculate with Wrinkers (Issue #34), added the option to calculate with average CPS, and minor cleanup
This commit is contained in:
105
src/Disp.js
105
src/Disp.js
@@ -85,6 +85,20 @@ CM.Disp.Beautify = function(num, frac) {
|
||||
}
|
||||
}
|
||||
|
||||
CM.Disp.GetWrinkConfigBank = function() {
|
||||
if (CM.Config.CalcWrink)
|
||||
return CM.Cache.WrinkBank;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
CM.Disp.GetCPS = function() {
|
||||
if (CM.Config.CPSMode)
|
||||
return CM.Cache.AvgCPS;
|
||||
else
|
||||
return (Game.cookiesPs * (1 - Game.cpsSucked));
|
||||
}
|
||||
|
||||
CM.Disp.UpdateBackground = function() {
|
||||
Game.Background.canvas.width = Game.Background.canvas.parentNode.offsetWidth;
|
||||
Game.Background.canvas.height = Game.Background.canvas.parentNode.offsetHeight;
|
||||
@@ -205,7 +219,7 @@ CM.Disp.UpdateBotBarTime = function() {
|
||||
|
||||
for (var i in CM.Cache.Objects) {
|
||||
count++;
|
||||
var timeColor = CM.Disp.GetTimeColor(Game.Objects[i].getPrice(), Game.cookies, (Game.cookiesPs * (1 - Game.cpsSucked)));
|
||||
var timeColor = CM.Disp.GetTimeColor(Game.Objects[i].getPrice(), (Game.cookies + CM.Disp.GetWrinkConfigBank()), CM.Disp.GetCPS());
|
||||
CM.Disp.BotBar.firstChild.firstChild.childNodes[3].childNodes[count].className = CM.Disp.colorTextPre + timeColor.color;
|
||||
CM.Disp.BotBar.firstChild.firstChild.childNodes[3].childNodes[count].textContent = timeColor.text;
|
||||
}
|
||||
@@ -895,6 +909,13 @@ CM.Disp.AddMenuPref = function(title) {
|
||||
frag.appendChild(div);
|
||||
}
|
||||
|
||||
frag.appendChild(header('Calculation'));
|
||||
frag.appendChild(listing('CalcWrink'));
|
||||
frag.appendChild(listing('CPSMode'));
|
||||
frag.appendChild(listing('AvgCPSHist'));
|
||||
frag.appendChild(listing('AvgClicksHist'));
|
||||
frag.appendChild(listing('ToolWarnCautBon'));
|
||||
|
||||
frag.appendChild(header('Golden Cookie/Season Popup Emphasis'));
|
||||
frag.appendChild(listing('Flash'));
|
||||
frag.appendChild(listing('Sound'));
|
||||
@@ -930,7 +951,6 @@ CM.Disp.AddMenuPref = function(title) {
|
||||
frag.appendChild(listing('TooltipAmor'));
|
||||
frag.appendChild(listing('ToolWarnCaut'));
|
||||
frag.appendChild(listing('ToolWarnCautPos'));
|
||||
frag.appendChild(listing('ToolWarnCautBon'));
|
||||
frag.appendChild(listing('ToolWrink'));
|
||||
|
||||
frag.appendChild(header('Statistics'));
|
||||
@@ -1021,11 +1041,11 @@ CM.Disp.AddMenuStats = function(title) {
|
||||
|
||||
stats.appendChild(header('Lucky Cookies', 'Lucky'));
|
||||
if (CM.Config.StatsPref.Lucky) {
|
||||
var luckyColor = (Game.cookies < CM.Cache.Lucky) ? CM.Disp.colorRed : CM.Disp.colorGreen;
|
||||
var luckyTime = (Game.cookies < CM.Cache.Lucky) ? CM.Disp.FormatTime((CM.Cache.Lucky - Game.cookies) / (Game.cookiesPs * (1 - Game.cpsSucked))) : '';
|
||||
var luckyColorFrenzy = (Game.cookies < CM.Cache.LuckyFrenzy) ? CM.Disp.colorRed : CM.Disp.colorGreen;
|
||||
var luckyTimeFrenzy = (Game.cookies < CM.Cache.LuckyFrenzy) ? CM.Disp.FormatTime((CM.Cache.LuckyFrenzy - Game.cookies) / (Game.cookiesPs * (1 - Game.cpsSucked))) : '';
|
||||
var luckyCurBase = Math.min(Game.cookies * 0.15, CM.Cache.NoGoldSwitchCookiesPS * 60 * 15) + 13;
|
||||
var luckyColor = ((Game.cookies + CM.Disp.GetWrinkConfigBank()) < CM.Cache.Lucky) ? CM.Disp.colorRed : CM.Disp.colorGreen;
|
||||
var luckyTime = ((Game.cookies + CM.Disp.GetWrinkConfigBank()) < CM.Cache.Lucky) ? CM.Disp.FormatTime((CM.Cache.Lucky - (Game.cookies + CM.Disp.GetWrinkConfigBank())) / CM.Disp.GetCPS()) : '';
|
||||
var luckyColorFrenzy = ((Game.cookies + CM.Disp.GetWrinkConfigBank()) < CM.Cache.LuckyFrenzy) ? CM.Disp.colorRed : CM.Disp.colorGreen;
|
||||
var luckyTimeFrenzy = ((Game.cookies + CM.Disp.GetWrinkConfigBank()) < CM.Cache.LuckyFrenzy) ? CM.Disp.FormatTime((CM.Cache.LuckyFrenzy - (Game.cookies + CM.Disp.GetWrinkConfigBank())) / CM.Disp.GetCPS()) : '';
|
||||
var luckyCurBase = Math.min((Game.cookies + CM.Disp.GetWrinkConfigBank()) * 0.15, CM.Cache.NoGoldSwitchCookiesPS * 60 * 15) + 13;
|
||||
var luckyRewardMax = CM.Cache.LuckyReward;
|
||||
var luckyRewardMaxWrath = CM.Cache.LuckyReward;
|
||||
var luckyRewardFrenzyMax = CM.Cache.LuckyRewardFrenzy;
|
||||
@@ -1075,20 +1095,20 @@ CM.Disp.AddMenuStats = function(title) {
|
||||
|
||||
stats.appendChild(header('Chain Cookies', 'Chain'));
|
||||
if (CM.Config.StatsPref.Chain) {
|
||||
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 chainWrathColor = (Game.cookies < CM.Cache.ChainWrath) ? CM.Disp.colorRed : CM.Disp.colorGreen;
|
||||
var chainWrathTime = (Game.cookies < CM.Cache.ChainWrath) ? CM.Disp.FormatTime((CM.Cache.ChainWrath - Game.cookies) / (Game.cookiesPs * (1 - Game.cpsSucked))) : '';
|
||||
var chainWrathColorFrenzy = (Game.cookies < CM.Cache.ChainFrenzyWrath) ? CM.Disp.colorRed : CM.Disp.colorGreen;
|
||||
var chainWrathTimeFrenzy = (Game.cookies < CM.Cache.ChainFrenzyWrath) ? CM.Disp.FormatTime((CM.Cache.ChainFrenzyWrath - Game.cookies) / (Game.cookiesPs * (1 - Game.cpsSucked))) : '';
|
||||
var chainColor = ((Game.cookies + CM.Disp.GetWrinkConfigBank()) < CM.Cache.Chain) ? CM.Disp.colorRed : CM.Disp.colorGreen;
|
||||
var chainTime = ((Game.cookies + CM.Disp.GetWrinkConfigBank()) < CM.Cache.Chain) ? CM.Disp.FormatTime((CM.Cache.Chain - (Game.cookies + CM.Disp.GetWrinkConfigBank())) / CM.Disp.GetCPS()) : '';
|
||||
var chainColorFrenzy = ((Game.cookies + CM.Disp.GetWrinkConfigBank()) < CM.Cache.ChainFrenzy) ? CM.Disp.colorRed : CM.Disp.colorGreen;
|
||||
var chainTimeFrenzy = ((Game.cookies + CM.Disp.GetWrinkConfigBank()) < CM.Cache.ChainFrenzy) ? CM.Disp.FormatTime((CM.Cache.ChainFrenzy - (Game.cookies + CM.Disp.GetWrinkConfigBank())) / CM.Disp.GetCPS()) : '';
|
||||
var chainWrathColor = ((Game.cookies + CM.Disp.GetWrinkConfigBank()) < CM.Cache.ChainWrath) ? CM.Disp.colorRed : CM.Disp.colorGreen;
|
||||
var chainWrathTime = ((Game.cookies + CM.Disp.GetWrinkConfigBank()) < CM.Cache.ChainWrath) ? CM.Disp.FormatTime((CM.Cache.ChainWrath - (Game.cookies + CM.Disp.GetWrinkConfigBank())) / CM.Disp.GetCPS()) : '';
|
||||
var chainWrathColorFrenzy = ((Game.cookies + CM.Disp.GetWrinkConfigBank()) < CM.Cache.ChainFrenzyWrath) ? CM.Disp.colorRed : CM.Disp.colorGreen;
|
||||
var chainWrathTimeFrenzy = ((Game.cookies + CM.Disp.GetWrinkConfigBank()) < CM.Cache.ChainFrenzyWrath) ? CM.Disp.FormatTime((CM.Cache.ChainFrenzyWrath - (Game.cookies + CM.Disp.GetWrinkConfigBank())) / CM.Disp.GetCPS()) : '';
|
||||
|
||||
var chainRewardMax = CM.Cache.ChainReward;
|
||||
var chainWrathRewardMax = CM.Cache.ChainWrathReward;
|
||||
var chainFrenzyRewardMax = CM.Cache.ChainFrenzyReward;
|
||||
var chainFrenzyWrathRewardMax = CM.Cache.ChainFrenzyWrathReward;
|
||||
var chainCurMax = Math.min(CM.Cache.NoGoldSwitchCookiesPS * 60 * 60 * 6, Game.cookies * 0.25);
|
||||
var chainCurMax = Math.min(CM.Cache.NoGoldSwitchCookiesPS * 60 * 60 * 6, (Game.cookies + CM.Disp.GetWrinkConfigBank()) * 0.25);
|
||||
var chainCur = CM.Cache.MaxChainMoni(7, chainCurMax);
|
||||
var chainCurWrath = CM.Cache.MaxChainMoni(6, chainCurMax);
|
||||
if (Game.hasAura('Ancestral Metamorphosis')) {
|
||||
@@ -1158,39 +1178,16 @@ CM.Disp.AddMenuStats = function(title) {
|
||||
|
||||
var choEgg = (Game.HasUnlocked('Chocolate egg') && !Game.Has('Chocolate egg')); // Needs to be done for the checking below
|
||||
|
||||
|
||||
if (CM.Config.StatsPref.Wrink || (CM.Config.StatsPref.Sea && choEgg) || CM.Config.StatsPref.Prestige) {
|
||||
var totalSucked = 0; // Used in Prestige and Chocolate Egg calculation below also
|
||||
for (var i in Game.wrinklers) {
|
||||
var sucked = Game.wrinklers[i].sucked;
|
||||
var toSuck = 1.1;
|
||||
if (Game.Has('Sacrilegious corruption')) toSuck *= 1.05;
|
||||
if (Game.wrinklers[i].type==1) toSuck *= 3; // Shiny wrinklers
|
||||
sucked *= toSuck;
|
||||
if (Game.Has('Wrinklerspawn')) sucked *= 1.05;
|
||||
totalSucked += sucked;
|
||||
}
|
||||
}
|
||||
|
||||
if (choEgg) {
|
||||
var choEggTotal = Game.cookies + CM.Cache.SellForChoEgg;
|
||||
if (Game.cpsSucked > 0) {
|
||||
choEggTotal += totalSucked;
|
||||
}
|
||||
choEggTotal *= 0.05; // Used in Prestige calculation below also
|
||||
}
|
||||
|
||||
stats.appendChild(header('Prestige', 'Prestige'));
|
||||
if (CM.Config.StatsPref.Prestige) {
|
||||
var possiblePresMax = Math.floor(Game.HowMuchPrestige(Game.cookiesEarned + Game.cookiesReset + totalSucked + (choEgg ? choEggTotal : 0)));
|
||||
var possiblePres = Math.floor(Game.HowMuchPrestige(Game.cookiesEarned + Game.cookiesReset));
|
||||
var neededCook = Game.HowManyCookiesReset(possiblePres + 1) - (Game.cookiesEarned + Game.cookiesReset);
|
||||
var possiblePresMax = Math.floor(Game.HowMuchPrestige(Game.cookiesEarned + Game.cookiesReset + CM.Cache.WrinkBank + (choEgg ? CM.Cache.lastChoEgg : 0)));
|
||||
var neededCook = Game.HowManyCookiesReset(possiblePresMax + 1) - (Game.cookiesEarned + Game.cookiesReset + CM.Cache.WrinkBank + (choEgg ? CM.Cache.lastChoEgg : 0));
|
||||
|
||||
stats.appendChild(listing(listingQuest('Prestige Level (CUR / MAX)', 'PrestMaxTooltipPlaceholder'), document.createTextNode(Beautify(Game.prestige) + ' / ' + Beautify(possiblePresMax))));
|
||||
var cookiesNextFrag = document.createDocumentFragment();
|
||||
cookiesNextFrag.appendChild(document.createTextNode(Beautify(neededCook)));
|
||||
var cookiesNextSmall = document.createElement('small');
|
||||
cookiesNextSmall.textContent = ' (' + (CM.Disp.FormatTime(neededCook / (Game.cookiesPs * (1 - Game.cpsSucked)), 1)) + ')';
|
||||
cookiesNextSmall.textContent = ' (' + (CM.Disp.FormatTime(neededCook / CM.Cache.AvgCPSChoEgg, 1)) + ')';
|
||||
cookiesNextFrag.appendChild(cookiesNextSmall);
|
||||
stats.appendChild(listing(listingQuest('Cookies To Next Level', 'NextPrestTooltipPlaceholder'), cookiesNextFrag));
|
||||
stats.appendChild(listing(listingQuest('Heavenly Chips (CUR / MAX)', 'HeavenChipMaxTooltipPlaceholder'), document.createTextNode(Beautify(Game.heavenlyChips) + ' / ' + Beautify((possiblePresMax - Game.prestige) + Game.heavenlyChips))));
|
||||
@@ -1210,7 +1207,7 @@ CM.Disp.AddMenuStats = function(title) {
|
||||
stats.appendChild(header('Wrinklers', 'Wrink'));
|
||||
if (CM.Config.StatsPref.Wrink) {
|
||||
var popAllFrag = document.createDocumentFragment();
|
||||
popAllFrag.appendChild(document.createTextNode(Beautify(totalSucked) + ' '));
|
||||
popAllFrag.appendChild(document.createTextNode(Beautify(CM.Cache.WrinkBank) + ' '));
|
||||
var popAllA = document.createElement('a');
|
||||
popAllA.textContent = 'Pop All';
|
||||
popAllA.className = 'option';
|
||||
@@ -1309,7 +1306,7 @@ CM.Disp.AddMenuStats = function(title) {
|
||||
|
||||
if (Game.season == 'christmas') stats.appendChild(listing('Reindeer Reward', document.createTextNode(Beautify(CM.Cache.SeaSpec))));
|
||||
if (choEgg) {
|
||||
stats.appendChild(listing(listingQuest('Chocolate Egg Cookies', 'ChoEggTooltipPlaceholder'), document.createTextNode(Beautify(choEggTotal))));
|
||||
stats.appendChild(listing(listingQuest('Chocolate Egg Cookies', 'ChoEggTooltipPlaceholder'), document.createTextNode(Beautify(CM.Cache.lastChoEgg))));
|
||||
}
|
||||
if (centEgg) {
|
||||
stats.appendChild(listing('Century Egg Multiplier', document.createTextNode((Math.round(CM.Cache.CentEgg * 100) / 100) + '%')));
|
||||
@@ -1319,6 +1316,8 @@ CM.Disp.AddMenuStats = function(title) {
|
||||
|
||||
stats.appendChild(header('Miscellaneous', 'Misc'));
|
||||
if (CM.Config.StatsPref.Misc) {
|
||||
stats.appendChild(listing('Average Cookies Per Second (Past ' + CM.Disp.times[CM.Config.AvgCPSHist] + (CM.Config.AvgCPSHist == 0 ? ' minute' : ' minutes') + ')', document.createTextNode(Beautify(CM.Cache.AvgCPS, 3))));
|
||||
stats.appendChild(listing('Average Cookie Clicks Per Second (Past ' + CM.Disp.times[CM.Config.AvgClicksHist] + (CM.Config.AvgClicksHist == 0 ? ' second' : ' seconds') + ')', document.createTextNode(Beautify(CM.Cache.AvgClicks, 1))));
|
||||
stats.appendChild(listing('Missed Golden Cookies', document.createTextNode(Beautify(Game.missedGoldenClicks))));
|
||||
}
|
||||
|
||||
@@ -1575,7 +1574,7 @@ CM.Disp.UpdateTooltip = function() {
|
||||
l('CMTooltipIncome').textContent += ' (' + (increase / 100) + '% of income)';
|
||||
}
|
||||
|
||||
var timeColor = CM.Disp.GetTimeColor(price, Game.cookies, (Game.cookiesPs * (1 - Game.cpsSucked)));
|
||||
var timeColor = CM.Disp.GetTimeColor(price, (Game.cookies + CM.Disp.GetWrinkConfigBank()), CM.Disp.GetCPS());
|
||||
l('CMTooltipTime').textContent = timeColor.text;
|
||||
l('CMTooltipTime').className = CM.Disp.colorTextPre + timeColor.color;
|
||||
}
|
||||
@@ -1590,7 +1589,7 @@ CM.Disp.UpdateTooltip = function() {
|
||||
warn += ((bonusNoFren * 60 * 15) / 0.15);
|
||||
}
|
||||
var caut = warn * 7;
|
||||
var amount = Game.cookies - price;
|
||||
var amount = (Game.cookies + CM.Disp.GetWrinkConfigBank()) - price;
|
||||
if ((amount < warn || amount < caut) && (CM.Disp.tooltipType != 'b' || Game.buyMode == 1)) {
|
||||
if (CM.Config.ToolWarnCautPos == 0) {
|
||||
CM.Disp.TooltipWarnCaut.style.right = '0px';
|
||||
@@ -1602,13 +1601,13 @@ CM.Disp.UpdateTooltip = function() {
|
||||
|
||||
if (amount < warn) {
|
||||
l('CMDispTooltipWarn').style.display = '';
|
||||
l('CMDispTooltipWarnText').textContent = Beautify(warn - amount) + ' (' + CM.Disp.FormatTime((warn - amount) / (Game.cookiesPs * (1 - Game.cpsSucked))) + ')';
|
||||
l('CMDispTooltipWarnText').textContent = Beautify(warn - amount) + ' (' + CM.Disp.FormatTime((warn - amount) / CM.Disp.GetCPS()) + ')';
|
||||
l('CMDispTooltipCaut').style.display = '';
|
||||
l('CMDispTooltipCautText').textContent = Beautify(caut - amount) + ' (' + CM.Disp.FormatTime((caut - amount) / (Game.cookiesPs * (1 - Game.cpsSucked))) + ')';
|
||||
l('CMDispTooltipCautText').textContent = Beautify(caut - amount) + ' (' + CM.Disp.FormatTime((caut - amount) / CM.Disp.GetCPS()) + ')';
|
||||
}
|
||||
else if (amount < caut) {
|
||||
l('CMDispTooltipCaut').style.display = '';
|
||||
l('CMDispTooltipCautText').textContent = Beautify(caut - amount) + ' (' + CM.Disp.FormatTime((caut - amount) / (Game.cookiesPs * (1 - Game.cpsSucked))) + ')';
|
||||
l('CMDispTooltipCautText').textContent = Beautify(caut - amount) + ' (' + CM.Disp.FormatTime((caut - amount) / CM.Disp.GetCPS()) + ')';
|
||||
l('CMDispTooltipWarn').style.display = 'none';
|
||||
}
|
||||
else {
|
||||
@@ -1643,7 +1642,7 @@ CM.Disp.AddWrinklerAreaDetect = function() {
|
||||
l('backgroundLeftCanvas').onmouseout = function() {
|
||||
CM.Disp.TooltipWrinklerArea = 0;
|
||||
Game.tooltip.hide();
|
||||
for (var i = 0; i < 10; i++) {
|
||||
for (var i in Game.wrinklers) {
|
||||
CM.Disp.TooltipWrinklerCache[i] = 0;
|
||||
}
|
||||
};
|
||||
@@ -1754,15 +1753,15 @@ CM.Disp.colors = [CM.Disp.colorBlue, CM.Disp.colorGreen, CM.Disp.colorYellow, CM
|
||||
CM.Disp.lastGoldenCookieState = 'none';
|
||||
CM.Disp.lastAscendState = -1;
|
||||
|
||||
CM.Disp.times = [1, 5, 10, 15, 30];
|
||||
|
||||
CM.Disp.metric = ['M', 'G', 'T', 'P', 'E', 'Z', 'Y'];
|
||||
CM.Disp.shortScale = ['M', 'B', 'Tr', 'Quadr', 'Quint', 'Sext', 'Sept', 'Oct', 'Non', 'Dec', 'Undec', 'Duodec', 'Tredec'];
|
||||
|
||||
CM.Disp.TooltipBuy10 = false;
|
||||
|
||||
CM.Disp.TooltipWrinklerArea = 0;
|
||||
CM.Disp.TooltipWrinkler = -1;
|
||||
CM.Disp.TooltipWrinklerCache = [];
|
||||
for (var i = 0; i < 10; i++) {
|
||||
for (var i in Game.wrinklers) {
|
||||
CM.Disp.TooltipWrinklerCache[i] = 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user