Merge branch 'dev' of https://github.com/redthefed/CookieMonster into redthefed-dev

This commit is contained in:
Aktanusa
2018-03-05 15:58:38 -05:00
9 changed files with 361 additions and 371 deletions

View File

@@ -34,7 +34,7 @@ CM.Disp.FormatTime = function(time, format) {
}
str += s;
} else {
if (time > 777600000) return format ? 'Over 9000 days!' : '>9000d';
if (time > 86400) return format ? 'Over 24 hours' : '>24h';
time = Math.ceil(time);
var d = Math.floor(time / 86400);
var h = Math.floor(time % 86400 / 3600);
@@ -64,7 +64,7 @@ CM.Disp.GetTimeColor = function(price, bank, cps, time) {
text = '00:00:00:00:00';
}
else {
text = 'Done!';
text = 'Ready';
}
}
else {
@@ -96,7 +96,7 @@ CM.Disp.Beautify = function(num, frac) {
num = Math.abs(num);
negative = true;
}
for (var i = (CM.Disp.shortScale.length - 1); i >= 0; i--) {
if (i < CM.Disp.metric.length && CM.Config.Scale == 1) {
if (num >= Math.pow(1000, i + 2)) {
@@ -114,7 +114,7 @@ CM.Disp.Beautify = function(num, frac) {
if (answer == '') {
answer = CM.Backup.Beautify(num, frac);
}
if (negative) {
answer = '-' + answer;
}
@@ -179,14 +179,16 @@ CM.Disp.CreateBotBar = function() {
CM.Disp.BotBar.style.borderTop = '1px solid black';
CM.Disp.BotBar.style.overflow = 'auto';
CM.Disp.BotBar.style.textShadow = '-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black';
var table = document.createElement('table');
table.style.width = '100%';
table.style.textAlign = 'center';
table.style.whiteSpace = 'nowrap';
table.style.tableLayout = 'fixed';
table.style.overflow = 'hidden';
var tbody = document.createElement('tbody');
table.appendChild(tbody);
var firstCol = function(text, color) {
var td = document.createElement('td');
td.style.textAlign = 'right';
@@ -194,7 +196,7 @@ CM.Disp.CreateBotBar = function() {
td.textContent = text;
return td;
}
var type = document.createElement('tr');
type.style.fontWeight = 'bold';
type.appendChild(firstCol(CM.VersionMajor + '.' + CM.VersionMinor, CM.Disp.colorYellow));
@@ -208,7 +210,7 @@ CM.Disp.CreateBotBar = function() {
var time = document.createElement('tr');
time.appendChild(firstCol('Time Left', CM.Disp.colorBlue));
tbody.appendChild(time);
for (var i in Game.Objects) {
var header = document.createElement('td');
header.appendChild(document.createTextNode((i.indexOf(' ') != -1 ? i.substring(0, i.indexOf(' ')) : i) + ' ('));
@@ -220,11 +222,11 @@ CM.Disp.CreateBotBar = function() {
bonus.appendChild(document.createElement('td'));
pp.appendChild(document.createElement('td'));
time.appendChild(document.createElement('td'));
}
CM.Disp.BotBar.appendChild(table);
l('wrapper').appendChild(CM.Disp.BotBar);
}
@@ -242,7 +244,7 @@ CM.Disp.ToggleBotBar = function() {
CM.Disp.UpdateBotBarOther = function() {
if (CM.Config.BotBar == 1) {
var count = 0;
for (var i in CM.Cache.Objects) {
count++;
CM.Disp.BotBar.firstChild.firstChild.childNodes[0].childNodes[count].childNodes[1].textContent = Game.Objects[i].amount;
@@ -256,7 +258,7 @@ CM.Disp.UpdateBotBarOther = function() {
CM.Disp.UpdateBotBarTime = function() {
if (CM.Config.BotBar == 1) {
var count = 0;
for (var i in CM.Cache.Objects) {
count++;
var timeColor = CM.Disp.GetTimeColor(Game.Objects[i].getPrice(), (Game.cookies + CM.Disp.GetWrinkConfigBank()), CM.Disp.GetCPS());
@@ -275,7 +277,7 @@ CM.Disp.CreateTimerBar = function() {
CM.Disp.TimerBar.style.fontSize = '10px';
CM.Disp.TimerBar.style.fontWeight = 'bold';
CM.Disp.TimerBar.style.backgroundColor = 'black';
var bar = function(name, bars, time) {
var div = document.createElement('div');
div.style.width = '100%';
@@ -286,7 +288,7 @@ CM.Disp.CreateTimerBar = function() {
div.style.top = '0px';
div.style.right = '0px';
div.style.bottom = '0px';
var type = document.createElement('span');
type.style.display = 'inline-block';
type.style.textAlign = 'right';
@@ -295,7 +297,7 @@ CM.Disp.CreateTimerBar = function() {
type.style.verticalAlign = 'text-top';
type.textContent = name;
div.appendChild(type);
for (var i = 0; i < bars.length; i++) {
var colorBar = document.createElement('span');
colorBar.id = bars[i].id
@@ -310,7 +312,7 @@ CM.Disp.CreateTimerBar = function() {
}
div.appendChild(colorBar);
}
var timer = document.createElement('span');
timer.id = time;
timer.style.marginLeft = '5px';
@@ -318,7 +320,7 @@ CM.Disp.CreateTimerBar = function() {
div.appendChild(timer);
return div
}
CM.Disp.TimerBarGC = document.createElement('div');
CM.Disp.TimerBarGC.id = 'CMTimerBarGC';
CM.Disp.TimerBarGC.style.height = '12px';
@@ -326,7 +328,7 @@ CM.Disp.CreateTimerBar = function() {
CM.Disp.TimerBarGC.style.position = 'relative';
CM.Disp.TimerBarGC.appendChild(bar('Next Cookie', [{id: 'CMTimerBarGCMinBar', color: CM.Disp.colorGray}, {id: 'CMTimerBarGCBar', color: CM.Disp.colorPurple}], 'CMTimerBarGCTime'));
CM.Disp.TimerBar.appendChild(CM.Disp.TimerBarGC);
CM.Disp.TimerBarRen = document.createElement('div');
CM.Disp.TimerBarRen.id = 'CMTimerBarRen';
CM.Disp.TimerBarRen.style.height = '12px';
@@ -334,7 +336,7 @@ CM.Disp.CreateTimerBar = function() {
CM.Disp.TimerBarRen.style.position = 'relative';
CM.Disp.TimerBarRen.appendChild(bar('Next Reindeer', [{id: 'CMTimerBarRenMinBar', color: CM.Disp.colorGray}, {id: 'CMTimerBarRenBar', color: CM.Disp.colorOrange}], 'CMTimerBarRenTime'));
CM.Disp.TimerBar.appendChild(CM.Disp.TimerBarRen);
CM.Disp.TimerBarBuff1 = document.createElement('div');
CM.Disp.TimerBarBuff1.id = 'CMTimerBarBuff1';
CM.Disp.TimerBarBuff1.style.height = '12px';
@@ -343,7 +345,7 @@ CM.Disp.CreateTimerBar = function() {
CM.Disp.TimerBarBuff1.appendChild(bar('', [{id: 'CMTimerBarBuff1Bar'}], 'CMTimerBarBuff1Time'));
CM.Disp.TimerBarBuff1.firstChild.firstChild.id = 'CMTimerBarBuff1Type';
CM.Disp.TimerBar.appendChild(CM.Disp.TimerBarBuff1);
CM.Disp.TimerBarBuff2 = document.createElement('div');
CM.Disp.TimerBarBuff2.id = 'CMTimerBarBuff2';
CM.Disp.TimerBarBuff2.style.height = '12px';
@@ -352,7 +354,7 @@ CM.Disp.CreateTimerBar = function() {
CM.Disp.TimerBarBuff2.appendChild(bar('', [{id: 'CMTimerBarBuff2Bar'}], 'CMTimerBarBuff2Time'));
CM.Disp.TimerBarBuff2.firstChild.firstChild.id = 'CMTimerBarBuff2Type';
CM.Disp.TimerBar.appendChild(CM.Disp.TimerBarBuff2);
l('wrapper').appendChild(CM.Disp.TimerBar);
}
@@ -385,7 +387,7 @@ CM.Disp.UpdateTimerBar = function() {
// label width: 113, timer width: 26, div margin: 20
var maxWidth = CM.Disp.TimerBar.offsetWidth - 159;
var count = 0;
if (Game.shimmerTypes['golden'].spawned == 0 && !Game.Has('Golden switch [off]')) {
CM.Disp.TimerBarGC.style.display = '';
l('CMTimerBarGCMinBar').style.width = Math.round(Math.max(0, Game.shimmerTypes['golden'].minTime - Game.shimmerTypes['golden'].time) * maxWidth / Game.shimmerTypes['golden'].maxTime) + 'px';
@@ -404,7 +406,7 @@ CM.Disp.UpdateTimerBar = function() {
else {
CM.Disp.TimerBarGC.style.display = 'none';
}
if (Game.season == 'christmas' && Game.shimmerTypes['reindeer'].spawned == 0) {
CM.Disp.TimerBarRen.style.display = '';
l('CMTimerBarRenMinBar').style.width = Math.round(Math.max(0, Game.shimmerTypes['reindeer'].minTime - Game.shimmerTypes['reindeer'].time) * maxWidth / Game.shimmerTypes['reindeer'].maxTime) + 'px';
@@ -415,7 +417,7 @@ CM.Disp.UpdateTimerBar = function() {
else {
CM.Disp.TimerBarRen.style.display = 'none';
}
var buffCount = 0;
for (var i in Game.buffs) {
if (Game.buffs[i]) {
@@ -444,7 +446,7 @@ CM.Disp.UpdateTimerBar = function() {
CM.Disp.TimerBarBuff1.style.display = 'none';
}
}
/*if (Game.frenzy > 0) {
CM.Disp.TimerBarBuff1.style.display = '';
if (Game.frenzyPower == 7) {
@@ -470,7 +472,7 @@ CM.Disp.UpdateTimerBar = function() {
else {
CM.Disp.TimerBarBuff1.style.display = 'none';
}
if (Game.clickFrenzy > 0) {
CM.Disp.TimerBarBuff2.style.display = '';
if (Game.clickFrenzyPower == 777) {
@@ -488,7 +490,7 @@ CM.Disp.UpdateTimerBar = function() {
else {
CM.Disp.TimerBarBuff2.style.display = 'none';
}*/
if (count != 0) {
var height = 48 / count;
CM.Disp.TimerBarGC.style.height = height + 'px';
@@ -514,14 +516,14 @@ CM.Disp.UpdateBotTimerBarDisplay = function() {
else { // No bars
l('game').style.bottom = '0px';
}
if (CM.Config.TimerBar == 1 && CM.Config.TimerBarPos == 0) {
l('sectionLeft').style.top = '48px';
}
else {
l('sectionLeft').style.top = '';
}
CM.Disp.UpdateBackground();
}
@@ -557,7 +559,7 @@ CM.Disp.CreateUpgradeBar = function() {
CM.Disp.UpgradeBar.style.fontWeight = 'bold';
CM.Disp.UpgradeBar.style.display = 'none';
CM.Disp.UpgradeBar.onmouseout = function() { Game.tooltip.hide(); };
var placeholder = document.createElement('div');
var legend = document.createElement('div');
legend.style.minWidth = '330px';
@@ -567,7 +569,7 @@ CM.Disp.CreateUpgradeBar = function() {
title.style.marginBottom = '4px';
title.textContent = 'Legend';
legend.appendChild(title);
var legendLine = function(color, text) {
var div = document.createElement('div');
div.style.verticalAlign = 'middle';
@@ -581,7 +583,7 @@ CM.Disp.CreateUpgradeBar = function() {
div.appendChild(document.createTextNode(text));
return div;
}
legend.appendChild(legendLine(CM.Disp.colorBlue, 'Better than best PP building'));
legend.appendChild(legendLine(CM.Disp.colorGreen, 'Same as best PP building'));
legend.appendChild(legendLine(CM.Disp.colorYellow, 'Between best and worst PP buildings closer to best'));
@@ -590,9 +592,9 @@ CM.Disp.CreateUpgradeBar = function() {
legend.appendChild(legendLine(CM.Disp.colorPurple, 'Worse than worst PP building'));
legend.appendChild(legendLine(CM.Disp.colorGray, 'Negative or infinity PP'));
placeholder.appendChild(legend);
CM.Disp.UpgradeBar.onmouseover = function() {Game.tooltip.draw(this, escape(placeholder.innerHTML), 'store');};
var upgradeNumber = function(id, color) {
var span = document.createElement('span');
span.id = id;
@@ -609,7 +611,7 @@ CM.Disp.CreateUpgradeBar = function() {
CM.Disp.UpgradeBar.appendChild(upgradeNumber('CMUpgradeBarRed', CM.Disp.colorRed));
CM.Disp.UpgradeBar.appendChild(upgradeNumber('CMUpgradeBarPurple', CM.Disp.colorPurple));
CM.Disp.UpgradeBar.appendChild(upgradeNumber('CMUpgradeBarGray', CM.Disp.colorGray));
l('upgrades').parentNode.insertBefore(CM.Disp.UpgradeBar, l('upgrades').parentNode.childNodes[3]);
}
@@ -694,7 +696,7 @@ CM.Disp.CreateWhiteScreen = function() {
CM.Disp.WhiteScreen.style.display = 'none';
CM.Disp.WhiteScreen.style.zIndex = '9999999999';
CM.Disp.WhiteScreen.style.position = 'absolute';
l('wrapper').appendChild(CM.Disp.WhiteScreen);
}
@@ -777,7 +779,7 @@ CM.Disp.CreateGCTimer = function() {
CM.Disp.GCTimer.onclick = function () {CM.Disp.goldenShimmer.pop(); CM.Disp.GCTimer.style.display = 'none';};
CM.Disp.GCTimer.onmouseover = function() {CM.Disp.goldenShimmer.l.style.filter = 'brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))'; CM.Disp.goldenShimmer.l.style.webkitFilter = 'brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))';};
CM.Disp.GCTimer.onmouseout = function() {CM.Disp.goldenShimmer.l.style.filter = ''; CM.Disp.goldenShimmer.l.style.webkitFilter = '';};
l('game').appendChild(CM.Disp.GCTimer);
}
@@ -805,7 +807,7 @@ CM.Disp.CheckGoldenCookie = function() {
CM.Disp.GCTimer.style.left = CM.Disp.goldenShimmer.l.style.left;
CM.Disp.GCTimer.style.top = CM.Disp.goldenShimmer.l.style.top;
}
CM.Disp.Flash(3);
CM.Disp.PlaySound(CM.Config.GCSoundURL);
}
@@ -830,7 +832,7 @@ CM.Disp.CheckSeasonPopup = function() {
break;
}
}
CM.Disp.Flash(3);
CM.Disp.PlaySound(CM.Config.SeaSoundURL);
}
@@ -843,7 +845,7 @@ CM.Disp.UpdateTitle = function() {
}
else if (CM.Config.Title == 1) {
var addSP = false;
var titleGC;
var titleSP;
if (CM.Disp.lastGoldenCookieState) {
@@ -869,12 +871,12 @@ CM.Disp.UpdateTitle = function() {
titleSP = '[' + Math.ceil((Game.shimmerTypes['reindeer'].maxTime - Game.shimmerTypes['reindeer'].time) / Game.fps) + ']';
}
}
var str = CM.Cache.Title;
if (str.charAt(0) == '[') {
str = str.substring(str.lastIndexOf(']') + 1);
}
document.title = titleGC + (addSP ? titleSP : '') + ' ' + str;
}
else if (CM.Config.Title == 2) {
@@ -934,9 +936,9 @@ CM.Disp.AddMenuPref = function(title) {
}
var frag = document.createDocumentFragment();
frag.appendChild(title());
var listing = function(config) {
var div = document.createElement('div');
div.className = 'listing';
@@ -956,7 +958,7 @@ CM.Disp.AddMenuPref = function(title) {
div.appendChild(label);
return div;
}
var url = function(config) {
var div = document.createElement('div');
div.className = 'listing';
@@ -982,7 +984,7 @@ CM.Disp.AddMenuPref = function(title) {
div.appendChild(label);
return div;
}
frag.appendChild(header('Bars/Colors'));
frag.appendChild(listing('BotBar'));
frag.appendChild(listing('TimerBar'));
@@ -1006,7 +1008,7 @@ CM.Disp.AddMenuPref = function(title) {
div.appendChild(label);
frag.appendChild(div);
}
frag.appendChild(header('Calculation'));
frag.appendChild(listing('CalcWrink'));
frag.appendChild(listing('CPSMode'));
@@ -1016,7 +1018,7 @@ CM.Disp.AddMenuPref = function(title) {
frag.appendChild(header('Golden Cookie/Season Popup Emphasis'));
frag.appendChild(listing('Flash'));
frag.appendChild(listing('Sound'));
frag.appendChild(listing('Sound'));
var volConfig = 'Volume';
var volume = document.createElement('div');
volume.className = 'listing';
@@ -1043,22 +1045,22 @@ CM.Disp.AddMenuPref = function(title) {
frag.appendChild(listing('GCTimer'));
frag.appendChild(listing('Title'));
frag.appendChild(listing('Favicon'));
frag.appendChild(header('Tooltip'));
frag.appendChild(listing('Tooltip'));
frag.appendChild(listing('TooltipAmor'));
frag.appendChild(listing('ToolWarnCaut'));
frag.appendChild(listing('ToolWarnCautPos'));
frag.appendChild(listing('ToolWrink'));
frag.appendChild(header('Statistics'));
frag.appendChild(listing('Stats'));
frag.appendChild(listing('UpStats'));
frag.appendChild(listing('TimeFormat'));
frag.appendChild(listing('SayTime'));
frag.appendChild(header('Other'));
frag.appendChild(listing('Scale'));
frag.appendChild(listing('Scale'));
var resDef = document.createElement('div');
resDef.className = 'listing';
var resDefBut = document.createElement('a');
@@ -1067,9 +1069,9 @@ CM.Disp.AddMenuPref = function(title) {
resDefBut.textContent = 'Restore Default';
resDef.appendChild(resDefBut);
frag.appendChild(resDef);
l('menu').childNodes[2].insertBefore(frag, l('menu').childNodes[2].childNodes[l('menu').childNodes[2].childNodes.length - 1]);
CM.Disp.FormatButtonOnClickBak = l('formatButton').onclick;
l('formatButton').onclick = function() {Game.Toggle('format', 'formatButton', 'Short numbers OFF', 'Short numbers ON', '1'); PlaySound('snd/tick.mp3'); CM.Disp.RefreshScale();};
}
@@ -1099,12 +1101,12 @@ CM.Disp.AddMenuStats = function(title) {
div.appendChild(span);
return div;
}
var stats = document.createElement('div');
stats.className = 'subsection';
stats.appendChild(title());
var listing = function(name, text) {
var div = document.createElement('div');
div.className = 'listing';
@@ -1116,7 +1118,7 @@ CM.Disp.AddMenuStats = function(title) {
div.appendChild(text);
return div;
}
var listingQuest = function(text, placeholder) {
var frag = document.createDocumentFragment();
frag.appendChild(document.createTextNode(text + ' '));
@@ -1137,7 +1139,7 @@ CM.Disp.AddMenuStats = function(title) {
frag.appendChild(span);
return frag;
}
stats.appendChild(header('Lucky Cookies', 'Lucky'));
if (CM.Config.StatsPref.Lucky) {
var luckyColor = ((Game.cookies + CM.Disp.GetWrinkConfigBank()) < CM.Cache.Lucky) ? CM.Disp.colorRed : CM.Disp.colorGreen;
@@ -1162,7 +1164,7 @@ CM.Disp.AddMenuStats = function(title) {
luckyCurWrath *= 1.1;
}
var luckySplit = luckyRewardMax != luckyRewardMaxWrath;
var luckyReqFrag = document.createDocumentFragment();
var luckyReqSpan = document.createElement('span');
luckyReqSpan.style.fontWeight = 'bold';
@@ -1191,7 +1193,7 @@ CM.Disp.AddMenuStats = function(title) {
stats.appendChild(listing(listingQuest('\"Lucky!\" Reward (MAX) (Frenzy)' + (luckySplit ? ' (Golden / Wrath)' : ''), 'GoldCookTooltipPlaceholder'), document.createTextNode(Beautify(luckyRewardFrenzyMax) + (luckySplit ? (' / ' + Beautify(luckyRewardFrenzyMaxWrath)) : ''))));
stats.appendChild(listing(listingQuest('\"Lucky!\" Reward (CUR)' + (luckySplit ? ' (Golden / Wrath)' : ''), 'GoldCookTooltipPlaceholder'), document.createTextNode(Beautify(luckyCur) + (luckySplit ? (' / ' + Beautify(luckyCurWrath)) : ''))));
}
stats.appendChild(header('Chain Cookies', 'Chain'));
if (CM.Config.StatsPref.Chain) {
var chainColor = ((Game.cookies + CM.Disp.GetWrinkConfigBank()) < CM.Cache.Chain) ? CM.Disp.colorRed : CM.Disp.colorGreen;
@@ -1202,7 +1204,7 @@ CM.Disp.AddMenuStats = function(title) {
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;
@@ -1214,13 +1216,13 @@ CM.Disp.AddMenuStats = function(title) {
chainRewardMax *= 1.1;
chainFrenzyRewardMax *= 1.1;
chainCur *= 1.1;
}
}
if (Game.hasAura('Unholy Dominion')) {
chainWrathRewardMax *= 1.1;
chainFrenzyWrathRewardMax *= 1.1;
chainCurWrath *= 1.1;
}
var chainReqFrag = document.createDocumentFragment();
var chainReqSpan = document.createElement('span');
chainReqSpan.style.fontWeight = 'bold';
@@ -1274,9 +1276,9 @@ CM.Disp.AddMenuStats = function(title) {
stats.appendChild(listing(listingQuest('\"Chain\" Reward (MAX) (Frenzy) (Golden / Wrath)', 'GoldCookTooltipPlaceholder'), document.createTextNode(Beautify(chainFrenzyRewardMax) + ' / ' + Beautify(chainFrenzyWrathRewardMax))));
stats.appendChild(listing(listingQuest('\"Chain\" Reward (CUR) (Golden / Wrath)', 'GoldCookTooltipPlaceholder'), document.createTextNode(Beautify(chainCur) + ' / ' + Beautify(chainCurWrath))));
}
var choEgg = (Game.HasUnlocked('Chocolate egg') && !Game.Has('Chocolate egg')); // Needs to be done for the checking below
stats.appendChild(header('Prestige', 'Prestige'));
if (CM.Config.StatsPref.Prestige) {
var possiblePresMax = Math.floor(Game.HowMuchPrestige(Game.cookiesEarned + Game.cookiesReset + CM.Cache.WrinkGodBank + (choEgg ? CM.Cache.lastChoEgg : 0)));
@@ -1301,9 +1303,9 @@ CM.Disp.AddMenuStats = function(title) {
}
stats.appendChild(listing(listingQuest('Reset Bonus Income', 'ResetTooltipPlaceholder'), resetFrag));
}
if (Game.cpsSucked > 0) {
stats.appendChild(header('Wrinklers', 'Wrink'));
stats.appendChild(header('Wrinklers', 'Wrink'));
if (CM.Config.StatsPref.Wrink) {
var popAllFrag = document.createDocumentFragment();
popAllFrag.appendChild(document.createTextNode(Beautify(CM.Cache.WrinkBank) + ' '));
@@ -1315,7 +1317,7 @@ CM.Disp.AddMenuStats = function(title) {
stats.appendChild(listing('Rewards of Popping', popAllFrag));
}
}
var specDisp = false;
var halloCook = [];
for (var i in CM.Data.HalloCookies) {
@@ -1352,9 +1354,9 @@ CM.Disp.AddMenuStats = function(title) {
specDisp = true;
}
}
var centEgg = Game.Has('Century egg');
if (Game.season == 'christmas' || specDisp || choEgg || centEgg) {
stats.appendChild(header('Season Specials', 'Sea'));
if (CM.Config.StatsPref.Sea) {
@@ -1409,10 +1411,10 @@ CM.Disp.AddMenuStats = function(title) {
}
if (centEgg) {
stats.appendChild(listing('Century Egg Multiplier', document.createTextNode((Math.round((CM.Cache.CentEgg - 1) * 10000) / 100) + '%')));
}
}
}
}
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))));
@@ -1430,7 +1432,7 @@ CM.Disp.AddMenu = function() {
div.textContent = 'Cookie Monster Goodies';
return div;
}
if (Game.onMenu == 'prefs') {
CM.Disp.AddMenuPref(title);
}
@@ -1461,7 +1463,7 @@ CM.Disp.CreateTooltipWarnCaut = function() {
CM.Disp.TooltipWarnCaut.style.display = 'none';
CM.Disp.TooltipWarnCaut.style.left = 'auto';
CM.Disp.TooltipWarnCaut.style.bottom = 'auto';
var create = function(boxId, color, labelTextFront, labelTextBack, deficitId) {
var box = document.createElement('div');
box.id = boxId;
@@ -1569,7 +1571,7 @@ CM.Disp.Tooltip = function(type, name) {
var buildPrice = CM.Sim.BuildingGetPrice(Game.Objects[name].basePrice, 0, Game.Objects[name].free, Game.Objects[name].amount);
var amortizeAmount = buildPrice - Game.Objects[name].totalCookies;
if (amortizeAmount > 0) {
l('tooltip').innerHTML = l('tooltip').innerHTML.split('so far</div>').join('so far<br/>&bull; <b>' + Beautify(amortizeAmount) + '</b> ' + (Math.floor(amortizeAmount) == 1 ? 'cookie' : 'cookies') + ' left to amortize (' + CM.Disp.GetTimeColor(buildPrice, Game.Objects[name].totalCookies, (Game.Objects[name].storedTotalCps * Game.globalCpsMult)).text + ')</div>');
l('tooltip').innerHTML = l('tooltip').innerHTML.split('so far</div>').join('so far<br/>&bull; <b>' + Beautify(amortizeAmount) + '</b> ' + (Math.floor(amortizeAmount) == 1 ? 'cookie' : 'cookies') + ' left to amortize (' + CM.Disp.GetTimeColor(buildPrice, Game.Objects[name].totalCookies, (Game.Objects[name].storedTotalCps * Game.globalCpsMult)).text + ')</div>');
}
}
if (Game.buyMode == 1) {
@@ -1603,11 +1605,11 @@ CM.Disp.Tooltip = function(type, name) {
else { // Grimoire
l('tooltip').innerHTML = Game.Objects['Wizard tower'].minigame.spellTooltip(name)();
}
var area = document.createElement('div');
area.id = 'CMTooltipArea';
l('tooltip').appendChild(area);
if (CM.Config.Tooltip == 1 && (type == 'u' || (type == 'b' && Game.buyMode == 1))) {
l('tooltip').firstChild.style.paddingBottom = '4px';
var tooltip = document.createElement('div');
@@ -1615,7 +1617,7 @@ CM.Disp.Tooltip = function(type, name) {
tooltip.style.padding = '4px';
tooltip.style.margin = '0px -4px';
tooltip.id = 'CMTooltipBorder';
var header = function(text) {
var div = document.createElement('div');
div.style.fontWeight = 'bold';
@@ -1623,7 +1625,7 @@ CM.Disp.Tooltip = function(type, name) {
div.textContent = text;
return div;
}
tooltip.appendChild(header('Bonus Income'));
var income = document.createElement('div');
income.style.marginBottom = '4px';
@@ -1639,21 +1641,21 @@ CM.Disp.Tooltip = function(type, name) {
var time = document.createElement('div');
time.id = 'CMTooltipTime';
tooltip.appendChild(time);
area.appendChild(tooltip);
}
CM.Disp.tooltipType = type;
CM.Disp.tooltipName = name;
CM.Disp.UpdateTooltip();
return l('tooltip').innerHTML;
}
CM.Disp.UpdateTooltip = function() {
if (l('tooltipAnchor').style.display != 'none' && l('CMTooltipArea') != null) {
if (CM.Disp.tooltipType == 'b' || CM.Disp.tooltipType == 'u') {
// Error checking
if (CM.Disp.tooltipType == 'u' && (typeof Game.UpgradesInStore[CM.Disp.tooltipName] === 'undefined' || typeof CM.Cache.Upgrades[Game.UpgradesInStore[CM.Disp.tooltipName].name] === 'undefined')) {
@@ -1698,7 +1700,7 @@ CM.Disp.UpdateTooltip = function() {
if (isFinite(increase) && increase != 0) {
l('CMTooltipIncome').textContent += ' (' + (increase / 100) + '% of income)';
}
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;
@@ -1750,10 +1752,10 @@ CM.Disp.UpdateTooltip = function() {
var minigame = Game.Objects['Wizard tower'].minigame;
var spellCost = minigame.getSpellCost(minigame.spellsById[CM.Disp.tooltipName]);
if (CM.Config.Tooltip == 1 && spellCost <= minigame.magicM) {
l('CMTooltipArea').innerHTML = '';
l('tooltip').firstChild.style.paddingBottom = '4px';
var tooltip = document.createElement('div');
tooltip.style.border = '1px solid';
@@ -1769,7 +1771,7 @@ CM.Disp.UpdateTooltip = function() {
div.textContent = text;
return div;
}
tooltip.appendChild(header('Time Left'));
var time = document.createElement('div');
time.id = 'CMTooltipTime';
@@ -1777,7 +1779,7 @@ CM.Disp.UpdateTooltip = function() {
var timeColor = CM.Disp.GetTimeColor(spellCost, minigame.magic, undefined, CM.Disp.CalculateGrimoireRefillTime(minigame.magic, minigame.magicM, spellCost));
time.textContent = timeColor.text;
time.className = CM.Disp.colorTextPre + timeColor.color;
if (spellCost <= minigame.magic) {
tooltip.appendChild(header('Recover Time'));
var recover = document.createElement('div');
@@ -1787,7 +1789,7 @@ CM.Disp.UpdateTooltip = function() {
recover.textContent = recoverColor.text;
recover.className = CM.Disp.colorTextPre + recoverColor.color;
}
l('CMTooltipArea').appendChild(tooltip);
}
}
@@ -1945,4 +1947,3 @@ CM.Disp.TooltipWrinklerCache = [];
for (var i in Game.wrinklers) {
CM.Disp.TooltipWrinklerCache[i] = 0;
}