This commit is contained in:
redthefed
2018-02-16 18:53:56 -06:00
parent 7295e0ea76
commit 0f8b5b7da7
5 changed files with 188 additions and 210 deletions

View File

@@ -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.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.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.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.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.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.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; str += s;
} else { } else {
if (time > 777600000) return format ? 'Over 9000 days!' : '>9000d'; if (time > 86400) return format ? 'Over 24 hours' : '>24h';
time = Math.ceil(time); time = Math.ceil(time);
var d = Math.floor(time / 86400); var d = Math.floor(time / 86400);
var h = Math.floor(time % 86400 / 3600); 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'; text = '00:00:00:00:00';
} }
else { else {
text = 'Done!'; text = 'Ready';
} }
} }
else { else {
@@ -646,7 +646,7 @@ CM.Disp.Beautify = function(num, frac) {
num = Math.abs(num); num = Math.abs(num);
negative = true; negative = true;
} }
for (var i = (CM.Disp.shortScale.length - 1); i >= 0; i--) { for (var i = (CM.Disp.shortScale.length - 1); i >= 0; i--) {
if (i < CM.Disp.metric.length && CM.Config.Scale == 1) { if (i < CM.Disp.metric.length && CM.Config.Scale == 1) {
if (num >= Math.pow(1000, i + 2)) { if (num >= Math.pow(1000, i + 2)) {
@@ -664,7 +664,7 @@ CM.Disp.Beautify = function(num, frac) {
if (answer == '') { if (answer == '') {
answer = CM.Backup.Beautify(num, frac); answer = CM.Backup.Beautify(num, frac);
} }
if (negative) { if (negative) {
answer = '-' + answer; answer = '-' + answer;
} }
@@ -729,14 +729,16 @@ CM.Disp.CreateBotBar = function() {
CM.Disp.BotBar.style.borderTop = '1px solid black'; CM.Disp.BotBar.style.borderTop = '1px solid black';
CM.Disp.BotBar.style.overflow = 'auto'; CM.Disp.BotBar.style.overflow = 'auto';
CM.Disp.BotBar.style.textShadow = '-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black'; CM.Disp.BotBar.style.textShadow = '-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black';
var table = document.createElement('table'); var table = document.createElement('table');
table.style.width = '100%'; table.style.width = '100%';
table.style.textAlign = 'center'; table.style.textAlign = 'center';
table.style.whiteSpace = 'nowrap'; table.style.whiteSpace = 'nowrap';
table.style.tableLayout = 'fixed';
table.style.overflow = 'hidden';
var tbody = document.createElement('tbody'); var tbody = document.createElement('tbody');
table.appendChild(tbody); table.appendChild(tbody);
var firstCol = function(text, color) { var firstCol = function(text, color) {
var td = document.createElement('td'); var td = document.createElement('td');
td.style.textAlign = 'right'; td.style.textAlign = 'right';
@@ -744,7 +746,7 @@ CM.Disp.CreateBotBar = function() {
td.textContent = text; td.textContent = text;
return td; return td;
} }
var type = document.createElement('tr'); var type = document.createElement('tr');
type.style.fontWeight = 'bold'; type.style.fontWeight = 'bold';
type.appendChild(firstCol(CM.VersionMajor + '.' + CM.VersionMinor, CM.Disp.colorYellow)); type.appendChild(firstCol(CM.VersionMajor + '.' + CM.VersionMinor, CM.Disp.colorYellow));
@@ -758,7 +760,7 @@ CM.Disp.CreateBotBar = function() {
var time = document.createElement('tr'); var time = document.createElement('tr');
time.appendChild(firstCol('Time Left', CM.Disp.colorBlue)); time.appendChild(firstCol('Time Left', CM.Disp.colorBlue));
tbody.appendChild(time); tbody.appendChild(time);
for (var i in Game.Objects) { for (var i in Game.Objects) {
var header = document.createElement('td'); var header = document.createElement('td');
header.appendChild(document.createTextNode((i.indexOf(' ') != -1 ? i.substring(0, i.indexOf(' ')) : i) + ' (')); 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')); bonus.appendChild(document.createElement('td'));
pp.appendChild(document.createElement('td')); pp.appendChild(document.createElement('td'));
time.appendChild(document.createElement('td')); time.appendChild(document.createElement('td'));
} }
CM.Disp.BotBar.appendChild(table); CM.Disp.BotBar.appendChild(table);
l('wrapper').appendChild(CM.Disp.BotBar); l('wrapper').appendChild(CM.Disp.BotBar);
} }
@@ -792,7 +794,7 @@ CM.Disp.ToggleBotBar = function() {
CM.Disp.UpdateBotBarOther = function() { CM.Disp.UpdateBotBarOther = function() {
if (CM.Config.BotBar == 1) { if (CM.Config.BotBar == 1) {
var count = 0; var count = 0;
for (var i in CM.Cache.Objects) { for (var i in CM.Cache.Objects) {
count++; count++;
CM.Disp.BotBar.firstChild.firstChild.childNodes[0].childNodes[count].childNodes[1].textContent = Game.Objects[i].amount; 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() { CM.Disp.UpdateBotBarTime = function() {
if (CM.Config.BotBar == 1) { if (CM.Config.BotBar == 1) {
var count = 0; var count = 0;
for (var i in CM.Cache.Objects) { for (var i in CM.Cache.Objects) {
count++; count++;
var timeColor = CM.Disp.GetTimeColor(Game.Objects[i].getPrice(), (Game.cookies + CM.Disp.GetWrinkConfigBank()), CM.Disp.GetCPS()); 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.fontSize = '10px';
CM.Disp.TimerBar.style.fontWeight = 'bold'; CM.Disp.TimerBar.style.fontWeight = 'bold';
CM.Disp.TimerBar.style.backgroundColor = 'black'; CM.Disp.TimerBar.style.backgroundColor = 'black';
var bar = function(name, bars, time) { var bar = function(name, bars, time) {
var div = document.createElement('div'); var div = document.createElement('div');
div.style.width = '100%'; div.style.width = '100%';
@@ -836,7 +838,7 @@ CM.Disp.CreateTimerBar = function() {
div.style.top = '0px'; div.style.top = '0px';
div.style.right = '0px'; div.style.right = '0px';
div.style.bottom = '0px'; div.style.bottom = '0px';
var type = document.createElement('span'); var type = document.createElement('span');
type.style.display = 'inline-block'; type.style.display = 'inline-block';
type.style.textAlign = 'right'; type.style.textAlign = 'right';
@@ -845,7 +847,7 @@ CM.Disp.CreateTimerBar = function() {
type.style.verticalAlign = 'text-top'; type.style.verticalAlign = 'text-top';
type.textContent = name; type.textContent = name;
div.appendChild(type); div.appendChild(type);
for (var i = 0; i < bars.length; i++) { for (var i = 0; i < bars.length; i++) {
var colorBar = document.createElement('span'); var colorBar = document.createElement('span');
colorBar.id = bars[i].id colorBar.id = bars[i].id
@@ -860,7 +862,7 @@ CM.Disp.CreateTimerBar = function() {
} }
div.appendChild(colorBar); div.appendChild(colorBar);
} }
var timer = document.createElement('span'); var timer = document.createElement('span');
timer.id = time; timer.id = time;
timer.style.marginLeft = '5px'; timer.style.marginLeft = '5px';
@@ -868,7 +870,7 @@ CM.Disp.CreateTimerBar = function() {
div.appendChild(timer); div.appendChild(timer);
return div return div
} }
CM.Disp.TimerBarGC = document.createElement('div'); CM.Disp.TimerBarGC = document.createElement('div');
CM.Disp.TimerBarGC.id = 'CMTimerBarGC'; CM.Disp.TimerBarGC.id = 'CMTimerBarGC';
CM.Disp.TimerBarGC.style.height = '12px'; CM.Disp.TimerBarGC.style.height = '12px';
@@ -876,7 +878,7 @@ CM.Disp.CreateTimerBar = function() {
CM.Disp.TimerBarGC.style.position = 'relative'; 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.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.TimerBar.appendChild(CM.Disp.TimerBarGC);
CM.Disp.TimerBarRen = document.createElement('div'); CM.Disp.TimerBarRen = document.createElement('div');
CM.Disp.TimerBarRen.id = 'CMTimerBarRen'; CM.Disp.TimerBarRen.id = 'CMTimerBarRen';
CM.Disp.TimerBarRen.style.height = '12px'; CM.Disp.TimerBarRen.style.height = '12px';
@@ -884,7 +886,7 @@ CM.Disp.CreateTimerBar = function() {
CM.Disp.TimerBarRen.style.position = 'relative'; 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.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.TimerBar.appendChild(CM.Disp.TimerBarRen);
CM.Disp.TimerBarBuff1 = document.createElement('div'); CM.Disp.TimerBarBuff1 = document.createElement('div');
CM.Disp.TimerBarBuff1.id = 'CMTimerBarBuff1'; CM.Disp.TimerBarBuff1.id = 'CMTimerBarBuff1';
CM.Disp.TimerBarBuff1.style.height = '12px'; 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.appendChild(bar('', [{id: 'CMTimerBarBuff1Bar'}], 'CMTimerBarBuff1Time'));
CM.Disp.TimerBarBuff1.firstChild.firstChild.id = 'CMTimerBarBuff1Type'; CM.Disp.TimerBarBuff1.firstChild.firstChild.id = 'CMTimerBarBuff1Type';
CM.Disp.TimerBar.appendChild(CM.Disp.TimerBarBuff1); CM.Disp.TimerBar.appendChild(CM.Disp.TimerBarBuff1);
CM.Disp.TimerBarBuff2 = document.createElement('div'); CM.Disp.TimerBarBuff2 = document.createElement('div');
CM.Disp.TimerBarBuff2.id = 'CMTimerBarBuff2'; CM.Disp.TimerBarBuff2.id = 'CMTimerBarBuff2';
CM.Disp.TimerBarBuff2.style.height = '12px'; 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.appendChild(bar('', [{id: 'CMTimerBarBuff2Bar'}], 'CMTimerBarBuff2Time'));
CM.Disp.TimerBarBuff2.firstChild.firstChild.id = 'CMTimerBarBuff2Type'; CM.Disp.TimerBarBuff2.firstChild.firstChild.id = 'CMTimerBarBuff2Type';
CM.Disp.TimerBar.appendChild(CM.Disp.TimerBarBuff2); CM.Disp.TimerBar.appendChild(CM.Disp.TimerBarBuff2);
l('wrapper').appendChild(CM.Disp.TimerBar); l('wrapper').appendChild(CM.Disp.TimerBar);
} }
@@ -935,7 +937,7 @@ CM.Disp.UpdateTimerBar = function() {
// label width: 113, timer width: 26, div margin: 20 // label width: 113, timer width: 26, div margin: 20
var maxWidth = CM.Disp.TimerBar.offsetWidth - 159; var maxWidth = CM.Disp.TimerBar.offsetWidth - 159;
var count = 0; var count = 0;
if (Game.shimmerTypes['golden'].spawned == 0 && !Game.Has('Golden switch [off]')) { if (Game.shimmerTypes['golden'].spawned == 0 && !Game.Has('Golden switch [off]')) {
CM.Disp.TimerBarGC.style.display = ''; 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'; 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 { else {
CM.Disp.TimerBarGC.style.display = 'none'; CM.Disp.TimerBarGC.style.display = 'none';
} }
if (Game.season == 'christmas' && Game.shimmerTypes['reindeer'].spawned == 0) { if (Game.season == 'christmas' && Game.shimmerTypes['reindeer'].spawned == 0) {
CM.Disp.TimerBarRen.style.display = ''; 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'; 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 { else {
CM.Disp.TimerBarRen.style.display = 'none'; CM.Disp.TimerBarRen.style.display = 'none';
} }
var buffCount = 0; var buffCount = 0;
for (var i in Game.buffs) { for (var i in Game.buffs) {
if (Game.buffs[i]) { if (Game.buffs[i]) {
@@ -994,7 +996,7 @@ CM.Disp.UpdateTimerBar = function() {
CM.Disp.TimerBarBuff1.style.display = 'none'; CM.Disp.TimerBarBuff1.style.display = 'none';
} }
} }
/*if (Game.frenzy > 0) { /*if (Game.frenzy > 0) {
CM.Disp.TimerBarBuff1.style.display = ''; CM.Disp.TimerBarBuff1.style.display = '';
if (Game.frenzyPower == 7) { if (Game.frenzyPower == 7) {
@@ -1020,7 +1022,7 @@ CM.Disp.UpdateTimerBar = function() {
else { else {
CM.Disp.TimerBarBuff1.style.display = 'none'; CM.Disp.TimerBarBuff1.style.display = 'none';
} }
if (Game.clickFrenzy > 0) { if (Game.clickFrenzy > 0) {
CM.Disp.TimerBarBuff2.style.display = ''; CM.Disp.TimerBarBuff2.style.display = '';
if (Game.clickFrenzyPower == 777) { if (Game.clickFrenzyPower == 777) {
@@ -1038,7 +1040,7 @@ CM.Disp.UpdateTimerBar = function() {
else { else {
CM.Disp.TimerBarBuff2.style.display = 'none'; CM.Disp.TimerBarBuff2.style.display = 'none';
}*/ }*/
if (count != 0) { if (count != 0) {
var height = 48 / count; var height = 48 / count;
CM.Disp.TimerBarGC.style.height = height + 'px'; CM.Disp.TimerBarGC.style.height = height + 'px';
@@ -1064,14 +1066,14 @@ CM.Disp.UpdateBotTimerBarDisplay = function() {
else { // No bars else { // No bars
l('game').style.bottom = '0px'; l('game').style.bottom = '0px';
} }
if (CM.Config.TimerBar == 1 && CM.Config.TimerBarPos == 0) { if (CM.Config.TimerBar == 1 && CM.Config.TimerBarPos == 0) {
l('sectionLeft').style.top = '48px'; l('sectionLeft').style.top = '48px';
} }
else { else {
l('sectionLeft').style.top = ''; l('sectionLeft').style.top = '';
} }
CM.Disp.UpdateBackground(); CM.Disp.UpdateBackground();
} }
@@ -1107,7 +1109,7 @@ CM.Disp.CreateUpgradeBar = function() {
CM.Disp.UpgradeBar.style.fontWeight = 'bold'; CM.Disp.UpgradeBar.style.fontWeight = 'bold';
CM.Disp.UpgradeBar.style.display = 'none'; CM.Disp.UpgradeBar.style.display = 'none';
CM.Disp.UpgradeBar.onmouseout = function() { Game.tooltip.hide(); }; CM.Disp.UpgradeBar.onmouseout = function() { Game.tooltip.hide(); };
var placeholder = document.createElement('div'); var placeholder = document.createElement('div');
var legend = document.createElement('div'); var legend = document.createElement('div');
legend.style.minWidth = '330px'; legend.style.minWidth = '330px';
@@ -1117,7 +1119,7 @@ CM.Disp.CreateUpgradeBar = function() {
title.style.marginBottom = '4px'; title.style.marginBottom = '4px';
title.textContent = 'Legend'; title.textContent = 'Legend';
legend.appendChild(title); legend.appendChild(title);
var legendLine = function(color, text) { var legendLine = function(color, text) {
var div = document.createElement('div'); var div = document.createElement('div');
div.style.verticalAlign = 'middle'; div.style.verticalAlign = 'middle';
@@ -1131,7 +1133,7 @@ CM.Disp.CreateUpgradeBar = function() {
div.appendChild(document.createTextNode(text)); div.appendChild(document.createTextNode(text));
return div; return div;
} }
legend.appendChild(legendLine(CM.Disp.colorBlue, 'Better than best PP building')); 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.colorGreen, 'Same as best PP building'));
legend.appendChild(legendLine(CM.Disp.colorYellow, 'Between best and worst PP buildings closer to best')); 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.colorPurple, 'Worse than worst PP building'));
legend.appendChild(legendLine(CM.Disp.colorGray, 'Negative or infinity PP')); legend.appendChild(legendLine(CM.Disp.colorGray, 'Negative or infinity PP'));
placeholder.appendChild(legend); placeholder.appendChild(legend);
CM.Disp.UpgradeBar.onmouseover = function() {Game.tooltip.draw(this, escape(placeholder.innerHTML), 'store');}; CM.Disp.UpgradeBar.onmouseover = function() {Game.tooltip.draw(this, escape(placeholder.innerHTML), 'store');};
var upgradeNumber = function(id, color) { var upgradeNumber = function(id, color) {
var span = document.createElement('span'); var span = document.createElement('span');
span.id = id; 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('CMUpgradeBarRed', CM.Disp.colorRed));
CM.Disp.UpgradeBar.appendChild(upgradeNumber('CMUpgradeBarPurple', CM.Disp.colorPurple)); CM.Disp.UpgradeBar.appendChild(upgradeNumber('CMUpgradeBarPurple', CM.Disp.colorPurple));
CM.Disp.UpgradeBar.appendChild(upgradeNumber('CMUpgradeBarGray', CM.Disp.colorGray)); CM.Disp.UpgradeBar.appendChild(upgradeNumber('CMUpgradeBarGray', CM.Disp.colorGray));
l('upgrades').parentNode.insertBefore(CM.Disp.UpgradeBar, l('upgrades').parentNode.childNodes[3]); 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.display = 'none';
CM.Disp.WhiteScreen.style.zIndex = '9999999999'; CM.Disp.WhiteScreen.style.zIndex = '9999999999';
CM.Disp.WhiteScreen.style.position = 'absolute'; CM.Disp.WhiteScreen.style.position = 'absolute';
l('wrapper').appendChild(CM.Disp.WhiteScreen); 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.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.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 = '';}; CM.Disp.GCTimer.onmouseout = function() {CM.Disp.goldenShimmer.l.style.filter = ''; CM.Disp.goldenShimmer.l.style.webkitFilter = '';};
l('game').appendChild(CM.Disp.GCTimer); 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.left = CM.Disp.goldenShimmer.l.style.left;
CM.Disp.GCTimer.style.top = CM.Disp.goldenShimmer.l.style.top; CM.Disp.GCTimer.style.top = CM.Disp.goldenShimmer.l.style.top;
} }
CM.Disp.Flash(3); CM.Disp.Flash(3);
CM.Disp.PlaySound(CM.Config.GCSoundURL); CM.Disp.PlaySound(CM.Config.GCSoundURL);
} }
@@ -1380,7 +1382,7 @@ CM.Disp.CheckSeasonPopup = function() {
break; break;
} }
} }
CM.Disp.Flash(3); CM.Disp.Flash(3);
CM.Disp.PlaySound(CM.Config.SeaSoundURL); CM.Disp.PlaySound(CM.Config.SeaSoundURL);
} }
@@ -1393,7 +1395,7 @@ CM.Disp.UpdateTitle = function() {
} }
else if (CM.Config.Title == 1) { else if (CM.Config.Title == 1) {
var addSP = false; var addSP = false;
var titleGC; var titleGC;
var titleSP; var titleSP;
if (CM.Disp.lastGoldenCookieState) { 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) + ']'; titleSP = '[' + Math.ceil((Game.shimmerTypes['reindeer'].maxTime - Game.shimmerTypes['reindeer'].time) / Game.fps) + ']';
} }
} }
var str = CM.Cache.Title; var str = CM.Cache.Title;
if (str.charAt(0) == '[') { if (str.charAt(0) == '[') {
str = str.substring(str.lastIndexOf(']') + 1); str = str.substring(str.lastIndexOf(']') + 1);
} }
document.title = titleGC + (addSP ? titleSP : '') + ' ' + str; document.title = titleGC + (addSP ? titleSP : '') + ' ' + str;
} }
else if (CM.Config.Title == 2) { else if (CM.Config.Title == 2) {
@@ -1484,9 +1486,9 @@ CM.Disp.AddMenuPref = function(title) {
} }
var frag = document.createDocumentFragment(); var frag = document.createDocumentFragment();
frag.appendChild(title()); frag.appendChild(title());
var listing = function(config) { var listing = function(config) {
var div = document.createElement('div'); var div = document.createElement('div');
div.className = 'listing'; div.className = 'listing';
@@ -1506,7 +1508,7 @@ CM.Disp.AddMenuPref = function(title) {
div.appendChild(label); div.appendChild(label);
return div; return div;
} }
var url = function(config) { var url = function(config) {
var div = document.createElement('div'); var div = document.createElement('div');
div.className = 'listing'; div.className = 'listing';
@@ -1532,7 +1534,7 @@ CM.Disp.AddMenuPref = function(title) {
div.appendChild(label); div.appendChild(label);
return div; return div;
} }
frag.appendChild(header('Bars/Colors')); frag.appendChild(header('Bars/Colors'));
frag.appendChild(listing('BotBar')); frag.appendChild(listing('BotBar'));
frag.appendChild(listing('TimerBar')); frag.appendChild(listing('TimerBar'));
@@ -1556,7 +1558,7 @@ CM.Disp.AddMenuPref = function(title) {
div.appendChild(label); div.appendChild(label);
frag.appendChild(div); frag.appendChild(div);
} }
frag.appendChild(header('Calculation')); frag.appendChild(header('Calculation'));
frag.appendChild(listing('CalcWrink')); frag.appendChild(listing('CalcWrink'));
frag.appendChild(listing('CPSMode')); frag.appendChild(listing('CPSMode'));
@@ -1566,7 +1568,7 @@ CM.Disp.AddMenuPref = function(title) {
frag.appendChild(header('Golden Cookie/Season Popup Emphasis')); frag.appendChild(header('Golden Cookie/Season Popup Emphasis'));
frag.appendChild(listing('Flash')); frag.appendChild(listing('Flash'));
frag.appendChild(listing('Sound')); frag.appendChild(listing('Sound'));
var volConfig = 'Volume'; var volConfig = 'Volume';
var volume = document.createElement('div'); var volume = document.createElement('div');
volume.className = 'listing'; volume.className = 'listing';
@@ -1593,22 +1595,22 @@ CM.Disp.AddMenuPref = function(title) {
frag.appendChild(listing('GCTimer')); frag.appendChild(listing('GCTimer'));
frag.appendChild(listing('Title')); frag.appendChild(listing('Title'));
frag.appendChild(listing('Favicon')); frag.appendChild(listing('Favicon'));
frag.appendChild(header('Tooltip')); frag.appendChild(header('Tooltip'));
frag.appendChild(listing('Tooltip')); frag.appendChild(listing('Tooltip'));
frag.appendChild(listing('TooltipAmor')); frag.appendChild(listing('TooltipAmor'));
frag.appendChild(listing('ToolWarnCaut')); frag.appendChild(listing('ToolWarnCaut'));
frag.appendChild(listing('ToolWarnCautPos')); frag.appendChild(listing('ToolWarnCautPos'));
frag.appendChild(listing('ToolWrink')); frag.appendChild(listing('ToolWrink'));
frag.appendChild(header('Statistics')); frag.appendChild(header('Statistics'));
frag.appendChild(listing('Stats')); frag.appendChild(listing('Stats'));
frag.appendChild(listing('UpStats')); frag.appendChild(listing('UpStats'));
frag.appendChild(listing('TimeFormat')); frag.appendChild(listing('TimeFormat'));
frag.appendChild(listing('SayTime')); frag.appendChild(listing('SayTime'));
frag.appendChild(header('Other')); frag.appendChild(header('Other'));
frag.appendChild(listing('Scale')); frag.appendChild(listing('Scale'));
var resDef = document.createElement('div'); var resDef = document.createElement('div');
resDef.className = 'listing'; resDef.className = 'listing';
var resDefBut = document.createElement('a'); var resDefBut = document.createElement('a');
@@ -1617,9 +1619,9 @@ CM.Disp.AddMenuPref = function(title) {
resDefBut.textContent = 'Restore Default'; resDefBut.textContent = 'Restore Default';
resDef.appendChild(resDefBut); resDef.appendChild(resDefBut);
frag.appendChild(resDef); frag.appendChild(resDef);
l('menu').childNodes[2].insertBefore(frag, l('menu').childNodes[2].childNodes[l('menu').childNodes[2].childNodes.length - 1]); l('menu').childNodes[2].insertBefore(frag, l('menu').childNodes[2].childNodes[l('menu').childNodes[2].childNodes.length - 1]);
CM.Disp.FormatButtonOnClickBak = l('formatButton').onclick; 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();}; 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); div.appendChild(span);
return div; return div;
} }
var stats = document.createElement('div'); var stats = document.createElement('div');
stats.className = 'subsection'; stats.className = 'subsection';
stats.appendChild(title()); stats.appendChild(title());
var listing = function(name, text) { var listing = function(name, text) {
var div = document.createElement('div'); var div = document.createElement('div');
div.className = 'listing'; div.className = 'listing';
@@ -1666,7 +1668,7 @@ CM.Disp.AddMenuStats = function(title) {
div.appendChild(text); div.appendChild(text);
return div; return div;
} }
var listingQuest = function(text, placeholder) { var listingQuest = function(text, placeholder) {
var frag = document.createDocumentFragment(); var frag = document.createDocumentFragment();
frag.appendChild(document.createTextNode(text + ' ')); frag.appendChild(document.createTextNode(text + ' '));
@@ -1687,7 +1689,7 @@ CM.Disp.AddMenuStats = function(title) {
frag.appendChild(span); frag.appendChild(span);
return frag; return frag;
} }
stats.appendChild(header('Lucky Cookies', 'Lucky')); stats.appendChild(header('Lucky Cookies', 'Lucky'));
if (CM.Config.StatsPref.Lucky) { if (CM.Config.StatsPref.Lucky) {
var luckyColor = ((Game.cookies + CM.Disp.GetWrinkConfigBank()) < CM.Cache.Lucky) ? CM.Disp.colorRed : CM.Disp.colorGreen; 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; luckyCurWrath *= 1.1;
} }
var luckySplit = luckyRewardMax != luckyRewardMaxWrath; var luckySplit = luckyRewardMax != luckyRewardMaxWrath;
var luckyReqFrag = document.createDocumentFragment(); var luckyReqFrag = document.createDocumentFragment();
var luckyReqSpan = document.createElement('span'); var luckyReqSpan = document.createElement('span');
luckyReqSpan.style.fontWeight = 'bold'; 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 (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(listing(listingQuest('\"Lucky!\" Reward (CUR)' + (luckySplit ? ' (Golden / Wrath)' : ''), 'GoldCookTooltipPlaceholder'), document.createTextNode(Beautify(luckyCur) + (luckySplit ? (' / ' + Beautify(luckyCurWrath)) : ''))));
} }
stats.appendChild(header('Chain Cookies', 'Chain')); stats.appendChild(header('Chain Cookies', 'Chain'));
if (CM.Config.StatsPref.Chain) { if (CM.Config.StatsPref.Chain) {
var chainColor = ((Game.cookies + CM.Disp.GetWrinkConfigBank()) < CM.Cache.Chain) ? CM.Disp.colorRed : CM.Disp.colorGreen; 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 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 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 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 chainRewardMax = CM.Cache.ChainReward;
var chainWrathRewardMax = CM.Cache.ChainWrathReward; var chainWrathRewardMax = CM.Cache.ChainWrathReward;
var chainFrenzyRewardMax = CM.Cache.ChainFrenzyReward; var chainFrenzyRewardMax = CM.Cache.ChainFrenzyReward;
@@ -1764,13 +1766,13 @@ CM.Disp.AddMenuStats = function(title) {
chainRewardMax *= 1.1; chainRewardMax *= 1.1;
chainFrenzyRewardMax *= 1.1; chainFrenzyRewardMax *= 1.1;
chainCur *= 1.1; chainCur *= 1.1;
} }
if (Game.hasAura('Unholy Dominion')) { if (Game.hasAura('Unholy Dominion')) {
chainWrathRewardMax *= 1.1; chainWrathRewardMax *= 1.1;
chainFrenzyWrathRewardMax *= 1.1; chainFrenzyWrathRewardMax *= 1.1;
chainCurWrath *= 1.1; chainCurWrath *= 1.1;
} }
var chainReqFrag = document.createDocumentFragment(); var chainReqFrag = document.createDocumentFragment();
var chainReqSpan = document.createElement('span'); var chainReqSpan = document.createElement('span');
chainReqSpan.style.fontWeight = 'bold'; 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 (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)))); 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 var choEgg = (Game.HasUnlocked('Chocolate egg') && !Game.Has('Chocolate egg')); // Needs to be done for the checking below
stats.appendChild(header('Prestige', 'Prestige')); stats.appendChild(header('Prestige', 'Prestige'));
if (CM.Config.StatsPref.Prestige) { if (CM.Config.StatsPref.Prestige) {
var possiblePresMax = Math.floor(Game.HowMuchPrestige(Game.cookiesEarned + Game.cookiesReset + CM.Cache.WrinkGodBank + (choEgg ? CM.Cache.lastChoEgg : 0))); 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)); stats.appendChild(listing(listingQuest('Reset Bonus Income', 'ResetTooltipPlaceholder'), resetFrag));
} }
if (Game.cpsSucked > 0) { if (Game.cpsSucked > 0) {
stats.appendChild(header('Wrinklers', 'Wrink')); stats.appendChild(header('Wrinklers', 'Wrink'));
if (CM.Config.StatsPref.Wrink) { if (CM.Config.StatsPref.Wrink) {
var popAllFrag = document.createDocumentFragment(); var popAllFrag = document.createDocumentFragment();
popAllFrag.appendChild(document.createTextNode(Beautify(CM.Cache.WrinkBank) + ' ')); popAllFrag.appendChild(document.createTextNode(Beautify(CM.Cache.WrinkBank) + ' '));
@@ -1865,7 +1867,7 @@ CM.Disp.AddMenuStats = function(title) {
stats.appendChild(listing('Rewards of Popping', popAllFrag)); stats.appendChild(listing('Rewards of Popping', popAllFrag));
} }
} }
var specDisp = false; var specDisp = false;
var halloCook = []; var halloCook = [];
for (var i in CM.Data.HalloCookies) { for (var i in CM.Data.HalloCookies) {
@@ -1902,9 +1904,9 @@ CM.Disp.AddMenuStats = function(title) {
specDisp = true; specDisp = true;
} }
} }
var centEgg = Game.Has('Century egg'); var centEgg = Game.Has('Century egg');
if (Game.season == 'christmas' || specDisp || choEgg || centEgg) { if (Game.season == 'christmas' || specDisp || choEgg || centEgg) {
stats.appendChild(header('Season Specials', 'Sea')); stats.appendChild(header('Season Specials', 'Sea'));
if (CM.Config.StatsPref.Sea) { if (CM.Config.StatsPref.Sea) {
@@ -1959,10 +1961,10 @@ CM.Disp.AddMenuStats = function(title) {
} }
if (centEgg) { if (centEgg) {
stats.appendChild(listing('Century Egg Multiplier', document.createTextNode((Math.round((CM.Cache.CentEgg - 1) * 10000) / 100) + '%'))); stats.appendChild(listing('Century Egg Multiplier', document.createTextNode((Math.round((CM.Cache.CentEgg - 1) * 10000) / 100) + '%')));
} }
} }
} }
stats.appendChild(header('Miscellaneous', 'Misc')); stats.appendChild(header('Miscellaneous', 'Misc'));
if (CM.Config.StatsPref.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 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'; div.textContent = 'Cookie Monster Goodies';
return div; return div;
} }
if (Game.onMenu == 'prefs') { if (Game.onMenu == 'prefs') {
CM.Disp.AddMenuPref(title); CM.Disp.AddMenuPref(title);
} }
@@ -2011,7 +2013,7 @@ CM.Disp.CreateTooltipWarnCaut = function() {
CM.Disp.TooltipWarnCaut.style.display = 'none'; CM.Disp.TooltipWarnCaut.style.display = 'none';
CM.Disp.TooltipWarnCaut.style.left = 'auto'; CM.Disp.TooltipWarnCaut.style.left = 'auto';
CM.Disp.TooltipWarnCaut.style.bottom = 'auto'; CM.Disp.TooltipWarnCaut.style.bottom = 'auto';
var create = function(boxId, color, labelTextFront, labelTextBack, deficitId) { var create = function(boxId, color, labelTextFront, labelTextBack, deficitId) {
var box = document.createElement('div'); var box = document.createElement('div');
box.id = boxId; 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 buildPrice = CM.Sim.BuildingGetPrice(Game.Objects[name].basePrice, 0, Game.Objects[name].free, Game.Objects[name].amount);
var amortizeAmount = buildPrice - Game.Objects[name].totalCookies; var amortizeAmount = buildPrice - Game.Objects[name].totalCookies;
if (amortizeAmount > 0) { 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) { if (Game.buyMode == 1) {
@@ -2153,11 +2155,11 @@ CM.Disp.Tooltip = function(type, name) {
else { // Grimoire else { // Grimoire
l('tooltip').innerHTML = Game.Objects['Wizard tower'].minigame.spellTooltip(name)(); l('tooltip').innerHTML = Game.Objects['Wizard tower'].minigame.spellTooltip(name)();
} }
var area = document.createElement('div'); var area = document.createElement('div');
area.id = 'CMTooltipArea'; area.id = 'CMTooltipArea';
l('tooltip').appendChild(area); l('tooltip').appendChild(area);
if (CM.Config.Tooltip == 1 && (type == 'u' || (type == 'b' && Game.buyMode == 1))) { if (CM.Config.Tooltip == 1 && (type == 'u' || (type == 'b' && Game.buyMode == 1))) {
l('tooltip').firstChild.style.paddingBottom = '4px'; l('tooltip').firstChild.style.paddingBottom = '4px';
var tooltip = document.createElement('div'); var tooltip = document.createElement('div');
@@ -2165,7 +2167,7 @@ CM.Disp.Tooltip = function(type, name) {
tooltip.style.padding = '4px'; tooltip.style.padding = '4px';
tooltip.style.margin = '0px -4px'; tooltip.style.margin = '0px -4px';
tooltip.id = 'CMTooltipBorder'; tooltip.id = 'CMTooltipBorder';
var header = function(text) { var header = function(text) {
var div = document.createElement('div'); var div = document.createElement('div');
div.style.fontWeight = 'bold'; div.style.fontWeight = 'bold';
@@ -2173,7 +2175,7 @@ CM.Disp.Tooltip = function(type, name) {
div.textContent = text; div.textContent = text;
return div; return div;
} }
tooltip.appendChild(header('Bonus Income')); tooltip.appendChild(header('Bonus Income'));
var income = document.createElement('div'); var income = document.createElement('div');
income.style.marginBottom = '4px'; income.style.marginBottom = '4px';
@@ -2189,21 +2191,21 @@ CM.Disp.Tooltip = function(type, name) {
var time = document.createElement('div'); var time = document.createElement('div');
time.id = 'CMTooltipTime'; time.id = 'CMTooltipTime';
tooltip.appendChild(time); tooltip.appendChild(time);
area.appendChild(tooltip); area.appendChild(tooltip);
} }
CM.Disp.tooltipType = type; CM.Disp.tooltipType = type;
CM.Disp.tooltipName = name; CM.Disp.tooltipName = name;
CM.Disp.UpdateTooltip(); CM.Disp.UpdateTooltip();
return l('tooltip').innerHTML; return l('tooltip').innerHTML;
} }
CM.Disp.UpdateTooltip = function() { CM.Disp.UpdateTooltip = function() {
if (l('tooltipAnchor').style.display != 'none' && l('CMTooltipArea') != null) { if (l('tooltipAnchor').style.display != 'none' && l('CMTooltipArea') != null) {
if (CM.Disp.tooltipType == 'b' || CM.Disp.tooltipType == 'u') { if (CM.Disp.tooltipType == 'b' || CM.Disp.tooltipType == 'u') {
// Error checking // 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')) { 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) { if (isFinite(increase) && increase != 0) {
l('CMTooltipIncome').textContent += ' (' + (increase / 100) + '% of income)'; l('CMTooltipIncome').textContent += ' (' + (increase / 100) + '% of income)';
} }
var timeColor = CM.Disp.GetTimeColor(price, (Game.cookies + CM.Disp.GetWrinkConfigBank()), CM.Disp.GetCPS()); var timeColor = CM.Disp.GetTimeColor(price, (Game.cookies + CM.Disp.GetWrinkConfigBank()), CM.Disp.GetCPS());
l('CMTooltipTime').textContent = timeColor.text; l('CMTooltipTime').textContent = timeColor.text;
l('CMTooltipTime').className = CM.Disp.colorTextPre + timeColor.color; l('CMTooltipTime').className = CM.Disp.colorTextPre + timeColor.color;
@@ -2300,10 +2302,10 @@ CM.Disp.UpdateTooltip = function() {
var minigame = Game.Objects['Wizard tower'].minigame; var minigame = Game.Objects['Wizard tower'].minigame;
var spellCost = minigame.getSpellCost(minigame.spellsById[CM.Disp.tooltipName]); var spellCost = minigame.getSpellCost(minigame.spellsById[CM.Disp.tooltipName]);
if (CM.Config.Tooltip == 1 && spellCost <= minigame.magicM) { if (CM.Config.Tooltip == 1 && spellCost <= minigame.magicM) {
l('CMTooltipArea').innerHTML = ''; l('CMTooltipArea').innerHTML = '';
l('tooltip').firstChild.style.paddingBottom = '4px'; l('tooltip').firstChild.style.paddingBottom = '4px';
var tooltip = document.createElement('div'); var tooltip = document.createElement('div');
tooltip.style.border = '1px solid'; tooltip.style.border = '1px solid';
@@ -2319,7 +2321,7 @@ CM.Disp.UpdateTooltip = function() {
div.textContent = text; div.textContent = text;
return div; return div;
} }
tooltip.appendChild(header('Time Left')); tooltip.appendChild(header('Time Left'));
var time = document.createElement('div'); var time = document.createElement('div');
time.id = 'CMTooltipTime'; 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)); var timeColor = CM.Disp.GetTimeColor(spellCost, minigame.magic, undefined, CM.Disp.CalculateGrimoireRefillTime(minigame.magic, minigame.magicM, spellCost));
time.textContent = timeColor.text; time.textContent = timeColor.text;
time.className = CM.Disp.colorTextPre + timeColor.color; time.className = CM.Disp.colorTextPre + timeColor.color;
if (spellCost <= minigame.magic) { if (spellCost <= minigame.magic) {
tooltip.appendChild(header('Recover Time')); tooltip.appendChild(header('Recover Time'));
var recover = document.createElement('div'); var recover = document.createElement('div');
@@ -2337,7 +2339,7 @@ CM.Disp.UpdateTooltip = function() {
recover.textContent = recoverColor.text; recover.textContent = recoverColor.text;
recover.className = CM.Disp.colorTextPre + recoverColor.color; recover.className = CM.Disp.colorTextPre + recoverColor.color;
} }
l('CMTooltipArea').appendChild(tooltip); l('CMTooltipArea').appendChild(tooltip);
} }
} }
@@ -2495,7 +2497,6 @@ CM.Disp.TooltipWrinklerCache = [];
for (var i in Game.wrinklers) { for (var i in Game.wrinklers) {
CM.Disp.TooltipWrinklerCache[i] = 0; CM.Disp.TooltipWrinklerCache[i] = 0;
} }
/******** /********
* Main * * Main *
********/ ********/
@@ -2749,7 +2750,7 @@ CM.ConfigDefault = {BotBar: 1, TimerBar: 1, TimerBarPos: 0, BuildColor: 1, BulkB
CM.ConfigPrefix = 'CMConfig'; CM.ConfigPrefix = 'CMConfig';
CM.VersionMajor = '2.0042'; CM.VersionMajor = '2.0042';
CM.VersionMinor = '3'; CM.VersionMinor = '2';
/******* /*******
* Sim * * Sim *

View File

@@ -133,14 +133,6 @@ CM.Cache.RemakePP = function() {
CM.Cache.RemakeBuildingsOtherPP(100, 'Objects100'); 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.RemakeLucky = function() {
CM.Cache.Lucky = (CM.Cache.NoGoldSwitchCookiesPS * 60 * 15) / 0.15; CM.Cache.Lucky = (CM.Cache.NoGoldSwitchCookiesPS * 60 * 15) / 0.15;
CM.Cache.Lucky /= CM.Sim.getCPSBuffMult(); CM.Cache.Lucky /= CM.Sim.getCPSBuffMult();

View File

@@ -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.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.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.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.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.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.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}; 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};

View File

@@ -34,7 +34,7 @@ CM.Disp.FormatTime = function(time, format) {
} }
str += s; str += s;
} else { } else {
if (time > 777600000) return format ? 'Over 9000 days!' : '>9000d'; if (time > 86400) return format ? 'Over 24 hours' : '>24h';
time = Math.ceil(time); time = Math.ceil(time);
var d = Math.floor(time / 86400); var d = Math.floor(time / 86400);
var h = Math.floor(time % 86400 / 3600); 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'; text = '00:00:00:00:00';
} }
else { else {
text = 'Done!'; text = 'Ready';
} }
} }
else { else {
@@ -96,7 +96,7 @@ CM.Disp.Beautify = function(num, frac) {
num = Math.abs(num); num = Math.abs(num);
negative = true; negative = true;
} }
for (var i = (CM.Disp.shortScale.length - 1); i >= 0; i--) { for (var i = (CM.Disp.shortScale.length - 1); i >= 0; i--) {
if (i < CM.Disp.metric.length && CM.Config.Scale == 1) { if (i < CM.Disp.metric.length && CM.Config.Scale == 1) {
if (num >= Math.pow(1000, i + 2)) { if (num >= Math.pow(1000, i + 2)) {
@@ -114,7 +114,7 @@ CM.Disp.Beautify = function(num, frac) {
if (answer == '') { if (answer == '') {
answer = CM.Backup.Beautify(num, frac); answer = CM.Backup.Beautify(num, frac);
} }
if (negative) { if (negative) {
answer = '-' + answer; answer = '-' + answer;
} }
@@ -179,14 +179,16 @@ CM.Disp.CreateBotBar = function() {
CM.Disp.BotBar.style.borderTop = '1px solid black'; CM.Disp.BotBar.style.borderTop = '1px solid black';
CM.Disp.BotBar.style.overflow = 'auto'; CM.Disp.BotBar.style.overflow = 'auto';
CM.Disp.BotBar.style.textShadow = '-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black'; CM.Disp.BotBar.style.textShadow = '-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black';
var table = document.createElement('table'); var table = document.createElement('table');
table.style.width = '100%'; table.style.width = '100%';
table.style.textAlign = 'center'; table.style.textAlign = 'center';
table.style.whiteSpace = 'nowrap'; table.style.whiteSpace = 'nowrap';
table.style.tableLayout = 'fixed';
table.style.overflow = 'hidden';
var tbody = document.createElement('tbody'); var tbody = document.createElement('tbody');
table.appendChild(tbody); table.appendChild(tbody);
var firstCol = function(text, color) { var firstCol = function(text, color) {
var td = document.createElement('td'); var td = document.createElement('td');
td.style.textAlign = 'right'; td.style.textAlign = 'right';
@@ -194,7 +196,7 @@ CM.Disp.CreateBotBar = function() {
td.textContent = text; td.textContent = text;
return td; return td;
} }
var type = document.createElement('tr'); var type = document.createElement('tr');
type.style.fontWeight = 'bold'; type.style.fontWeight = 'bold';
type.appendChild(firstCol(CM.VersionMajor + '.' + CM.VersionMinor, CM.Disp.colorYellow)); type.appendChild(firstCol(CM.VersionMajor + '.' + CM.VersionMinor, CM.Disp.colorYellow));
@@ -208,7 +210,7 @@ CM.Disp.CreateBotBar = function() {
var time = document.createElement('tr'); var time = document.createElement('tr');
time.appendChild(firstCol('Time Left', CM.Disp.colorBlue)); time.appendChild(firstCol('Time Left', CM.Disp.colorBlue));
tbody.appendChild(time); tbody.appendChild(time);
for (var i in Game.Objects) { for (var i in Game.Objects) {
var header = document.createElement('td'); var header = document.createElement('td');
header.appendChild(document.createTextNode((i.indexOf(' ') != -1 ? i.substring(0, i.indexOf(' ')) : i) + ' (')); 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')); bonus.appendChild(document.createElement('td'));
pp.appendChild(document.createElement('td')); pp.appendChild(document.createElement('td'));
time.appendChild(document.createElement('td')); time.appendChild(document.createElement('td'));
} }
CM.Disp.BotBar.appendChild(table); CM.Disp.BotBar.appendChild(table);
l('wrapper').appendChild(CM.Disp.BotBar); l('wrapper').appendChild(CM.Disp.BotBar);
} }
@@ -242,7 +244,7 @@ CM.Disp.ToggleBotBar = function() {
CM.Disp.UpdateBotBarOther = function() { CM.Disp.UpdateBotBarOther = function() {
if (CM.Config.BotBar == 1) { if (CM.Config.BotBar == 1) {
var count = 0; var count = 0;
for (var i in CM.Cache.Objects) { for (var i in CM.Cache.Objects) {
count++; count++;
CM.Disp.BotBar.firstChild.firstChild.childNodes[0].childNodes[count].childNodes[1].textContent = Game.Objects[i].amount; 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() { CM.Disp.UpdateBotBarTime = function() {
if (CM.Config.BotBar == 1) { if (CM.Config.BotBar == 1) {
var count = 0; var count = 0;
for (var i in CM.Cache.Objects) { for (var i in CM.Cache.Objects) {
count++; count++;
var timeColor = CM.Disp.GetTimeColor(Game.Objects[i].getPrice(), (Game.cookies + CM.Disp.GetWrinkConfigBank()), CM.Disp.GetCPS()); 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.fontSize = '10px';
CM.Disp.TimerBar.style.fontWeight = 'bold'; CM.Disp.TimerBar.style.fontWeight = 'bold';
CM.Disp.TimerBar.style.backgroundColor = 'black'; CM.Disp.TimerBar.style.backgroundColor = 'black';
var bar = function(name, bars, time) { var bar = function(name, bars, time) {
var div = document.createElement('div'); var div = document.createElement('div');
div.style.width = '100%'; div.style.width = '100%';
@@ -286,7 +288,7 @@ CM.Disp.CreateTimerBar = function() {
div.style.top = '0px'; div.style.top = '0px';
div.style.right = '0px'; div.style.right = '0px';
div.style.bottom = '0px'; div.style.bottom = '0px';
var type = document.createElement('span'); var type = document.createElement('span');
type.style.display = 'inline-block'; type.style.display = 'inline-block';
type.style.textAlign = 'right'; type.style.textAlign = 'right';
@@ -295,7 +297,7 @@ CM.Disp.CreateTimerBar = function() {
type.style.verticalAlign = 'text-top'; type.style.verticalAlign = 'text-top';
type.textContent = name; type.textContent = name;
div.appendChild(type); div.appendChild(type);
for (var i = 0; i < bars.length; i++) { for (var i = 0; i < bars.length; i++) {
var colorBar = document.createElement('span'); var colorBar = document.createElement('span');
colorBar.id = bars[i].id colorBar.id = bars[i].id
@@ -310,7 +312,7 @@ CM.Disp.CreateTimerBar = function() {
} }
div.appendChild(colorBar); div.appendChild(colorBar);
} }
var timer = document.createElement('span'); var timer = document.createElement('span');
timer.id = time; timer.id = time;
timer.style.marginLeft = '5px'; timer.style.marginLeft = '5px';
@@ -318,7 +320,7 @@ CM.Disp.CreateTimerBar = function() {
div.appendChild(timer); div.appendChild(timer);
return div return div
} }
CM.Disp.TimerBarGC = document.createElement('div'); CM.Disp.TimerBarGC = document.createElement('div');
CM.Disp.TimerBarGC.id = 'CMTimerBarGC'; CM.Disp.TimerBarGC.id = 'CMTimerBarGC';
CM.Disp.TimerBarGC.style.height = '12px'; CM.Disp.TimerBarGC.style.height = '12px';
@@ -326,7 +328,7 @@ CM.Disp.CreateTimerBar = function() {
CM.Disp.TimerBarGC.style.position = 'relative'; 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.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.TimerBar.appendChild(CM.Disp.TimerBarGC);
CM.Disp.TimerBarRen = document.createElement('div'); CM.Disp.TimerBarRen = document.createElement('div');
CM.Disp.TimerBarRen.id = 'CMTimerBarRen'; CM.Disp.TimerBarRen.id = 'CMTimerBarRen';
CM.Disp.TimerBarRen.style.height = '12px'; CM.Disp.TimerBarRen.style.height = '12px';
@@ -334,7 +336,7 @@ CM.Disp.CreateTimerBar = function() {
CM.Disp.TimerBarRen.style.position = 'relative'; 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.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.TimerBar.appendChild(CM.Disp.TimerBarRen);
CM.Disp.TimerBarBuff1 = document.createElement('div'); CM.Disp.TimerBarBuff1 = document.createElement('div');
CM.Disp.TimerBarBuff1.id = 'CMTimerBarBuff1'; CM.Disp.TimerBarBuff1.id = 'CMTimerBarBuff1';
CM.Disp.TimerBarBuff1.style.height = '12px'; 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.appendChild(bar('', [{id: 'CMTimerBarBuff1Bar'}], 'CMTimerBarBuff1Time'));
CM.Disp.TimerBarBuff1.firstChild.firstChild.id = 'CMTimerBarBuff1Type'; CM.Disp.TimerBarBuff1.firstChild.firstChild.id = 'CMTimerBarBuff1Type';
CM.Disp.TimerBar.appendChild(CM.Disp.TimerBarBuff1); CM.Disp.TimerBar.appendChild(CM.Disp.TimerBarBuff1);
CM.Disp.TimerBarBuff2 = document.createElement('div'); CM.Disp.TimerBarBuff2 = document.createElement('div');
CM.Disp.TimerBarBuff2.id = 'CMTimerBarBuff2'; CM.Disp.TimerBarBuff2.id = 'CMTimerBarBuff2';
CM.Disp.TimerBarBuff2.style.height = '12px'; 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.appendChild(bar('', [{id: 'CMTimerBarBuff2Bar'}], 'CMTimerBarBuff2Time'));
CM.Disp.TimerBarBuff2.firstChild.firstChild.id = 'CMTimerBarBuff2Type'; CM.Disp.TimerBarBuff2.firstChild.firstChild.id = 'CMTimerBarBuff2Type';
CM.Disp.TimerBar.appendChild(CM.Disp.TimerBarBuff2); CM.Disp.TimerBar.appendChild(CM.Disp.TimerBarBuff2);
l('wrapper').appendChild(CM.Disp.TimerBar); l('wrapper').appendChild(CM.Disp.TimerBar);
} }
@@ -385,7 +387,7 @@ CM.Disp.UpdateTimerBar = function() {
// label width: 113, timer width: 26, div margin: 20 // label width: 113, timer width: 26, div margin: 20
var maxWidth = CM.Disp.TimerBar.offsetWidth - 159; var maxWidth = CM.Disp.TimerBar.offsetWidth - 159;
var count = 0; var count = 0;
if (Game.shimmerTypes['golden'].spawned == 0 && !Game.Has('Golden switch [off]')) { if (Game.shimmerTypes['golden'].spawned == 0 && !Game.Has('Golden switch [off]')) {
CM.Disp.TimerBarGC.style.display = ''; 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'; 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 { else {
CM.Disp.TimerBarGC.style.display = 'none'; CM.Disp.TimerBarGC.style.display = 'none';
} }
if (Game.season == 'christmas' && Game.shimmerTypes['reindeer'].spawned == 0) { if (Game.season == 'christmas' && Game.shimmerTypes['reindeer'].spawned == 0) {
CM.Disp.TimerBarRen.style.display = ''; 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'; 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 { else {
CM.Disp.TimerBarRen.style.display = 'none'; CM.Disp.TimerBarRen.style.display = 'none';
} }
var buffCount = 0; var buffCount = 0;
for (var i in Game.buffs) { for (var i in Game.buffs) {
if (Game.buffs[i]) { if (Game.buffs[i]) {
@@ -444,7 +446,7 @@ CM.Disp.UpdateTimerBar = function() {
CM.Disp.TimerBarBuff1.style.display = 'none'; CM.Disp.TimerBarBuff1.style.display = 'none';
} }
} }
/*if (Game.frenzy > 0) { /*if (Game.frenzy > 0) {
CM.Disp.TimerBarBuff1.style.display = ''; CM.Disp.TimerBarBuff1.style.display = '';
if (Game.frenzyPower == 7) { if (Game.frenzyPower == 7) {
@@ -470,7 +472,7 @@ CM.Disp.UpdateTimerBar = function() {
else { else {
CM.Disp.TimerBarBuff1.style.display = 'none'; CM.Disp.TimerBarBuff1.style.display = 'none';
} }
if (Game.clickFrenzy > 0) { if (Game.clickFrenzy > 0) {
CM.Disp.TimerBarBuff2.style.display = ''; CM.Disp.TimerBarBuff2.style.display = '';
if (Game.clickFrenzyPower == 777) { if (Game.clickFrenzyPower == 777) {
@@ -488,7 +490,7 @@ CM.Disp.UpdateTimerBar = function() {
else { else {
CM.Disp.TimerBarBuff2.style.display = 'none'; CM.Disp.TimerBarBuff2.style.display = 'none';
}*/ }*/
if (count != 0) { if (count != 0) {
var height = 48 / count; var height = 48 / count;
CM.Disp.TimerBarGC.style.height = height + 'px'; CM.Disp.TimerBarGC.style.height = height + 'px';
@@ -514,14 +516,14 @@ CM.Disp.UpdateBotTimerBarDisplay = function() {
else { // No bars else { // No bars
l('game').style.bottom = '0px'; l('game').style.bottom = '0px';
} }
if (CM.Config.TimerBar == 1 && CM.Config.TimerBarPos == 0) { if (CM.Config.TimerBar == 1 && CM.Config.TimerBarPos == 0) {
l('sectionLeft').style.top = '48px'; l('sectionLeft').style.top = '48px';
} }
else { else {
l('sectionLeft').style.top = ''; l('sectionLeft').style.top = '';
} }
CM.Disp.UpdateBackground(); CM.Disp.UpdateBackground();
} }
@@ -557,7 +559,7 @@ CM.Disp.CreateUpgradeBar = function() {
CM.Disp.UpgradeBar.style.fontWeight = 'bold'; CM.Disp.UpgradeBar.style.fontWeight = 'bold';
CM.Disp.UpgradeBar.style.display = 'none'; CM.Disp.UpgradeBar.style.display = 'none';
CM.Disp.UpgradeBar.onmouseout = function() { Game.tooltip.hide(); }; CM.Disp.UpgradeBar.onmouseout = function() { Game.tooltip.hide(); };
var placeholder = document.createElement('div'); var placeholder = document.createElement('div');
var legend = document.createElement('div'); var legend = document.createElement('div');
legend.style.minWidth = '330px'; legend.style.minWidth = '330px';
@@ -567,7 +569,7 @@ CM.Disp.CreateUpgradeBar = function() {
title.style.marginBottom = '4px'; title.style.marginBottom = '4px';
title.textContent = 'Legend'; title.textContent = 'Legend';
legend.appendChild(title); legend.appendChild(title);
var legendLine = function(color, text) { var legendLine = function(color, text) {
var div = document.createElement('div'); var div = document.createElement('div');
div.style.verticalAlign = 'middle'; div.style.verticalAlign = 'middle';
@@ -581,7 +583,7 @@ CM.Disp.CreateUpgradeBar = function() {
div.appendChild(document.createTextNode(text)); div.appendChild(document.createTextNode(text));
return div; return div;
} }
legend.appendChild(legendLine(CM.Disp.colorBlue, 'Better than best PP building')); 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.colorGreen, 'Same as best PP building'));
legend.appendChild(legendLine(CM.Disp.colorYellow, 'Between best and worst PP buildings closer to best')); 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.colorPurple, 'Worse than worst PP building'));
legend.appendChild(legendLine(CM.Disp.colorGray, 'Negative or infinity PP')); legend.appendChild(legendLine(CM.Disp.colorGray, 'Negative or infinity PP'));
placeholder.appendChild(legend); placeholder.appendChild(legend);
CM.Disp.UpgradeBar.onmouseover = function() {Game.tooltip.draw(this, escape(placeholder.innerHTML), 'store');}; CM.Disp.UpgradeBar.onmouseover = function() {Game.tooltip.draw(this, escape(placeholder.innerHTML), 'store');};
var upgradeNumber = function(id, color) { var upgradeNumber = function(id, color) {
var span = document.createElement('span'); var span = document.createElement('span');
span.id = id; 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('CMUpgradeBarRed', CM.Disp.colorRed));
CM.Disp.UpgradeBar.appendChild(upgradeNumber('CMUpgradeBarPurple', CM.Disp.colorPurple)); CM.Disp.UpgradeBar.appendChild(upgradeNumber('CMUpgradeBarPurple', CM.Disp.colorPurple));
CM.Disp.UpgradeBar.appendChild(upgradeNumber('CMUpgradeBarGray', CM.Disp.colorGray)); CM.Disp.UpgradeBar.appendChild(upgradeNumber('CMUpgradeBarGray', CM.Disp.colorGray));
l('upgrades').parentNode.insertBefore(CM.Disp.UpgradeBar, l('upgrades').parentNode.childNodes[3]); 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.display = 'none';
CM.Disp.WhiteScreen.style.zIndex = '9999999999'; CM.Disp.WhiteScreen.style.zIndex = '9999999999';
CM.Disp.WhiteScreen.style.position = 'absolute'; CM.Disp.WhiteScreen.style.position = 'absolute';
l('wrapper').appendChild(CM.Disp.WhiteScreen); 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.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.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 = '';}; CM.Disp.GCTimer.onmouseout = function() {CM.Disp.goldenShimmer.l.style.filter = ''; CM.Disp.goldenShimmer.l.style.webkitFilter = '';};
l('game').appendChild(CM.Disp.GCTimer); 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.left = CM.Disp.goldenShimmer.l.style.left;
CM.Disp.GCTimer.style.top = CM.Disp.goldenShimmer.l.style.top; CM.Disp.GCTimer.style.top = CM.Disp.goldenShimmer.l.style.top;
} }
CM.Disp.Flash(3); CM.Disp.Flash(3);
CM.Disp.PlaySound(CM.Config.GCSoundURL); CM.Disp.PlaySound(CM.Config.GCSoundURL);
} }
@@ -830,7 +832,7 @@ CM.Disp.CheckSeasonPopup = function() {
break; break;
} }
} }
CM.Disp.Flash(3); CM.Disp.Flash(3);
CM.Disp.PlaySound(CM.Config.SeaSoundURL); CM.Disp.PlaySound(CM.Config.SeaSoundURL);
} }
@@ -843,7 +845,7 @@ CM.Disp.UpdateTitle = function() {
} }
else if (CM.Config.Title == 1) { else if (CM.Config.Title == 1) {
var addSP = false; var addSP = false;
var titleGC; var titleGC;
var titleSP; var titleSP;
if (CM.Disp.lastGoldenCookieState) { 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) + ']'; titleSP = '[' + Math.ceil((Game.shimmerTypes['reindeer'].maxTime - Game.shimmerTypes['reindeer'].time) / Game.fps) + ']';
} }
} }
var str = CM.Cache.Title; var str = CM.Cache.Title;
if (str.charAt(0) == '[') { if (str.charAt(0) == '[') {
str = str.substring(str.lastIndexOf(']') + 1); str = str.substring(str.lastIndexOf(']') + 1);
} }
document.title = titleGC + (addSP ? titleSP : '') + ' ' + str; document.title = titleGC + (addSP ? titleSP : '') + ' ' + str;
} }
else if (CM.Config.Title == 2) { else if (CM.Config.Title == 2) {
@@ -934,9 +936,9 @@ CM.Disp.AddMenuPref = function(title) {
} }
var frag = document.createDocumentFragment(); var frag = document.createDocumentFragment();
frag.appendChild(title()); frag.appendChild(title());
var listing = function(config) { var listing = function(config) {
var div = document.createElement('div'); var div = document.createElement('div');
div.className = 'listing'; div.className = 'listing';
@@ -956,7 +958,7 @@ CM.Disp.AddMenuPref = function(title) {
div.appendChild(label); div.appendChild(label);
return div; return div;
} }
var url = function(config) { var url = function(config) {
var div = document.createElement('div'); var div = document.createElement('div');
div.className = 'listing'; div.className = 'listing';
@@ -982,7 +984,7 @@ CM.Disp.AddMenuPref = function(title) {
div.appendChild(label); div.appendChild(label);
return div; return div;
} }
frag.appendChild(header('Bars/Colors')); frag.appendChild(header('Bars/Colors'));
frag.appendChild(listing('BotBar')); frag.appendChild(listing('BotBar'));
frag.appendChild(listing('TimerBar')); frag.appendChild(listing('TimerBar'));
@@ -1006,7 +1008,7 @@ CM.Disp.AddMenuPref = function(title) {
div.appendChild(label); div.appendChild(label);
frag.appendChild(div); frag.appendChild(div);
} }
frag.appendChild(header('Calculation')); frag.appendChild(header('Calculation'));
frag.appendChild(listing('CalcWrink')); frag.appendChild(listing('CalcWrink'));
frag.appendChild(listing('CPSMode')); frag.appendChild(listing('CPSMode'));
@@ -1016,7 +1018,7 @@ CM.Disp.AddMenuPref = function(title) {
frag.appendChild(header('Golden Cookie/Season Popup Emphasis')); frag.appendChild(header('Golden Cookie/Season Popup Emphasis'));
frag.appendChild(listing('Flash')); frag.appendChild(listing('Flash'));
frag.appendChild(listing('Sound')); frag.appendChild(listing('Sound'));
var volConfig = 'Volume'; var volConfig = 'Volume';
var volume = document.createElement('div'); var volume = document.createElement('div');
volume.className = 'listing'; volume.className = 'listing';
@@ -1043,23 +1045,22 @@ CM.Disp.AddMenuPref = function(title) {
frag.appendChild(listing('GCTimer')); frag.appendChild(listing('GCTimer'));
frag.appendChild(listing('Title')); frag.appendChild(listing('Title'));
frag.appendChild(listing('Favicon')); frag.appendChild(listing('Favicon'));
frag.appendChild(header('Tooltip')); frag.appendChild(header('Tooltip'));
frag.appendChild(listing('Tooltip')); frag.appendChild(listing('Tooltip'));
frag.appendChild(listing('TooltipAmor')); frag.appendChild(listing('TooltipAmor'));
frag.appendChild(listing('TooltipNextMultiple'));
frag.appendChild(listing('ToolWarnCaut')); frag.appendChild(listing('ToolWarnCaut'));
frag.appendChild(listing('ToolWarnCautPos')); frag.appendChild(listing('ToolWarnCautPos'));
frag.appendChild(listing('ToolWrink')); frag.appendChild(listing('ToolWrink'));
frag.appendChild(header('Statistics')); frag.appendChild(header('Statistics'));
frag.appendChild(listing('Stats')); frag.appendChild(listing('Stats'));
frag.appendChild(listing('UpStats')); frag.appendChild(listing('UpStats'));
frag.appendChild(listing('TimeFormat')); frag.appendChild(listing('TimeFormat'));
frag.appendChild(listing('SayTime')); frag.appendChild(listing('SayTime'));
frag.appendChild(header('Other')); frag.appendChild(header('Other'));
frag.appendChild(listing('Scale')); frag.appendChild(listing('Scale'));
var resDef = document.createElement('div'); var resDef = document.createElement('div');
resDef.className = 'listing'; resDef.className = 'listing';
var resDefBut = document.createElement('a'); var resDefBut = document.createElement('a');
@@ -1068,9 +1069,9 @@ CM.Disp.AddMenuPref = function(title) {
resDefBut.textContent = 'Restore Default'; resDefBut.textContent = 'Restore Default';
resDef.appendChild(resDefBut); resDef.appendChild(resDefBut);
frag.appendChild(resDef); frag.appendChild(resDef);
l('menu').childNodes[2].insertBefore(frag, l('menu').childNodes[2].childNodes[l('menu').childNodes[2].childNodes.length - 1]); l('menu').childNodes[2].insertBefore(frag, l('menu').childNodes[2].childNodes[l('menu').childNodes[2].childNodes.length - 1]);
CM.Disp.FormatButtonOnClickBak = l('formatButton').onclick; 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();}; 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); div.appendChild(span);
return div; return div;
} }
var stats = document.createElement('div'); var stats = document.createElement('div');
stats.className = 'subsection'; stats.className = 'subsection';
stats.appendChild(title()); stats.appendChild(title());
var listing = function(name, text) { var listing = function(name, text) {
var div = document.createElement('div'); var div = document.createElement('div');
div.className = 'listing'; div.className = 'listing';
@@ -1117,7 +1118,7 @@ CM.Disp.AddMenuStats = function(title) {
div.appendChild(text); div.appendChild(text);
return div; return div;
} }
var listingQuest = function(text, placeholder) { var listingQuest = function(text, placeholder) {
var frag = document.createDocumentFragment(); var frag = document.createDocumentFragment();
frag.appendChild(document.createTextNode(text + ' ')); frag.appendChild(document.createTextNode(text + ' '));
@@ -1138,7 +1139,7 @@ CM.Disp.AddMenuStats = function(title) {
frag.appendChild(span); frag.appendChild(span);
return frag; return frag;
} }
stats.appendChild(header('Lucky Cookies', 'Lucky')); stats.appendChild(header('Lucky Cookies', 'Lucky'));
if (CM.Config.StatsPref.Lucky) { if (CM.Config.StatsPref.Lucky) {
var luckyColor = ((Game.cookies + CM.Disp.GetWrinkConfigBank()) < CM.Cache.Lucky) ? CM.Disp.colorRed : CM.Disp.colorGreen; 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; luckyCurWrath *= 1.1;
} }
var luckySplit = luckyRewardMax != luckyRewardMaxWrath; var luckySplit = luckyRewardMax != luckyRewardMaxWrath;
var luckyReqFrag = document.createDocumentFragment(); var luckyReqFrag = document.createDocumentFragment();
var luckyReqSpan = document.createElement('span'); var luckyReqSpan = document.createElement('span');
luckyReqSpan.style.fontWeight = 'bold'; 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 (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(listing(listingQuest('\"Lucky!\" Reward (CUR)' + (luckySplit ? ' (Golden / Wrath)' : ''), 'GoldCookTooltipPlaceholder'), document.createTextNode(Beautify(luckyCur) + (luckySplit ? (' / ' + Beautify(luckyCurWrath)) : ''))));
} }
stats.appendChild(header('Chain Cookies', 'Chain')); stats.appendChild(header('Chain Cookies', 'Chain'));
if (CM.Config.StatsPref.Chain) { if (CM.Config.StatsPref.Chain) {
var chainColor = ((Game.cookies + CM.Disp.GetWrinkConfigBank()) < CM.Cache.Chain) ? CM.Disp.colorRed : CM.Disp.colorGreen; 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 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 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 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 chainRewardMax = CM.Cache.ChainReward;
var chainWrathRewardMax = CM.Cache.ChainWrathReward; var chainWrathRewardMax = CM.Cache.ChainWrathReward;
var chainFrenzyRewardMax = CM.Cache.ChainFrenzyReward; var chainFrenzyRewardMax = CM.Cache.ChainFrenzyReward;
@@ -1215,13 +1216,13 @@ CM.Disp.AddMenuStats = function(title) {
chainRewardMax *= 1.1; chainRewardMax *= 1.1;
chainFrenzyRewardMax *= 1.1; chainFrenzyRewardMax *= 1.1;
chainCur *= 1.1; chainCur *= 1.1;
} }
if (Game.hasAura('Unholy Dominion')) { if (Game.hasAura('Unholy Dominion')) {
chainWrathRewardMax *= 1.1; chainWrathRewardMax *= 1.1;
chainFrenzyWrathRewardMax *= 1.1; chainFrenzyWrathRewardMax *= 1.1;
chainCurWrath *= 1.1; chainCurWrath *= 1.1;
} }
var chainReqFrag = document.createDocumentFragment(); var chainReqFrag = document.createDocumentFragment();
var chainReqSpan = document.createElement('span'); var chainReqSpan = document.createElement('span');
chainReqSpan.style.fontWeight = 'bold'; 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 (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)))); 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 var choEgg = (Game.HasUnlocked('Chocolate egg') && !Game.Has('Chocolate egg')); // Needs to be done for the checking below
stats.appendChild(header('Prestige', 'Prestige')); stats.appendChild(header('Prestige', 'Prestige'));
if (CM.Config.StatsPref.Prestige) { if (CM.Config.StatsPref.Prestige) {
var possiblePresMax = Math.floor(Game.HowMuchPrestige(Game.cookiesEarned + Game.cookiesReset + CM.Cache.WrinkGodBank + (choEgg ? CM.Cache.lastChoEgg : 0))); 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)); stats.appendChild(listing(listingQuest('Reset Bonus Income', 'ResetTooltipPlaceholder'), resetFrag));
} }
if (Game.cpsSucked > 0) { if (Game.cpsSucked > 0) {
stats.appendChild(header('Wrinklers', 'Wrink')); stats.appendChild(header('Wrinklers', 'Wrink'));
if (CM.Config.StatsPref.Wrink) { if (CM.Config.StatsPref.Wrink) {
var popAllFrag = document.createDocumentFragment(); var popAllFrag = document.createDocumentFragment();
popAllFrag.appendChild(document.createTextNode(Beautify(CM.Cache.WrinkBank) + ' ')); popAllFrag.appendChild(document.createTextNode(Beautify(CM.Cache.WrinkBank) + ' '));
@@ -1316,7 +1317,7 @@ CM.Disp.AddMenuStats = function(title) {
stats.appendChild(listing('Rewards of Popping', popAllFrag)); stats.appendChild(listing('Rewards of Popping', popAllFrag));
} }
} }
var specDisp = false; var specDisp = false;
var halloCook = []; var halloCook = [];
for (var i in CM.Data.HalloCookies) { for (var i in CM.Data.HalloCookies) {
@@ -1353,9 +1354,9 @@ CM.Disp.AddMenuStats = function(title) {
specDisp = true; specDisp = true;
} }
} }
var centEgg = Game.Has('Century egg'); var centEgg = Game.Has('Century egg');
if (Game.season == 'christmas' || specDisp || choEgg || centEgg) { if (Game.season == 'christmas' || specDisp || choEgg || centEgg) {
stats.appendChild(header('Season Specials', 'Sea')); stats.appendChild(header('Season Specials', 'Sea'));
if (CM.Config.StatsPref.Sea) { if (CM.Config.StatsPref.Sea) {
@@ -1410,10 +1411,10 @@ CM.Disp.AddMenuStats = function(title) {
} }
if (centEgg) { if (centEgg) {
stats.appendChild(listing('Century Egg Multiplier', document.createTextNode((Math.round((CM.Cache.CentEgg - 1) * 10000) / 100) + '%'))); stats.appendChild(listing('Century Egg Multiplier', document.createTextNode((Math.round((CM.Cache.CentEgg - 1) * 10000) / 100) + '%')));
} }
} }
} }
stats.appendChild(header('Miscellaneous', 'Misc')); stats.appendChild(header('Miscellaneous', 'Misc'));
if (CM.Config.StatsPref.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 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'; div.textContent = 'Cookie Monster Goodies';
return div; return div;
} }
if (Game.onMenu == 'prefs') { if (Game.onMenu == 'prefs') {
CM.Disp.AddMenuPref(title); CM.Disp.AddMenuPref(title);
} }
@@ -1462,7 +1463,7 @@ CM.Disp.CreateTooltipWarnCaut = function() {
CM.Disp.TooltipWarnCaut.style.display = 'none'; CM.Disp.TooltipWarnCaut.style.display = 'none';
CM.Disp.TooltipWarnCaut.style.left = 'auto'; CM.Disp.TooltipWarnCaut.style.left = 'auto';
CM.Disp.TooltipWarnCaut.style.bottom = 'auto'; CM.Disp.TooltipWarnCaut.style.bottom = 'auto';
var create = function(boxId, color, labelTextFront, labelTextBack, deficitId) { var create = function(boxId, color, labelTextFront, labelTextBack, deficitId) {
var box = document.createElement('div'); var box = document.createElement('div');
box.id = boxId; box.id = boxId;
@@ -1566,23 +1567,13 @@ CM.Disp.AddTooltipGrimoire = function() {
CM.Disp.Tooltip = function(type, name) { CM.Disp.Tooltip = function(type, name) {
if (type == 'b') { if (type == 'b') {
l('tooltip').innerHTML = Game.Objects[name].tooltip(); l('tooltip').innerHTML = Game.Objects[name].tooltip();
var addedAmor = false;
if (CM.Config.TooltipAmor == 1) { if (CM.Config.TooltipAmor == 1) {
var buildPrice = CM.Sim.BuildingGetPrice(Game.Objects[name].basePrice, 0, Game.Objects[name].free, Game.Objects[name].amount); 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; var amortizeAmount = buildPrice - Game.Objects[name].totalCookies;
if (amortizeAmount > 0) { if (amortizeAmount > 0) {
addedAmor = true;
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 (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 + '</div>').join(marker + '<br/>&bull; <b>' + multiple_quantity + '</b> ' + (multiple_quantity == 1 ? Game.Objects[name].single : Game.Objects[name].plural) + ' left to reach <b>' + (Game.Objects[name].amount + multiple_quantity) + '</b>, <b>' + Beautify(CM.Cache.Objects[name].multiple_price, 2) + '</b> cookies in total (' + CM.Disp.GetTimeColor(CM.Cache.Objects[name].multiple_price, (Game.cookies + CM.Disp.GetWrinkConfigBank()), CM.Disp.GetCPS()).text + ')</div>');
}
if (Game.buyMode == 1) { if (Game.buyMode == 1) {
var target = ''; var target = '';
var change = false; var change = false;
@@ -1614,11 +1605,11 @@ CM.Disp.Tooltip = function(type, name) {
else { // Grimoire else { // Grimoire
l('tooltip').innerHTML = Game.Objects['Wizard tower'].minigame.spellTooltip(name)(); l('tooltip').innerHTML = Game.Objects['Wizard tower'].minigame.spellTooltip(name)();
} }
var area = document.createElement('div'); var area = document.createElement('div');
area.id = 'CMTooltipArea'; area.id = 'CMTooltipArea';
l('tooltip').appendChild(area); l('tooltip').appendChild(area);
if (CM.Config.Tooltip == 1 && (type == 'u' || (type == 'b' && Game.buyMode == 1))) { if (CM.Config.Tooltip == 1 && (type == 'u' || (type == 'b' && Game.buyMode == 1))) {
l('tooltip').firstChild.style.paddingBottom = '4px'; l('tooltip').firstChild.style.paddingBottom = '4px';
var tooltip = document.createElement('div'); var tooltip = document.createElement('div');
@@ -1626,7 +1617,7 @@ CM.Disp.Tooltip = function(type, name) {
tooltip.style.padding = '4px'; tooltip.style.padding = '4px';
tooltip.style.margin = '0px -4px'; tooltip.style.margin = '0px -4px';
tooltip.id = 'CMTooltipBorder'; tooltip.id = 'CMTooltipBorder';
var header = function(text) { var header = function(text) {
var div = document.createElement('div'); var div = document.createElement('div');
div.style.fontWeight = 'bold'; div.style.fontWeight = 'bold';
@@ -1634,7 +1625,7 @@ CM.Disp.Tooltip = function(type, name) {
div.textContent = text; div.textContent = text;
return div; return div;
} }
tooltip.appendChild(header('Bonus Income')); tooltip.appendChild(header('Bonus Income'));
var income = document.createElement('div'); var income = document.createElement('div');
income.style.marginBottom = '4px'; income.style.marginBottom = '4px';
@@ -1650,21 +1641,21 @@ CM.Disp.Tooltip = function(type, name) {
var time = document.createElement('div'); var time = document.createElement('div');
time.id = 'CMTooltipTime'; time.id = 'CMTooltipTime';
tooltip.appendChild(time); tooltip.appendChild(time);
area.appendChild(tooltip); area.appendChild(tooltip);
} }
CM.Disp.tooltipType = type; CM.Disp.tooltipType = type;
CM.Disp.tooltipName = name; CM.Disp.tooltipName = name;
CM.Disp.UpdateTooltip(); CM.Disp.UpdateTooltip();
return l('tooltip').innerHTML; return l('tooltip').innerHTML;
} }
CM.Disp.UpdateTooltip = function() { CM.Disp.UpdateTooltip = function() {
if (l('tooltipAnchor').style.display != 'none' && l('CMTooltipArea') != null) { if (l('tooltipAnchor').style.display != 'none' && l('CMTooltipArea') != null) {
if (CM.Disp.tooltipType == 'b' || CM.Disp.tooltipType == 'u') { if (CM.Disp.tooltipType == 'b' || CM.Disp.tooltipType == 'u') {
// Error checking // 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')) { 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) { if (isFinite(increase) && increase != 0) {
l('CMTooltipIncome').textContent += ' (' + (increase / 100) + '% of income)'; l('CMTooltipIncome').textContent += ' (' + (increase / 100) + '% of income)';
} }
var timeColor = CM.Disp.GetTimeColor(price, (Game.cookies + CM.Disp.GetWrinkConfigBank()), CM.Disp.GetCPS()); var timeColor = CM.Disp.GetTimeColor(price, (Game.cookies + CM.Disp.GetWrinkConfigBank()), CM.Disp.GetCPS());
l('CMTooltipTime').textContent = timeColor.text; l('CMTooltipTime').textContent = timeColor.text;
l('CMTooltipTime').className = CM.Disp.colorTextPre + timeColor.color; l('CMTooltipTime').className = CM.Disp.colorTextPre + timeColor.color;
@@ -1761,10 +1752,10 @@ CM.Disp.UpdateTooltip = function() {
var minigame = Game.Objects['Wizard tower'].minigame; var minigame = Game.Objects['Wizard tower'].minigame;
var spellCost = minigame.getSpellCost(minigame.spellsById[CM.Disp.tooltipName]); var spellCost = minigame.getSpellCost(minigame.spellsById[CM.Disp.tooltipName]);
if (CM.Config.Tooltip == 1 && spellCost <= minigame.magicM) { if (CM.Config.Tooltip == 1 && spellCost <= minigame.magicM) {
l('CMTooltipArea').innerHTML = ''; l('CMTooltipArea').innerHTML = '';
l('tooltip').firstChild.style.paddingBottom = '4px'; l('tooltip').firstChild.style.paddingBottom = '4px';
var tooltip = document.createElement('div'); var tooltip = document.createElement('div');
tooltip.style.border = '1px solid'; tooltip.style.border = '1px solid';
@@ -1780,7 +1771,7 @@ CM.Disp.UpdateTooltip = function() {
div.textContent = text; div.textContent = text;
return div; return div;
} }
tooltip.appendChild(header('Time Left')); tooltip.appendChild(header('Time Left'));
var time = document.createElement('div'); var time = document.createElement('div');
time.id = 'CMTooltipTime'; 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)); var timeColor = CM.Disp.GetTimeColor(spellCost, minigame.magic, undefined, CM.Disp.CalculateGrimoireRefillTime(minigame.magic, minigame.magicM, spellCost));
time.textContent = timeColor.text; time.textContent = timeColor.text;
time.className = CM.Disp.colorTextPre + timeColor.color; time.className = CM.Disp.colorTextPre + timeColor.color;
if (spellCost <= minigame.magic) { if (spellCost <= minigame.magic) {
tooltip.appendChild(header('Recover Time')); tooltip.appendChild(header('Recover Time'));
var recover = document.createElement('div'); var recover = document.createElement('div');
@@ -1798,7 +1789,7 @@ CM.Disp.UpdateTooltip = function() {
recover.textContent = recoverColor.text; recover.textContent = recoverColor.text;
recover.className = CM.Disp.colorTextPre + recoverColor.color; recover.className = CM.Disp.colorTextPre + recoverColor.color;
} }
l('CMTooltipArea').appendChild(tooltip); l('CMTooltipArea').appendChild(tooltip);
} }
} }
@@ -1956,4 +1947,3 @@ CM.Disp.TooltipWrinklerCache = [];
for (var i in Game.wrinklers) { for (var i in Game.wrinklers) {
CM.Disp.TooltipWrinklerCache[i] = 0; CM.Disp.TooltipWrinklerCache[i] = 0;
} }

View File

@@ -162,10 +162,6 @@ CM.Loop = function() {
// Calculate PP // Calculate PP
CM.Cache.RemakePP(); CM.Cache.RemakePP();
// Calculate total price until reaching next multiple of 50
// for each building
CM.Cache.RemakeMultiple();
// Update colors // Update colors
CM.Disp.UpdateBotBarOther(); CM.Disp.UpdateBotBarOther();
CM.Disp.UpdateBuildings(); CM.Disp.UpdateBuildings();
@@ -251,9 +247,9 @@ CM.DelayInit = function() {
CM.HasReplaceNativeGrimoireLaunch = false; CM.HasReplaceNativeGrimoireLaunch = false;
CM.HasReplaceNativeGrimoireDraw = 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.ConfigPrefix = 'CMConfig';
CM.VersionMajor = '2.0042'; CM.VersionMajor = '2.0042';
CM.VersionMinor = '3'; CM.VersionMinor = '2';