function Start_Cookie_Monster() {
if ($("#cm_favicon").length != 0) {
alert("Cookie Monster " + version + "\n\nCookie Monster is already loaded, silly!");
return false
}
$("#topBar").css("display", "none");
$("#tooltip").css("margin-top", "32px");
$("#tooltip").css("pointer-events", "none");
$("#cookies").css("background", "rgba(0,0,0,0.75)");
$("#cookies").css("border-top", "1px solid black");
$("#cookies").css("border-bottom", "1px solid black");
$("#goldenCookie").css("cssText", "" + "z-index: 1000001 !important;");
$("#game").css("cssText", "" + "-webkit-touch-callout: none;" + "-webkit-user-select: none;" + "-khtml-user-select: none;" + "-moz-user-select: none;" + "-ms-user-select: none;" + "-o-user-select: none;" + "user-select: none;" + "top: 0px;" + "bottom: 57px;" + "");
$("#storeTitle").css("cssText", "" + "font-size: 18px;" + "padding: 4px 8px 2px 8px;" + "border-bottom: 1px solid black;" + "");
$("#storeTitle").after('
' + '| 0 | ' + '0 | ' + '0 | ' + '0 | ' + '0 | ' + '0 | ' + "
");
$("body").append('');
$("body").append('');
$("body").append('');
$("#sectionLeft").append('');
$("link").each(function () {
if ($(this).attr("href") == "img/favicon.ico") {
$(this).attr("id", "cm_favicon")
}
});
Make_Table();
Save_Tooltips();
Update_Game_Scripts();
Load_Settings();
Set_Up_Tooltips();
Main_Loop();
Game.Popup('Cookie Monster ' + version + " Loaded!")
}
function Main_Loop() {
Update_Table();
Update_Tooltips("all");
Do_Emphasize();
Manage_Buffs();
setTimeout(function () {
Main_Loop()
}, settings[3])
}
function Fav_Icon_Spinner(e) {
if (e > 6) {
e = 1
}
if (gc_avail == "(G) ") {
$("#cm_favicon").attr("href", "http://frozenelm.com/cookiemonster/images/cm_gc_" + e + ".png");
e++;
setTimeout(function () {
Fav_Icon_Spinner(e)
}, 250)
} else {
$("#cm_favicon").attr("href", "http://orteil.dashnet.org/cookieclicker/img/favicon.ico")
}
}
function Load_Settings() {
settings = [1, 1, 1, 1e3, 1, 1, 1, 1, 0, 1, 1, 1, 1];
if (typeof Storage !== "undefined") {
if (localStorage.FlashScreen != undefined) {
settings[0] = localStorage.FlashScreen
} else {
localStorage.FlashScreen = 1;
settings[0] = 1
} if (localStorage.CookieTimer != undefined) {
settings[1] = localStorage.CookieTimer
} else {
localStorage.CookieTimer = 1;
settings[1] = 1
} if (localStorage.BuffBars != undefined) {
settings[2] = localStorage.BuffBars
} else {
localStorage.BuffBars = 1;
settings[2] = 1
} if (localStorage.Refresh != undefined) {
settings[3] = localStorage.Refresh
} else {
localStorage.Refresh = 1e3;
settings[3] = 1e3
} if (localStorage.CookieCD != undefined) {
settings[4] = localStorage.CookieCD
} else {
localStorage.CookieCD = 1;
settings[4] = 1
} if (localStorage.CMBar != undefined) {
settings[5] = localStorage.CMBar
} else {
localStorage.CMBar = 1;
settings[5] = 1
} if (localStorage.ColoredPrices != undefined) {
settings[6] = localStorage.ColoredPrices
} else {
localStorage.ColoredPrices = 1;
settings[6] = 1
} if (localStorage.ShortNumbers != undefined) {
settings[7] = localStorage.ShortNumbers
} else {
localStorage.ShortNumbers = 1;
settings[7] = 1
} if (localStorage.CookieSound != undefined) {
settings[8] = localStorage.CookieSound
} else {
localStorage.CookieSound = 0;
settings[8] = 0
} if (localStorage.UpdateTitle != undefined) {
settings[9] = localStorage.UpdateTitle
} else {
localStorage.UpdateTitle = 1;
settings[9] = 1
} if (localStorage.LuckyAlert != undefined) {
settings[10] = localStorage.LuckyAlert
} else {
localStorage.LuckyAlert = 1;
settings[10] = 1
} if (localStorage.UpgradeIcons != undefined) {
settings[11] = localStorage.UpgradeIcons
} else {
localStorage.UpgradeIcons = 1;
settings[11] = 1
} if (localStorage.UpgradeDisplay != undefined) {
settings[12] = localStorage.UpgradeDisplay
} else {
localStorage.UpgradeDisplay = 1;
settings[12] = 1
}
}
Show_Hide_CM_Bar()
}
function Save_Settings() {
if (typeof Storage !== "undefined") {
localStorage.FlashScreen = settings[0];
localStorage.CookieTimer = settings[1];
localStorage.BuffBars = settings[2];
localStorage.Refresh = settings[3];
localStorage.CookieCD = settings[4];
localStorage.CMBar = settings[5];
localStorage.ColoredPrices = settings[6];
localStorage.ShortNumbers = settings[7];
localStorage.CookieSound = settings[8];
localStorage.UpdateTitle = settings[9];
localStorage.LuckyAlert = settings[10];
localStorage.UpgradeIcons = settings[11];
localStorage.UpgradeDisplay = settings[12]
} else {}
Show_Hide_CM_Bar()
}
function Show_Hide_CM_Bar() {
if (settings[5] == 0) {
$("#cookie_monster_bar").css("display", "none");
$("#game").css("bottom", "0px")
} else {
$("#cookie_monster_bar").css("display", "");
$("#game").css("bottom", "57px")
}
}
function Update_Game_Scripts() {
Game.Logic = new Function("", Game.Logic.toString().replace(".title=", ".title=gc_avail+").replace(/^function[^{]+{/i, "").replace(/}[^}]*$/i, ""));
var e = "\n\n''+" + '\'
Cookie Monster Goodies
\'+' + "'
\"Lucky!\" Cookies Required: ' + CM_Lucky('reg', false) + '
'+" + "'
\"Lucky!\" Cookies Required (Frenzy): ' + CM_Lucky('frenzy', false) + '
'+" + "'
\"Lucky!\" Reward (MAX): ' + CM_Lucky_Reward('max') + '
'+" + "'
\"Lucky!\" Reward (MAX) (Frenzy): ' + CM_Lucky_Reward('max_frenzy') + '
'+" + "'
\"Lucky!\" Reward (CUR): ' + CM_Lucky_Reward('cur') + '
'+" + "'
Heavenly Chips (MAX): ' + CM_Heavenly_Chip('max') + '
'+" + "'
Heavenly Chips (CUR): ' + CM_Heavenly_Chip('cur') + '
'+" + "'
Cookies To Next Chip: ' + CM_Heavenly_Chip('next') + '
'+" + "'
Time To Next Chip: ' + CM_Heavenly_Chip('time') + '
'+" + "'
'+";
Game.UpdateMenu = new Function("", Game.UpdateMenu.toString().replace("Statistics'+", "Statistics'+" + e).replace(/^function[^{]+{/i, "").replace(/}[^}]*$/i, ""));
var t = "\n''+" + '\'
Cookie Monster Settings
\'+' + '\'
\'+' + '\'
\'+' + '\'
\'+' + '\'
\'+' + '\'
\'+' + '\'
\'+' + '\'
\'+' + '\'
\'+' + '\'
\'+' + '\'
\'+' + '\'
\'+' + '\'
\'+' + '\'
\'+' + "'
'+";
Game.UpdateMenu = new Function("", Game.UpdateMenu.toString().replace("OFF')+''+", "OFF')+''+" + t).replace("date=Game.sayTime(date.getTime()/1000*Game.fps);", "date = formatTime(((new Date).getTime() - Game.startDate) / 1000, '');").replace(/^function[^{]+{/i, "").replace(/}[^}]*$/i, ""));
var n = "\n" + "var cm_id = from.id;" + '\nif(cm_id == "") { cm_id = $(from).parents(".product").prop("id"); }' + '\nif(cm_id == "product5" || cm_id == "product6" || cm_id == "product7" || cm_id == "product8" || cm_id == "product9") { y -= 100; }' + '\nif(cm_id == "product8" || cm_id == "product9") { y -= 13; }' + '\nif(cm_id == "product9" && settings[7] == 0) { y -= 13; }' + "\n";
Game.tooltip.draw = new Function("from,text,x,y,origin", Game.tooltip.draw.toString().replace("implemented');}", "implemented');}" + n).replace("this.on=1;", "this.on=1;\nUpdate_Tooltips('all');").replace(/^function[^{]+{/i, "").replace(/}[^}]*$/i, ""));
Game.Reset = new Function("bypass", Game.Reset.toString().replace("Game.researchT=0;", "Game.researchT=0;\n$('#cookie_monster_timer_bars_div').text('');").replace(/^function[^{]+{/i, "").replace(/}[^}]*$/i, ""));
Game.LoadSave = new Function("data", Game.LoadSave.toString().replace("Game.Popup('Game loaded');", "Game.Popup('Game loaded');\n$('#cookie_monster_timer_bars_div').text('');").replace(/^function[^{]+{/i, "").replace(/}[^}]*$/i, ""));
Game.RebuildStore = new Function("", Game.RebuildStore.toString().replace("l('products').innerHTML=str;", "l('products').innerHTML=str;\nUpdate_Tooltips('ob');").replace(/^function[^{]+{/i, "").replace(/}[^}]*$/i, ""));
Game.Draw = new Function("", Game.Draw.toString().replace("Beautify(Math.round(Game.cookiesd))", "formatNumB(Game.cookiesd)").replace(/^function[^{]+{/i, "").replace(/}[^}]*$/i, ""));
var r = "return formatNum(what);";
Beautify = new Function("what,floats", Beautify.toString().replace("var str='';", r + "\nvar str='';").replace(/^function[^{]+{/i, "").replace(/}[^}]*$/i, ""))
}
function CM_Heavenly_Chip(e) {
var t = cookies_to_h_chips(Game.cookiesReset + Game.cookiesEarned);
var n = cookies_to_h_chips(Game.cookiesReset + Game.cookiesEarned + sell_out);
var r = cookies_to_h_chips(Game.cookiesReset);
var i = h_chips_to_cookies(t + 1) - (Game.cookiesReset + Game.cookiesEarned);
var s = h_chips_to_cookies(n + 1) - (Game.cookiesReset + Game.cookiesEarned + sell_out);
if (e == "max") {
return formatNum(t) + " (" + formatNum(t * 2) + "%)"
}
if (e == "max_sell_out") {
return formatNum(n) + " (" + formatNum(n * 2) + "%)"
}
if (e == "cur") {
return formatNum(r) + " (" + formatNum(r * 2) + "%)"
}
if (e == "next") {
return formatNum(Math.round(i))
}
if (e == "next_sell_out") {
return formatNum(Math.round(s))
}
if (e == "time") {
return formatTime(Math.round(i / Game.cookiesPs), "")
}
}
function cookies_to_h_chips(e) {
return Math.floor(Math.sqrt(2.5 * Math.pow(10, 11) + 2 * e) / Math.pow(10, 6) - .5)
}
function h_chips_to_cookies(e) {
return 5 * Math.pow(10, 11) * e * (e + 1)
}
function CM_Upgrade_Display() {
switch (settings[12] * 1) {
case 1:
return "Normal";
case 2:
return "All";
case 0:
return "None";
default:
return "Normal"
}
}
function CM_Short_Numbers() {
switch (settings[7] * 1) {
case 1:
return "ON (A)";
case 2:
return "ON (B)";
case 3:
return "ON (T)";
case 0:
return "OFF";
default:
return "OFF"
}
}
function CM_Lucky_Alert() {
switch (settings[10] * 1) {
case 1:
return "Both";
case 2:
return "Icons";
case 3:
return "Notes";
case 0:
return "Off";
default:
return "Both"
}
}
function CM_Refresh() {
switch (settings[3] * 1) {
case 1e3:
return "1";
case 500:
return "2";
case 250:
return "4";
case 100:
return "10";
case 33:
return "30";
default:
return "1"
}
}
function CM_Option_State(e) {
if (settings[e] == 0) {
return "OFF"
}
return "ON"
}
function CM_Option_Toggle(e) {
e = $(e);
var t = e.text();
switch (t) {
case "Flash Screen ON":
settings[0] = 0;
e.text("Flash Screen OFF");
break;
case "Flash Screen OFF":
settings[0] = 1;
e.text("Flash Screen ON");
break;
case "Cookie Sound ON":
settings[8] = 0;
e.text("Cookie Sound OFF");
break;
case "Cookie Sound OFF":
settings[8] = 1;
e.text("Cookie Sound ON");
break;
case "Cookie Timer ON":
settings[1] = 0;
e.text("Cookie Timer OFF");
break;
case "Cookie Timer OFF":
settings[1] = 1;
e.text("Cookie Timer ON");
break;
case "Next Cookie Timer ON":
settings[4] = 0;
e.text("Next Cookie Timer OFF");
break;
case "Next Cookie Timer OFF":
settings[4] = 1;
e.text("Next Cookie Timer ON");
break;
case "Update Title ON":
settings[9] = 0;
e.text("Update Title OFF");
break;
case "Update Title OFF":
settings[9] = 1;
e.text("Update Title ON");
break;
case "Buff Bars ON":
settings[2] = 0;
e.text("Buff Bars OFF");
break;
case "Buff Bars OFF":
settings[2] = 1;
e.text("Buff Bars ON");
break;
case "Bottom Bar ON":
settings[5] = 0;
e.text("Bottom Bar OFF");
break;
case "Bottom Bar OFF":
settings[5] = 1;
e.text("Bottom Bar ON");
break;
case "Colored Prices ON":
settings[6] = 0;
e.text("Colored Prices OFF");
Update_Tooltips("ob");
break;
case "Colored Prices OFF":
settings[6] = 1;
e.text("Colored Prices ON");
Update_Tooltips("ob");
break;
case "Upgrade Icons ON":
settings[11] = 0;
e.text("Upgrade Icons OFF");
Game.RebuildUpgrades();
break;
case "Upgrade Icons OFF":
settings[11] = 1;
e.text("Upgrade Icons ON");
Game.RebuildUpgrades();
break;
case "Upgrade Display (All)":
settings[12] = 0;
e.text("Upgrade Display (None)");
Update_Upgrade_Display();
break;
case "Upgrade Display (None)":
settings[12] = 1;
e.text("Upgrade Display (Normal)");
Update_Upgrade_Display();
break;
case "Upgrade Display (Normal)":
settings[12] = 2;
e.text("Upgrade Display (All)");
Update_Upgrade_Display();
break;
case "Short Numbers ON (T)":
settings[7] = 0;
e.text("Short Numbers OFF");
Game.RebuildStore();
Game.RebuildUpgrades();
Update_Table();
break;
case "Short Numbers OFF":
settings[7] = 1;
e.text("Short Numbers ON (A)");
Game.RebuildStore();
Game.RebuildUpgrades();
Update_Table();
break;
case "Short Numbers ON (A)":
settings[7] = 2;
e.text("Short Numbers ON (B)");
Game.RebuildStore();
Game.RebuildUpgrades();
Update_Table();
break;
case "Short Numbers ON (B)":
settings[7] = 3;
e.text("Short Numbers ON (T)");
Game.RebuildStore();
Game.RebuildUpgrades();
Update_Table();
break;
case "Lucky Alert (Both)":
settings[10] = 2;
e.text("Lucky Alert (Icons)");
break;
case "Lucky Alert (Icons)":
settings[10] = 3;
e.text("Lucky Alert (Notes)");
break;
case "Lucky Alert (Notes)":
settings[10] = 0;
e.text("Lucky Alert (Off)");
break;
case "Lucky Alert (Off)":
settings[10] = 1;
e.text("Lucky Alert (Both)");
break;
case "Refresh Rate (1 fps)":
settings[3] = 500;
e.text("Refresh Rate (2 fps)");
break;
case "Refresh Rate (2 fps)":
settings[3] = 250;
e.text("Refresh Rate (4 fps)");
break;
case "Refresh Rate (4 fps)":
settings[3] = 100;
e.text("Refresh Rate (10 fps)");
break;
case "Refresh Rate (10 fps)":
settings[3] = 33;
e.text("Refresh Rate (30 fps)");
break;
case "Refresh Rate (30 fps)":
settings[3] = 1e3;
e.text("Refresh Rate (1 fps)");
break
}
Save_Settings()
}
function Update_Upgrade_Display() {
var e = $("#upgrades");
switch (settings[12] * 1) {
case 1:
e.css("cssText", "");
break;
case 2:
e.css("cssText", "height: auto !important;");
break;
case 0:
e.css("cssText", "height: 0px !important;");
break
}
}
function CM_Lucky(e, t) {
var n = Game.cookiesPs;
if (Game.frenzy > 0) {
n = n / Game.frenzyPower
}
if (e == "frenzy") {
n = n * 7
}
var r = Math.round((n * 1200 + 13) / .1);
if (!t) {
if (r <= Game.cookies) {
r = '' + formatNum(r) + ""
} else {
r = formatNum(r)
}
}
return r
}
function CM_Lucky_Reward(e) {
var t = Game.cookiesPs;
if (Game.frenzy > 0 && e != "cur") {
t = t / Game.frenzyPower
}
if (e == "max_frenzy") {
t = t * 7
}
var n = new Array(Math.round(t * 1200 + 13), Math.round(Game.cookies * .1 + 13));
if (e == "max" || e == "max_frenzy") {
if (Math.round((t * 1200 + 13) / .1) > Game.cookies) {
return formatNum(n[0])
}
}
return formatNum(Math.min.apply(Math, n))
}
function Save_Tooltips() {
Game.UpgradesById.forEach(function (e, t) {
tooltips[t] = e.desc
});
Game.ObjectsById.forEach(function (e, t) {
building_tooltips[t] = e.desc
})
}
function Set_Up_Tooltips() {
var e = false;
Game.UpgradesById.forEach(function (t, n) {
for (var r = 0; r < upgrade_count; r++) {
if (_cup(r, n, true)) {
t.desc = Manage_Tooltip(r, n, true, false);
e = true;
break
}
}
if (t.bought && t.desc != tooltips[n]) {
t.desc = tooltips[n];
e = true
}
});
if (e) {
Game.RebuildUpgrades()
}
}
function Update_Tooltips(e) {
if (e == "all" || e == "up") {
in_store = new Array(0, 0, 0, 0, 0, 0);
Game.UpgradesById.forEach(function (e, t) {
for (var n = 0; n < upgrade_count; n++) {
if (_cup(n, t, false)) {
Manage_Tooltip(n, t, false, false);
break
}
}
})
}
if (e == "all" || e == "ob") {
Game.ObjectsById.forEach(function (e, t) {
Manage_Building_Tooltip(e)
})
}
}
function _cup(e, t, n) {
up = Game.UpgradesById[t];
if (up.desc.indexOf("cm_up_div_") == -1 && !n) {
return false
}
switch (e) {
case 0:
if (!up.bought && up.name == "Reinforced index finger") {
return true
}
break;
case 1:
if (!up.bought && up.desc.indexOf("The mouse and cursors are twice as efficient.") != -1) {
return true
}
break;
case 2:
if (!up.bought && up.desc.indexOf("The mouse and cursors gain") != -1) {
return true
}
break;
case 3:
if (!up.bought && up.name == "Forwards from grandma") {
return true
}
break;
case 4:
if (!up.bought && up.desc.indexOf("Grandmas are twice as efficient.") != -1) {
return true
}
break;
case 5:
if (!up.bought && up.name == "Cheap hoes") {
return true
}
break;
case 6:
if (!up.bought && up.desc.indexOf("Farms are twice as efficient.") != -1) {
return true
}
break;
case 7:
if (!up.bought && up.name == "Sturdier conveyor belts") {
return true
}
break;
case 8:
if (!up.bought && up.desc.indexOf("Factories are twice as efficient.") != -1) {
return true
}
break;
case 9:
if (!up.bought && up.name == "Sugar gas") {
return true
}
break;
case 10:
if (!up.bought && up.desc.indexOf("Mines are twice as efficient.") != -1) {
return true
}
break;
case 11:
if (!up.bought && up.name == "Vanilla nebulae") {
return true
}
break;
case 12:
if (!up.bought && up.desc.indexOf("Shipments are twice as efficient.") != -1) {
return true
}
break;
case 13:
if (!up.bought && up.name == "Antimony") {
return true
}
break;
case 14:
if (!up.bought && up.desc.indexOf("Alchemy labs are twice as efficient.") != -1) {
return true
}
break;
case 15:
if (!up.bought && up.name == "Ancient tablet") {
return true
}
break;
case 16:
if (!up.bought && up.desc.indexOf("Portals are twice as efficient.") != -1) {
return true
}
break;
case 17:
if (!up.bought && up.name == "Flux capacitors") {
return true
}
break;
case 18:
if (!up.bought && up.desc.indexOf("Time machines are twice as efficient.") != -1) {
return true
}
break;
case 19:
if (!up.bought && up.desc.indexOf("the more milk you have") != -1) {
return true
}
break;
case 20:
if (!up.bought && up.desc.indexOf("Cookie production multiplier +") != -1) {
return true
}
break;
case 21:
if (!up.bought && up.desc.indexOf("for each 50 grandmas") != -1) {
return true
}
break;
case 22:
if (!up.bought && up.desc.indexOf("for each 20 portals") != -1) {
return true
}
break;
case 23:
if (!up.bought && up.name == "Elder Pledge") {
return true
}
break;
case 24:
if (!up.bought && up.name == "Elder Covenant") {
return true
}
break;
case 25:
if (!up.bought && up.name == "Sacrificial rolling pins") {
return true
}
break;
case 26:
if (!up.bought && up.desc.indexOf("Golden cookie") != -1) {
return true
}
break;
case 27:
if (!up.bought && up.desc.indexOf("Clicking gains +1% of your CpS.") != -1) {
return true
}
break;
case 28:
if (!up.bought && up.desc.indexOf("Grandmas are 4 times as efficient.") != -1) {
return true
}
break;
case 29:
if (!up.bought && up.desc.indexOf("Antimatter condensers are twice as efficient.") != -1) {
return true
}
break;
case 30:
if (!up.bought && up.name == "Sugar bosons") {
return true
}
break;
case 31:
if (!up.bought && up.name == "Revoke Elder Covenant") {
return true
}
break
}
return false
}
function Manage_Tooltip(e, t, n, r) {
var i = 0;
var s = 0;
switch (e) {
case 0:
i = _bam("The mouse and cursors", .1, 0);
break;
case 1:
i = _bte(0);
break;
case 2:
i = _mcg(t);
break;
case 3:
i = _bam("Grandmas", .3, 1);
break;
case 4:
i = _bte(1);
if (_lgt(t)) {
s++
}
break;
case 5:
i = _bam("Farms", .5, 2);
break;
case 6:
i = _bte(2);
break;
case 7:
i = _bam("Factories", 4, 3);
break;
case 8:
i = _bte(3);
break;
case 9:
i = _bam("Mines", 10, 4);
break;
case 10:
i = _bte(4);
break;
case 11:
i = _bam("Shipments", 30, 5);
break;
case 12:
i = _bte(5);
break;
case 13:
i = _bam("Alchemy labs", 100, 6);
break;
case 14:
i = _bte(6);
break;
case 15:
i = _bam("Portals", 1666, 7);
break;
case 16:
i = _bte(7);
break;
case 17:
i = _bam("Time machines", 9876, 8);
break;
case 18:
i = _bte(8);
break;
case 21:
i = _gpg();
break;
case 22:
i = _gpp();
break;
case 23:
s += _cha("Elder nap");
if (Game.pledges == 4) {
s += _cha("Elder slumber")
}
break;
case 24:
s += _cha("Elder calm");
break;
case 28:
i = _fte(1);
break;
case 29:
i = _bte(9);
break;
case 30:
i = _bam("Antimatter condensers", 99999, 9);
break
}
if (Game.UpgradesOwned == 19) {
s += _cha("Enhancer")
}
if (Game.UpgradesOwned == 49) {
s += _cha("Augmenter")
}
if (Game.UpgradesOwned == 99) {
s += _cha("Upgrader")
}
i += Get_Achi_Worth(s, t, i);
if (r) {
return i
}
return tooltips[t] + Colorize(i, t, n)
}
function _cpc() {
return Game.mouseCps() * .01 * usr_clk
}
function _lgt(e) {
if (_cha("Elder") == 1 && Game.UpgradesById[e].name.indexOf(" grandmas") != -1) {
var t = new Array;
var n = new Array;
Game.UpgradesById.forEach(function (e, r) {
if (e.bought && e.name.indexOf(" grandmas") != -1) {
t.push(r)
} else if (!e.bought && e.name.indexOf(" grandmas") != -1) {
n.push(r)
}
});
if (n.length == 1 && n[0] == e) {
return true
}
}
return false
}
function _cha(e) {
var t = 0;
Game.AchievementsById.forEach(function (n, r) {
if (!n.won && n.name == e) {
t = 1
}
});
return t
}
function _gpp() {
var e = 1;
Game.UpgradesById.forEach(function (t, n) {
if (t.bought && t.desc.indexOf("Grandmas are twice as efficient.") != -1) {
e = e * 2
}
if (t.bought && t.desc.indexOf("Grandmas are 4 times as efficient.") != -1) {
e = e * 4
}
});
return Game.ObjectsById[7].amount * .05 * e * Game.ObjectsById[1].amount * Game.globalCpsMult
}
function _gpg() {
var e = 1;
Game.UpgradesById.forEach(function (t, n) {
if (t.bought && t.desc.indexOf("Grandmas are twice as efficient.") != -1) {
e = e * 2
}
if (t.bought && t.desc.indexOf("Grandmas are 4 times as efficient.") != -1) {
e = e * 4
}
});
return Game.ObjectsById[1].amount * .02 * e * Game.ObjectsById[1].amount * Game.globalCpsMult
}
function _mcg(e) {
var t = Game.UpgradesById[e].desc;
var n = t.substr(31, t.indexOf("<", 31) - 31) * 1;
return n * (Game.BuildingsOwned - Game.ObjectsById[0].amount) * Game.ObjectsById[0].amount * Game.globalCpsMult
}
function _bte(e) {
return Game.ObjectsById[e].storedTotalCps * Game.globalCpsMult
}
function _fte(e) {
return Game.ObjectsById[e].storedTotalCps * 3 * Game.globalCpsMult
}
function _bam(e, t, n) {
var r = 1;
Game.UpgradesById.forEach(function (t, n) {
if (t.bought && t.desc.indexOf(e + " are twice as efficient.") != -1) {
r = r * 2
}
if (t.bought && t.desc.indexOf(e + " are 4 times as efficient.") != -1) {
r = r * 4
}
});
return t * r * Game.ObjectsById[n].amount * Game.globalCpsMult
}
function _inc(e) {
var t = 0;
Game.AchievementsById.forEach(function (n, r) {
var i = n.desc.replace(/,/g, "");
if (!n.won && i.indexOf(" per second.") != -1) {
if (e >= i.substr(8, i.indexOf("", 8) - 8) * 1) {
t++
}
}
});
return t
}
function Get_Achi_Worth(e, t, n) {
var r = 0;
var i = Game.prestige["Heavenly chips"] * 2;
var s = 0;
var o = new Array(0, 0, 0, 0);
var u = Game.milkProgress;
var a = Get_Frenzy_Mult();
Game.UpgradesById.forEach(function (e, n) {
var r = e.desc.replace("[Research]
", "");
if (e.bought && r.indexOf("Cookie production multiplier +") != -1) {
i += r.substr(33, r.indexOf("%", 33) - 33) * 1
}
if (!e.bought && r.indexOf("Cookie production multiplier +") != -1 && e.id == t) {
s += r.substr(33, r.indexOf("%", 33) - 33) * 1
}
if (e.bought && e.name == "Kitten helpers") {
o[0] = .05
}
if (e.bought && e.name == "Kitten workers") {
o[1] = .1
}
if (e.bought && e.name == "Kitten engineers") {
o[2] = .2
}
if (e.bought && e.name == "Kitten overseers") {
o[3] = .3
}
});
var f = 100 + i;
f = f * (1 + o[0] * u);
f = f * (1 + o[1] * u);
f = f * (1 + o[2] * u);
f = f * (1 + o[3] * u);
var l = n;
var c = (Game.cookiesPs + l) / Game.globalCpsMult * (f / 100) * a;
u += e * .04;
f = 100 + i + s;
f = f * (1 + o[0] * u);
f = f * (1 + o[1] * u);
f = f * (1 + o[2] * u);
f = f * (1 + o[3] * u);
var h = 0;
switch (Game.UpgradesById[t].name) {
case "Kitten helpers":
h = .05;
break;
case "Kitten workers":
h = .1;
break;
case "Kitten engineers":
h = .2;
break;
case "Kitten overseers":
h = .3;
break
}
f = f * (1 + h * u);
r = (Game.cookiesPs + l) / Game.globalCpsMult * (f / 100) * a - c;
var p = _inc(r + c);
if (p > 0) {
u += p * .04;
f = 100 + i + s;
f = f * (1 + o[0] * u);
f = f * (1 + o[1] * u);
f = f * (1 + o[2] * u);
f = f * (1 + o[3] * u);
f = f * (1 + h * u);
r = (Game.cookiesPs + l) / Game.globalCpsMult * (f / 100) * a - c
}
if (Game.Has("Elder Covenant")) {
r *= .95
}
return r
}
function Get_Frenzy_Mult() {
if (Game.frenzy > 0) {
return Game.frenzyPower
}
return 1
}
function Manage_Building_Tooltip(e) {
var t = e.id;
var n = new Array(CM_Lucky("reg", true), CM_Lucky("frenzy", true));
var r = new Array("none", "none");
var s = new Array("", "");
var o = new Array(0, 0);
if (Game.cookies >= n[0] && Game.cookies - e.price < n[0]) {
r[0] = "block";
o[0] = n[0] - (Game.cookies - e.price)
}
if (Game.cookies >= n[1] && Game.cookies - e.price < n[1]) {
r[1] = "block";
o[1] = n[1] - (Game.cookies - e.price)
}
if (e.desc == building_tooltips[e.id]) {
e.desc += '';
e.desc += '";
e.desc += '' + '
Warning: Purchase of this item will put you under the number of Cookies required for "Lucky!"
' + '
' + '
Caution: Purchase of this item will put you under the number of Cookies required for "Lucky!" (Frenzy)
' + '
' + "
";
Game.RebuildStore()
}
var u = new Array("FFFF00", "FFFF00");
var a = new Array(hold_cpi[t], hold_tc[t]);
var f = new Array(Math.max.apply(Math, hold_cpi), Math.max.apply(Math, hold_tc));
var l = new Array(Math.min.apply(Math, hold_cpi), Math.min.apply(Math, hold_tc));
for (i = 0; i < u.length; i++) {
if (a[i] == l[i]) {
u[i] = "00FF00"
} else if (a[i] == f[i]) {
u[i] = "FF0000"
} else if (f[i] - a[i] < a[i] - l[i]) {
u[i] = "FF7F00"
}
}
if ($("#cm_ob_div_" + t).length == 1) {
$("#cm_ob_div_" + t).css("border", "1px solid #" + u[0]);
$("#cm_ob_div_" + t).css("display", "");
$("#cm_ob_div_" + t).html('Bonus Income
' + formatNum(hold_is[t]) + '
Base Cost Per Income
' + formatNum(a[0]) + '
Time Left
' + formatTime(a[1], "") + "
");
$("#cm_ob_warning_amount").text("Deficit: " + formatNum(o[0]));
$("#cm_ob_caution_amount").text("Deficit: " + formatNum(o[1]));
if (settings[10] == 1 || settings[10] == 2) {
$("#cm_ob_lucky_div_warning").css("display", r[0]);
$("#cm_ob_lucky_div_caution").css("display", r[1])
} else {
$("#cm_ob_lucky_div_warning").css("display", "none");
$("#cm_ob_lucky_div_caution").css("display", "none")
} if (settings[10] == 1 || settings[10] == 3) {
$("#cm_ob_note_div_warning").css("display", r[0]);
$("#cm_ob_note_div_caution").css("display", r[1])
} else {
$("#cm_ob_note_div_warning").css("display", "none");
$("#cm_ob_note_div_caution").css("display", "none")
}
}
if (settings[6] == 1) {
$("#product" + t).find(".price").first().css("color", "#" + u[0])
} else {
$("#product" + t).find(".price").first().css("color", "")
}
}
function Make_Table() {
var e = ' ' + version + " | ";
var t = "";
var n = "";
var r = "";
var i = "";
Game.ObjectsById.forEach(function (t, s) {
e += ' | ';
n += ' | ';
r += ' | ';
i += ' | '
});
$("#cookie_monster_bar").html("" + '' + "" + e + "
" + '| Bonus Income | ' + n + "
" + '| Base Cost Per Income | ' + r + "
" + '| Time Left | ' + i + "
" + "
")
}
function Update_Table() {
Game.ObjectsById.forEach(function (e, t) {
var n = e.price;
var r = e.amount;
var i = e.storedTotalCps;
var s = e.storedCps * Game.globalCpsMult;
if (e.name == "Grandma") {
s = 0
}
var o = Math.round((s + Get_Upgrade_Bonuses(e.name, r, s)) * 100) / 100;
var u = Math.round(n / o * 100) / 100;
var a = e.name.replace(/([^\s]+)/, "");
hold_item[t] = e.name.replace(a, "") + ' (' + formatNum(r) + ")";
hold_is[t] = Math.round(o * 100) / 100;
hold_cpi[t] = Math.round(u * 100) / 100;
hold_tc[t] = Math.round(Seconds_Left(t, "ob"))
});
Game.ObjectsById.forEach(function (e, t) {
var n = new Array("FFFF00", "FFFF00");
var r = new Array(hold_cpi[t], hold_tc[t]);
var s = new Array(Math.max.apply(Math, hold_cpi), Math.max.apply(Math, hold_tc));
var o = new Array(Math.min.apply(Math, hold_cpi), Math.min.apply(Math, hold_tc));
for (i = 0; i < n.length; i++) {
if (r[i] == o[i]) {
n[i] = "00FF00"
} else if (r[i] == s[i]) {
n[i] = "FF0000"
} else if (s[i] - r[i] < r[i] - o[i]) {
n[i] = "FF7F00"
}
}
$("#cookie_monster_item_" + t).html(hold_item[t]);
$("#cookie_monster_is_" + t).html(formatNum(hold_is[t]));
$("#cookie_monster_cpi_" + t).html('' + formatNum(r[0]) + "");
$("#cookie_monster_tc_" + t).html('' + formatTime(r[1], "min") + "")
})
}
function Do_Emphasize() {
var e = $("#cookie_monster_golden_overlay");
var t = $("#goldenCookie");
if (t.css("display") == "none" && !emphasize) {
emphasize = true;
gc_avail = ""
}
if (t.css("display") != "none" && emphasize) {
emphasize = false;
if (settings[9] == 1) {
gc_avail = "(G) ";
Fav_Icon_Spinner(1)
}
if (settings[8] == 1) {
var n = new Audio("http://frozenelm.com/cookiemonster/sounds/ba%20dink.mp3");
n.volume = 1;
n.play()
}
if (settings[0] == 1) {
$("#cookie_monster_overlay").fadeIn(100);
$("#cookie_monster_overlay").fadeOut(500)
}
}
if (t.css("display") != "none" && settings[1] == 1) {
e.css("display", "block");
e.css("opacity", t.css("opacity"));
e.css("left", t.css("left"));
e.css("top", t.css("top"));
e.html('' + Math.round(Game.goldenCookie.life / Game.fps) + "
")
} else {
e.css("display", "none")
}
}
function Manage_Buffs() {
var e = "";
var t = "";
var n = 0;
var r = 0;
var i = 13 + 13 * Game.Has("Get lucky");
var s = 840 / (Game.Has("Lucky day") + 1) / (Game.Has("Serendipity") + 1);
switch (Game.frenzyPower) {
case 7:
n = 77 + 77 * Game.Has("Get lucky");
e = "Frenzy";
t = "FFFF00";
break;
case 666:
n = 6 + 6 * Game.Has("Get lucky");
e = "Blood Frenzy";
t = "00FF00";
break;
case .5:
n = 66 + 66 * Game.Has("Get lucky");
e = "Clot";
t = "FF0000";
break
}
if (Game.frenzy > 0 && settings[2] == 1) {
if ($("#cookie_monster_timer_" + t).length != 1) {
$("#cookie_monster_timer_bars_div").append('' + '| ' + e + " | " + ' | | " + ' | ' + "
")
} else {
$("#cmt_" + t).css("width", Game.frenzy / Game.fps / n * 100 + "%");
$("#cmt_time_" + t).text(Math.round(Game.frenzy / Game.fps))
}
$("#cookie_monster_timer_" + t).fadeIn(250);
if ($("#cookie_monster_timer_FFFF00").css("opacity") == "1" && t != "FFFF00") {
$("#cookie_monster_timer_FFFF00").fadeOut(250)
}
if ($("#cookie_monster_timer_00FF00").css("opacity") == "1" && t != "00FF00") {
$("#cookie_monster_timer_00FF00").fadeOut(250)
}
if ($("#cookie_monster_timer_FF0000").css("opacity") == "1" && t != "FF0000") {
$("#cookie_monster_timer_FF0000").fadeOut(250)
}
} else if ($("#cookie_monster_timer_" + t).length == 1 && $("#cookie_monster_timer_" + t).css("opacity") == "1") {
$("#cookie_monster_timer_" + t).fadeOut(250)
}
if (Game.clickFrenzy > 0 && settings[2] == 1) {
if ($("#cookie_monster_timer_4BB8F0").length != 1) {
$("#cookie_monster_timer_bars_div").append('' + '| Click Frenzy | ' + ' | | " + ' | ' + "
")
} else {
$("#cmt_4BB8F0").css("width", Game.clickFrenzy / Game.fps / i * 100 + "%");
$("#cmt_time_4BB8F0").text(Math.round(Game.clickFrenzy / Game.fps))
}
$("#cookie_monster_timer_4BB8F0").fadeIn(250)
} else if ($("#cookie_monster_timer_4BB8F0").length == 1 && $("#cookie_monster_timer_4BB8F0").css("opacity") == "1") {
$("#cookie_monster_timer_4BB8F0").fadeOut(250)
}
if (Game.goldenCookie.delay > 0 && $("#goldenCookie").css("display") == "none" && settings[4] == 1) {
if ($("#cookie_monster_timer_FF00FF").length != 1) {
$("#cookie_monster_timer_bars_div").append("" + '' + '| Next Cookie | ' + ' | | " + ' | ' + "
")
} else {
$("#cmt_FF00FF").css("width", Game.goldenCookie.delay / Game.fps / s * 100 + "%");
$("#cmt_time_FF00FF").text(Math.round(Game.goldenCookie.delay / Game.fps))
}
$("#cookie_monster_timer_FF00FF").fadeIn(250)
} else if ($("#cookie_monster_timer_FF00FF").length == 1 && $("#cookie_monster_timer_FF00FF").css("opacity") == "1") {
$("#cookie_monster_timer_FF00FF").fadeOut(250)
}
if (Game.goldenCookie.delay > 0 && $("#goldenCookie").css("display") == "none") {
if (settings[4] == 1) {
gc_avail = "(" + Math.round(Game.goldenCookie.delay / Game.fps) + ") "
} else {
gc_avail = ""
}
}
$("#versionNumber").css("bottom", $("#cookie_monster_timer_bars_div").css("height"))
}
function Get_Upgrade_Bonuses(e, t, n) {
var r = 0;
var i = 0;
switch (e) {
case "Cursor":
if (t == 0) {
i += _cha("Click")
}
if (t == 1) {
i += _cha("Double-click")
}
if (t == 49) {
i += _cha("Mouse wheel")
}
if (t == 99) {
i += _cha("Of Mice and Men")
}
if (t == 199) {
i += _cha("The Digital")
}
break;
case "Grandma":
r += Get_Grandma_Mod_Total(t) * Game.globalCpsMult;
r += Get_Cursor_Mod_Total() * Game.globalCpsMult;
if (t == 0) {
i += _cha("Grandma's Cookies")
}
if (t == 49) {
i += _cha("Sloppy kisses")
}
if (t == 99) {
i += _cha("Retirement home")
}
break;
case "Farm":
r += Get_Cursor_Mod_Total() * Game.globalCpsMult;
if (t == 0) {
i += _cha("My first farm")
}
if (t == 49) {
i += _cha("Reap what you sow")
}
if (t == 99) {
i += _cha("Farm ill")
}
break;
case "Factory":
r += Get_Cursor_Mod_Total() * Game.globalCpsMult;
if (t == 0) {
i += _cha("Production chain")
}
if (t == 49) {
i += _cha("Industrial revolution")
}
if (t == 99) {
i += _cha("Global warming")
}
break;
case "Mine":
r += Get_Cursor_Mod_Total() * Game.globalCpsMult;
if (t == 0) {
i += _cha("You know the drill")
}
if (t == 49) {
i += _cha("Excavation site")
}
if (t == 99) {
i += _cha("Hollow the planet")
}
break;
case "Shipment":
r += Get_Cursor_Mod_Total() * Game.globalCpsMult;
if (t == 0) {
i += _cha("Expedition")
}
if (t == 49) {
i += _cha("Galactic highway")
}
if (t == 99) {
i += _cha("Far far away")
}
break;
case "Alchemy lab":
r += Get_Cursor_Mod_Total() * Game.globalCpsMult;
if (t == 0) {
i += _cha("Transmutation")
}
if (t == 49) {
i += _cha("Transmogrification")
}
if (t == 99) {
i += _cha("Gold member")
}
break;
case "Portal":
r += Get_Portal_Mod_Total() * Game.globalCpsMult;
r += Get_Cursor_Mod_Total() * Game.globalCpsMult;
if (t == 0) {
i += _cha("A whole new world")
}
if (t == 49) {
i += _cha("Now you're thinking")
}
if (t == 99) {
i += _cha("Dimensional shift")
}
break;
case "Time machine":
r += Get_Cursor_Mod_Total() * Game.globalCpsMult;
if (t == 0) {
i += _cha("Time warp")
}
if (t == 49) {
i += _cha("Alternate timeline")
}
if (t == 99) {
i += _cha("Rewriting history")
}
break;
case "Antimatter condenser":
r += Get_Cursor_Mod_Total() * Game.globalCpsMult;
if (t == 0) {
i += _cha("Antibatter")
}
if (t == 49) {
i += _cha("Quirky quarks")
}
if (t == 99) {
i += _cha("It does matter!")
}
break
}
if (Game.BuildingsOwned == 99) {
i += _cha("Builder")
}
if (Game.BuildingsOwned == 399) {
i += _cha("Architect")
}
if (Game.BuildingsOwned == 799) {
i += _cha("Engineer")
}
if (_owe(e)) {
i++
}
if (_mat(e)) {
i++
}
if (_bat(e)) {
i++
}
if (_cen(e)) {
i++
}
return r + Get_Achi_Worth(i, 0, r + n)
}
function _bat(e) {
if (_cha("Base 10") == 1) {
var t = new Array;
var n = new Array;
Game.ObjectsById.forEach(function (e, r) {
t.push(e.name);
n.push(e.amount)
});
t.forEach(function (t, r) {
if (t == e) {
n[r]++
}
});
var r = n.length * 10;
for (var i = 0; i < n.length; i++) {
if (n[i] < r) {
return false
}
r = r - 10
}
return true
}
return false
}
function _mat(e) {
if (_cha("Mathematician") == 1) {
var t = new Array;
var n = new Array;
Game.ObjectsById.forEach(function (e, r) {
t.push(e.name);
n.push(e.amount)
});
t.forEach(function (t, r) {
if (t == e) {
n[r]++
}
});
var r = 128;
for (var i = 0; i < n.length; i++) {
if (i > 2) {
r = r / 2
}
if (n[i] < r) {
return false
}
}
return true
}
return false
}
function _owe(e) {
if (_cha("One with everything") == 1) {
var t = new Array;
var n = new Array;
Game.ObjectsById.forEach(function (e, r) {
if (e.amount > 0) {
t.push(e.name)
} else {
n.push(e.name)
}
});
if (n.length == 1 && n[0] == e) {
return true
}
}
return false
}
function _cen(e) {
if (_cha("Centennial") == 1) {
var t = new Array;
var n = new Array;
Game.ObjectsById.forEach(function (e, r) {
if (e.amount >= 100) {
t.push(e.name)
} else {
n.push(e)
}
});
if (n.length == 1 && n[0].name == e && n[0].amount == 99) {
return true
}
}
return false
}
function Get_Cursor_Mod_Total() {
var e = 0;
Game.UpgradesById.forEach(function (t, n) {
if (t.bought && t.desc.indexOf("The mouse and cursors gain") != -1) {
e += t.desc.substr(31, t.desc.indexOf("<", 31) - 31) * 1
}
});
return e * Game.ObjectsById[0].amount
}
function Get_Grandma_Mod_Total(e) {
var t = .5;
var n = 0;
var r = 1;
Game.UpgradesById.forEach(function (i, s) {
if (i.bought && i.name == "Forwards from grandma") {
t += .3
}
if (i.bought && i.desc.indexOf("Grandmas are twice as efficient.") != -1) {
r = r * 2
}
if (i.bought && i.desc.indexOf("Grandmas are 4 times as efficient.") != -1) {
r = r * 4
}
if (i.bought && i.desc.indexOf("for each 50 grandmas") != -1) {
n += (e + 1) * .02 * (e + 1) - e * .02 * e
}
if (i.bought && i.desc.indexOf("for each 20 portals") != -1) {
n += Game.ObjectsById[7].amount * .05
}
});
return t * r + n * r
}
function Get_Portal_Mod_Total() {
var e = 0;
var t = 1;
Game.UpgradesById.forEach(function (n, r) {
if (n.bought && n.desc.indexOf("Grandmas are twice as efficient.") != -1) {
t = t * 2
}
if (n.bought && n.desc.indexOf("Grandmas are 4 times as efficient.") != -1) {
t = t * 4
}
if (n.bought && n.desc.indexOf("for each 20 portals") != -1) {
e += Game.ObjectsById[1].amount * .05
}
});
return e * t
}
function inStore(e) {
if (Game.UpgradesInStore.indexOf(e) != -1) {
return true
}
return false
}
function formatNum(e) {
return _sts(e, false).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")
}
function formatNumB(e) {
return _sts(e, true).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")
}
function formatTime(e, t) {
e = Math.round(e);
if (e == Infinity) {
return "Never"
}
if (e == 0) {
return "Done!"
}
if (e / 86400 > 1e3) {
return "> 1,000 days"
}
var n = parseInt(e / 86400) % 999;
var r = parseInt(e / 3600) % 24;
var i = parseInt(e / 60) % 60;
var s = e % 60;
var o = new Array(" days, ", " hours, ", " minutes, ", " seconds");
if (t != "min") {
if (n == 1) {
o[0] = " day, "
}
if (r == 1) {
o[1] = " hour, "
}
if (i == 1) {
o[2] = " minute, "
}
if (s == 1) {
o[3] = " second"
}
} else {
o = new Array("d, ", "h, ", "m, ", "s")
}
var u = "";
if (n > 0) {
u = u + n + o[0]
}
if (n > 0 || r > 0) {
u = u + r + o[1]
}
if (n > 0 || r > 0 || i > 0) {
u = u + i + o[2]
}
if (n > 0 || r > 0 || i > 0 || s > 0) {
u = u + s + o[3]
}
return u
}
function Colorize(e, t, n) {
var r = Game.UpgradesById[t];
var s = r.basePrice;
var o = new Array("FFFF00", "FFFF00");
var u = new Array(Math.round(s / e * 100) / 100, Math.round(Seconds_Left(t, "up")));
var a = new Array(Math.max.apply(Math, hold_cpi), Math.max.apply(Math, hold_tc));
var f = new Array(Math.min.apply(Math, hold_cpi), Math.min.apply(Math, hold_tc));
for (i = 0; i < o.length; i++) {
if (u[i] < f[i]) {
o[i] = "4BB8F0";
if (inStore(r) && i == 0) {
in_store[0]++
}
} else if (u[i] == f[i]) {
o[i] = "00FF00";
if (inStore(r) && i == 0) {
in_store[1]++
}
} else if (u[i] == a[i]) {
o[i] = "FF0000";
if (inStore(r) && i == 0) {
in_store[4]++
}
} else if (u[i] > a[i]) {
o[i] = "FF00FF";
if (inStore(r) && i == 0) {
in_store[5]++
}
} else if (a[i] - u[i] < u[i] - f[i]) {
o[i] = "FF7F00";
if (inStore(r) && i == 0) {
in_store[3]++
}
} else {
if (inStore(r) && i == 0) {
in_store[2]++
}
}
}
for (i = 0; i < in_store.length; i++) {
$("#cm_up_q" + i).text(in_store[i])
}
if (settings[11] && inStore(r)) {
$("#upgrade" + Game.UpgradesInStore.indexOf(r)).html('')
}
if ($("#cm_up_div_" + t).length == 1) {
var l = new Array(CM_Lucky("reg", true), CM_Lucky("frenzy", true));
var c = new Array("none", "none");
var h = new Array(0, 0);
if (Game.cookies >= l[0] && Game.cookies - s < l[0]) {
c[0] = "block";
h[0] = l[0] - (Game.cookies - s)
}
if (Game.cookies >= l[1] && Game.cookies - s < l[1]) {
c[1] = "block";
h[1] = l[1] - (Game.cookies - s)
}
$("#cm_up_div_" + t).css("border", "1px solid #" + o[0]);
$("#cm_up_div_" + t).css("display", "");
$("#cm_up_div_" + t).html('Bonus Income
' + formatNum(Math.round(e * 100) / 100) + '
Base Cost Per Income
' + formatNum(u[0]) + '
Time Left
' + formatTime(u[1], "min") + "
");
$("#cm_up_warning_amount").text("Deficit: " + formatNum(h[0]));
$("#cm_up_caution_amount").text("Deficit: " + formatNum(h[1]));
if (settings[10] == 1 || settings[10] == 2) {
$("#cm_up_lucky_div_warning").css("display", c[0]);
$("#cm_up_lucky_div_caution").css("display", c[1])
} else {
$("#cm_up_lucky_div_warning").css("display", "none");
$("#cm_up_lucky_div_caution").css("display", "none")
} if (settings[10] == 1 || settings[10] == 3) {
$("#cm_up_note_div_warning").css("display", c[0]);
$("#cm_up_note_div_caution").css("display", c[1])
} else {
$("#cm_up_note_div_warning").css("display", "none");
$("#cm_up_note_div_caution").css("display", "none")
}
}
if (n) {
o = "000000";
return '" + '' + '' + '
Warning: Purchase of this item will put you under the number of Cookies required for "Lucky!"
' + '
' + '
Caution: Purchase of this item will put you under the number of Cookies required for "Lucky!" (Frenzy)
' + '
' + "
"
}
}
function Factor_Time(e) {
var t = Game.cookies - e;
var n = Game.cookiesPs;
if (n == 0) {
return 1
}
if (t < 0) {
var r = e / n;
return 1 - t * -1 / n / r
}
return 1
}
function Seconds_Left(e, t) {
var n = 0;
if (t == "ob") {
n = Game.ObjectsById[e].price
}
if (t == "up") {
n = Game.UpgradesById[e].basePrice
}
var r = Game.cookies - n;
var i = Game.cookiesPs;
if (i == 0) {
return 0
}
if (r < 0) {
var s = n / i;
var o = r * -1 / i;
return o
}
return 0
}
function _sts(e, t) {
var n = settings[7];
if (n != 3){
if (n > 0) {
var r = 1e33;
for (var i = sts_type[n - 1].length - 1; i >= 0; i--) {
var s = (e / r % 999).toFixed(3);
if (s >= 1) return s + sts_type[n - 1][i];
r /= 1e3
}
}
if (t) {
return Math.round(e)
}
return Math.round(e * 100) / 100
}
else
{
var f = 0;
if(Game.frenzy > 0){f = Game.cookiesPs / Game.frenzyPower;}
else{f = Game.cookiesPs;}
var str='';
var ms = Math.round((e*1000) / f);
var s = Math.floor(e / f);
ms = ms - (s * 1000);
var m = Math.floor(e / f / 60);
s = s - (m * 60);
var h = Math.floor(e / f / 3600);
m = m - (h * 60)
var d = Math.floor(e / f / 86400);
h = h - (d * 24);
if(ms >= 1000)
{
s += 1;
ms -= 1000;
}
if(ms < 100)
{
if(ms > 10){ms = '0' + ms;}
else{ms = '00' + ms;}
}
if (f==0 || e=="Infinity"){str='∞'}
else
{
if(d >= 1){str = d+"d "+h+"h "+m+"m "+s+"."+ms+"s"}
else if(h >= 1){str = h+"h "+m+"m "+s+"."+ms+"s"}
else if(m >= 1){str = m+"m "+s+"."+ms+"s"}
else if(ms >= 1 || s >= 1){str = s+"."+ms+"s"}
else{str = Math.round(e * 100) / 100}
}
return str;
}
}
function Sell_Out_Value() {
var e = 0;
var t = Game.cookies;
var n = new Array;
var r = 0;
Game.ObjectsById.forEach(function (e, t) {
n[t] = e.amount;
r += e.amount
});
while (t >= 15 || r > 0) {
for (var i = n.length - 1; i >= 0; i--) {
var s = false;
var o = n[i];
var u = Game.ObjectsById[i];
for (var a = o; a > 0; a--) {
t += Math.floor(u.basePrice * Math.pow(1.15, a) / 2);
e += Math.floor(u.basePrice * Math.pow(1.15, a) / 2);
n[i]--;
r--
}
while (t >= u.basePrice * Math.pow(1.15, n[i])) {
s = true;
t -= u.basePrice * Math.pow(1.15, n[i]);
n[i]++;
r++
}
if (s) {
break
}
}
}
sell_out = e
}
function Sell_Out() {
if (confirm("*** WARNING ***\nYou will have no buildings or cookies left after this.")) {
Game.ObjectsById.forEach(function (e, t) {
setTimeout(function () {
while (e.amount > 0) {
e.sell()
}
})
});
setTimeout(function () {
Buy_Sell()
})
}
}
function Buy_Sell() {
if (Game.cookies < 1e9 && Game.BuildingsOwned < 100) {
Buy_Sell_No_Wait();
return false
}
for (var e = Game.ObjectsById.length - 1; e >= 0; e--) {
var t = Game.ObjectsById[e];
if (t.price <= Game.cookies) {
t.buy();
setTimeout(function () {
Buy_Sell()
});
return false
}
if (t.price > Game.cookies && t.amount > 0) {
t.sell();
setTimeout(function () {
Buy_Sell()
});
return false
}
}
setTimeout(function () {
Buy_Sell()
})
}
function Buy_Sell_No_Wait() {
if (Game.cookies < 15) {
return false
}
for (var e = Game.ObjectsById.length - 1; e >= 0; e--) {
var t = Game.ObjectsById[e];
t.sell();
if (t.price <= Game.cookies) {
t.buy();
t.sell();
Buy_Sell_No_Wait();
return false
}
}
Buy_Sell_No_Wait()
}
function Get_True_CPI(e, t) {
var n = 0;
var r = 0;
var i = 0;
if (t == "ob") {
n = Seconds_Left(Game.ObjectsById[e], "ob");
r = Game.ObjectsById[e].price;
i = hold_is[e]
}
if (t == "up") {
n = Seconds_Left(Game.UpgradesById[e], "up");
r = Game.UpgradesById[e].basePrice;
for (var s = 0; s < upgrade_count; s++) {
if (_cup(s, e, false)) {
i = Manage_Tooltip(s, e, false, true);
break
}
}
}
var o = r / i;
Game.ObjectsById.forEach(function (s, u) {
var a = s.price;
var f = hold_is[u];
var l = Seconds_Left(s, "ob");
if (l < n && (t == "up" || u != e)) {
var c = n - l;
var h = f * c;
var p = r - a + h;
var d = p / i;
if (d > o) {
o = d
}
} else {}
});
return o
}
function Test_True_CPI(e, t) {
var n = 0;
var r = 0;
var i = 0;
var s = 0;
if (t == "ob") {
n = Seconds_Left(e, "ob");
i = Game.ObjectsById[e].price;
s = hold_is[e]
}
if (t == "up") {
n = Seconds_Left(e, "up");
i = Game.UpgradesById[e].basePrice;
for (var o = 0; o < upgrade_count; o++) {
if (_cup(o, e, false)) {
s = Manage_Tooltip(o, e, false, true);
break
}
}
}
var u = Organize_Object_List();
var a = i;
var f = a / s;
var l = f;
var c = s;
u.forEach(function (o, f) {
if (i > o.price && (t == "up" || o.id != e)) {
var h = o.price;
var p = hold_is[o.id];
var d = hold_cpi[o.id];
if (c == 0) {
c = p
}
if (l == 0) {
l = d
}
var v = Seconds_Left(o.id, "ob");
var m = 0;
var g = u[f + 1];
if (g.id != u.length && (hold_cpi[g.id] < l || g.id == e)) {
m = Seconds_Left(g.id, "ob");
l = hold_cpi[g.id];
c = p
}
if (v < n - r) {
var y = m - v;
r += y;
var b = c * y;
if (y > 0) {
s -= c;
a = a - h + b
}
}
}
});
f = a / s;
return f
}
function Organize_Object_List() {
var e = new Array;
Game.ObjectsById.forEach(function (t, n) {
var r = true;
if (e.length > 0) {
e.forEach(function (n, i) {
if (t.price < n.price && r) {
r = false;
e.splice(i, 0, t);
e.join()
}
});
if (r) {
e.push(t)
}
} else {
e.push(t)
}
});
return e
}
var version = "v.1.036.08";
var emphasize = true;
var tooltips = new Array;
var building_tooltips = new Array;
var hold_item = new Array;
var hold_is = new Array;
var hold_cpi = new Array;
var hold_tc = new Array;
var gc_avail = "";
var settings = new Array;
var in_store = new Array(0, 0, 0, 0, 0, 0);
var sell_out = 0;
var upgrade_count = 32;
var sts_type = new Array([" M", " B", " T", " Qa", " Qi", " Sx", " Sp", " Oc", " No", " Dc"], [" M", " G", " T", " P", " E", " Z", " Y", " Oc", " No", " Dc"]);
if (document.title.indexOf("Cookie Clicker") != -1 && $("#game").length != 0) {
Start_Cookie_Monster()
} else {
alert("Cookie Monster " + version + "\n\nThese aren't the droids you're looking for.")
}