Added 1 extra stat in chain/added expand/collape config to stats/reorganize menu code

This commit is contained in:
Aktanusa
2014-06-21 13:51:44 -04:00
parent 686238e6e5
commit 448922dbda
5 changed files with 517 additions and 336 deletions

View File

@@ -113,18 +113,37 @@ CM.Cache.RemakeChain = function() {
base = CM.Cache.ChainWrathReward; base = CM.Cache.ChainWrathReward;
} }
var count = 1; var count = 1;
while (base == base + count) { if (maxPayout < base) {
count++; CM.Cache.Chain = 0;
}
else {
count = base > Math.pow(2, 53) ? Math.pow(2, Math.floor(Math.log(base) / Math.log(2)) - 53) : 1;
while (base == base + count) {
count++;
}
CM.Cache.Chain = (base + count) / 0.25;
} }
CM.Cache.Chain = (base + count) / 0.25;
CM.Cache.ChainFrenzyReward = CM.Cache.MaxChainMoni(7, maxPayout * 7); CM.Cache.ChainFrenzyReward = CM.Cache.MaxChainMoni(7, maxPayout * 7);
count = 1; CM.Cache.ChainFrenzyWrathReward = CM.Cache.MaxChainMoni(6, maxPayout * 7);
while(CM.Cache.ChainFrenzyReward == CM.Cache.ChainFrenzyReward + count) {
count++; if (CM.Cache.ChainFrenzyReward > CM.Cache.ChainFrenzyWrathReward) {
base = CM.Cache.ChainFrenzyReward;
}
else {
base = CM.Cache.ChainFrenzyWrathReward;
}
if ((maxPayout * 7) < base) {
CM.Cache.ChainFrenzy = 0;
}
else {
count = base > Math.pow(2, 53) ? Math.pow(2, Math.floor(Math.log(base) / Math.log(2)) - 53) : 1;
while(base == base + count) {
count++;
}
CM.Cache.ChainFrenzy = (base + count) / 0.25;
} }
CM.Cache.ChainFrenzy = (CM.Cache.ChainFrenzyReward + count) / 0.25;
} }
CM.Cache.RemakeSeaSpec = function() { CM.Cache.RemakeSeaSpec = function() {
@@ -144,6 +163,7 @@ CM.Cache.ChainReward = 0;
CM.Cache.ChainWrathReward = 0; CM.Cache.ChainWrathReward = 0;
CM.Cache.ChainFrenzy = 0; CM.Cache.ChainFrenzy = 0;
CM.Cache.ChainFrenzyReward = 0; CM.Cache.ChainFrenzyReward = 0;
CM.Cache.ChainFrenzyWrathReward = 0;
/********** /**********
* Config * * Config *
**********/ **********/
@@ -159,9 +179,25 @@ CM.LoadConfig = function() {
// Check values // Check values
var mod = false; var mod = false;
for (var i in CM.ConfigDefault) { for (var i in CM.ConfigDefault) {
if (CM.Config[i] == undefined || !(CM.Config[i] > -1 && CM.Config[i] < CM.ConfigData[i].label.length)) { if (i != 'StatsPref') {
mod = true; if (CM.Config[i] == undefined || !(CM.Config[i] > -1 && CM.Config[i] < CM.ConfigData[i].label.length)) {
CM.Config[i] = CM.ConfigDefault[i]; mod = true;
CM.Config[i] = CM.ConfigDefault[i];
}
}
else { // Statistics Preferences
if (CM.Config[i] == undefined) {
mod = true;
CM.Config[i] = CM.ConfigDefault[i];
}
else {
for (var j in CM.ConfigDefault.StatsPref) {
if (CM.Config[i][j] == undefined || !(CM.Config[i][j] > -1 && CM.Config[i][j] < 2)) {
mod = true;
CM.Config[i][j] = CM.ConfigDefault[i][j];
}
}
}
} }
} }
if (mod) CM.SaveConfig(CM.Config); if (mod) CM.SaveConfig(CM.Config);
@@ -208,6 +244,16 @@ CM.ToggleConfigDown = function(config) {
CM.SaveConfig(CM.Config); CM.SaveConfig(CM.Config);
} }
CM.ToggleStatsConfig = function(config) {
if (CM.Config.StatsPref[config] == 0) {
CM.Config.StatsPref[config]++;
}
else {
CM.Config.StatsPref[config]--;
}
CM.SaveConfig(CM.Config);
}
CM.ConfigData.BotBar = {label: ['Bottom Bar OFF', 'Bottom Bar ON'], desc: 'Building Information', func: function() {CM.Disp.ToggleBotBar();}}; CM.ConfigData.BotBar = {label: ['Bottom Bar OFF', 'Bottom Bar ON'], desc: 'Building Information', func: function() {CM.Disp.ToggleBotBar();}};
CM.ConfigData.TimerBar = {label: ['Timer Bar OFF', 'Timer Bar ON'], desc: 'Timers of Golden Cookie, Season Popup, Frenzy (Normal, Clot, Elder), Click Frenzy', func: function() {CM.Disp.ToggleTimerBar();}}; CM.ConfigData.TimerBar = {label: ['Timer Bar OFF', 'Timer Bar ON'], desc: 'Timers of Golden Cookie, Season Popup, Frenzy (Normal, Clot, Elder), Click Frenzy', func: function() {CM.Disp.ToggleTimerBar();}};
CM.ConfigData.BuildColor = {label: ['Building Colors OFF', 'Building Colors ON'], desc: 'Color code buildings', func: function() {CM.Disp.UpdateBuildings();}}; CM.ConfigData.BuildColor = {label: ['Building Colors OFF', 'Building Colors ON'], desc: 'Color code buildings', func: function() {CM.Disp.UpdateBuildings();}};
@@ -883,14 +929,7 @@ CM.Disp.UpdateTitle = function() {
} }
} }
CM.Disp.AddMenu = function() { CM.Disp.AddMenuPref = function(title) {
var title = function() {
var div = document.createElement('div');
div.className = 'title';
div.style.color = CM.Disp.colorBlue;
div.textContent = 'Cookie Monster Goodies';
return div;
}
var header = function(text) { var header = function(text) {
var div = document.createElement('div'); var div = document.createElement('div');
div.className = 'listing'; div.className = 'listing';
@@ -902,153 +941,134 @@ CM.Disp.AddMenu = function() {
return div; return div;
} }
if (Game.onMenu == 'prefs') { 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';
var a = document.createElement('a'); var a = document.createElement('a');
a.className = 'option'; a.className = 'option';
a.id = CM.ConfigPrefix + config; a.id = CM.ConfigPrefix + config;
a.onclick = function() {CM.ToggleConfigUp(config);}; a.onclick = function() {CM.ToggleConfigUp(config);};
a.textContent = CM.Disp.GetConfigDisplay(config); a.textContent = CM.Disp.GetConfigDisplay(config);
div.appendChild(a); div.appendChild(a);
var label = document.createElement('label'); var label = document.createElement('label');
label.textContent = CM.ConfigData[config].desc; label.textContent = CM.ConfigData[config].desc;
div.appendChild(label); div.appendChild(label);
return div; return div;
}
frag.appendChild(header('Bars/Colors'));
frag.appendChild(listing('BotBar'));
frag.appendChild(listing('TimerBar'));
frag.appendChild(listing('BuildColor'));
frag.appendChild(listing('UpBarColor'));
frag.appendChild(header('Golden Cookie/Season Popup Emphasis'));
frag.appendChild(listing('Flash'));
frag.appendChild(listing('Sound'));
var volConfig = 'Volume';
var volume = document.createElement('div');
volume.className = 'listing';
var minus = document.createElement('a');
minus.className = 'option';
minus.onclick = function() {CM.ToggleConfigDown(volConfig);};
minus.textContent = '-';
volume.appendChild(minus);
var volText = document.createElement('span');
volText.id = CM.ConfigPrefix + volConfig;
volText.textContent = CM.Disp.GetConfigDisplay(volConfig);
volume.appendChild(volText);
var plus = document.createElement('a');
plus.className = 'option';
plus.onclick = function() {CM.ToggleConfigUp(volConfig);};
plus.textContent = '+';
volume.appendChild(plus);
var volLabel = document.createElement('label');
volLabel.textContent = CM.ConfigData[volConfig].desc;
volume.appendChild(volLabel);
frag.appendChild(volume);
frag.appendChild(listing('GCTimer'));
frag.appendChild(listing('Title'));
frag.appendChild(header('Tooltip'));
frag.appendChild(listing('Tooltip'));
frag.appendChild(listing('ToolWarnCaut'));
frag.appendChild(listing('ToolWarnCautPos'));
frag.appendChild(header('Statistics'));
frag.appendChild(listing('Stats'));
frag.appendChild(listing('UpStats'));
frag.appendChild(listing('SayTime'));
frag.appendChild(header('Other'));
frag.appendChild(listing('Scale'));
var resDef = document.createElement('div');
resDef.className = 'listing';
var resDefBut = document.createElement('a');
resDefBut.className = 'option';
resDefBut.onclick = function() {CM.RestoreDefault();};
resDefBut.textContent = 'Restore Default';
resDef.appendChild(resDefBut);
frag.appendChild(resDef);
l('menu').childNodes[2].insertBefore(frag, l('menu').childNodes[2].childNodes[l('menu').childNodes[2].childNodes.length - 1]);
CM.Disp.FormatButtonOnClickBak = l('formatButton').onclick;
l('formatButton').onclick = function() {Game.Toggle('format', 'formatButton', 'Short numbers OFF', 'Short numbers ON'); CM.Disp.RefreshScale();};
} }
else if (CM.Config.Stats == 1 && Game.onMenu == 'stats') {
var stats = document.createElement('div');
stats.className = 'subsection';
frag.appendChild(header('Bars/Colors'));
frag.appendChild(listing('BotBar'));
frag.appendChild(listing('TimerBar'));
frag.appendChild(listing('BuildColor'));
frag.appendChild(listing('UpBarColor'));
frag.appendChild(header('Golden Cookie/Season Popup Emphasis'));
frag.appendChild(listing('Flash'));
frag.appendChild(listing('Sound'));
var volConfig = 'Volume';
var volume = document.createElement('div');
volume.className = 'listing';
var minus = document.createElement('a');
minus.className = 'option';
minus.onclick = function() {CM.ToggleConfigDown(volConfig);};
minus.textContent = '-';
volume.appendChild(minus);
var volText = document.createElement('span');
volText.id = CM.ConfigPrefix + volConfig;
volText.textContent = CM.Disp.GetConfigDisplay(volConfig);
volume.appendChild(volText);
var plus = document.createElement('a');
plus.className = 'option';
plus.onclick = function() {CM.ToggleConfigUp(volConfig);};
plus.textContent = '+';
volume.appendChild(plus);
var volLabel = document.createElement('label');
volLabel.textContent = CM.ConfigData[volConfig].desc;
volume.appendChild(volLabel);
frag.appendChild(volume);
frag.appendChild(listing('GCTimer'));
frag.appendChild(listing('Title'));
frag.appendChild(header('Tooltip'));
frag.appendChild(listing('Tooltip'));
frag.appendChild(listing('ToolWarnCaut'));
frag.appendChild(listing('ToolWarnCautPos'));
frag.appendChild(header('Statistics'));
frag.appendChild(listing('Stats'));
frag.appendChild(listing('UpStats'));
frag.appendChild(listing('SayTime'));
frag.appendChild(header('Other'));
frag.appendChild(listing('Scale'));
var resDef = document.createElement('div');
resDef.className = 'listing';
var resDefBut = document.createElement('a');
resDefBut.className = 'option';
resDefBut.onclick = function() {CM.RestoreDefault();};
resDefBut.textContent = 'Restore Default';
resDef.appendChild(resDefBut);
frag.appendChild(resDef);
l('menu').childNodes[2].insertBefore(frag, l('menu').childNodes[2].childNodes[l('menu').childNodes[2].childNodes.length - 1]);
CM.Disp.FormatButtonOnClickBak = l('formatButton').onclick;
l('formatButton').onclick = function() {Game.Toggle('format', 'formatButton', 'Short numbers OFF', 'Short numbers ON'); CM.Disp.RefreshScale();};
}
CM.Disp.AddMenuStats = function(title) {
var header = function(text, config) {
var div = document.createElement('div');
div.className = 'listing';
div.style.padding = '5px 16px';
div.style.opacity = '0.7';
div.style.fontSize = '17px';
div.style.fontFamily = '\"Kavoon\", Georgia, serif';
div.appendChild(document.createTextNode(text + ' '));
span = document.createElement('span');
span.style.cursor = 'pointer';
span.style.display = 'inline-block';
span.style.height = '14px';
span.style.width = '14px';
span.style.borderRadius = '7px';
span.style.textAlign = 'center';
span.style.backgroundColor = '#C0C0C0';
span.style.color = 'black';
span.style.fontSize = '13px';
span.style.verticalAlign = 'middle';
span.textContent = CM.Config.StatsPref[config] ? '+' : '-';
span.onclick = function() {CM.ToggleStatsConfig(config); Game.UpdateMenu();};
div.appendChild(span);
return div;
}
var stats = document.createElement('div');
stats.className = 'subsection';
stats.appendChild(title());
var listing = function(name, text) {
var div = document.createElement('div');
div.className = 'listing';
var b = document.createElement('b');
b.textContent = name + ' : ';
div.appendChild(b);
div.appendChild(text);
return div;
}
stats.appendChild(header('Lucky Cookies', 'Lucky'));
if (CM.Config.StatsPref.Lucky) {
var luckyColor = (Game.cookies < CM.Cache.Lucky) ? CM.Disp.colorRed : CM.Disp.colorGreen; var luckyColor = (Game.cookies < CM.Cache.Lucky) ? CM.Disp.colorRed : CM.Disp.colorGreen;
var luckyTime = (Game.cookies < CM.Cache.Lucky) ? CM.Disp.FormatTime((CM.Cache.Lucky - Game.cookies) / (Game.cookiesPs * (1 - Game.cpsSucked))) : ''; var luckyTime = (Game.cookies < CM.Cache.Lucky) ? CM.Disp.FormatTime((CM.Cache.Lucky - Game.cookies) / (Game.cookiesPs * (1 - Game.cpsSucked))) : '';
var luckyColorFrenzy = (Game.cookies < CM.Cache.LuckyFrenzy) ? CM.Disp.colorRed : CM.Disp.colorGreen; var luckyColorFrenzy = (Game.cookies < CM.Cache.LuckyFrenzy) ? CM.Disp.colorRed : CM.Disp.colorGreen;
var luckyTimeFrenzy = (Game.cookies < CM.Cache.LuckyFrenzy) ? CM.Disp.FormatTime((CM.Cache.LuckyFrenzy - Game.cookies) / (Game.cookiesPs * (1 - Game.cpsSucked))) : ''; var luckyTimeFrenzy = (Game.cookies < CM.Cache.LuckyFrenzy) ? CM.Disp.FormatTime((CM.Cache.LuckyFrenzy - Game.cookies) / (Game.cookiesPs * (1 - Game.cpsSucked))) : '';
var luckyCur = Math.min(Game.cookies * 0.1, Game.cookiesPs * 60 * 20) + 13; var luckyCur = Math.min(Game.cookies * 0.1, Game.cookiesPs * 60 * 20) + 13;
var chainColor = (Game.cookies < CM.Cache.Chain) ? CM.Disp.colorRed : CM.Disp.colorGreen;
var chainTime = (Game.cookies < CM.Cache.Chain) ? CM.Disp.FormatTime((CM.Cache.Chain - Game.cookies) / (Game.cookiesPs * (1 - Game.cpsSucked))) : '';
var chainColorFrenzy = (Game.cookies < CM.Cache.ChainFrenzy) ? CM.Disp.colorRed : CM.Disp.colorGreen;
var chainTimeFrenzy = (Game.cookies < CM.Cache.ChainFrenzy) ? CM.Disp.FormatTime((CM.Cache.ChainFrenzy - Game.cookies) / (Game.cookiesPs * (1 - Game.cpsSucked))) : '';
var chainCurMax = Math.min(Game.cookiesPs * 60 * 60 * 3, Game.cookies * 0.25);
var chainCur = CM.Cache.MaxChainMoni(7, chainCurMax);
var chainCurWrath = CM.Cache.MaxChainMoni(6, chainCurMax);
var possibleHC = Game.HowMuchPrestige(Game.cookiesEarned + Game.cookiesReset);
var neededCook = CM.Sim.CookNeedPrest(possibleHC + 1) - (Game.cookiesEarned + Game.cookiesReset);
var specDisp = false;
var halloCook = [];
for (var i in CM.Data.HalloCookies) {
if (!Game.Has(CM.Data.HalloCookies[i])) {
halloCook.push(CM.Data.HalloCookies[i]);
specDisp = true;
}
}
var christCook = [];
for (var i in CM.Data.ChristCookies) {
if (!Game.Has(CM.Data.ChristCookies[i])) {
christCook.push(CM.Data.ChristCookies[i]);
specDisp = true;
}
}
var valCook = [];
for (var i in CM.Data.ValCookies) {
if (!Game.Has(CM.Data.ValCookies[i])) {
valCook.push(CM.Data.ValCookies[i]);
specDisp = true;
}
}
var normEggs = [];
for (var i in Game.eggDrops) {
if (!Game.HasUnlocked(Game.eggDrops[i])) {
normEggs.push(Game.eggDrops[i]);
specDisp = true;
}
}
var rareEggs = [];
for (var i in Game.rareEggDrops) {
if (!Game.HasUnlocked(Game.rareEggDrops[i])) {
rareEggs.push(Game.rareEggDrops[i]);
specDisp = true;
}
}
var listing = function(name, text) {
var div = document.createElement('div');
div.className = 'listing';
var b = document.createElement('b');
b.textContent = name + ' : ';
div.appendChild(b);
div.appendChild(text);
return div;
}
stats.appendChild(title());
stats.appendChild(header('Lucky Cookies'));
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';
@@ -1076,7 +1096,18 @@ CM.Disp.AddMenu = function() {
stats.appendChild(listing('\"Lucky!\" Reward (MAX)', document.createTextNode(Beautify(CM.Cache.LuckyReward)))); stats.appendChild(listing('\"Lucky!\" Reward (MAX)', document.createTextNode(Beautify(CM.Cache.LuckyReward))));
stats.appendChild(listing('\"Lucky!\" Reward (MAX) (Frenzy)', document.createTextNode(Beautify(CM.Cache.LuckyRewardFrenzy)))); stats.appendChild(listing('\"Lucky!\" Reward (MAX) (Frenzy)', document.createTextNode(Beautify(CM.Cache.LuckyRewardFrenzy))));
stats.appendChild(listing('\"Lucky!\" Reward (CUR)', document.createTextNode(Beautify(luckyCur)))); stats.appendChild(listing('\"Lucky!\" Reward (CUR)', document.createTextNode(Beautify(luckyCur))));
stats.appendChild(header('Chain Cookies')); }
stats.appendChild(header('Chain Cookies', 'Chain'));
if (CM.Config.StatsPref.Chain) {
var chainColor = (Game.cookies < CM.Cache.Chain) ? CM.Disp.colorRed : CM.Disp.colorGreen;
var chainTime = (Game.cookies < CM.Cache.Chain) ? CM.Disp.FormatTime((CM.Cache.Chain - Game.cookies) / (Game.cookiesPs * (1 - Game.cpsSucked))) : '';
var chainColorFrenzy = (Game.cookies < CM.Cache.ChainFrenzy) ? CM.Disp.colorRed : CM.Disp.colorGreen;
var chainTimeFrenzy = (Game.cookies < CM.Cache.ChainFrenzy) ? CM.Disp.FormatTime((CM.Cache.ChainFrenzy - Game.cookies) / (Game.cookiesPs * (1 - Game.cpsSucked))) : '';
var chainCurMax = Math.min(Game.cookiesPs * 60 * 60 * 3, Game.cookies * 0.25);
var chainCur = CM.Cache.MaxChainMoni(7, chainCurMax);
var chainCurWrath = CM.Cache.MaxChainMoni(6, chainCurMax);
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';
@@ -1104,9 +1135,16 @@ CM.Disp.AddMenu = function() {
stats.appendChild(listing('\"Chain\" Reward (MAX)', document.createTextNode(Beautify(CM.Cache.ChainReward)))); stats.appendChild(listing('\"Chain\" Reward (MAX)', document.createTextNode(Beautify(CM.Cache.ChainReward))));
stats.appendChild(listing('\"Chain\" Reward (MAX) (Wrath)', document.createTextNode(Beautify(CM.Cache.ChainWrathReward)))); stats.appendChild(listing('\"Chain\" Reward (MAX) (Wrath)', document.createTextNode(Beautify(CM.Cache.ChainWrathReward))));
stats.appendChild(listing('\"Chain\" Reward (MAX) (Frenzy)', document.createTextNode(Beautify(CM.Cache.ChainFrenzyReward)))); stats.appendChild(listing('\"Chain\" Reward (MAX) (Frenzy)', document.createTextNode(Beautify(CM.Cache.ChainFrenzyReward))));
stats.appendChild(listing('\"Chain\" Reward (MAX) (Frenzy) (Wrath)', document.createTextNode(Beautify(CM.Cache.ChainFrenzyWrathReward))));
stats.appendChild(listing('\"Chain\" Reward (CUR)', document.createTextNode(Beautify(chainCur)))); stats.appendChild(listing('\"Chain\" Reward (CUR)', document.createTextNode(Beautify(chainCur))));
stats.appendChild(listing('\"Chain\" Reward (CUR) (Wrath)', document.createTextNode(Beautify(chainCurWrath)))); stats.appendChild(listing('\"Chain\" Reward (CUR) (Wrath)', document.createTextNode(Beautify(chainCurWrath))));
stats.appendChild(header('Heavenly Chips')); }
stats.appendChild(header('Heavenly Chips', 'HC'));
if (CM.Config.StatsPref.HC) {
var possibleHC = Game.HowMuchPrestige(Game.cookiesEarned + Game.cookiesReset);
var neededCook = CM.Sim.CookNeedPrest(possibleHC + 1) - (Game.cookiesEarned + Game.cookiesReset);
var hcMaxFrag = document.createDocumentFragment(); var hcMaxFrag = document.createDocumentFragment();
hcMaxFrag.appendChild(document.createTextNode(Beautify(possibleHC))); hcMaxFrag.appendChild(document.createTextNode(Beautify(possibleHC)));
var hcMaxSmall = document.createElement('small'); var hcMaxSmall = document.createElement('small');
@@ -1122,8 +1160,11 @@ CM.Disp.AddMenu = function() {
stats.appendChild(listing('Cookies To Next Chip', document.createTextNode(Beautify(neededCook)))); stats.appendChild(listing('Cookies To Next Chip', document.createTextNode(Beautify(neededCook))));
stats.appendChild(listing('Time To Next Chip', document.createTextNode(CM.Disp.FormatTime(neededCook / (Game.cookiesPs * (1 - Game.cpsSucked)), 1)))); stats.appendChild(listing('Time To Next Chip', document.createTextNode(CM.Disp.FormatTime(neededCook / (Game.cookiesPs * (1 - Game.cpsSucked)), 1))));
stats.appendChild(listing('Reset Bonus Income', document.createTextNode(Beautify(CM.Sim.ResetBonus())))); stats.appendChild(listing('Reset Bonus Income', document.createTextNode(Beautify(CM.Sim.ResetBonus()))));
if (Game.cpsSucked > 0) { }
stats.appendChild(header('Wrinklers'));
if (Game.cpsSucked > 0) {
stats.appendChild(header('Wrinklers', 'Wrink'));
if (CM.Config.StatsPref.Wrink) {
var sucked = 0; var sucked = 0;
for (var i in Game.wrinklers) { for (var i in Game.wrinklers) {
sucked += Game.wrinklers[i].sucked; sucked += Game.wrinklers[i].sucked;
@@ -1132,9 +1173,47 @@ CM.Disp.AddMenu = function() {
if (Game.Has('Wrinklerspawn')) sucked *= 1.05; if (Game.Has('Wrinklerspawn')) sucked *= 1.05;
stats.appendChild(listing('Rewards of Popping', document.createTextNode(Beautify(sucked)))); stats.appendChild(listing('Rewards of Popping', document.createTextNode(Beautify(sucked))));
} }
if (Game.season == 'christmas' || specDisp) { }
stats.appendChild(header('Season Specials'));
var specDisp = false;
var halloCook = [];
for (var i in CM.Data.HalloCookies) {
if (!Game.Has(CM.Data.HalloCookies[i])) {
halloCook.push(CM.Data.HalloCookies[i]);
specDisp = true;
}
}
var christCook = [];
for (var i in CM.Data.ChristCookies) {
if (!Game.Has(CM.Data.ChristCookies[i])) {
christCook.push(CM.Data.ChristCookies[i]);
specDisp = true;
}
}
var valCook = [];
for (var i in CM.Data.ValCookies) {
if (!Game.Has(CM.Data.ValCookies[i])) {
valCook.push(CM.Data.ValCookies[i]);
specDisp = true;
}
}
var normEggs = [];
for (var i in Game.eggDrops) {
if (!Game.HasUnlocked(Game.eggDrops[i])) {
normEggs.push(Game.eggDrops[i]);
specDisp = true;
}
}
var rareEggs = [];
for (var i in Game.rareEggDrops) {
if (!Game.HasUnlocked(Game.rareEggDrops[i])) {
rareEggs.push(Game.rareEggDrops[i]);
specDisp = true;
}
}
if (Game.season == 'christmas' || specDisp) {
stats.appendChild(header('Season Specials', 'Sea'));
if (CM.Config.StatsPref.Sea) {
if (specDisp) { if (specDisp) {
var createSpecDisp = function(theSpecDisp) { var createSpecDisp = function(theSpecDisp) {
var frag = document.createDocumentFragment(); var frag = document.createDocumentFragment();
@@ -1182,8 +1261,25 @@ CM.Disp.AddMenu = function() {
if (Game.season == 'christmas') stats.appendChild(listing('Reindeer Reward', document.createTextNode(Beautify(CM.Cache.SeaSpec)))); if (Game.season == 'christmas') stats.appendChild(listing('Reindeer Reward', document.createTextNode(Beautify(CM.Cache.SeaSpec))));
} }
}
l('menu').insertBefore(stats, l('menu').childNodes[2]); l('menu').insertBefore(stats, l('menu').childNodes[2]);
}
CM.Disp.AddMenu = function() {
var title = function() {
var div = document.createElement('div');
div.className = 'title';
div.style.color = CM.Disp.colorBlue;
div.textContent = 'Cookie Monster Goodies';
return div;
}
if (Game.onMenu == 'prefs') {
CM.Disp.AddMenuPref(title);
}
else if (CM.Config.Stats == 1 && Game.onMenu == 'stats') {
CM.Disp.AddMenuStats(title);
} }
} }
@@ -1574,11 +1670,11 @@ CM.Init = function() {
} }
} }
CM.ConfigDefault = {BotBar: 1, TimerBar: 1, BuildColor: 1, UpBarColor: 1, Flash: 1, Sound: 1, Volume: 100, GCTimer: 1, Title: 1, Tooltip: 1, ToolWarnCaut: 1, ToolWarnCautPos: 0, Stats: 1, UpStats: 1, SayTime: 1, Scale: 2}; CM.ConfigDefault = {BotBar: 1, TimerBar: 1, BuildColor: 1, UpBarColor: 1, Flash: 1, Sound: 1, Volume: 100, GCTimer: 1, Title: 1, Tooltip: 1, ToolWarnCaut: 1, ToolWarnCautPos: 0, Stats: 1, UpStats: 1, SayTime: 1, Scale: 2, StatsPref: {Lucky: 1, Chain: 1, HC: 1, Wrink: 1, Sea: 1}};
CM.ConfigPrefix = 'CMConfig'; CM.ConfigPrefix = 'CMConfig';
CM.VersionMajor = '1.0465'; CM.VersionMajor = '1.0465';
CM.VersionMinor = '6'; CM.VersionMinor = '7';
/******* /*******
* Sim * * Sim *

View File

@@ -106,15 +106,23 @@ CM.Cache.RemakeChain = function() {
CM.Cache.ChainFrenzyReward = CM.Cache.MaxChainMoni(7, maxPayout * 7); CM.Cache.ChainFrenzyReward = CM.Cache.MaxChainMoni(7, maxPayout * 7);
if ((maxPayout * 7) < CM.Cache.ChainFrenzyReward) { CM.Cache.ChainFrenzyWrathReward = CM.Cache.MaxChainMoni(6, maxPayout * 7);
if (CM.Cache.ChainFrenzyReward > CM.Cache.ChainFrenzyWrathReward) {
base = CM.Cache.ChainFrenzyReward;
}
else {
base = CM.Cache.ChainFrenzyWrathReward;
}
if ((maxPayout * 7) < base) {
CM.Cache.ChainFrenzy = 0; CM.Cache.ChainFrenzy = 0;
} }
else { else {
count = CM.Cache.ChainFrenzyReward > Math.pow(2, 53) ? Math.pow(2, Math.floor(Math.log(CM.Cache.ChainFrenzyReward) / Math.log(2)) - 53) : 1; count = base > Math.pow(2, 53) ? Math.pow(2, Math.floor(Math.log(base) / Math.log(2)) - 53) : 1;
while(CM.Cache.ChainFrenzyReward == CM.Cache.ChainFrenzyReward + count) { while(base == base + count) {
count++; count++;
} }
CM.Cache.ChainFrenzy = (CM.Cache.ChainFrenzyReward + count) / 0.25; CM.Cache.ChainFrenzy = (base + count) / 0.25;
} }
} }
@@ -135,3 +143,4 @@ CM.Cache.ChainReward = 0;
CM.Cache.ChainWrathReward = 0; CM.Cache.ChainWrathReward = 0;
CM.Cache.ChainFrenzy = 0; CM.Cache.ChainFrenzy = 0;
CM.Cache.ChainFrenzyReward = 0; CM.Cache.ChainFrenzyReward = 0;
CM.Cache.ChainFrenzyWrathReward = 0;

View File

@@ -13,9 +13,25 @@ CM.LoadConfig = function() {
// Check values // Check values
var mod = false; var mod = false;
for (var i in CM.ConfigDefault) { for (var i in CM.ConfigDefault) {
if (CM.Config[i] == undefined || !(CM.Config[i] > -1 && CM.Config[i] < CM.ConfigData[i].label.length)) { if (i != 'StatsPref') {
mod = true; if (CM.Config[i] == undefined || !(CM.Config[i] > -1 && CM.Config[i] < CM.ConfigData[i].label.length)) {
CM.Config[i] = CM.ConfigDefault[i]; mod = true;
CM.Config[i] = CM.ConfigDefault[i];
}
}
else { // Statistics Preferences
if (CM.Config[i] == undefined) {
mod = true;
CM.Config[i] = CM.ConfigDefault[i];
}
else {
for (var j in CM.ConfigDefault.StatsPref) {
if (CM.Config[i][j] == undefined || !(CM.Config[i][j] > -1 && CM.Config[i][j] < 2)) {
mod = true;
CM.Config[i][j] = CM.ConfigDefault[i][j];
}
}
}
} }
} }
if (mod) CM.SaveConfig(CM.Config); if (mod) CM.SaveConfig(CM.Config);
@@ -62,6 +78,16 @@ CM.ToggleConfigDown = function(config) {
CM.SaveConfig(CM.Config); CM.SaveConfig(CM.Config);
} }
CM.ToggleStatsConfig = function(config) {
if (CM.Config.StatsPref[config] == 0) {
CM.Config.StatsPref[config]++;
}
else {
CM.Config.StatsPref[config]--;
}
CM.SaveConfig(CM.Config);
}
CM.ConfigData.BotBar = {label: ['Bottom Bar OFF', 'Bottom Bar ON'], desc: 'Building Information', func: function() {CM.Disp.ToggleBotBar();}}; CM.ConfigData.BotBar = {label: ['Bottom Bar OFF', 'Bottom Bar ON'], desc: 'Building Information', func: function() {CM.Disp.ToggleBotBar();}};
CM.ConfigData.TimerBar = {label: ['Timer Bar OFF', 'Timer Bar ON'], desc: 'Timers of Golden Cookie, Season Popup, Frenzy (Normal, Clot, Elder), Click Frenzy', func: function() {CM.Disp.ToggleTimerBar();}}; CM.ConfigData.TimerBar = {label: ['Timer Bar OFF', 'Timer Bar ON'], desc: 'Timers of Golden Cookie, Season Popup, Frenzy (Normal, Clot, Elder), Click Frenzy', func: function() {CM.Disp.ToggleTimerBar();}};
CM.ConfigData.BuildColor = {label: ['Building Colors OFF', 'Building Colors ON'], desc: 'Color code buildings', func: function() {CM.Disp.UpdateBuildings();}}; CM.ConfigData.BuildColor = {label: ['Building Colors OFF', 'Building Colors ON'], desc: 'Color code buildings', func: function() {CM.Disp.UpdateBuildings();}};

View File

@@ -645,14 +645,7 @@ CM.Disp.UpdateTitle = function() {
} }
} }
CM.Disp.AddMenu = function() { CM.Disp.AddMenuPref = function(title) {
var title = function() {
var div = document.createElement('div');
div.className = 'title';
div.style.color = CM.Disp.colorBlue;
div.textContent = 'Cookie Monster Goodies';
return div;
}
var header = function(text) { var header = function(text) {
var div = document.createElement('div'); var div = document.createElement('div');
div.className = 'listing'; div.className = 'listing';
@@ -664,153 +657,134 @@ CM.Disp.AddMenu = function() {
return div; return div;
} }
if (Game.onMenu == 'prefs') { 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';
var a = document.createElement('a'); var a = document.createElement('a');
a.className = 'option'; a.className = 'option';
a.id = CM.ConfigPrefix + config; a.id = CM.ConfigPrefix + config;
a.onclick = function() {CM.ToggleConfigUp(config);}; a.onclick = function() {CM.ToggleConfigUp(config);};
a.textContent = CM.Disp.GetConfigDisplay(config); a.textContent = CM.Disp.GetConfigDisplay(config);
div.appendChild(a); div.appendChild(a);
var label = document.createElement('label'); var label = document.createElement('label');
label.textContent = CM.ConfigData[config].desc; label.textContent = CM.ConfigData[config].desc;
div.appendChild(label); div.appendChild(label);
return div; return div;
}
frag.appendChild(header('Bars/Colors'));
frag.appendChild(listing('BotBar'));
frag.appendChild(listing('TimerBar'));
frag.appendChild(listing('BuildColor'));
frag.appendChild(listing('UpBarColor'));
frag.appendChild(header('Golden Cookie/Season Popup Emphasis'));
frag.appendChild(listing('Flash'));
frag.appendChild(listing('Sound'));
var volConfig = 'Volume';
var volume = document.createElement('div');
volume.className = 'listing';
var minus = document.createElement('a');
minus.className = 'option';
minus.onclick = function() {CM.ToggleConfigDown(volConfig);};
minus.textContent = '-';
volume.appendChild(minus);
var volText = document.createElement('span');
volText.id = CM.ConfigPrefix + volConfig;
volText.textContent = CM.Disp.GetConfigDisplay(volConfig);
volume.appendChild(volText);
var plus = document.createElement('a');
plus.className = 'option';
plus.onclick = function() {CM.ToggleConfigUp(volConfig);};
plus.textContent = '+';
volume.appendChild(plus);
var volLabel = document.createElement('label');
volLabel.textContent = CM.ConfigData[volConfig].desc;
volume.appendChild(volLabel);
frag.appendChild(volume);
frag.appendChild(listing('GCTimer'));
frag.appendChild(listing('Title'));
frag.appendChild(header('Tooltip'));
frag.appendChild(listing('Tooltip'));
frag.appendChild(listing('ToolWarnCaut'));
frag.appendChild(listing('ToolWarnCautPos'));
frag.appendChild(header('Statistics'));
frag.appendChild(listing('Stats'));
frag.appendChild(listing('UpStats'));
frag.appendChild(listing('SayTime'));
frag.appendChild(header('Other'));
frag.appendChild(listing('Scale'));
var resDef = document.createElement('div');
resDef.className = 'listing';
var resDefBut = document.createElement('a');
resDefBut.className = 'option';
resDefBut.onclick = function() {CM.RestoreDefault();};
resDefBut.textContent = 'Restore Default';
resDef.appendChild(resDefBut);
frag.appendChild(resDef);
l('menu').childNodes[2].insertBefore(frag, l('menu').childNodes[2].childNodes[l('menu').childNodes[2].childNodes.length - 1]);
CM.Disp.FormatButtonOnClickBak = l('formatButton').onclick;
l('formatButton').onclick = function() {Game.Toggle('format', 'formatButton', 'Short numbers OFF', 'Short numbers ON'); CM.Disp.RefreshScale();};
} }
else if (CM.Config.Stats == 1 && Game.onMenu == 'stats') {
var stats = document.createElement('div');
stats.className = 'subsection';
frag.appendChild(header('Bars/Colors'));
frag.appendChild(listing('BotBar'));
frag.appendChild(listing('TimerBar'));
frag.appendChild(listing('BuildColor'));
frag.appendChild(listing('UpBarColor'));
frag.appendChild(header('Golden Cookie/Season Popup Emphasis'));
frag.appendChild(listing('Flash'));
frag.appendChild(listing('Sound'));
var volConfig = 'Volume';
var volume = document.createElement('div');
volume.className = 'listing';
var minus = document.createElement('a');
minus.className = 'option';
minus.onclick = function() {CM.ToggleConfigDown(volConfig);};
minus.textContent = '-';
volume.appendChild(minus);
var volText = document.createElement('span');
volText.id = CM.ConfigPrefix + volConfig;
volText.textContent = CM.Disp.GetConfigDisplay(volConfig);
volume.appendChild(volText);
var plus = document.createElement('a');
plus.className = 'option';
plus.onclick = function() {CM.ToggleConfigUp(volConfig);};
plus.textContent = '+';
volume.appendChild(plus);
var volLabel = document.createElement('label');
volLabel.textContent = CM.ConfigData[volConfig].desc;
volume.appendChild(volLabel);
frag.appendChild(volume);
frag.appendChild(listing('GCTimer'));
frag.appendChild(listing('Title'));
frag.appendChild(header('Tooltip'));
frag.appendChild(listing('Tooltip'));
frag.appendChild(listing('ToolWarnCaut'));
frag.appendChild(listing('ToolWarnCautPos'));
frag.appendChild(header('Statistics'));
frag.appendChild(listing('Stats'));
frag.appendChild(listing('UpStats'));
frag.appendChild(listing('SayTime'));
frag.appendChild(header('Other'));
frag.appendChild(listing('Scale'));
var resDef = document.createElement('div');
resDef.className = 'listing';
var resDefBut = document.createElement('a');
resDefBut.className = 'option';
resDefBut.onclick = function() {CM.RestoreDefault();};
resDefBut.textContent = 'Restore Default';
resDef.appendChild(resDefBut);
frag.appendChild(resDef);
l('menu').childNodes[2].insertBefore(frag, l('menu').childNodes[2].childNodes[l('menu').childNodes[2].childNodes.length - 1]);
CM.Disp.FormatButtonOnClickBak = l('formatButton').onclick;
l('formatButton').onclick = function() {Game.Toggle('format', 'formatButton', 'Short numbers OFF', 'Short numbers ON'); CM.Disp.RefreshScale();};
}
CM.Disp.AddMenuStats = function(title) {
var header = function(text, config) {
var div = document.createElement('div');
div.className = 'listing';
div.style.padding = '5px 16px';
div.style.opacity = '0.7';
div.style.fontSize = '17px';
div.style.fontFamily = '\"Kavoon\", Georgia, serif';
div.appendChild(document.createTextNode(text + ' '));
span = document.createElement('span');
span.style.cursor = 'pointer';
span.style.display = 'inline-block';
span.style.height = '14px';
span.style.width = '14px';
span.style.borderRadius = '7px';
span.style.textAlign = 'center';
span.style.backgroundColor = '#C0C0C0';
span.style.color = 'black';
span.style.fontSize = '13px';
span.style.verticalAlign = 'middle';
span.textContent = CM.Config.StatsPref[config] ? '+' : '-';
span.onclick = function() {CM.ToggleStatsConfig(config); Game.UpdateMenu();};
div.appendChild(span);
return div;
}
var stats = document.createElement('div');
stats.className = 'subsection';
stats.appendChild(title());
var listing = function(name, text) {
var div = document.createElement('div');
div.className = 'listing';
var b = document.createElement('b');
b.textContent = name + ' : ';
div.appendChild(b);
div.appendChild(text);
return div;
}
stats.appendChild(header('Lucky Cookies', 'Lucky'));
if (CM.Config.StatsPref.Lucky) {
var luckyColor = (Game.cookies < CM.Cache.Lucky) ? CM.Disp.colorRed : CM.Disp.colorGreen; var luckyColor = (Game.cookies < CM.Cache.Lucky) ? CM.Disp.colorRed : CM.Disp.colorGreen;
var luckyTime = (Game.cookies < CM.Cache.Lucky) ? CM.Disp.FormatTime((CM.Cache.Lucky - Game.cookies) / (Game.cookiesPs * (1 - Game.cpsSucked))) : ''; var luckyTime = (Game.cookies < CM.Cache.Lucky) ? CM.Disp.FormatTime((CM.Cache.Lucky - Game.cookies) / (Game.cookiesPs * (1 - Game.cpsSucked))) : '';
var luckyColorFrenzy = (Game.cookies < CM.Cache.LuckyFrenzy) ? CM.Disp.colorRed : CM.Disp.colorGreen; var luckyColorFrenzy = (Game.cookies < CM.Cache.LuckyFrenzy) ? CM.Disp.colorRed : CM.Disp.colorGreen;
var luckyTimeFrenzy = (Game.cookies < CM.Cache.LuckyFrenzy) ? CM.Disp.FormatTime((CM.Cache.LuckyFrenzy - Game.cookies) / (Game.cookiesPs * (1 - Game.cpsSucked))) : ''; var luckyTimeFrenzy = (Game.cookies < CM.Cache.LuckyFrenzy) ? CM.Disp.FormatTime((CM.Cache.LuckyFrenzy - Game.cookies) / (Game.cookiesPs * (1 - Game.cpsSucked))) : '';
var luckyCur = Math.min(Game.cookies * 0.1, Game.cookiesPs * 60 * 20) + 13; var luckyCur = Math.min(Game.cookies * 0.1, Game.cookiesPs * 60 * 20) + 13;
var chainColor = (Game.cookies < CM.Cache.Chain) ? CM.Disp.colorRed : CM.Disp.colorGreen;
var chainTime = (Game.cookies < CM.Cache.Chain) ? CM.Disp.FormatTime((CM.Cache.Chain - Game.cookies) / (Game.cookiesPs * (1 - Game.cpsSucked))) : '';
var chainColorFrenzy = (Game.cookies < CM.Cache.ChainFrenzy) ? CM.Disp.colorRed : CM.Disp.colorGreen;
var chainTimeFrenzy = (Game.cookies < CM.Cache.ChainFrenzy) ? CM.Disp.FormatTime((CM.Cache.ChainFrenzy - Game.cookies) / (Game.cookiesPs * (1 - Game.cpsSucked))) : '';
var chainCurMax = Math.min(Game.cookiesPs * 60 * 60 * 3, Game.cookies * 0.25);
var chainCur = CM.Cache.MaxChainMoni(7, chainCurMax);
var chainCurWrath = CM.Cache.MaxChainMoni(6, chainCurMax);
var possibleHC = Game.HowMuchPrestige(Game.cookiesEarned + Game.cookiesReset);
var neededCook = CM.Sim.CookNeedPrest(possibleHC + 1) - (Game.cookiesEarned + Game.cookiesReset);
var specDisp = false;
var halloCook = [];
for (var i in CM.Data.HalloCookies) {
if (!Game.Has(CM.Data.HalloCookies[i])) {
halloCook.push(CM.Data.HalloCookies[i]);
specDisp = true;
}
}
var christCook = [];
for (var i in CM.Data.ChristCookies) {
if (!Game.Has(CM.Data.ChristCookies[i])) {
christCook.push(CM.Data.ChristCookies[i]);
specDisp = true;
}
}
var valCook = [];
for (var i in CM.Data.ValCookies) {
if (!Game.Has(CM.Data.ValCookies[i])) {
valCook.push(CM.Data.ValCookies[i]);
specDisp = true;
}
}
var normEggs = [];
for (var i in Game.eggDrops) {
if (!Game.HasUnlocked(Game.eggDrops[i])) {
normEggs.push(Game.eggDrops[i]);
specDisp = true;
}
}
var rareEggs = [];
for (var i in Game.rareEggDrops) {
if (!Game.HasUnlocked(Game.rareEggDrops[i])) {
rareEggs.push(Game.rareEggDrops[i]);
specDisp = true;
}
}
var listing = function(name, text) {
var div = document.createElement('div');
div.className = 'listing';
var b = document.createElement('b');
b.textContent = name + ' : ';
div.appendChild(b);
div.appendChild(text);
return div;
}
stats.appendChild(title());
stats.appendChild(header('Lucky Cookies'));
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';
@@ -838,7 +812,18 @@ CM.Disp.AddMenu = function() {
stats.appendChild(listing('\"Lucky!\" Reward (MAX)', document.createTextNode(Beautify(CM.Cache.LuckyReward)))); stats.appendChild(listing('\"Lucky!\" Reward (MAX)', document.createTextNode(Beautify(CM.Cache.LuckyReward))));
stats.appendChild(listing('\"Lucky!\" Reward (MAX) (Frenzy)', document.createTextNode(Beautify(CM.Cache.LuckyRewardFrenzy)))); stats.appendChild(listing('\"Lucky!\" Reward (MAX) (Frenzy)', document.createTextNode(Beautify(CM.Cache.LuckyRewardFrenzy))));
stats.appendChild(listing('\"Lucky!\" Reward (CUR)', document.createTextNode(Beautify(luckyCur)))); stats.appendChild(listing('\"Lucky!\" Reward (CUR)', document.createTextNode(Beautify(luckyCur))));
stats.appendChild(header('Chain Cookies')); }
stats.appendChild(header('Chain Cookies', 'Chain'));
if (CM.Config.StatsPref.Chain) {
var chainColor = (Game.cookies < CM.Cache.Chain) ? CM.Disp.colorRed : CM.Disp.colorGreen;
var chainTime = (Game.cookies < CM.Cache.Chain) ? CM.Disp.FormatTime((CM.Cache.Chain - Game.cookies) / (Game.cookiesPs * (1 - Game.cpsSucked))) : '';
var chainColorFrenzy = (Game.cookies < CM.Cache.ChainFrenzy) ? CM.Disp.colorRed : CM.Disp.colorGreen;
var chainTimeFrenzy = (Game.cookies < CM.Cache.ChainFrenzy) ? CM.Disp.FormatTime((CM.Cache.ChainFrenzy - Game.cookies) / (Game.cookiesPs * (1 - Game.cpsSucked))) : '';
var chainCurMax = Math.min(Game.cookiesPs * 60 * 60 * 3, Game.cookies * 0.25);
var chainCur = CM.Cache.MaxChainMoni(7, chainCurMax);
var chainCurWrath = CM.Cache.MaxChainMoni(6, chainCurMax);
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';
@@ -866,9 +851,16 @@ CM.Disp.AddMenu = function() {
stats.appendChild(listing('\"Chain\" Reward (MAX)', document.createTextNode(Beautify(CM.Cache.ChainReward)))); stats.appendChild(listing('\"Chain\" Reward (MAX)', document.createTextNode(Beautify(CM.Cache.ChainReward))));
stats.appendChild(listing('\"Chain\" Reward (MAX) (Wrath)', document.createTextNode(Beautify(CM.Cache.ChainWrathReward)))); stats.appendChild(listing('\"Chain\" Reward (MAX) (Wrath)', document.createTextNode(Beautify(CM.Cache.ChainWrathReward))));
stats.appendChild(listing('\"Chain\" Reward (MAX) (Frenzy)', document.createTextNode(Beautify(CM.Cache.ChainFrenzyReward)))); stats.appendChild(listing('\"Chain\" Reward (MAX) (Frenzy)', document.createTextNode(Beautify(CM.Cache.ChainFrenzyReward))));
stats.appendChild(listing('\"Chain\" Reward (MAX) (Frenzy) (Wrath)', document.createTextNode(Beautify(CM.Cache.ChainFrenzyWrathReward))));
stats.appendChild(listing('\"Chain\" Reward (CUR)', document.createTextNode(Beautify(chainCur)))); stats.appendChild(listing('\"Chain\" Reward (CUR)', document.createTextNode(Beautify(chainCur))));
stats.appendChild(listing('\"Chain\" Reward (CUR) (Wrath)', document.createTextNode(Beautify(chainCurWrath)))); stats.appendChild(listing('\"Chain\" Reward (CUR) (Wrath)', document.createTextNode(Beautify(chainCurWrath))));
stats.appendChild(header('Heavenly Chips')); }
stats.appendChild(header('Heavenly Chips', 'HC'));
if (CM.Config.StatsPref.HC) {
var possibleHC = Game.HowMuchPrestige(Game.cookiesEarned + Game.cookiesReset);
var neededCook = CM.Sim.CookNeedPrest(possibleHC + 1) - (Game.cookiesEarned + Game.cookiesReset);
var hcMaxFrag = document.createDocumentFragment(); var hcMaxFrag = document.createDocumentFragment();
hcMaxFrag.appendChild(document.createTextNode(Beautify(possibleHC))); hcMaxFrag.appendChild(document.createTextNode(Beautify(possibleHC)));
var hcMaxSmall = document.createElement('small'); var hcMaxSmall = document.createElement('small');
@@ -884,8 +876,11 @@ CM.Disp.AddMenu = function() {
stats.appendChild(listing('Cookies To Next Chip', document.createTextNode(Beautify(neededCook)))); stats.appendChild(listing('Cookies To Next Chip', document.createTextNode(Beautify(neededCook))));
stats.appendChild(listing('Time To Next Chip', document.createTextNode(CM.Disp.FormatTime(neededCook / (Game.cookiesPs * (1 - Game.cpsSucked)), 1)))); stats.appendChild(listing('Time To Next Chip', document.createTextNode(CM.Disp.FormatTime(neededCook / (Game.cookiesPs * (1 - Game.cpsSucked)), 1))));
stats.appendChild(listing('Reset Bonus Income', document.createTextNode(Beautify(CM.Sim.ResetBonus())))); stats.appendChild(listing('Reset Bonus Income', document.createTextNode(Beautify(CM.Sim.ResetBonus()))));
if (Game.cpsSucked > 0) { }
stats.appendChild(header('Wrinklers'));
if (Game.cpsSucked > 0) {
stats.appendChild(header('Wrinklers', 'Wrink'));
if (CM.Config.StatsPref.Wrink) {
var sucked = 0; var sucked = 0;
for (var i in Game.wrinklers) { for (var i in Game.wrinklers) {
sucked += Game.wrinklers[i].sucked; sucked += Game.wrinklers[i].sucked;
@@ -894,9 +889,47 @@ CM.Disp.AddMenu = function() {
if (Game.Has('Wrinklerspawn')) sucked *= 1.05; if (Game.Has('Wrinklerspawn')) sucked *= 1.05;
stats.appendChild(listing('Rewards of Popping', document.createTextNode(Beautify(sucked)))); stats.appendChild(listing('Rewards of Popping', document.createTextNode(Beautify(sucked))));
} }
if (Game.season == 'christmas' || specDisp) { }
stats.appendChild(header('Season Specials'));
var specDisp = false;
var halloCook = [];
for (var i in CM.Data.HalloCookies) {
if (!Game.Has(CM.Data.HalloCookies[i])) {
halloCook.push(CM.Data.HalloCookies[i]);
specDisp = true;
}
}
var christCook = [];
for (var i in CM.Data.ChristCookies) {
if (!Game.Has(CM.Data.ChristCookies[i])) {
christCook.push(CM.Data.ChristCookies[i]);
specDisp = true;
}
}
var valCook = [];
for (var i in CM.Data.ValCookies) {
if (!Game.Has(CM.Data.ValCookies[i])) {
valCook.push(CM.Data.ValCookies[i]);
specDisp = true;
}
}
var normEggs = [];
for (var i in Game.eggDrops) {
if (!Game.HasUnlocked(Game.eggDrops[i])) {
normEggs.push(Game.eggDrops[i]);
specDisp = true;
}
}
var rareEggs = [];
for (var i in Game.rareEggDrops) {
if (!Game.HasUnlocked(Game.rareEggDrops[i])) {
rareEggs.push(Game.rareEggDrops[i]);
specDisp = true;
}
}
if (Game.season == 'christmas' || specDisp) {
stats.appendChild(header('Season Specials', 'Sea'));
if (CM.Config.StatsPref.Sea) {
if (specDisp) { if (specDisp) {
var createSpecDisp = function(theSpecDisp) { var createSpecDisp = function(theSpecDisp) {
var frag = document.createDocumentFragment(); var frag = document.createDocumentFragment();
@@ -944,8 +977,25 @@ CM.Disp.AddMenu = function() {
if (Game.season == 'christmas') stats.appendChild(listing('Reindeer Reward', document.createTextNode(Beautify(CM.Cache.SeaSpec)))); if (Game.season == 'christmas') stats.appendChild(listing('Reindeer Reward', document.createTextNode(Beautify(CM.Cache.SeaSpec))));
} }
}
l('menu').insertBefore(stats, l('menu').childNodes[2]); l('menu').insertBefore(stats, l('menu').childNodes[2]);
}
CM.Disp.AddMenu = function() {
var title = function() {
var div = document.createElement('div');
div.className = 'title';
div.style.color = CM.Disp.colorBlue;
div.textContent = 'Cookie Monster Goodies';
return div;
}
if (Game.onMenu == 'prefs') {
CM.Disp.AddMenuPref(title);
}
else if (CM.Config.Stats == 1 && Game.onMenu == 'stats') {
CM.Disp.AddMenuStats(title);
} }
} }

View File

@@ -117,7 +117,7 @@ CM.Init = function() {
} }
} }
CM.ConfigDefault = {BotBar: 1, TimerBar: 1, BuildColor: 1, UpBarColor: 1, Flash: 1, Sound: 1, Volume: 100, GCTimer: 1, Title: 1, Tooltip: 1, ToolWarnCaut: 1, ToolWarnCautPos: 0, Stats: 1, UpStats: 1, SayTime: 1, Scale: 2}; CM.ConfigDefault = {BotBar: 1, TimerBar: 1, BuildColor: 1, UpBarColor: 1, Flash: 1, Sound: 1, Volume: 100, GCTimer: 1, Title: 1, Tooltip: 1, ToolWarnCaut: 1, ToolWarnCautPos: 0, Stats: 1, UpStats: 1, SayTime: 1, Scale: 2, StatsPref: {Lucky: 1, Chain: 1, HC: 1, Wrink: 1, Sea: 1}};
CM.ConfigPrefix = 'CMConfig'; CM.ConfigPrefix = 'CMConfig';
CM.VersionMajor = '1.0465'; CM.VersionMajor = '1.0465';