diff --git a/CookieMonster.js b/CookieMonster.js
index 77a4beb..45e22d0 100644
--- a/CookieMonster.js
+++ b/CookieMonster.js
@@ -529,7 +529,7 @@ CM.ConfigData.SeaSoundURL = {label: 'Season Special Sound URL:', desc: 'URL of t
CM.ConfigData.GCTimer = {label: ['Golden Cookie Timer OFF', 'Golden Cookie Timer ON'], desc: 'A timer on the Golden Cookie when it has been spawned', toggle: true, func: function() {CM.Disp.ToggleGCTimer();}};
CM.ConfigData.Title = {label: ['Title OFF', 'Title ON', 'Title Pinned Tab Highlight'], desc: 'Update title with Golden Cookie/Season Popup timers; pinned tab highlight only changes the title when a Golden Cookie/Season Popup spawns', toggle: true};
CM.ConfigData.Favicon = {label: ['Favicon OFF', 'Favicon ON'], desc: 'Update favicon with Golden/Wrath Cookie', toggle: true, func: function() {CM.Disp.UpdateFavicon();}};
-CM.ConfigData.Tooltip = {label: ['Tooltip Information OFF', 'Tooltip Information ON'], desc: 'Extra information in tooltip for buildings/upgrades/grimoire', toggle: true};
+CM.ConfigData.Tooltip = {label: ['Tooltip Information OFF', 'Tooltip Information ON'], desc: 'Extra information in tooltip for buildings/upgrades', toggle: true};
CM.ConfigData.TooltipAmor = {label: ['Tooltip Amortization Information OFF', 'Tooltip Amortization Information ON'], desc: 'Add amortization information to buildings tooltip', toggle: true};
CM.ConfigData.ToolWarnCaut = {label: ['Tooltip Warning/Caution OFF', 'Tooltip Warning/Caution ON'], desc: 'A warning/caution when buying if it will put the bank under the amount needed for max "Lucky!"/"Lucky!" (Frenzy) rewards', toggle: true, func: function() {CM.Disp.ToggleToolWarnCaut();}};
CM.ConfigData.ToolWarnCautPos = {label: ['Tooltip Warning/Caution Position (Left)', 'Tooltip Warning/Caution Position (Bottom)'], desc: 'Placement of the warning/caution boxes', toggle: false, func: function() {CM.Disp.ToggleToolWarnCautPos();}};
@@ -584,7 +584,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);
@@ -614,7 +614,7 @@ CM.Disp.GetTimeColor = function(price, bank, cps, time) {
text = '00:00:00:00:00';
}
else {
- text = 'Done!';
+ text = 'Ready';
}
}
else {
@@ -646,7 +646,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)) {
@@ -664,7 +664,7 @@ CM.Disp.Beautify = function(num, frac) {
if (answer == '') {
answer = CM.Backup.Beautify(num, frac);
}
-
+
if (negative) {
answer = '-' + answer;
}
@@ -729,14 +729,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';
@@ -744,7 +746,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));
@@ -758,7 +760,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) + ' ('));
@@ -770,11 +772,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);
}
@@ -792,7 +794,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;
@@ -806,7 +808,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());
@@ -825,7 +827,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%';
@@ -836,7 +838,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';
@@ -845,7 +847,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
@@ -860,7 +862,7 @@ CM.Disp.CreateTimerBar = function() {
}
div.appendChild(colorBar);
}
-
+
var timer = document.createElement('span');
timer.id = time;
timer.style.marginLeft = '5px';
@@ -868,7 +870,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';
@@ -876,7 +878,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';
@@ -884,7 +886,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';
@@ -893,7 +895,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';
@@ -902,7 +904,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);
}
@@ -935,7 +937,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';
@@ -954,7 +956,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';
@@ -965,7 +967,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]) {
@@ -994,7 +996,7 @@ CM.Disp.UpdateTimerBar = function() {
CM.Disp.TimerBarBuff1.style.display = 'none';
}
}
-
+
/*if (Game.frenzy > 0) {
CM.Disp.TimerBarBuff1.style.display = '';
if (Game.frenzyPower == 7) {
@@ -1020,7 +1022,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) {
@@ -1038,7 +1040,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';
@@ -1064,14 +1066,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();
}
@@ -1107,7 +1109,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';
@@ -1117,7 +1119,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';
@@ -1131,7 +1133,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'));
@@ -1140,9 +1142,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;
@@ -1159,7 +1161,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]);
}
@@ -1244,7 +1246,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);
}
@@ -1327,7 +1329,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);
}
@@ -1355,7 +1357,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);
}
@@ -1380,7 +1382,7 @@ CM.Disp.CheckSeasonPopup = function() {
break;
}
}
-
+
CM.Disp.Flash(3);
CM.Disp.PlaySound(CM.Config.SeaSoundURL);
}
@@ -1393,7 +1395,7 @@ CM.Disp.UpdateTitle = function() {
}
else if (CM.Config.Title == 1) {
var addSP = false;
-
+
var titleGC;
var titleSP;
if (CM.Disp.lastGoldenCookieState) {
@@ -1419,12 +1421,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) {
@@ -1484,9 +1486,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';
@@ -1506,7 +1508,7 @@ CM.Disp.AddMenuPref = function(title) {
div.appendChild(label);
return div;
}
-
+
var url = function(config) {
var div = document.createElement('div');
div.className = 'listing';
@@ -1532,7 +1534,7 @@ CM.Disp.AddMenuPref = function(title) {
div.appendChild(label);
return div;
}
-
+
frag.appendChild(header('Bars/Colors'));
frag.appendChild(listing('BotBar'));
frag.appendChild(listing('TimerBar'));
@@ -1556,7 +1558,7 @@ CM.Disp.AddMenuPref = function(title) {
div.appendChild(label);
frag.appendChild(div);
}
-
+
frag.appendChild(header('Calculation'));
frag.appendChild(listing('CalcWrink'));
frag.appendChild(listing('CPSMode'));
@@ -1566,7 +1568,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';
@@ -1593,22 +1595,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');
@@ -1617,9 +1619,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();};
}
@@ -1649,12 +1651,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';
@@ -1666,7 +1668,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 + ' '));
@@ -1687,7 +1689,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;
@@ -1712,7 +1714,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';
@@ -1741,7 +1743,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;
@@ -1752,7 +1754,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;
@@ -1764,13 +1766,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';
@@ -1824,9 +1826,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)));
@@ -1851,9 +1853,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) + ' '));
@@ -1865,7 +1867,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) {
@@ -1902,9 +1904,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) {
@@ -1959,10 +1961,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))));
@@ -1980,7 +1982,7 @@ CM.Disp.AddMenu = function() {
div.textContent = 'Cookie Monster Goodies';
return div;
}
-
+
if (Game.onMenu == 'prefs') {
CM.Disp.AddMenuPref(title);
}
@@ -2011,7 +2013,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;
@@ -2119,7 +2121,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').join('so far
• ' + Beautify(amortizeAmount) + ' ' + (Math.floor(amortizeAmount) == 1 ? 'cookie' : 'cookies') + ' left to amortize (' + CM.Disp.GetTimeColor(buildPrice, Game.Objects[name].totalCookies, (Game.Objects[name].storedTotalCps * Game.globalCpsMult)).text + ')');
+ l('tooltip').innerHTML = l('tooltip').innerHTML.split('so far').join('so far
• ' + Beautify(amortizeAmount) + ' ' + (Math.floor(amortizeAmount) == 1 ? 'cookie' : 'cookies') + ' left to amortize (' + CM.Disp.GetTimeColor(buildPrice, Game.Objects[name].totalCookies, (Game.Objects[name].storedTotalCps * Game.globalCpsMult)).text + ')');
}
}
if (Game.buyMode == 1) {
@@ -2153,11 +2155,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');
@@ -2165,7 +2167,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';
@@ -2173,7 +2175,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';
@@ -2189,21 +2191,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')) {
@@ -2248,7 +2250,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;
@@ -2300,10 +2302,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';
@@ -2319,7 +2321,7 @@ CM.Disp.UpdateTooltip = function() {
div.textContent = text;
return div;
}
-
+
tooltip.appendChild(header('Time Left'));
var time = document.createElement('div');
time.id = 'CMTooltipTime';
@@ -2327,7 +2329,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');
@@ -2337,7 +2339,7 @@ CM.Disp.UpdateTooltip = function() {
recover.textContent = recoverColor.text;
recover.className = CM.Disp.colorTextPre + recoverColor.color;
}
-
+
l('CMTooltipArea').appendChild(tooltip);
}
}
@@ -2495,7 +2497,6 @@ CM.Disp.TooltipWrinklerCache = [];
for (var i in Game.wrinklers) {
CM.Disp.TooltipWrinklerCache[i] = 0;
}
-
/********
* Main *
********/
@@ -2749,7 +2750,7 @@ CM.ConfigDefault = {BotBar: 1, TimerBar: 1, TimerBarPos: 0, BuildColor: 1, BulkB
CM.ConfigPrefix = 'CMConfig';
CM.VersionMajor = '2.0042';
-CM.VersionMinor = '3';
+CM.VersionMinor = '2';
/*******
* Sim *
diff --git a/src/Cache.js b/src/Cache.js
index adcf847..39c4ae3 100644
--- a/src/Cache.js
+++ b/src/Cache.js
@@ -133,14 +133,6 @@ CM.Cache.RemakePP = function() {
CM.Cache.RemakeBuildingsOtherPP(100, 'Objects100');
}
-CM.Cache.RemakeMultiple = function () {
- for (var i in CM.Cache.Objects) {
- var nextMultiple = 50 - Game.Objects[i].amount % 50;
- CM.Cache.Objects[i].multiple_quantity = nextMultiple;
- CM.Cache.Objects[i].multiple_price = CM.Sim.BuildingGetPrice(Game.Objects[i].basePrice, Game.Objects[i].amount, Game.Objects[i].free, nextMultiple);
- }
-}
-
CM.Cache.RemakeLucky = function() {
CM.Cache.Lucky = (CM.Cache.NoGoldSwitchCookiesPS * 60 * 15) / 0.15;
CM.Cache.Lucky /= CM.Sim.getCPSBuffMult();
diff --git a/src/Config.js b/src/Config.js
index 0b2dcbf..7f7e59b 100644
--- a/src/Config.js
+++ b/src/Config.js
@@ -137,9 +137,8 @@ CM.ConfigData.SeaSoundURL = {label: 'Season Special Sound URL:', desc: 'URL of t
CM.ConfigData.GCTimer = {label: ['Golden Cookie Timer OFF', 'Golden Cookie Timer ON'], desc: 'A timer on the Golden Cookie when it has been spawned', toggle: true, func: function() {CM.Disp.ToggleGCTimer();}};
CM.ConfigData.Title = {label: ['Title OFF', 'Title ON', 'Title Pinned Tab Highlight'], desc: 'Update title with Golden Cookie/Season Popup timers; pinned tab highlight only changes the title when a Golden Cookie/Season Popup spawns', toggle: true};
CM.ConfigData.Favicon = {label: ['Favicon OFF', 'Favicon ON'], desc: 'Update favicon with Golden/Wrath Cookie', toggle: true, func: function() {CM.Disp.UpdateFavicon();}};
-CM.ConfigData.Tooltip = {label: ['Tooltip Information OFF', 'Tooltip Information ON'], desc: 'Extra information in tooltip for buildings/upgrades/grimoire', toggle: true};
+CM.ConfigData.Tooltip = {label: ['Tooltip Information OFF', 'Tooltip Information ON'], desc: 'Extra information in tooltip for buildings/upgrades', toggle: true};
CM.ConfigData.TooltipAmor = {label: ['Tooltip Amortization Information OFF', 'Tooltip Amortization Information ON'], desc: 'Add amortization information to buildings tooltip', toggle: true};
-CM.ConfigData.TooltipNextMultiple = {label: ['Tooltip Next Multiple of 50 Information OFF', 'Tooltip Next Multiple of 50 Information ON'], desc: 'Add the total price necessary to reach the next multiple of 50 buildings of a kind to buildings tooltip', toggle: true};
CM.ConfigData.ToolWarnCaut = {label: ['Tooltip Warning/Caution OFF', 'Tooltip Warning/Caution ON'], desc: 'A warning/caution when buying if it will put the bank under the amount needed for max "Lucky!"/"Lucky!" (Frenzy) rewards', toggle: true, func: function() {CM.Disp.ToggleToolWarnCaut();}};
CM.ConfigData.ToolWarnCautPos = {label: ['Tooltip Warning/Caution Position (Left)', 'Tooltip Warning/Caution Position (Bottom)'], desc: 'Placement of the warning/caution boxes', toggle: false, func: function() {CM.Disp.ToggleToolWarnCautPos();}};
CM.ConfigData.ToolWrink = {label: ['Wrinkler Tooltip OFF', 'Wrinkler Tooltip ON'], desc: 'Shows the amount of cookies a wrinkler will give when popping it', toggle: true};
diff --git a/src/Disp.js b/src/Disp.js
index 33a3a07..6678d10 100644
--- a/src/Disp.js
+++ b/src/Disp.js
@@ -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,23 +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('TooltipNextMultiple'));
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');
@@ -1068,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();};
}
@@ -1100,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';
@@ -1117,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 + ' '));
@@ -1138,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;
@@ -1163,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';
@@ -1192,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;
@@ -1203,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;
@@ -1215,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';
@@ -1275,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)));
@@ -1302,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) + ' '));
@@ -1316,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) {
@@ -1353,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) {
@@ -1410,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))));
@@ -1431,7 +1432,7 @@ CM.Disp.AddMenu = function() {
div.textContent = 'Cookie Monster Goodies';
return div;
}
-
+
if (Game.onMenu == 'prefs') {
CM.Disp.AddMenuPref(title);
}
@@ -1462,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;
@@ -1566,23 +1567,13 @@ CM.Disp.AddTooltipGrimoire = function() {
CM.Disp.Tooltip = function(type, name) {
if (type == 'b') {
l('tooltip').innerHTML = Game.Objects[name].tooltip();
- var addedAmor = false;
-
if (CM.Config.TooltipAmor == 1) {
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) {
- addedAmor = true;
l('tooltip').innerHTML = l('tooltip').innerHTML.split('so far').join('so far
• ' + Beautify(amortizeAmount) + ' ' + (Math.floor(amortizeAmount) == 1 ? 'cookie' : 'cookies') + ' left to amortize (' + CM.Disp.GetTimeColor(buildPrice, Game.Objects[name].totalCookies, (Game.Objects[name].storedTotalCps * Game.globalCpsMult)).text + ')');
}
}
-
- if (CM.Config.TooltipNextMultiple == 1) {
- var marker = addedAmor ? ')' : 'so far';
- var multiple_quantity = CM.Cache.Objects[name].multiple_quantity;
- l('tooltip').innerHTML = l('tooltip').innerHTML.split(marker + '').join(marker + '
• ' + multiple_quantity + ' ' + (multiple_quantity == 1 ? Game.Objects[name].single : Game.Objects[name].plural) + ' left to reach ' + (Game.Objects[name].amount + multiple_quantity) + ', ' + Beautify(CM.Cache.Objects[name].multiple_price, 2) + ' cookies in total (' + CM.Disp.GetTimeColor(CM.Cache.Objects[name].multiple_price, (Game.cookies + CM.Disp.GetWrinkConfigBank()), CM.Disp.GetCPS()).text + ')');
- }
-
if (Game.buyMode == 1) {
var target = '';
var change = false;
@@ -1614,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');
@@ -1626,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';
@@ -1634,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';
@@ -1650,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')) {
@@ -1709,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;
@@ -1761,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';
@@ -1780,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';
@@ -1788,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');
@@ -1798,7 +1789,7 @@ CM.Disp.UpdateTooltip = function() {
recover.textContent = recoverColor.text;
recover.className = CM.Disp.colorTextPre + recoverColor.color;
}
-
+
l('CMTooltipArea').appendChild(tooltip);
}
}
@@ -1956,4 +1947,3 @@ CM.Disp.TooltipWrinklerCache = [];
for (var i in Game.wrinklers) {
CM.Disp.TooltipWrinklerCache[i] = 0;
}
-
diff --git a/src/Main.js b/src/Main.js
index 5ab37a0..f4ba933 100644
--- a/src/Main.js
+++ b/src/Main.js
@@ -162,10 +162,6 @@ CM.Loop = function() {
// Calculate PP
CM.Cache.RemakePP();
- // Calculate total price until reaching next multiple of 50
- // for each building
- CM.Cache.RemakeMultiple();
-
// Update colors
CM.Disp.UpdateBotBarOther();
CM.Disp.UpdateBuildings();
@@ -251,9 +247,9 @@ CM.DelayInit = function() {
CM.HasReplaceNativeGrimoireLaunch = false;
CM.HasReplaceNativeGrimoireDraw = false;
-CM.ConfigDefault = {BotBar: 1, TimerBar: 1, TimerBarPos: 0, BuildColor: 1, BulkBuildColor: 0, UpBarColor: 1, CalcWrink: 0, CPSMode: 1, AvgCPSHist: 0, AvgClicksHist: 0, ToolWarnCautBon: 0, Flash: 1, Sound: 1, Volume: 100, GCSoundURL: 'http://freesound.org/data/previews/66/66717_931655-lq.mp3', SeaSoundURL: 'http://www.freesound.org/data/previews/121/121099_2193266-lq.mp3', GCTimer: 1, Title: 1, Favicon: 1, Tooltip: 1, TooltipAmor: 0, TooltipNextMultiple: 0, ToolWarnCaut: 1, ToolWarnCautPos: 1, ToolWrink: 1, Stats: 1, UpStats: 1, TimeFormat: 0, SayTime: 1, Scale: 2, StatsPref: {Lucky: 1, Chain: 1, Prestige: 1, Wrink: 1, Sea: 1, Misc: 1}, Colors : {Blue: '#4bb8f0', Green: '#00ff00', Yellow: '#ffff00', Orange: '#ff7f00', Red: '#ff0000', Purple: '#ff00ff', Gray: '#b3b3b3', Pink: '#ff1493', Brown: '#8b4513'}};
+CM.ConfigDefault = {BotBar: 1, TimerBar: 1, TimerBarPos: 0, BuildColor: 1, BulkBuildColor: 0, UpBarColor: 1, CalcWrink: 0, CPSMode: 1, AvgCPSHist: 0, AvgClicksHist: 0, ToolWarnCautBon: 0, Flash: 1, Sound: 1, Volume: 100, GCSoundURL: 'http://freesound.org/data/previews/66/66717_931655-lq.mp3', SeaSoundURL: 'http://www.freesound.org/data/previews/121/121099_2193266-lq.mp3', GCTimer: 1, Title: 1, Favicon: 1, Tooltip: 1, TooltipAmor: 0, ToolWarnCaut: 1, ToolWarnCautPos: 1, ToolWrink: 1, Stats: 1, UpStats: 1, TimeFormat: 0, SayTime: 1, Scale: 2, StatsPref: {Lucky: 1, Chain: 1, Prestige: 1, Wrink: 1, Sea: 1, Misc: 1}, Colors : {Blue: '#4bb8f0', Green: '#00ff00', Yellow: '#ffff00', Orange: '#ff7f00', Red: '#ff0000', Purple: '#ff00ff', Gray: '#b3b3b3', Pink: '#ff1493', Brown: '#8b4513'}};
CM.ConfigPrefix = 'CMConfig';
CM.VersionMajor = '2.0042';
-CM.VersionMinor = '3';
+CM.VersionMinor = '2';